汪 建,楊風(fēng)開,曹 江
(華中科技大學(xué)電氣與電子工程學(xué)院,湖北武漢 430074)
由于嵌入式開發(fā)技術(shù)的發(fā)展日新月異,這一領(lǐng)域入門門檻高,不僅要懂得硬件原理還要有較高的軟件編程的水平,導(dǎo)致現(xiàn)在嵌入式人才較為稀缺。在這種情況之下,如何開展單片機、ARM及DSP的實踐教學(xué),成為各高校電子、控制類相關(guān)專業(yè)在實驗教學(xué)過程中必須解決的一個重要問題。
在現(xiàn)今嵌入式實驗教學(xué)儀器市場中,幾乎沒有公司會給出全面的技術(shù)文檔以及設(shè)計細(xì)節(jié),更不用說有針對特定電類專業(yè)進行的特有設(shè)計。鑒于上述這種狀況,開發(fā)出一套能夠用于各種實踐教學(xué),如課程設(shè)計、畢業(yè)設(shè)計和電子競賽等環(huán)節(jié),新型單片機/ARM/DSP實驗教學(xué)裝置,顯得十分必要。我們針對電氣類專業(yè)的培養(yǎng)目標(biāo)和教學(xué)要求,設(shè)計開發(fā)了一套實驗教學(xué)裝置。
1)實現(xiàn)多種單片機/ARM/DSP芯片的擴展
該裝置采用以核心板為基礎(chǔ),加上通用板及擴展板的方式進行研制。我們開發(fā)了51和96單片機、ARM以及DSP等核心板,用戶可以根據(jù)教學(xué)內(nèi)容的需要選擇在裝置上插用不同的核心板。我們可以選用的芯片類型包括:MCS51系列、MCS96系列(80C196)單片機、ARM系列微處理器和TMS320LF240X系列DSP。通用板上設(shè)置了20多個實驗電路,均可配套用于不同的核心板。擴展板則為學(xué)生在各自專業(yè)領(lǐng)域進行綜合性實驗提供了硬件基礎(chǔ),學(xué)生可以在擴展板上按照所選用的CPU,根據(jù)自己的思路和設(shè)計搭建電路,構(gòu)成系統(tǒng)。
2)基礎(chǔ)性實驗和提高性實驗兼顧
實驗裝置既安排了基礎(chǔ)性實驗又設(shè)計了提高性實驗?;A(chǔ)實驗包括基本I/O(如開關(guān)、指示燈、鍵盤、LED、LCD顯示器和中斷控制等)、A/D和D/A等,以鞏固學(xué)生對基本知識點等理解和掌握;提高性實驗主要為設(shè)計性和綜合性實驗(如串行通訊、頻率計、數(shù)字電子鐘、溫度計、交通燈控制等)。鑒于本院主要教學(xué)對象為電氣專業(yè)學(xué)生,在實驗內(nèi)容上特別安排了一定數(shù)量的電氣類提高性實驗(如電壓表、電流表、功率表、電機控制、電阻電感電容參數(shù)測量和數(shù)字函數(shù)信號發(fā)生器等)。通過這些實際電氣測量應(yīng)用系統(tǒng)的設(shè)計,使學(xué)生了解和掌握嵌入式技術(shù)在電氣工程中的應(yīng)用。
3)功耗低,可靠性高
本裝置采用了多種措施降低功耗,同時電磁兼容性設(shè)計有效提高了抗干擾能力。裝置的可靠性在教學(xué)實踐中得到了檢驗,基本沒有故障的情況發(fā)生。
4)裝置整體設(shè)計緊湊美觀
本裝置可插用多種型號的CPU芯片,設(shè)置的實驗數(shù)量亦較多,裝置上還設(shè)置了一些專用的或通用的顯示模塊??梢允拐麄€實驗裝置的外觀顯得十分緊湊美觀。
本裝置的設(shè)計在初始階段遇到了許多困難,主要難點包括三個方面:①如何能在同一臺裝置上插用多種CPU芯片做不同機型的實驗?②如何使裝置在滿足基本實驗的前提下,能夠設(shè)置更多的綜合設(shè)計性實驗,以達到有效提高學(xué)生實際運用單片機技術(shù)的能力,特別是硬件電路的設(shè)計和調(diào)試能力;③裝置的電磁兼容設(shè)計,如何采取有效措施提高系統(tǒng)的抗干擾能力,使裝置具有較高的可靠性。針對上述難點,我們借鑒其他單片機實驗裝置的設(shè)計方法,在硬件接口電路設(shè)計上,采用了新型兼容性接口技術(shù)。使上述難點得到了較好地解決。
本裝置ARM核心板的設(shè)計基于體積小、功耗低和性能高的ARM微處理器S3C2410A芯片。該芯片基于ARM920T內(nèi)核,采用0.18μmCMOS標(biāo)準(zhǔn)單元結(jié)構(gòu)[1],其內(nèi)核結(jié)構(gòu)如圖1所示。
圖1 ARM920內(nèi)核結(jié)構(gòu)
S3C2410A內(nèi)部結(jié)構(gòu)提供的可擴展的功能模塊較多,主要有ARM920T內(nèi)核(16/32bit RSIC CPU)、獨立的16KB指令緩存和16KB數(shù)據(jù)緩存、MMU虛擬內(nèi)存管理單元、LCD控制器(支持STN和TFT)、NAND flash boot loader、系統(tǒng)管理單元(SDRAM控制器等)、3通道UART、4通道DMA、4通道具備PWM功能的定時器、I/O口、RTC(實時時鐘)、8通道10bit精度的ADC和觸摸屏控制器、IIC總線接口、IIS數(shù)字音頻總線接口、USB主機、USB設(shè)備、SD/MMC卡控制器、2通道SPI和PPL數(shù)字鎖相環(huán)等。
S3C2410A還提供了一套較完整的通用系統(tǒng)外圍設(shè)備,使得整個系統(tǒng)消耗最小。正是因為它具有很多常用的功能模塊,所以免去了添加配置及附加設(shè)備的麻煩。但S3C2410A芯片的引腳數(shù)達到272個,采用FBGA封裝,對實際的制板工藝要求較高。
ARM核心實驗板的電路結(jié)構(gòu)框圖如圖2所示,包括S3C2410A ARM微處理器,發(fā)光二極管、LED數(shù)碼管、按鍵和JTAG接口等。為減小印刷電路板面積,核心實驗板上的數(shù)碼管采用動態(tài)顯示方式。
圖2 S3C2410A核心實驗板電路結(jié)構(gòu)
根據(jù)電氣工程專業(yè)的教學(xué)要求,ARM實驗內(nèi)容主要有三個部分:①集成開發(fā)環(huán)境及仿真器應(yīng)用;②ARM芯片的片上各功能模塊的原理及應(yīng)用;③基于電力測控的嵌入式系統(tǒng)應(yīng)用設(shè)計,例如數(shù)據(jù)采集存儲及處理、參數(shù)控制、開關(guān)量采集和處理、開關(guān)量控制、數(shù)據(jù)通信和人機接口等[2-3]。
基于上述硬件電路,配合Keil for ARM開發(fā)環(huán)境,為該核心實驗板設(shè)置了約20個實驗項目。
由英國Labcenter electronics公司開發(fā)的Proteus嵌入式系統(tǒng)仿真與開發(fā)平臺,具有獨一無二的支持外圍電路與處理器協(xié)同仿真的特點,從而真正實現(xiàn)了虛擬物理原型的功能。眾所周知,軟硬件測試環(huán)節(jié)是正式投產(chǎn)之前最重要的環(huán)節(jié),而在測試過程中,一旦出現(xiàn)了錯誤,最令開發(fā)人員困擾的就是很難去判斷錯誤是來自軟件還是硬件。使用虛擬仿真測試,可以在目標(biāo)板正式投產(chǎn)前,對設(shè)計的硬件系統(tǒng)的功能、合理性和性能指標(biāo)進行充分調(diào)整,并可在沒有物理目標(biāo)板的情況下,進行相應(yīng)軟件的開發(fā)和調(diào)試以及完全的虛擬開發(fā),可以降低開發(fā)風(fēng)險[4]。由于本實驗裝置ARM核心板使用的S3C2410A處理器芯片尚未被Protues虛擬仿真軟件支持,在進行軟件仿真的時候,我們選擇另一款處理器芯片LPC2124。因為測試的目的是為了驗證軟件程序的正確性,從而減少實際測試時軟件出現(xiàn)錯誤的可能性,所以采用這種折衷的辦法是可行的。
搭建完硬件平臺之后,只需要手動載入實驗軟件,就可以利用Proteus驗證實驗程序的正確性。但是,每一次都需要把使用Keil for ARM生成的.hex實驗程序手動載入Proteus的芯片中,才能進行電路仿真,這樣十分不利于程序的調(diào)時、修改和觀察仿真效果[5]。我們采用了適當(dāng)?shù)姆椒ń?Proteus與Keil for ARM的聯(lián)調(diào),其具體做法如下:①安裝Keil聯(lián)調(diào)插件;②打開Proteus仿真平臺,選擇菜單欄:Debug-Use Remote Debug Monitor選項,完成Proteus的聯(lián)調(diào)設(shè)置;③打開Keil uVision3,打開Options for Target LPC2124,選擇Debug選項,選擇ST-LINK III Debugger,點擊setting設(shè)置完成;④完成聯(lián)調(diào)。打開Keil聯(lián)調(diào)安裝目錄下的 tools.ini文件,把 Keil/ARM/BIN中的VDMARM.dll復(fù)制到ini文件中,并把其命名為 ST-LINK III-KEIL.dll。
在2008年底,我們開發(fā)出本實驗裝置的第一臺樣機。2009年生產(chǎn)裝配了10臺,由一個學(xué)生班在“單片機原理及應(yīng)用”實驗課程中試用。通過試用并修改設(shè)計方案,2010年又生產(chǎn)了20臺,并由七個學(xué)生班繼續(xù)試用。在進一步完善的基礎(chǔ)上,2011年批量生產(chǎn)65臺,全部裝備我院單片機與DSP實驗室,并用于全院“單片機原理及應(yīng)用”和“DSP及ARM”實驗課程的教學(xué)及課程設(shè)計。
新型實驗裝置在教學(xué)實踐中的應(yīng)用,大大增加了實驗的靈活性。對于基礎(chǔ)性實驗,例如LED數(shù)碼管顯示器的控制實驗,學(xué)生在裝置上既可以選擇采用靜態(tài)顯示方式,或者動態(tài)顯示方式;也可以采用串行接口控制,或者并行接口控制。對于設(shè)計性實驗,例如按鍵的接口電路設(shè)計實驗,他們既能選擇獨立式按鍵方式,又能選擇編碼式小鍵盤方式。學(xué)生可以較為自主地設(shè)計鍵盤的接口電路,并根據(jù)所設(shè)計的接口電路,靈活編程實現(xiàn)按鍵功能。對于面向綜合應(yīng)用性實驗,例如如溫濕度的測量,交流電參數(shù)的綜合測量,電動機、步進電機的控制等實驗,裝置上都提供了充分的接口功能。
本套新型單片機/ARM/DSP實驗裝置可以根據(jù)實驗的具體要求選擇更換插有不同CPU的核心板,其中既包括傳統(tǒng)的51和96單片機核心板,還包括有DSP系列核心板以及ARM系列核心板,因此有效地擴充了本實驗裝置的應(yīng)用范圍。本套新型實驗裝置的另一重要特色是通用板和擴展板上設(shè)置了許多需要由學(xué)生自己進行連接的端口,以方便他們開展自主性設(shè)計。
[1]S3C2410 Data Sheet.http://www.samsung.com
[2]周維,陳默.基于S3C2410的ARM開發(fā)平臺[J].上海:《電子技術(shù)》2004年第7期,2004
[3]嚴(yán)國志.基于電氣工程專業(yè)的ARM嵌入式系統(tǒng)教學(xué)研究[J].南京:《電氣電子教學(xué)學(xué)報》,第32卷第2期,2010
[4]李寧.ARM開發(fā)工具Realviw MDK使用入門[M].北京:北京航空航天大學(xué)出版社,2008
[5]周潤景,袁偉亭.基于PROTEUS的ARM虛擬開發(fā)技術(shù)[M].北京:北京航天航空大學(xué)出版社,2007