<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于LPC2368嵌入式實(shí)驗(yàn)平臺的構(gòu)建

          基于LPC2368嵌入式實(shí)驗(yàn)平臺的構(gòu)建

          作者: 時間:2012-04-12 來源:網(wǎng)絡(luò) 收藏

          1 前 言

          本文引用地址:http://www.ex-cimer.com/article/171644.htm

          系統(tǒng)是先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)與各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物, 它是硬件與軟件是緊密捆綁在一起的系統(tǒng), 這一特點(diǎn)就決定了它必然是一個技術(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è)計(jì)是一門實(shí)踐性非常強(qiáng)的課程, 其理論還在不斷的發(fā)展當(dāng)中, 如果沒有很好的實(shí)踐, 嵌入式系統(tǒng)技術(shù)很難掌握, 學(xué)生的技能就得不到提高, 培養(yǎng)的學(xué)生就不能適應(yīng)市場的需要。

          現(xiàn)有的一些嵌入式系統(tǒng)已經(jīng)非常成熟,產(chǎn)品也覆蓋了ARM7至ARM9的各大公司芯片。這些在一塊板上,不僅實(shí)現(xiàn)了ARM芯片的全部功能,而且進(jìn)行了相關(guān)擴(kuò)展,在板上提供了幾乎所有的接口,使得學(xué)生能夠充分接觸到類型的接口的編程,能夠很好的在實(shí)驗(yàn)板上進(jìn)行各種軟件的實(shí)驗(yàn)和開發(fā)。但是,這類平臺也存在相當(dāng)?shù)牟蛔?。學(xué)生在其提供的實(shí)驗(yàn)平臺上,只能完成軟件部分的練習(xí),對于硬件部分的分析和設(shè)計(jì)卻不能得到很好的鍛煉。ARM開發(fā)是一項(xiàng)軟硬件相結(jié)合的技術(shù),在ARM硬件設(shè)計(jì)方面,學(xué)生普遍還存在相當(dāng)?shù)牟蛔?,而在這方面的教育資源目前比較匱乏,需要一個合適的ARM實(shí)驗(yàn)平臺來全面提高學(xué)生的軟硬件水平。本設(shè)計(jì)關(guān)于ARM實(shí)驗(yàn)平臺的提出一些參考意見。

          2 嵌入式實(shí)驗(yàn)平臺的硬件實(shí)現(xiàn)

          為了能讓學(xué)生充分接觸到ARM板的硬件設(shè)計(jì),更好的實(shí)現(xiàn)教學(xué)目的,該實(shí)驗(yàn)平臺采用核心板和擴(kuò)展板硬件分離設(shè)計(jì)(如圖1所示)。核心板上只設(shè)計(jì)一個ARM最小系統(tǒng),并且引出端口以便擴(kuò)展,而在擴(kuò)展板上根據(jù)需要擴(kuò)展相關(guān)接口。這樣化繁為簡,使得學(xué)生在實(shí)驗(yàn)時,不僅能夠?qū)唵蔚腁RM最小系統(tǒng)有比較深入的理解,也能動手設(shè)計(jì)出外圍擴(kuò)展電路,最后進(jìn)行編程,軟件和硬件的能力同時得到提高,加深學(xué)習(xí)的印象和興趣。

          6.jpg

          根據(jù)方案設(shè)計(jì),考慮到教學(xué)要求、成本問題和開發(fā)的難易程度等,本系統(tǒng)采用NXP公司(原PHILIPS半導(dǎo)體公司)出品的ARM7TDMI處理器核的 32位處理器。它內(nèi)嵌高達(dá)512KB的ISP/IAP Flash和高達(dá)58KB的SRAM,能夠在不擴(kuò)展存儲和內(nèi)存的條件下運(yùn)行uclinux和uc/OS-II,在滿足實(shí)驗(yàn)平臺要求的前提下簡化設(shè)計(jì),降低成本。同時還支10/100 Ethernet、全速(12Mbps)USB 2.0和CAN 2.0B、多個串行通信接口(3個II C、1個IIS、4個UART和3個SPI/SSP)增強(qiáng)了設(shè)計(jì)的靈活性,提供了更大的緩沖區(qū),并且具有更高的處理能力;10位A/D和D/A轉(zhuǎn)換器和一個IRC振蕩器,還帶有SD存儲卡接口可供選擇。 功能強(qiáng)大,接口豐富,非常適合用來實(shí)驗(yàn)平臺。

          2.1 核心板的設(shè)計(jì)

          要使一個嵌入式處理器工作起來,必須要有電源部分,必須加上時鐘信號,并提供復(fù)位信號。如果芯片沒有片內(nèi)存儲器或者內(nèi)部存儲器容量不夠,則還需要加上存儲器系統(tǒng),然后嵌入式處理器芯片才能正常工作。這些提供嵌入式處理器運(yùn)行所必須的條件的電路與芯片一起構(gòu)成了最小系統(tǒng)。核心板中將LPC2368的I/O接口全部引出,以方便在主板上進(jìn)行硬件擴(kuò)展和接口設(shè)計(jì)。所以,這次設(shè)計(jì)的核心板部分包括ARM芯片,電源,時鐘,復(fù)位,以及I/O引出口。

          2.2擴(kuò)展板設(shè)計(jì)

          擴(kuò)展板在該實(shí)驗(yàn)平臺中,主要通過學(xué)生自行設(shè)計(jì)相關(guān)外圍接口硬件,來提高學(xué)生的硬件動手能力。主板的I/O口通過插槽引出,可以方便的在擴(kuò)展電路設(shè)計(jì)實(shí)驗(yàn)所需要的外圍硬件接口。LPC2368功能強(qiáng)大,接口非常豐富,自身就帶有多個串行通信接口,USB設(shè)備,網(wǎng)絡(luò)接口和SD卡接口。

          本次設(shè)計(jì)只完成部分硬件單元電路,學(xué)生可以根據(jù)實(shí)際情況,自行設(shè)計(jì)好每個接口部分的硬件電路,然后畫圖PCB并制版,通過反復(fù)驗(yàn)正至成功。這樣可以提高學(xué)生的實(shí)際動手能力,防止了紙上談兵,在硬件電路的設(shè)計(jì)流程,以及具體的設(shè)計(jì)細(xì)節(jié)方便得到很好的煅練機(jī)會。然后可以將自己設(shè)計(jì)的外圍接口與I/O口相連,移植操作系統(tǒng)至主板上,并學(xué)習(xí)編寫驅(qū)動程序來驅(qū)動外部電路。硬件設(shè)計(jì)和軟件編程同時得到鞏固和提高。

          2.2.1 UART串口設(shè)計(jì)

          LPC2368具有四個串行接口。除標(biāo)準(zhǔn)的數(shù)據(jù)傳輸和接受外,UART1還提供全modem控制握手信號。UART3還具有紅外模式,可用來進(jìn)行紅外通訊。

          本次設(shè)計(jì)采用RS232的電平轉(zhuǎn)換芯片MAX232,實(shí)現(xiàn)UART0的串口通信。URAT1采用SP3243ECA轉(zhuǎn)換芯片將信號轉(zhuǎn)換成RS232電平,即可與MODEM連接,控制MODEM撥號、通信等。電路圖如圖2所示。

          7.jpg

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();