熊旭輝,程永山,童強,柯宗武
(湖北師范學院 計算機科學與技術(shù)學院,湖北 黃石 435002)
?
面向物聯(lián)網(wǎng)工程的嵌入式系統(tǒng)開發(fā)的實驗設(shè)計
熊旭輝,程永山,童強,柯宗武
(湖北師范學院 計算機科學與技術(shù)學院,湖北 黃石435002)
摘要:針對面向物聯(lián)網(wǎng)應(yīng)用的嵌入式系統(tǒng)開發(fā)的需求,研究嵌入式系統(tǒng)實踐教學的依據(jù)和目的,設(shè)計相應(yīng)的實驗教學內(nèi)容。通過貫穿理論與實踐相結(jié)合思想的四個實驗層次,可以全面地系統(tǒng)地培養(yǎng)學生嵌入式系統(tǒng)開發(fā)的實際動手能力。學生能夠深刻地掌握嵌入式系統(tǒng)結(jié)構(gòu),獨立地設(shè)計常用外設(shè)接口電路及其驅(qū)動程序,將這些理論與實踐技能運用到具體的物聯(lián)網(wǎng)應(yīng)用開發(fā)中,達到綜合培養(yǎng)學生的工程實踐能力的目標。
關(guān)鍵詞:物聯(lián)網(wǎng);嵌入式系統(tǒng)開發(fā);ARM;實驗設(shè)計
0引言
物聯(lián)網(wǎng)是計算機、互聯(lián)網(wǎng)、微電子、控制、傳感器等技術(shù)發(fā)展到一定階段后所產(chǎn)生的一種社會活動的信息生態(tài)和組織模式。這種生態(tài)和模式的根本目的是消除人與物、物與物之間的信息障礙和瓶頸,從而極大地提高社會活動的效率、降低社會活動的成本、改善人們的社會活動體驗。
在技術(shù)上,物聯(lián)網(wǎng)分為感知層、網(wǎng)絡(luò)層和應(yīng)用層[1]。其中感知層通過嵌入式系統(tǒng)對環(huán)境對象進行感知,進行數(shù)據(jù)分析處理后,再由感知層反饋到環(huán)境對象中。因此,物聯(lián)網(wǎng)中的嵌入式系統(tǒng)產(chǎn)生了新的特性和新的形態(tài),對物聯(lián)網(wǎng)工程專業(yè)的嵌入式系統(tǒng)的實踐教學提出了新的要求,有必要進一步地研究嵌入式系統(tǒng)實踐教學的依據(jù)和目的,設(shè)計相應(yīng)的實驗教學的過程和內(nèi)容。
1嵌入式系統(tǒng)實驗教學目標分析
1.1現(xiàn)有的問題
傳統(tǒng)的嵌入式系統(tǒng)實踐教學中,存在以下幾個較突出的問題:
1)割裂了理論與實驗教學關(guān)系。當前在思想認識上片面地理解理論與實踐的關(guān)系,出現(xiàn)兩種極端現(xiàn)象。一種是對實驗教學重視程度不夠,實驗教學的課時安排和內(nèi)容深度及廣度遠遠不能滿足學生培養(yǎng)的需要。另一種,輕視理論的指導意義。自近代第二次技術(shù)革命以來,“科學理論愈來愈走在生產(chǎn)技術(shù)的前面,現(xiàn)代科學技術(shù)愈來愈具有超前性,從而不斷促進傳統(tǒng)產(chǎn)業(yè)部門的改造,不斷一系列高新技術(shù)產(chǎn)業(yè),不斷創(chuàng)造著嶄新的生產(chǎn)工藝和流程、新的工程和產(chǎn)品”[2]。因此,實踐教學改革的真正目的是使學生能夠系統(tǒng)性地和創(chuàng)造性地將科學與數(shù)學理論應(yīng)用到實踐中。
2)缺乏系統(tǒng)的針對性的實驗方案。物聯(lián)網(wǎng)工程專業(yè)是一個新興專業(yè),理論教材與實驗教材的建設(shè)比較滯后。并且理論教材與實驗設(shè)備不是同一個來源,現(xiàn)有實驗器材所配套的文檔,僅僅簡單地描述了實驗的過程,基本未提供理論指導,充其量只能算作一份使用說明書,導致理論教學與實驗教學的相互脫節(jié)。同時,實驗設(shè)備制造廠商缺乏教學經(jīng)驗,所提供的使用說明書未考慮到教學要求和學生情況,不能直接用于實驗教學中。因此極需對現(xiàn)有的理論與實驗的資料進行再創(chuàng)造、再加工。
1.2實驗設(shè)計目標
針對傳統(tǒng)嵌入式系統(tǒng)實驗教學的不足,以及物聯(lián)網(wǎng)行業(yè)對嵌入式系統(tǒng)開發(fā)技術(shù)的需求[4],提出以下設(shè)計目標:
1)滿足物聯(lián)網(wǎng)應(yīng)用開發(fā)對嵌入式系統(tǒng)技術(shù)的要求。在物聯(lián)網(wǎng)中要求人與物的相連、物與物的相連,這需要嵌入式系統(tǒng)提供支撐,因此實驗教學中應(yīng)該增加相關(guān)前沿技術(shù)內(nèi)容。
2)掌握如何在實踐中運用基本理論知識和技術(shù)的能力。嵌入式系統(tǒng)是一種以應(yīng)用為中心的軟硬結(jié)合的專用計算機技術(shù),其理論知識和技術(shù)能力只有在實踐當中才能真正掌握,因此,需要通過實驗培養(yǎng)這種具體運用能力。
3)創(chuàng)設(shè)一個全面培養(yǎng)學生的實驗情境。嵌入式系統(tǒng)的開發(fā)過程及其所需能力本身就是嵌入式系統(tǒng)的認知結(jié)構(gòu)的具體表現(xiàn),其實驗內(nèi)容應(yīng)滿足以學生為中心的有意義的建構(gòu)學習的需要,學生“學習如何學習”,促進學生心智的發(fā)展和潛能的發(fā)揮。
2嵌入式系統(tǒng)平臺分析
S3C6410是三星公司開發(fā)的一款針對移動電話和一般性應(yīng)用的高性價比的16/32位RISC微處理器的應(yīng)用處理器解決方案。如圖1所示,S3C6410的內(nèi)核采用ARM1176JZF-S,包括16KB的I/D-Cache,16KB的I/D-TCM,時鐘頻率為533/667MHz。S3C6410采用64/32位內(nèi)部總線體系結(jié)構(gòu),由AXI、AHB和APB總線組成。S3C6410芯片內(nèi)部提供了豐富的內(nèi)部設(shè)備,包括存儲器子系統(tǒng)、系統(tǒng)外設(shè)、多媒體加速器、電源管理、TFT LCD控制器和外部總線接口等6個組成部分。
圖1 Samsung S3C6410體系結(jié)構(gòu)
嵌入式系統(tǒng)硬件實驗平臺采用核心板和底板結(jié)構(gòu)。底板主要包括Samsung S3C6410處理器、128M字節(jié)Mobile DDR內(nèi)存、1G字節(jié)NAND Flash(MLC)和時鐘源。底板主要包括JTAG仿真器接口、通用I/O接口、USB接口、串口、以太網(wǎng)接口、D/A和A/D接口、SPI總線、LCD接口等豐富的硬件資源。實驗平臺提供豐富的外圍擴展接口,包括:3個10×2插針擴展口(1路GND、1路DA、8路AD、10路IO、1路SPI)。一個用來擴展8×8矩陣鍵盤,另一個可連接3個TTL電平的串口和6路IO接口。
3實驗環(huán)境分析
嵌入式系統(tǒng)一般由嵌入式微處理器、外圍電路、外部硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶應(yīng)用程序等五個部分組成[3]。一般來說,嵌入式系統(tǒng)在含有操作系統(tǒng)的軟件的控制下運行,用于實現(xiàn)對其他設(shè)備的控制、監(jiān)視或管理等功能。嵌入式系統(tǒng)的運算能力相對較弱、存儲能力和顯示能力較小、數(shù)據(jù)吞吐率較小、很難在目標程序運行的計算設(shè)備上直接進行硬件軟件調(diào)試,因此嵌入式系統(tǒng)的開發(fā)環(huán)境一般主機端的集成開發(fā)環(huán)境、基于JTAG協(xié)議的轉(zhuǎn)換器/仿真器和目標系統(tǒng)PCB板等三個部分組成,如圖2所示。
圖2 嵌入式系統(tǒng)開發(fā)環(huán)境
4嵌入式系統(tǒng)的實驗設(shè)計
為了解決傳統(tǒng)的嵌入式系統(tǒng)實驗教學中存在問題,使學生具有較為堅實的理論基礎(chǔ)、較精湛的開發(fā)技術(shù)、較豐富的實踐經(jīng)驗,最終培養(yǎng)學生獨立創(chuàng)新的思維和工作能力,根據(jù)以物聯(lián)網(wǎng)應(yīng)用為實驗情境,遞進地將嵌入式系統(tǒng)的實驗內(nèi)容分別為基礎(chǔ)性實驗、設(shè)計性實驗、綜合性實驗,以及探索創(chuàng)新性實驗等四個層次。其中,嵌入式系統(tǒng)設(shè)計與開發(fā)的思想一致性地貫穿到這四個層次實驗中,即為什么要開發(fā)嵌入式系統(tǒng),如何開發(fā)嵌入式系統(tǒng),其理論依據(jù)是什么,如何使用理論解決各技術(shù)問題[5,6,7]。
4.1基礎(chǔ)性實驗設(shè)計
基礎(chǔ)性實驗有兩個基本目的,第一個目的是使學生獲得實際體驗,第二個目的是引導學生思考理論與實際開發(fā)技能之間的關(guān)系。具體來說,一方面是通過較簡單的基礎(chǔ)性實驗,使學生在動手過程中獲得直觀的嵌入式系統(tǒng)開發(fā)的體驗,例如,嵌入式LED與鍵盤按鍵驅(qū)動、按鍵外部中斷與PWM定時器等實驗可以給予學生視覺、聽覺和觸覺的感官刺激,從而使學生萌發(fā)學習興趣;同時,使學生了解并掌握嵌入式系統(tǒng)開發(fā)的開發(fā)環(huán)境、技能與規(guī)范,例如,嵌入式系統(tǒng)開發(fā)環(huán)境搭建與使用、ARM Linux開發(fā)環(huán)境搭建與使用、嵌入式Linux C語言程序調(diào)試與Makefile項目工程管理等實驗可以使學生掌握必要的實驗操作技能,包括如何開展一個完整實驗過程和如何觀測實驗結(jié)果等等,為后續(xù)的設(shè)計性實驗、綜合性實驗和創(chuàng)新性實驗打下堅實基礎(chǔ)。另一方面,由于學生剛剛接觸嵌入式系統(tǒng),還不能處理較復雜的問題,因此基礎(chǔ)性實驗往往比較簡單,甚至比較機械枯燥,此時,要注意在實驗觀察中引導學生進行思考原理與實驗現(xiàn)象之間的聯(lián)系,實驗過程要明確展示出理論對于實踐的指導作用,使學生得到初步的實驗思維訓練,知其然,并且知其所以然,克服基礎(chǔ)性實驗存在的機械式驗證的弊端。
因此,基本性實驗包括以下實驗:嵌入式系統(tǒng)開發(fā)環(huán)境搭建與使用、嵌入式匯編語言程序設(shè)計實驗、嵌入式匯編語言與C語言互相調(diào)用、ARM軟中斷SWI、嵌入式LED與鍵盤按鍵驅(qū)動、按鍵外部中斷、PWM定時器實驗、ARM的UART通信、ARM Linux開發(fā)環(huán)境搭建與使用、嵌入式Linux C語言程序調(diào)試、Makefile項目工程管理、靜態(tài)/動態(tài)函數(shù)庫設(shè)計、系統(tǒng)調(diào)用方式文件編程、庫函數(shù)方式文件編程、時間編程。通過這些實驗,學生可以具備較熟練的實踐技能,掌握嵌入式系統(tǒng)的基本技術(shù)與使用流程。
4.2設(shè)計性實驗設(shè)計
設(shè)計性實驗的目的是為了使學生具備使用若干基本原理與技術(shù)獨立地解決由具體應(yīng)用抽取出來的問題情境的能力。通過基礎(chǔ)性實驗學習,學生已經(jīng)掌握了嵌入式系統(tǒng)開發(fā)的單項技術(shù)的使用方法,但是單項基礎(chǔ)性實驗較為簡單,學生仍然不能較深入地處理問題的細節(jié)。因此,我們從具體物聯(lián)網(wǎng)應(yīng)用抽取出若干單項技術(shù)組合的問題情境,例如,嵌入式Linux多進程同步/通信設(shè)計、嵌入式Linux網(wǎng)絡(luò)程序設(shè)計與嵌入式Linux內(nèi)存管理程序設(shè)計等實驗是從物聯(lián)網(wǎng)并發(fā)通信服務(wù)處理應(yīng)用中抽取出來的問題情境,PWM控制步進電機調(diào)速、壓力傳感器與GPS等設(shè)備的接口電路及其ARM Linux驅(qū)動程序設(shè)計是從物聯(lián)網(wǎng)數(shù)據(jù)采集與控制應(yīng)用中抽取出來的問題情境。
因此,設(shè)計性實驗包括以下實驗:嵌入式Linux多進程、網(wǎng)絡(luò)程序設(shè)計、qt/embedded、內(nèi)存管理、內(nèi)核模塊和新系統(tǒng)調(diào)用、設(shè)備驅(qū)動中的并發(fā)控制、設(shè)備驅(qū)動中的阻塞與非阻塞I/O和設(shè)備驅(qū)動中的異步通知與異步I/O等程序設(shè)計,觸摸屏、串行通信、音頻接口、信號發(fā)生器、PWM控制步進電機調(diào)速、以太網(wǎng)、NandFlash塊設(shè)備、數(shù)碼管、壓力傳感器、溫度傳感器、霍爾傳感器、濕度傳感器、氣體傳感器、加速度傳感器、GPS等外部設(shè)備的接口電路設(shè)計及其ARM Linux驅(qū)動程序設(shè)計。通過設(shè)計性實驗,使學生將之前掌握的單項技術(shù)遷移到復合的問題情境中,進而培養(yǎng)學生處理較復雜的問題的能力、提高學生的信心與激發(fā)學生的潛能。
4.3綜合性實驗設(shè)計
綜合性實驗的目的是培養(yǎng)學生的嵌入式系統(tǒng)與其它專業(yè)知識在物聯(lián)網(wǎng)應(yīng)用中的綜合運用能力。在基礎(chǔ)性和設(shè)計性實驗的基礎(chǔ)上,由3~4名學生組成一個項目組,要求學生根據(jù)物聯(lián)網(wǎng)工程的應(yīng)用要求,完成一個物聯(lián)網(wǎng)項目,例如GPS數(shù)據(jù)采集與處理系統(tǒng)、嵌入式RFID網(wǎng)絡(luò)門禁系統(tǒng)、大學教室電燈監(jiān)控系統(tǒng)等項目,鼓勵學生發(fā)揮主體性,充分利用電子電路、計算機網(wǎng)絡(luò)、物聯(lián)網(wǎng)通信技術(shù)、傳感器原理及應(yīng)用、傳感網(wǎng)原理及應(yīng)用、RFID原理及應(yīng)用與嵌入式系統(tǒng)、開放實驗室的智能感知嵌入式系統(tǒng)等專業(yè)知識。該項目可以由教師命題,或鼓勵學生自行設(shè)計。在項目設(shè)計開發(fā)過程中,使學生掌握嵌入式系統(tǒng)項目設(shè)計開發(fā)的流程與方法,培養(yǎng)學生的團隊精神和克服困難的意志。
因此,綜合性實驗包括且不限于:嵌入式物聯(lián)網(wǎng)網(wǎng)關(guān)、GPS數(shù)據(jù)采集與處理系統(tǒng)、遠程家庭醫(yī)療監(jiān)護的嵌入式系統(tǒng)、嵌入式視頻采集系統(tǒng)、水質(zhì)智能監(jiān)測的嵌入式系統(tǒng)、嵌入式RFID網(wǎng)絡(luò)門禁系統(tǒng)、開放實驗室的智能感知嵌入式系統(tǒng)、面向家庭的嵌入式網(wǎng)絡(luò)存儲設(shè)備、嵌入式門禁系統(tǒng)、基于嵌入式與RFID技術(shù)的智能儲物柜、面向停車繳費的嵌入式系統(tǒng)、大棚環(huán)境的溫濕度監(jiān)控嵌入式系統(tǒng)、大學教室電燈監(jiān)控系統(tǒng)、畜禽養(yǎng)殖環(huán)境智能終端等。通過綜合性實驗,使學生掌握項目的整體設(shè)計開發(fā),包括問題的背景與意義、技術(shù)選型、總體設(shè)計、軟硬件的開發(fā)(含細節(jié))、結(jié)果分析等實際開發(fā)能力。
4.4探索創(chuàng)新型實驗設(shè)計
探索創(chuàng)新性實驗的目的是進一步培養(yǎng)學有余力的學生的創(chuàng)新能力。由老師帶領(lǐng)一個學生創(chuàng)新團隊,指導他們參加大學生科研、專業(yè)或?qū)W科競賽,或者科研項目。在老師的指導下,學生創(chuàng)新團隊較深入地研究物聯(lián)網(wǎng)領(lǐng)域某個關(guān)鍵技術(shù)或者難題,例如,大規(guī)模多源異構(gòu)傳感器數(shù)據(jù)的建模與存儲、多傳感器數(shù)據(jù)的融合與傳輸?shù)?;或者以當前國?nèi)外的熱點問題為課題,開闊學生的視野,例如,面向移動醫(yī)療的可穿戴式的低功耗嵌入式設(shè)備。本階段的重點是培養(yǎng)學生如何從物聯(lián)網(wǎng)的大背景下發(fā)現(xiàn)、提出、分析與解決問題的能力,以及克服困難的方法與意志,從而鍛煉學生的創(chuàng)新思維、創(chuàng)新實踐能力,讓這些鉆研能力強的學生有機會發(fā)揮他們的聰明才智,而不是注重研究結(jié)果。
5結(jié)束語
通過上述貫穿理論與實踐相結(jié)合思想的四個實驗層次,不僅較全面地培養(yǎng)了學生嵌入式系統(tǒng)開發(fā)的實際動手能力,具備獨立設(shè)計常用外設(shè)接口電路及其驅(qū)動程序的能力,而且使學生深刻地理解嵌入式系統(tǒng),能夠?qū)⑦@些理論與實踐技能運用到具體的物聯(lián)網(wǎng)應(yīng)用開發(fā)中。從2011年學院開始招收物聯(lián)網(wǎng)工程專業(yè)學生以來,學院組織了大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目、挑戰(zhàn)杯、全國大學生物聯(lián)網(wǎng)設(shè)計競賽(TI杯)和“藍橋杯”全國嵌入式設(shè)計與開發(fā)、大學生科研立項等各項大學生科研活動,獲得十多項國家級和省級以上團體和個人獎項,極大地鼓舞了學生的信心和興趣,取得了較好的效果,達到綜合培養(yǎng)學生的工程實踐能力的目標。
參考文獻:
[1]楊圣洪. 物聯(lián)網(wǎng)數(shù)據(jù)處理的研究與實現(xiàn)[D].長沙:國防科學技術(shù)大學,2013.
[2]王貴友. 科學技術(shù)哲學導論[M]. 北京: 人民出版社, 2005.
[3]俞建新,王健,宋健建. 嵌入式系統(tǒng)基礎(chǔ)教程[M]. 北京: 機械工業(yè)出版社,2008.
[4]蘇闖,丁國明. 物聯(lián)網(wǎng)專業(yè)嵌入式課程教學改革[J]. 河南農(nóng)業(yè),2013,(2):22~23.
[5]武小平. 面向系統(tǒng)綜合能力培養(yǎng)的“嵌入式系統(tǒng)”教學探討[J]. 計算機工程與科學,2014,S2:238~241.
[6]李進,劉曙,李偉平. 創(chuàng)新型嵌入式實驗教學模式研究[J]. 計算機工程與科學,2014,S2:56~60.
[7]王楊,殷曉斌,陳付龍,等. 面向高師院校物聯(lián)網(wǎng)工程專業(yè)的實驗教學策略研究[J]. 大學教育,2014,14:132~134.
The experiment design of embedded system development oriented to IOT engineering
XIONG Xu-hui, CHENG Yong-shan, TONG Qiang, KE Zong-wu
(College of Computer Science and Technology, Hubei Normal University, Huangshi435002, China)
Abstract:On the demand of the embedded system development oriented to IOT applications, the foundation and purpose of embedded system practice teaching was researched for the reason of designing corresponding experiment teaching content. Through four experiment level based on the combination of theory and practice, the students' actual ability of embedded system development can be fully and systematically cultivated. Students can grasp deeply embedded system structure, independently design commonly used peripheral interface circuit and driver in the process that the theory and practice skills applied to the specific Internet application development, so reached the target of cultivating students' engineering practical ability.
Key words:IOT engineering;embedded system development;ARM;experiment design
doi:10.3969/j.issn.1009-2714.2016.01.020
中圖分類號:TP391.9
文獻標識碼:A
文章編號:1009-2714(2016)01- 0102- 05
作者簡介:熊旭輝(1971—),男,湖北黃石人,副教授,主要從計算機系統(tǒng)結(jié)構(gòu)、物聯(lián)網(wǎng)與嵌入式系統(tǒng)應(yīng)用研究.
基金項目:2014年湖北師范學院校級教研項目(XJYB201454)、2013年湖北省高等學校省級教學研究項目(2013354)、2014年湖北省高等學校省級教學研究項目(2014367)資助
收稿日期:2015—12—08