陳 凱, 魏文博, 鄧 明
(1. 地下信息探測技術與儀器教育部重點實驗室, 北京 100083;2. 中國地質大學(北京) 地球物理與信息技術學院, 北京 100083)
?
嵌入式系統教學實驗板開發
陳凱, 魏文博, 鄧明
(1. 地下信息探測技術與儀器教育部重點實驗室, 北京100083;2. 中國地質大學(北京) 地球物理與信息技術學院, 北京100083)
根據嵌入式系統課程所持有的嵌入式系統教學實驗板數量不足、實踐教學內容不夠完善等問題,開發了新一代的嵌入式系統教學實驗板。該教學實驗板以基于ARM926EJ-S內核的AT91SAM9G45處理器和嵌入式Linux操作系統(版本2.6.30)為平臺,擴展了SDRAM、NAND Flash、以太網物理層芯片,新增擴展了SPI、TWI、SSC等常用串行總線,豐富了音頻ADC/DAC、RTC、EEPROM、TS、7段LED、SD卡等外設;開發了相關的實驗例程,編寫了完整的實驗指導書,配備了含有相關資料的DVD光盤、必要的連接線纜、工具盒,組成了完整的嵌入式系統教學實驗板學習套件。所開發的教學實驗板已經批量生產了62套,并全部投入實踐教學中,有效地解決了原有教學設備數量不足及實驗內容不完善的問題,節約了教學投入經費,節省了實驗室空間,為學生深入學習嵌入式技術提供了實踐平臺。
嵌入式系統; ARM-Linux; 教學實驗板
嵌入式系統定義:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統[1]。嵌入式系統將先進的計算機技術、半導體技術和電子技術與各個行業的具體應用相結合,具有技術密集、資金密集、高度分散、創新性強等特點[2]。嵌入式系統技術憑借其先進的軟硬件技術,代表著當前IT產業的前沿發展方向,深受廣大IT從業者及軟硬件開發人員的歡迎,具有廣泛的市場前景,已成為各高校電子類、儀器類、計算機類等專業學生必須掌握的技能[3-4]。各高校不同程度地開展了嵌入式系統課程教學,為滿足實踐教學要求,提高學生實踐動手能力,有的高校還自制了用于實踐教學的實驗裝置[6]。這些實驗裝置在課程的實踐教學環節中發揮了重要作用。
“嵌入式系統”是我校測控技術與儀器、電子信息工程專業本科生必修專業課程之一,嵌入式系統技術也是學生必須掌握的技能之一。該課程具有以下幾大特點:(1)前沿性,所傳授知識需緊跟當前IT產業前沿技術,因此要求教學內容緊跟學科發展步伐,必須經常更新授課內容;(2)綜合性,融合軟硬件開發技術,要求學生掌握底層的硬件電路原理、軟件內核原理、驅動程序開發、應用開發等一系列知識;(3)門檻高,要求學生具有一定的專業基礎及自主學習能力,已經學習并掌握單片機原理、計算機組成原理、接口技術、C語言、Linux程序設計等專業基礎課程。
中國地質大學(北京)測控技術與儀器專業自2005年開始開設嵌入式系統本科課程,當時的實踐教學以外購的10套ARM-Linux教學實驗箱為平臺,該平臺以ARM920T 處理器S3C2410和嵌入式 Linux操作系統 (版本 2.4.20) 為基礎。該實驗箱不僅價格昂貴且需占用較大空間,受限于當時實驗室面積及投入經費,只購置10套實驗箱。另外,考慮到學生學習該課程的積極性,我們嘗試自制嵌入式系統教學實驗板,將教學大綱內容要求濃縮至一個較小的教學實驗板,這樣學生可將實驗板裝入書包帶出實驗室自學,同時自制實驗板數量充裕,可以滿足2人共用一套,節省了外購實驗箱的教學經費。此外,外購的實驗箱一旦發生零部件損壞,需要較長的維修周期;出于商業保密目的,外購實驗箱并不會向用戶提供原始的原理圖及PCB圖,不利于學生深入理解硬件原理。基于以上考慮,在學校資產處的支持下,于2010年成功自制了33套嵌入式系統教學實驗板,該教學實驗板以基于ARM920T內核的AT91RM9200處理器和嵌入式Linux操作系統(版本2.6.13)為平臺。所開發的33套教學實驗板能夠滿足測控技術與儀器專業60人的教學實踐要求,緩解了教學實驗設備短缺的現狀,獲得了任課教師和學生的好評。該實驗板實物照片見圖1。

