熊旭輝,程永山,童強,柯宗武
(湖北師范學院 計算機科學與技術學院,湖北 黃石 435002)
?
面向物聯網工程的嵌入式系統開發的實驗設計
熊旭輝,程永山,童強,柯宗武
(湖北師范學院 計算機科學與技術學院,湖北 黃石435002)
摘要:針對面向物聯網應用的嵌入式系統開發的需求,研究嵌入式系統實踐教學的依據和目的,設計相應的實驗教學內容。通過貫穿理論與實踐相結合思想的四個實驗層次,可以全面地系統地培養學生嵌入式系統開發的實際動手能力。學生能夠深刻地掌握嵌入式系統結構,獨立地設計常用外設接口電路及其驅動程序,將這些理論與實踐技能運用到具體的物聯網應用開發中,達到綜合培養學生的工程實踐能力的目標。
關鍵詞:物聯網;嵌入式系統開發;ARM;實驗設計
0引言
物聯網是計算機、互聯網、微電子、控制、傳感器等技術發展到一定階段后所產生的一種社會活動的信息生態和組織模式。這種生態和模式的根本目的是消除人與物、物與物之間的信息障礙和瓶頸,從而極大地提高社會活動的效率、降低社會活動的成本、改善人們的社會活動體驗。
在技術上,物聯網分為感知層、網絡層和應用層[1]。其中感知層通過嵌入式系統對環境對象進行感知,進行數據分析處理后,再由感知層反饋到環境對象中。因此,物聯網中的嵌入式系統產生了新的特性和新的形態,對物聯網工程專業的嵌入式系統的實踐教學提出了新的要求,有必要進一步地研究嵌入式系統實踐教學的依據和目的,設計相應的實驗教學的過程和內容。
1嵌入式系統實驗教學目標分析
1.1現有的問題
傳統的嵌入式系統實踐教學中,存在以下幾個較突出的問題:
1)割裂了理論與實驗教學關系。當前在思想認識上片面地理解理論與實踐的關系,出現兩種極端現象。一種是對實驗教學重視程度不夠,實驗教學的課時安排和內容深度及廣度遠遠不能滿足學生培養的需要。另一種,輕視理論的指導意義。自近代第二次技術革命以來,“科學理論愈來愈走在生產技術的前面,現代科學技術愈來愈具有超前性,從而不斷促進傳統產業部門的改造,不斷一系列高新技術產業,不斷創造著嶄新的生產工藝和流程、新的工程和產品”[2]。因此,實踐教學改革的真正目的是使學生能夠系統性地和創造性地將科學與數學理論應用到實踐中。
2)缺乏系統的針對性的實驗方案。物聯網工程專業是一個新興專業,理論教材與實驗教材的建設比較滯后。并且理論教材與實驗設備不是同一個來源,現有實驗器材所配套的文檔,僅僅簡單地描述了實驗的過程,基本未提供理論指導,充其量只能算作一份使用說明書,導致理論教學與實驗教學的相互脫節。同時,實驗設備制造廠商缺乏教學經驗,所提供的使用說明書未考慮到教學要求和學生情況,不能直接用于實驗教學中。因此極需對現有的理論與實驗的資料進行再創造、再加工。
1.2實驗設計目標
針對傳統嵌入式系統實驗教學的不足,以及物聯網行業對嵌入式系統開發技術的需求[4],提出以下設計目標:
1)滿足物聯網應用開發對嵌入式系統技術的要求。在物聯網中要求人與物的相連、物與物的相連,這需要嵌入式系統提供支撐,因此實驗教學中應該增加相關前沿技術內容。
2)掌握如何在實踐中運用基本理論知識和技術的能力。嵌入式系統是一種以應用為中心的軟硬結合的專用計算機技術,其理論知識和技術能力只有在實踐當中才能真正掌握,因此,需要通過實驗培養這種具體運用能力。
3)創設一個全面培養學生的實驗情境。嵌入式系統的開發過程及其所需能力本身就是嵌入式系統的認知結構的具體表現,其實驗內容應滿足以學生為中心的有意義的建構學習的需要,學生“學習如何學習”,促進學生心智的發展和潛能的發揮。
2嵌入式系統平臺分析
S3C6410是三星公司開發的一款針對移動電話和一般性應用的高性價比的16/32位RISC微處理器的應用處理器解決方案。如圖1所示,S3C6410的內核采用ARM1176JZF-S,包括16KB的I/D-Cache,16KB的I/D-TCM,時鐘頻率為533/667MHz。S3C6410采用64/32位內部總線體系結構,由AXI、AHB和APB總線組成。S3C6410芯片內部提供了豐富的內部設備,包括存儲器子系統、系統外設、多媒體加速器、電源管理、TFT LCD控制器和外部總線接口等6個組成部分。

