基于CAN總線(xiàn)的汽車(chē)車(chē)身線(xiàn)束設計
表2 節點(diǎn)驗收濾波器設置
4 軟件流程
中央控制節點(diǎn)的流程:見(jiàn)圖3。變量STATE存儲AT89C51的P1端口的狀態(tài)。從P1.0至P1.7,程序順序檢查每一位是否與STATE的對應位相同。若不同,表示與該端口相連的開(kāi)關(guān)發(fā)生狀態(tài)變化,則根據變化的實(shí)際情況向總線(xiàn)發(fā)送報文。P1.7檢查完畢后重新對P1.0進(jìn)行下一輪檢查。主節點(diǎn)的P1端口連接如表3。
表3 主節點(diǎn)的P1端口連接
圖3 中央控制節點(diǎn)流程圖
其余節點(diǎn)的軟件流程:程序不斷查詢(xún)狀態(tài)寄存器(SR),監視RXFIFO中是否有新報文。若已收到新報文,首先根據報文標識符確定操作對象是哪個(gè)車(chē)燈;其次根據報文數據域的內容確定操作內容(開(kāi)啟/關(guān)閉/閃爍);最終實(shí)施操作并開(kāi)始重新查詢(xún)SR。其中,當使車(chē)燈(轉向燈、應急燈)閃爍時(shí),車(chē)燈每?jì)纱吸c(diǎn)亮之間的時(shí)間間隔為1s,即需要設定0.5s的延時(shí),每到0.5s產(chǎn)生中斷,中斷服務(wù)程序將車(chē)燈的狀態(tài)(P1.0)置反。由于A(yíng)T89C51定時(shí)器無(wú)法產(chǎn)生長(cháng)達0.5s的延時(shí),程序使用定時(shí)器T0(定時(shí)0.1s)和變量N(初值5)配合使用產(chǎn)生0.5s延時(shí)。T0中斷服務(wù)程序流程圖見(jiàn)圖4。
圖4 T0中斷服務(wù)程序流程
5 結束語(yǔ)
本實(shí)驗成功地驗證了將CAN總線(xiàn)技術(shù)應用于車(chē)身網(wǎng)絡(luò )設計的可行性,CAN總線(xiàn)具有高速、可靠、實(shí)時(shí)性好、易于維護且工程造價(jià)低等優(yōu)點(diǎn),很好地解決了車(chē)身線(xiàn)束設計中的諸多問(wèn)題。此外,還可以將安全氣囊、懸架控制、牽引控制ABS等也加入車(chē)身網(wǎng)絡(luò ),從而進(jìn)一步簡(jiǎn)化車(chē)身線(xiàn)束和分布式控制。
評論