1? 前 言
嵌入式系統(tǒng)是先進(jìn)的計算機(jī)技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)與各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物, 它是硬件與軟件是緊密捆綁在一起的系統(tǒng), 這一特點就決定了它必然是一個技術(shù)密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。目前的嵌入式系統(tǒng)人才多數(shù)是在工作崗位上培養(yǎng)起來的, 國內(nèi)高校還很少設(shè)立嵌入式系統(tǒng)這個本科專業(yè), 只是為了適應(yīng)社會的需要, 對某些專業(yè)的學(xué)生開設(shè)了相關(guān)課程, 學(xué)習(xí)。嵌入式系統(tǒng)設(shè)計是一門實踐性非常強(qiáng)的課程, 其理論還在不斷的發(fā)展當(dāng)中, 如果沒有很好的實踐平臺, 嵌入式系統(tǒng)技術(shù)很難掌握, 學(xué)生的技能就得不到提高, 培養(yǎng)的學(xué)生就不能適應(yīng)市場的需要。
現(xiàn)有的一些嵌入式系統(tǒng)實驗平臺已經(jīng)非常成熟,產(chǎn)品也覆蓋了ARM7至ARM9的各大公司芯片。這些平臺在一塊實驗板上,不僅實現(xiàn)了ARM芯片的全部功能,而且進(jìn)行了相關(guān)擴(kuò)展,在實驗板上提供了幾乎所有的接口,使得學(xué)生能夠充分接觸到類型的接口的編程,能夠很好的在實驗板上進(jìn)行各種軟件的實驗和開發(fā)。但是,這類平臺也存在相當(dāng)?shù)牟蛔?。學(xué)生在其提供的實驗平臺上,只能完成軟件部分的練習(xí),對于硬件部分的分析和設(shè)計卻不能得到很好的鍛煉。ARM開發(fā)是一項軟硬件相結(jié)合的技術(shù),在ARM硬件設(shè)計方面,學(xué)生普遍還存在相當(dāng)?shù)牟蛔?,而在這方面的教育資源目前比較匱乏,需要一個合適的ARM實驗平臺來全面提高學(xué)生的軟硬件水平。本設(shè)計關(guān)于ARM實驗平臺的構(gòu)建提出一些參考意見。
2? LPC2368嵌入式實驗平臺的硬件實現(xiàn)
為了能讓學(xué)生充分接觸到ARM板的硬件設(shè)計,更好的實現(xiàn)教學(xué)目的,該實驗平臺采用核心板和擴(kuò)展板硬件分離設(shè)計(如圖1所示)。核心板上只設(shè)計一個ARM最小系統(tǒng),并且引出端口以便擴(kuò)展,而在擴(kuò)展板上根據(jù)需要擴(kuò)展相關(guān)接口。這樣化繁為簡,使得學(xué)生在實驗時,不僅能夠?qū)唵蔚腁RM最小系統(tǒng)有比較深入的理解,也能動手設(shè)計出外圍擴(kuò)展電路,最后進(jìn)行編程,軟件和硬件的能力同時得到提高,加深學(xué)習(xí)的印象和興趣。
根據(jù)方案設(shè)計,考慮到教學(xué)要求、成本問題和開發(fā)的難易程度等,本系統(tǒng)采用NXP公司(原PHILIPS半導(dǎo)體公司)出品的基于ARM7TDMI處理器核的 32位處理器LPC2368。它內(nèi)嵌高達(dá)512KB的ISP/IAP Flash和高達(dá)58KB的SRAM,能夠在不擴(kuò)展存儲和內(nèi)存的條件下運行uclinux和uc/OS-II,在滿足實驗平臺要求的前提下簡化設(shè)計,降低成本。同時LPC2368還支10/100 Ethernet、全速(12Mbps)USB 2.0和CAN?2.0B、多個串行通信接口(3個II C、1個IIS、4個UART和3個SPI/SSP)增強(qiáng)了設(shè)計的靈活性,提供了更大的緩沖區(qū),并且具有更高的處理能力;10位A/D和D/A轉(zhuǎn)換器和一個IRC振蕩器,還帶有SD存儲卡接口可供選擇。 功能強(qiáng)大,接口豐富,非常適合用來構(gòu)建實驗平臺。
2.1 核心板的設(shè)計
要使一個嵌入式處理器工作起來,必須要有電源部分,必須加上時鐘信號,并提供復(fù)位信號。如果芯片沒有片內(nèi)存儲器或者內(nèi)部存儲器容量不夠,則還需要加上存儲器系統(tǒng),然后嵌入式處理器芯片才能正常工作。這些提供嵌入式處理器運行所必須的條件的電路與芯片一起構(gòu)成了最小系統(tǒng)。核心板中將LPC2368的I/O接口全部引出,以方便在主板上進(jìn)行硬件擴(kuò)展和接口設(shè)計。所以,這次設(shè)計的核心板部分包括ARM芯片,電源,時鐘,復(fù)位,以及I/O引出口。
2.2擴(kuò)展板設(shè)計
擴(kuò)展板在該實驗平臺中,主要通過學(xué)生自行設(shè)計相關(guān)外圍接口硬件,來提高學(xué)生的硬件動手能力。主板的I/O口通過插槽引出,可以方便的在擴(kuò)展電路設(shè)計實驗所需要的外圍硬件接口。LPC2368功能強(qiáng)大,接口非常豐富,自身就帶有多個串行通信接口,USB設(shè)備,網(wǎng)絡(luò)接口和SD卡接口。
本次設(shè)計只完成部分硬件單元電路,學(xué)生可以根據(jù)實際情況,自行設(shè)計好每個接口部分的硬件電路,然后畫圖PCB并制版,通過反復(fù)驗正至成功。這樣可以提高學(xué)生的實際動手能力,防止了紙上談兵,在硬件電路的設(shè)計流程,以及具體的設(shè)計細(xì)節(jié)方便得到很好的煅練機(jī)會。然后可以將自己設(shè)計的外圍接口與I/O口相連,移植操作系統(tǒng)至主板上,并學(xué)習(xí)編寫驅(qū)動程序來驅(qū)動外部電路。硬件設(shè)計和軟件編程同時得到鞏固和提高。
2.2.1 UART串口設(shè)計
LPC2368具有四個串行接口。除標(biāo)準(zhǔn)的數(shù)據(jù)傳輸和接受外,UART1還提供全modem控制握手信號。UART3還具有紅外模式,可用來進(jìn)行紅外通訊。
本次設(shè)計采用RS232的電平轉(zhuǎn)換芯片MAX232,實現(xiàn)UART0的串口通信。URAT1采用SP3243ECA轉(zhuǎn)換芯片將信號轉(zhuǎn)換成RS232電平,即可與MODEM連接,控制MODEM撥號、通信等。電路圖如圖2所示。
2.2.2 SD/MMC接口設(shè)計
SD/MMC接口包括兩部分:
(1)多媒體存儲卡接口適配器模塊對SD/MMC存儲卡提供特定功能包括時鐘產(chǎn)生單元,電源管理控制與數(shù)據(jù)傳輸;
(2)APB接口訪問MCI適配器注冊,產(chǎn)生中斷和DMA要求信號。
LPC2368含有1個SD/MMC存儲卡接口。LPC2368在芯片內(nèi)部已經(jīng)集成了SD/MMC控制器,只需在外部加入存儲卡適配器即可。電路圖如圖3所示。
2.2.3調(diào)試與測試接口
JTAG調(diào)試是采用最多的一種調(diào)試方法,它是一個標(biāo)準(zhǔn)的測試接口,用于測試和系統(tǒng)未正常工作前的下載。它可以通過現(xiàn)有的JTAG邊界掃描ARM CPU核進(jìn)行通信,屬于完全非插入式調(diào)試。調(diào)試主機(jī)PC負(fù)責(zé)對ARM源程序進(jìn)行編譯連接,然后使用調(diào)試程序進(jìn)行JTAG調(diào)試。LPC2368有一個內(nèi)置 JTAG調(diào)試口,通過這個接口可以控制芯片的運行并獲取內(nèi)部信息。調(diào)試接口電路圖如圖4所示。
3? LPC2368嵌入式實驗平臺的軟件設(shè)計
嵌入式系統(tǒng)實驗平臺建設(shè)的一個重要內(nèi)容就是嵌入式操作系統(tǒng)的確定。目前嵌入式教學(xué)主要是以源碼開放的uC/OS-II和uCLinux為主。uC/OS- II結(jié)構(gòu)簡單,很容易通過閱讀源碼達(dá)到徹底掌握嵌入式操作系統(tǒng)的目的。uCLinux是現(xiàn)在最熱門的嵌入式操作系統(tǒng)之一,繼承了Linux網(wǎng)絡(luò)支持良好,文件系統(tǒng)多等優(yōu)點。本實驗平臺可以很好的支持以上兩種操作系統(tǒng)的運行,學(xué)生可以在該平臺上進(jìn)行操作系統(tǒng)的移植、驅(qū)動程序開發(fā)等相關(guān)內(nèi)容的學(xué)習(xí)。
底層硬件驅(qū)動程序是嵌入式系統(tǒng)軟件開發(fā)的一個難點,它緊密地將軟硬件銜接在一起。涉及到許多硬件相關(guān)的知識。如果完全讓學(xué)生開發(fā),將有很大的困難,不利于教學(xué)。一些成熟的開發(fā)平臺提供了各方面的設(shè)備驅(qū)動程序,在其基礎(chǔ)之上學(xué)生能夠很方便的進(jìn)行二次開發(fā)。可同時,底層的硬件細(xì)節(jié)被屏蔽,當(dāng)遇到新的設(shè)備需要驅(qū)動時,學(xué)生就會束手無策。為了達(dá)到高校教學(xué)要求,本系統(tǒng)提供主要硬件部件的底層驅(qū)動程序,既方便學(xué)生進(jìn)行深入的二次開發(fā),學(xué)生也可以以此為藍(lán)本,在自主設(shè)計硬件接口時,深入的學(xué)習(xí)和掌握設(shè)備驅(qū)動程序的編寫。
完成以上兩步就完成了一個良好的軟件開發(fā)平臺,學(xué)生可以在該平臺上開發(fā)基于特定應(yīng)用的用戶程序,這也是嵌入式系統(tǒng)學(xué)習(xí)的重要內(nèi)容。本系統(tǒng)提供在 uCLinux和uC/OS-II的應(yīng)用程序開發(fā)示例,通過對這些示例的實驗和學(xué)習(xí),學(xué)生可以完全掌握在嵌入式平臺上的應(yīng)用程序開發(fā)過程。
4? 結(jié)束語
基于目前嵌入式的快速發(fā)展與高校在嵌入式教育方面的相對落后,本文設(shè)計了一款基于ARM7的嵌入式實驗平臺。該平臺結(jié)構(gòu)簡單,接口豐富,功能完善,可滿足高校嵌入式教育的需求,一改目前大多數(shù)嵌入式平臺在一塊主板上集成各類接口大而全的設(shè)計,采用核心板加擴(kuò)展板設(shè)計理念,使不同專業(yè)的學(xué)生都能從中學(xué)到相應(yīng)的知識,培養(yǎng)軟件編程技術(shù)的同時提高了硬件設(shè)計能力,使之系統(tǒng)全面地掌握嵌入式系統(tǒng)開發(fā)各項技術(shù),盡快成為合格的嵌入式系統(tǒng)開發(fā)人才。
評論