圖1 Samsung S3C6410體系結構
嵌入式系統硬件實驗平臺采用核心板和底板結構。底板主要包括Samsung S3C6410處理器、128M字節Mobile DDR內存、1G字節NAND Flash(MLC)和時鐘源。底板主要包括JTAG仿真器接口、通用I/O接口、USB接口、串口、以太網接口、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實驗環境分析
嵌入式系統一般由嵌入式微處理器、外圍電路、外部硬件設備、嵌入式操作系統以及用戶應用程序等五個部分組成[3]。一般來說,嵌入式系統在含有操作系統的軟件的控制下運行,用于實現對其他設備的控制、監視或管理等功能。嵌入式系統的運算能力相對較弱、存儲能力和顯示能力較小、數據吞吐率較小、很難在目標程序運行的計算設備上直接進行硬件軟件調試,因此嵌入式系統的開發環境一般主機端的集成開發環境、基于JTAG協議的轉換器/仿真器和目標系統PCB板等三個部分組成,如圖2所示。

圖2 嵌入式系統開發環境
4嵌入式系統的實驗設計
為了解決傳統的嵌入式系統實驗教學中存在問題,使學生具有較為堅實的理論基礎、較精湛的開發技術、較豐富的實踐經驗,最終培養學生獨立創新的思維和工作能力,根據以物聯網應用為實驗情境,遞進地將嵌入式系統的實驗內容分別為基礎性實驗、設計性實驗、綜合性實驗,以及探索創新性實驗等四個層次。其中,嵌入式系統設計與開發的思想一致性地貫穿到這四個層次實驗中,即為什么要開發嵌入式系統,如何開發嵌入式系統,其理論依據是什么,如何使用理論解決各技術問題[5,6,7]。
4.1基礎性實驗設計
基礎性實驗有兩個基本目的,第一個目的是使學生獲得實際體驗,第二個目的是引導學生思考理論與實際開發技能之間的關系。具體來說,一方面是通過較簡單的基礎性實驗,使學生在動手過程中獲得直觀的嵌入式系統開發的體驗,例如,嵌入式LED與鍵盤按鍵驅動、按鍵外部中斷與PWM定時器等實驗可以給予學生視覺、聽覺和觸覺的感官刺激,從而使學生萌發學習興趣;同時,使學生了解并掌握嵌入式系統開發的開發環境、技能與規范,例如,嵌入式系統開發環境搭建與使用、ARM Linux開發環境搭建與使用、嵌入式Linux C語言程序調試與Makefile項目工程管理等實驗可以使學生掌握必要的實驗操作技能,包括如何開展一個完整實驗過程和如何觀測實驗結果等等,為后續的設計性實驗、綜合性實驗和創新性實驗打下堅實基礎。另一方面,由于學生剛剛接觸嵌入式系統,還不能處理較復雜的問題,因此基礎性實驗往往比較簡單,甚至比較機械枯燥,此時,要注意在實驗觀察中引導學生進行思考原理與實驗現象之間的聯系,實驗過程要明確展示出理論對于實踐的指導作用,使學生得到初步的實驗思維訓練,知其然,并且知其所以然,克服基礎性實驗存在的機械式驗證的弊端。
因此,基本性實驗包括以下實驗:嵌入式系統開發環境搭建與使用、嵌入式匯編語言程序設計實驗、嵌入式匯編語言與C語言互相調用、ARM軟中斷SWI、嵌入式LED與鍵盤按鍵驅動、按鍵外部中斷、PWM定時器實驗、ARM的UART通信、ARM Linux開發環境搭建與使用、嵌入式Linux C語言程序調試、Makefile項目工程管理、靜態/動態函數庫設計、系統調用方式文件編程、庫函數方式文件編程、時間編程。通過這些實驗,學生可以具備較熟練的實踐技能,掌握嵌入式系統的基本技術與使用流程。
4.2設計性實驗設計
設計性實驗的目的是為了使學生具備使用若干基本原理與技術獨立地解決由具體應用抽取出來的問題情境的能力。通過基礎性實驗學習,學生已經掌握了嵌入式系統開發的單項技術的使用方法,但是單項基礎性實驗較為簡單,學生仍然不能較深入地處理問題的細節。因此,我們從具體物聯網應用抽取出若干單項技術組合的問題情境,例如,嵌入式Linux多進程同步/通信設計、嵌入式Linux網絡程序設計與嵌入式Linux內存管理程序設計等實驗是從物聯網并發通信服務處理應用中抽取出來的問題情境,PWM控制步進電機調速、壓力傳感器與GPS等設備的接口電路及其ARM Linux驅動程序設計是從物聯網數據采集與控制應用中抽取出來的問題情境。
因此,設計性實驗包括以下實驗:嵌入式Linux多進程、網絡程序設計、qt/embedded、內存管理、內核模塊和新系統調用、設備驅動中的并發控制、設備驅動中的阻塞與非阻塞I/O和設備驅動中的異步通知與異步I/O等程序設計,觸摸屏、串行通信、音頻接口、信號發生器、PWM控制步進電機調速、以太網、NandFlash塊設備、數碼管、壓力傳感器、溫度傳感器、霍爾傳感器、濕度傳感器、氣體傳感器、加速度傳感器、GPS等外部設備的接口電路設計及其ARM Linux驅動程序設計。通過設計性實驗,使學生將之前掌握的單項技術遷移到復合的問題情境中,進而培養學生處理較復雜的問題的能力、提高學生的信心與激發學生的潛能。
4.3綜合性實驗設計
綜合性實驗的目的是培養學生的嵌入式系統與其它專業知識在物聯網應用中的綜合運用能力。在基礎性和設計性實驗的基礎上,由3~4名學生組成一個項目組,要求學生根據物聯網工程的應用要求,完成一個物聯網項目,例如GPS數據采集與處理系統、嵌入式RFID網絡門禁系統、大學教室電燈監控系統等項目,鼓勵學生發揮主體性,充分利用電子電路、計算機網絡、物聯網通信技術、傳感器原理及應用、傳感網原理及應用、RFID原理及應用與嵌入式系統、開放實驗室的智能感知嵌入式系統等專業知識。該項目可以由教師命題,或鼓勵學生自行設計。在項目設計開發過程中,使學生掌握嵌入式系統項目設計開發的流程與方法,培養學生的團隊精神和克服困難的意志。
因此,綜合性實驗包括且不限于:嵌入式物聯網網關、GPS數據采集與處理系統、遠程家庭醫療監護的嵌入式系統、嵌入式視頻采集系統、水質智能監測的嵌入式系統、嵌入式RFID網絡門禁系統、開放實驗室的智能感知嵌入式系統、面向家庭的嵌入式網絡存儲設備、嵌入式門禁系統、基于嵌入式與RFID技術的智能儲物柜、面向停車繳費的嵌入式系統、大棚環境的溫濕度監控嵌入式系統、大學教室電燈監控系統、畜禽養殖環境智能終端等。通過綜合性實驗,使學生掌握項目的整體設計開發,包括問題的背景與意義、技術選型、總體設計、軟硬件的開發(含細節)、結果分析等實際開發能力。
4.4探索創新型實驗設計
探索創新性實驗的目的是進一步培養學有余力的學生的創新能力。由老師帶領一個學生創新團隊,指導他們參加大學生科研、專業或學科競賽,或者科研項目。在老師的指導下,學生創新團隊較深入地研究物聯網領域某個關鍵技術或者難題,例如,大規模多源異構傳感器數據的建模與存儲、多傳感器數據的融合與傳輸等;或者以當前國內外的熱點問題為課題,開闊學生的視野,例如,面向移動醫療的可穿戴式的低功耗嵌入式設備。本階段的重點是培養學生如何從物聯網的大背景下發現、提出、分析與解決問題的能力,以及克服困難的方法與意志,從而鍛煉學生的創新思維、創新實踐能力,讓這些鉆研能力強的學生有機會發揮他們的聰明才智,而不是注重研究結果。
5結束語
通過上述貫穿理論與實踐相結合思想的四個實驗層次,不僅較全面地培養了學生嵌入式系統開發的實際動手能力,具備獨立設計常用外設接口電路及其驅動程序的能力,而且使學生深刻地理解嵌入式系統,能夠將這些理論與實踐技能運用到具體的物聯網應用開發中。從2011年學院開始招收物聯網工程專業學生以來,學院組織了大學生創新創業訓練計劃項目、挑戰杯、全國大學生物聯網設計競賽(TI杯)和“藍橋杯”全國嵌入式設計與開發、大學生科研立項等各項大學生科研活動,獲得十多項國家級和省級以上團體和個人獎項,極大地鼓舞了學生的信心和興趣,取得了較好的效果,達到綜合培養學生的工程實踐能力的目標。
參考文獻:
[1]楊圣洪. 物聯網數據處理的研究與實現[D].長沙:國防科學技術大學,2013.
[2]王貴友. 科學技術哲學導論[M]. 北京: 人民出版社, 2005.
[3]俞建新,王健,宋健建. 嵌入式系統基礎教程[M]. 北京: 機械工業出版社,2008.
[4]蘇闖,丁國明. 物聯網專業嵌入式課程教學改革[J]. 河南農業,2013,(2):22~23.
[5]武小平. 面向系統綜合能力培養的“嵌入式系統”教學探討[J]. 計算機工程與科學,2014,S2:238~241.
[6]李進,劉曙,李偉平. 創新型嵌入式實驗教學模式研究[J]. 計算機工程與科學,2014,S2:56~60.
[7]王楊,殷曉斌,陳付龍,等. 面向高師院校物聯網工程專業的實驗教學策略研究[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—),男,湖北黃石人,副教授,主要從計算機系統結構、物聯網與嵌入式系統應用研究.
基金項目:2014年湖北師范學院校級教研項目(XJYB201454)、2013年湖北省高等學校省級教學研究項目(2013354)、2014年湖北省高等學校省級教學研究項目(2014367)資助
收稿日期:2015—12—08