<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 客車(chē)網(wǎng)絡(luò )控制中CAN/CAN網(wǎng)橋設計

客車(chē)網(wǎng)絡(luò )控制中CAN/CAN網(wǎng)橋設計

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

本文引用地址:http://dyxdggzs.com/article/163504.htm

3.3 /的軟件
/CAN的主要功能是實(shí)現兩路CAN之間的數據過(guò)濾及轉發(fā),由于系統中對通訊的實(shí)時(shí)性的要求,在進(jìn)行軟件時(shí)要做到數據存儲和轉發(fā)的時(shí)間要求盡可能的短。為了達到這一要求,數據的接收采用向量中斷(IRQ)方式,而且由于底盤(pán)CAN子系統的數據通訊量明顯要高于車(chē)身CAN子系統,因此將連接底盤(pán)CAN控制子系統的CAN1接收優(yōu)先級設置為最高,而連接車(chē)身CAN控制子系統的CAN2接收優(yōu)先級次之。同時(shí)盡量精簡(jiǎn)中斷服務(wù)程序,使系統的響應時(shí)間盡量的短。對應兩路CAN設置了兩個(gè)FIFO的環(huán)形接收緩沖區,由于CAN1的數據通訊量要高,因此CAN1的FIFO環(huán)形接收緩沖區比CAN2的大,這樣更適合實(shí)際情況。
的軟件主要包括:兩路CAN控制器的初始化,FIFO環(huán)形接收緩沖區的設置,兩路CAN控制器的全局驗收過(guò)濾器的設置,接收中斷服務(wù)程序,CAN發(fā)送程序,主監控程序。
CAN控制器的初始化流程如圖3所示。其中全局驗收過(guò)濾器的配置是一個(gè)難點(diǎn),也是區別于SJA1000獨立CAN控制器的一個(gè)地方。有5個(gè)地址寄存器用來(lái)指向驗收過(guò)濾器RAM中的表格:fullCAN標準地址、標準單個(gè)地址、標準地址范圍、擴展單個(gè)地址和擴展地址范圍。這些表格在存儲器中必須是連續的。后4個(gè)表格的起始地址分別是各自相鄰的前一個(gè)表格的終止地址。擴展地址范圍表格的終止地址在表格終止寄存器中給出。如果一個(gè)表格的起始地址等于下一個(gè)表格的起始地址或表格終止寄存器的值,則該表格為空。
FIFO環(huán)形接收緩沖區中設置一個(gè)發(fā)送指針、一個(gè)接收指針和當前數據幀數frameCount,當frameCount為0時(shí)表明FIFO環(huán)形接收緩沖區是空的。


接收中斷服務(wù)程序將接收到的數據放入對應的FIFO環(huán)形接收緩沖區中并且修改接收指針和當前數據幀數frameCount。
主監控程序負責監控兩路CAN的FIFO環(huán)形接收緩沖區中是否有數據,如果其中一路CAN的FIFO環(huán)形接收緩沖區中有數據則向另一路CAN發(fā)送數據。主監控程序不斷查詢(xún)兩路CAN的FIFO環(huán)形接收緩沖區中的當前數據幀數frameCount標志,如果非零立即向另一路發(fā)送數據,并且在子程序CAN1SendToCAN2()和CAN2SendToCAN1()中修改發(fā)送指針和當前數據幀數。主監控程序流程如圖4所示。


4 總結
本文在LPC2119的基礎上設計了一個(gè)CAN/CAN網(wǎng)橋,并從硬件和軟件的角度論述了設計過(guò)程。作者采用廣州周立功單片機發(fā)展有限公司的CANalyst-II和USBCAN-II分別模擬底盤(pán)CAN和車(chē)身CAN對網(wǎng)橋進(jìn)行了大量數據的反復測試,在向兩路CAN連續不間斷發(fā)送100000幀數據的情況下能夠準確的轉發(fā),說(shuō)明網(wǎng)橋工作可靠。下一步的研究目標將在網(wǎng)橋上移植實(shí)時(shí)多任務(wù)操作系統μC/OS-II來(lái)進(jìn)一步提高網(wǎng)橋的實(shí)時(shí)性能。
本文作者創(chuàng )新點(diǎn): 將控制系統劃分為底盤(pán)和車(chē)身的兩個(gè)控制子系統,并且設計了CAN/CAN網(wǎng)橋互連兩個(gè)網(wǎng)絡(luò )控制子系統。


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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>