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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > C8051F單片機實驗系統(tǒng)設計方案

          C8051F單片機實驗系統(tǒng)設計方案

          作者: 時間:2013-01-18 來源:網絡 收藏
          目前高校教學中大多是以MCS51為首選機型進行講解,所開發(fā)的教學也多是基于MCS51系列開發(fā)設計的。然而,隨著單片機的應用進入SoC時代,其不足和缺陷也顯而易見:片上資源不夠豐富,功耗較大,處理速度很有限,電路龐大且復雜,可靠性和可維護性較差,難以滿足高水平的設計要求。
          為了進一步簡化電路結構,提出一種單片機設計方案,該方案采用FPGA實現(xiàn)單片機各種外設接口。FPGA作為一種可編程邏輯器件憑借其優(yōu)越的可擴展性能受到設計者的青睞,逐漸成為分立元件的替代者。通過對FPGA編程,實現(xiàn)任何數字元件的邏輯功能,設計者可以通過原理圖輸入或硬件描述語言,方便地設計一個數字系統(tǒng),這使得單片機外圍電路的設計簡單、靈活、可靠。
          本系統(tǒng)是為單片機實踐教學而開發(fā)的,因此要求單片機的功能齊全,滿足教學中各種實驗的要求。一般的實驗板的功能有:模擬數字信號轉換實驗、通信接口實驗、存儲器實驗、各種顯示實驗,人機交互實驗等等。除此之外,還要考慮由于是非商業(yè)性質的開發(fā),對一些功能的精度要求不是很高,在選擇最理想價格的同時,選擇盡可能多而全的片上資源,留待后期開發(fā)擴充。
          基于以上考慮,該平臺使用SoC系統(tǒng)級的020單片機作為核心控制器,CycloneⅡEP2C8型FPGA實現(xiàn)外設接口,加上LCD、鍵盤、UART串口等人機交互的模塊。
          系列單片機是以流水線方式處理指令的CIP-5l內核,完全集成的混合信號系統(tǒng)級芯片(Soc),片內集成了數據采集和控制系統(tǒng)中常用的模擬、數字外設及其他功能部件。C8051F020單片機具有片內調試電路,通過4引腳的JTAG接口可以進行非侵入式、全速的在系統(tǒng)調試。
          FPGA即現(xiàn)場可編程門陣列,它是作為專用集成電路(ASIC)領域中的一種半定制電路,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。FPGA使用靈活,同一片F(xiàn)PGA通過不同的編程數據可以產生不同的電路功能。

          1 系統(tǒng)總體方案
          本文設計并實現(xiàn)了基于FPGA的單片機開發(fā)平臺,該平臺主要包括有:單片機及其外設、FPGA擴展電路、電源及下載電路。開發(fā)平臺框架如圖l所示。

          a.JPG


          1.1 單片機外設
          包括液晶顯示器(LCD)、鍵盤、SRAM、UART串口等,對FPGA進行編程來實現(xiàn)LCD、鍵盤、SRAM的接口電路。
          1.2 FPGA擴展電路
          包括主動串行(AS)配置電路、JTAG在線調試電路、輸入輸出電路等。采用EPCSlN8型芯片對FPGA進行主動串行(AS)配置,同時兼有JTAG在線調試模式。


          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();