圖1 教學實驗板實物照片(2010年度)
表1給出了外購實驗箱與自制實驗板的對比,除實驗內容在滿足教學大綱的基礎上相比外購實驗箱較少外,在資料完整度、尺寸、便攜性、成本、可維護性等方面自制實驗箱均占有一定優勢,體現了自制教學實驗板的先進性。

表1 外購實驗箱與自制教學實驗板對比表
在新一輪教學大綱改革的指導下,考慮到嵌入式系統技術的進一步發展,有必要對原有教學大綱進行修訂,同時我校電子信息工程本科專業也將該課程列為必修課程,因此原有的教學實驗板在實驗內容設置和數量上均難以滿足日常的實踐教學要求,需要對原有教學實驗板進行升級改造。2014年在學校資產處的支持下研制了62套教學實驗板。新研制的教學實驗板以基于ARM926EJ-S內核的AT91SAM9G45處理器和嵌入式Linux操作系統(版本2.6.30)為平臺,新增擴展了SPI、TWI、SSC等常用串行總線;豐富了音頻ADC、音頻DAC、TS、EEPROM、RTC、LED、SD卡等外設;開發了配套的實驗例程;編寫了完整的實驗指導書;配備了含有相關資料的DVD光盤、交叉網線、USB轉RS232串口線、USB A口轉mini線、工具盒;組成了完整的嵌入式系統教學實驗板學習套件。
完整的教學實驗板學習套件的硬件包括:教學實驗板、PC、USB A口轉mini口線、交叉網線、USB轉RS-232串口線、耳機線、U盤、SD卡、工具盒,其中PC由實驗室提供或學生自備,U盤、耳機線由學生自備。在PC端安裝Linux虛擬機,用戶借助Windows內置程序超級終端,通過USB轉232串口線控制教學實驗板,交叉網線實現PC與教學實驗板的網絡通信。教學實驗板功耗較低,可直接用PC的USB接口中的5 V電源為教學實驗板供電,無需額外的電源適配器。
教學實驗板硬件分為ARM板和擴展板兩部分,實物照片見圖2。兩塊板尺寸相同,為100 mm×66 mm,二者之間通過一個60 pin的2 mm接插件連接。兩塊板的頂部和底部分別安裝了有機玻璃板,并通過塑料螺釘緊固,可有效地為內置電路板提供保護。ARM板主要包括處理器、SDRAM、NAND Flash、網絡物理層、SD卡、電源轉換電路等部件。擴展板主要集成外設,諸如音頻ADC/DAC、EEPROM、RTC、LED,USB轉串口、UART、RJ45等接口。ARM板的原型來源于我校承擔的863課題——海洋可控源電磁采集站裝備研制,該課題主要研究內容就是開發海洋可控源電磁采集站[6-7],該ARM板是采集電路的一部分。為適應實踐教學的需求,根據教學大綱要求對該ARM板的軟硬件進行了定制。

