新聞中心

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上的開(kāi)關(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)閉