基于LPC2194的4路CAN網(wǎng)橋設計
在配置模式下配置好各信息后,系統重新上電可以進(jìn)入正常工作模式。根據配置模式配置的狀態(tài),4路網(wǎng)橋對網(wǎng)絡(luò )中的信息進(jìn)行存儲轉發(fā)。在LPC2194中,4路CAN控制器是同時(shí)工作的,因此能夠提高系統的速度和實(shí)時(shí)性。每一路的結構和程序是相同的,因此本設計僅給出1路CAN控制器正常工作的程序設計。
為了提高系統的轉換速度和穩定性,本設計采用了中斷接收和查詢(xún)發(fā)送的方式。系統中斷接收CAN總線(xiàn)上的數據,并根據路由選擇和標識符的分配選擇發(fā)送到其他3路,從而完成網(wǎng)橋的工作。系統主程序和中斷程序流程分別如圖4和圖5所示。
4 實(shí)驗結果
為了驗證系統的可靠性,設計了一個(gè)通信收包率的實(shí)驗。通過(guò)PC機間隔一定的時(shí)間,向CAN網(wǎng)橋一條支路發(fā)送8字節的數據,網(wǎng)橋的另一條支路向PC機回復接收到的8字節數據。通過(guò)對比發(fā)送和接收的字節數來(lái)驗證收包率。分別以100 ms、10 ms、5 ms、1 ms的間隔來(lái)發(fā)送8字節的數據,發(fā)送和接收到的字節數為:
?、匍g隔100 ms時(shí),發(fā)送1 336個(gè)字節,接收1 336個(gè)字節,收包率為100%;
?、陂g隔10 ms時(shí),發(fā)送3 376個(gè)字節,接收3 376個(gè)字節,收包率為100%;
?、坶g隔5 ms時(shí),發(fā)送4 056個(gè)字節,接收4 056個(gè)字節,收包率為100%;
?、荛g隔1 ms時(shí),發(fā)送5 336個(gè)字節,接收5 336個(gè)字節,收包率為100%。
其中,間隔1 ms時(shí)的發(fā)送和接收圖如圖6所示。
實(shí)驗結果表明,在以不同間隔發(fā)送數據時(shí),網(wǎng)橋都能很好地完成工作,可滿(mǎn)足實(shí)際應用的需要。
結 語(yǔ)
本文設計的4路CAN網(wǎng)橋采用功能強大的ARM芯片LPC2194作為主控芯片,因此能夠及時(shí)地處理4路CAN總線(xiàn)的數據傳輸。通過(guò)具體實(shí)驗證明,該網(wǎng)橋工作穩定、可靠、使用方便,完全滿(mǎn)足現場(chǎng)的需求。
評論