圖2 教學實驗板實物照片(2014年度)
教學實驗板電路原理圖如圖3所示:以AT91SAM9G45為核心,通過MII擴展了網絡物理層芯片DM9161,集成了內置變壓器的RJ45接插件,為100 M網絡提供硬件基礎;擴展了3個串口,其中2個通過SP3232實現TTL至RS232電平轉換,另一路debug串口通過FT232實現USB至串口的轉換,實現PC通過USB與教學實驗板的debug串口通信,無需借助額外的USB轉串口線;SSC接口是AT91SAM9G45的特色串行接口之一,有必要對其進行擴展,借助音頻ADC/DAC——TLV320AIC23,實現錄音和播放,同時還可以實現電壓信號的采集與回放;74HC595實現SPI數據的串并轉換,點亮七段數碼管;DC/DC轉換器TPS62050實現USB 5V電源至電路所需的+3.3 V、+2.5 V、+1.8 V等電源的高效率轉換;通過EBI總線擴展了128 MB SDRAM和256 MB NAND Flash(K9F2G08);通過MCI擴展了16GB SD卡,支持FAT32文件系統,實現數據存儲、文件讀寫等功能;AT24C02、LM75用于TWI總線的教學實驗,可實現EEPROM讀寫功能、溫度獲取功能;DS1390 用于SPI總線的教學實驗,可實現RTC讀寫、當前時間獲取等實驗。另外,分別擴展了USB host和USB device接口,其中USB host可實現U盤的掛載,USB device可將實驗開發板映射為U盤,USB接口的擴展為教學實驗板提供更多的綜合實驗開發空間。表2為2014年開發的教學實驗板與2010年的實驗板在硬件特性上的對比情況。

圖3 教學實驗板原理框圖

教學實驗板(2010)教學實驗板(2014)處理器AT91RM9200AT91SAM9G45NANDFLASH64MB256MBNORFLASH4MB×SDRAM128MB256MBSD最大1GB32GBEEPROM×AT24C02TS×√USBHost√√USBDevice√√NET√√UART23七段數碼管×√RTCPCF8563DS1390AUDIO僅播放錄音+播放供電9V適配器USB5V供電SD卡寫速度200KB/s10MB/s
軟件設計工作主要體現在開發環境搭建、系統移植、驅動開發和應用開發等方面。
3.1開發環境搭建
開發環境搭建是基礎環節,涉及的操作步驟較多、較雜,主要包括虛擬機安裝、linux系統安裝、NFS配置、交叉編譯器安裝等。學生在實際學習過程中容易出錯,導致學習的自信心受挫。根據這一特點,相關實驗指導書對這一部分內容進行步驟分解、對關鍵步驟進行了詳細注解,確保學生在嵌入式系統學習中能順利邁出第一步。
3.2系統移植
在嵌入式技術的學習中,系統移植是重要一環[8-9],也是實驗教學過程中的難點之一。為教學實驗移植了Boot Loader——U-boot,Linux 2.6.30版本內核,并制作了CRAMFS文件系統[7],所有過程在實驗指導書都有詳細的說明。文件系統除包含常用命令外,還提供了Telnet服務端、FTP客戶端、FTP服務端、BOA服務等網絡服務。
3.3例程開發
例程作為參考資料,有助于學生更快地進入嵌入式系統技術學習中[10-11],同時又是實驗課程例程。因此例程設計尤為重要,盡量由簡到繁、從易至難、深入淺出。共實現了hellocugb應用程序、GPIO驅動及應用、TC驅動及應用、UART驅動及應用、SPI驅動及應用、TWI驅動及應用、SSC驅動及應用,以及Linux socket編程、BOA移植等高級網絡應用開發。同時作為擴展內容,驅動開發還涉及了中斷處理、內核用戶交換數據、阻塞與非阻塞、臨界區等進階內容。表3為2014年開發的教學實驗板與2010年開發的實驗板在軟件特性上的比較。

表3 軟件特性對比
結合嵌入式系統學科發展趨勢,分析市場需求,根據學生反饋情況,參考兄弟院校同行的經驗,總結以往教學過程存在的問題,對教學大綱進行了新一輪修訂。該課程設計了48課時,3學分,其中課堂教學32學時、實踐教學16學時。同時對以往的實驗內容進行了升級與優化,累積設計了14個實驗項目,分為驗證型、綜合型、設計型3大類,課時比例為4∶5∶5,具體內容見表4。在實踐教學過程中注重循序漸進、因材施教,以適應學習能力不同的學生的學習和使用。設計型實驗為深入學習嵌入式系統技術的學生提供了軟硬件平臺。該教學實驗板,還可以作為碩士研究生學習嵌入式系統的學習工具。

