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