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