表4 實驗項目列表
目前,我們已經完成了教學實驗板的開發與調試,配備了必要的套件,且為教學實驗板開發了實驗例程,
并編寫了相應實驗指導書。最終批量生產了62套教學實驗板,并全部投入到實際的嵌入式系統課程的實踐教學。教學情況表明,教學實驗板運行穩定,實驗內容適合學生入門,取得了較好的教學效果,達到了預期目標。
該教學實驗板具有內容豐富、攜帶方便、性價比高的特點,同樣也適用于研究生的嵌入式技術學習。該教學實驗板節約了經費,節省了實驗占用空間,為學生深入學習嵌入式技術提供了實踐教學平臺,具備推廣應用的前景。
References)
[1] 黃曉玲,段鳳云,趙建科.嵌入式系統實驗教學體系的探索與實踐[J].實驗技術與管理,2006,23(4):85-87.
[2] 陳永強,湯志忠,陶品.嵌入式軟硬件實驗設計[J].實驗技術與管理,2011,28(2):32-33.
[3] 權寧一,權曉林.嵌入式系統專業實驗教學改革的探索與實踐[J].實驗技術與管理,2011,28(3):146-148.
[4] 譚大為.開放的嵌入式系統實驗平臺設計[J].實驗技術與管理,2013,30(12):141-145.
[5] 仲玉芳,黃克強,吳明光.面向嵌入式系統的單片機集成實驗平臺的研制[J].實驗技術與管理,2008,25(9):77-82.
[6] 陳凱,鄧明,張啟升,等.海底可控源電磁測量電路的Linux驅動程序[J].地球物理學進展,2009,24(4):1499-1506.
[7] 陳凱,鄧明,魏文博,等.WMT-1大地電磁采集器[J].儀表技術與傳感器,2012,(3):85-87.
[8] 張明,沈勇,王阿娣.基于嵌入式系統課程體系的實驗教學環節設置的研究[J].實驗技術與管理,2008,25(5):147-149.
[9] Bovet D P,Marco Cesati.深入理解Linux 內核[M].北京:中國電力出版社,2001.
[10] Rubin I A. Linux設備驅動程序[M].北京:中國電力出版社,2000.
[11] 陳文智.嵌入式系統開發原理與實踐[M].北京:清華大學出版社,2004.
Development of teaching experimental kit based on embedded system
Chen Kai, Wei Wenbo, Deng Ming
(1. Key Laboratory of Geo-detection of Ministry of Education, Beijing 100083, China; 2. School of Geophysics and Information Technology, China University of Geosciences, Beijing 100083, China)
The ARM-Linux teaching experimental kit was developed to overcome the shortage of original ARM teaching experimental kit and deficient practical teaching contents in the Embedded Systems course of our college. Based on AT91SAM9G45 with the ARM926EJ-S kernel, and Linux 2.6.13 operating system transplantation, the new teaching experimental kit has been improved in several aspects. SDRAM, NAND FLASH and Ethernet PHY were extended. SPI, TWI, SSC interface were extracted. Some peripherals were enriched including audio ADC/DAC, RTC, EEPROM, 7-Segment LED, SD card, etc. Relative experiment examples were developed and the experimental instruction book was edited. Learning package was completed with DVD, necessary connection cables and tools box. Sixty-two teaching experimental kits have been produced and are in service for practical teaching, which can effectively solve the insufficient number of teaching facilities and incomplete experimental contents. Thus, the teaching funds were retrenched and the occupied space was greatly saved. Moreover, the teaching experimental kits provide a practical platform for students to learn more about the embedded technology.
embedded system; ARM-Linux; teaching experimental kit
DOI:10.16791/j.cnki.sjg.2016.01.021
2015- 05- 05
國家863計劃課題(2012AA09A201 2014AA06A602)聯合資助;中國地質大學(北京)實驗室開放基金經費資助
陳凱(1984—),男,江西奉新,碩士,實驗師,主要從事嵌入式系統教學、地球物理儀器研發工作.
TP368.1;G484
A
1002-4956(2016)1- 0082- 04