<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的汽車車身線束設(shè)計(jì)

          基于CAN總線的汽車車身線束設(shè)計(jì)

          作者: 時(shí)間:2016-12-20 來源:網(wǎng)絡(luò) 收藏

          表2 節(jié)點(diǎn)驗(yàn)收濾波器設(shè)置

          點(diǎn)擊放大圖片

          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端口連接

          點(diǎn)擊放大圖片

          點(diǎn)擊放大圖片

          圖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。

          點(diǎn)擊放大圖片

          圖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)化車身線束和分布式控制。


          上一頁 1 2 下一頁

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();