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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Verilog HDL語(yǔ)言的CAN總線控制器設(shè)計(jì)及驗(yàn)證

          基于Verilog HDL語(yǔ)言的CAN總線控制器設(shè)計(jì)及驗(yàn)證

          作者: 時(shí)間:2012-08-01 來(lái)源:網(wǎng)絡(luò) 收藏

          f.JPG


          接著使用ModelSim軟件對(duì)所設(shè)計(jì)的各個(gè)模塊和整個(gè)進(jìn)行了功能仿真,仿真結(jié)果表明達(dá)到了設(shè)計(jì)目標(biāo)。

          2 測(cè)試驗(yàn)證
          本文最后設(shè)計(jì)了的測(cè)試程序,其目的是模擬一塊微處理器對(duì)進(jìn)行讀寫操作,從而實(shí)現(xiàn)對(duì)CAN總線控制器的寄存器訪問(wèn),完成總線收發(fā)功能。在該測(cè)試程序編寫中,各個(gè)功能基本上以任務(wù)的形式實(shí)現(xiàn),進(jìn)行不同的仿真時(shí)只需調(diào)用相關(guān)的任務(wù)模塊。圖8為驗(yàn)證程序的組成框圖。

          g.JPG


          仿真驗(yàn)證完成以后將其 CAN總線程序下載到中進(jìn)行測(cè)試,目標(biāo)芯片采用Cyclone系列的EP1C6Q240C8,為了驗(yàn)證所設(shè)計(jì)的 CAN總線控制器,還設(shè)計(jì)了一款基于該的CAN總線控制器的節(jié)點(diǎn)電路,然后利用所設(shè)計(jì)的節(jié)點(diǎn)電路與其他3個(gè)利用SJA1000作為控制器的CAN總線節(jié)點(diǎn)進(jìn)行了通信測(cè)試。所有的節(jié)點(diǎn)使用AT89S52單片機(jī)作為節(jié)點(diǎn)微處理器,PCA82C250作為收發(fā)器,測(cè)試結(jié)果表明下載到FPGA中的控制器程序工作正常,實(shí)現(xiàn)了預(yù)計(jì)的CAN總線通訊功能。測(cè)試網(wǎng)絡(luò)示意圖如圖9所示。

          h.JPG


          測(cè)試時(shí),按動(dòng)節(jié)點(diǎn)1上的開關(guān)并將該狀態(tài)發(fā)送到節(jié)點(diǎn)2,在節(jié)點(diǎn)2上能顯示對(duì)應(yīng)的狀態(tài),反之也可。同時(shí)也可在節(jié)點(diǎn)2通過(guò)鍵盤輸入某一代碼,而在節(jié)點(diǎn)1上的數(shù)碼管上顯示相應(yīng)的結(jié)果。該實(shí)驗(yàn)結(jié)果表明下載到FPGA中的控制器程序工作正常。

          3 結(jié)語(yǔ)
          本項(xiàng)目利用 語(yǔ)言設(shè)計(jì)了一款CAN總線控制器芯片,并使用ModelSire軟件對(duì)所設(shè)計(jì)的CAN總線控制器進(jìn)行了功能仿真;之后為了驗(yàn)證設(shè)計(jì),還編制一個(gè)驗(yàn)證程序,并將驗(yàn)證之后的設(shè)計(jì)配置到了FPGA中;最后用所設(shè)計(jì)的基于FPGA的CAN總線控制器制作了CAN節(jié)點(diǎn),并與其他采用SJA1000為控制器的CAN節(jié)點(diǎn)進(jìn)行了通訊測(cè)試,實(shí)現(xiàn)了CAN總線良好的工作,驗(yàn)證了設(shè)計(jì)的正確性。


          上一頁(yè) 1 2 3 下一頁(yè)

          關(guān)鍵詞: CAN總線 控制器 FPGA Verilog HDL

          評(píng)論


          相關(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); })();