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