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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何設(shè)計(jì)基于CAN/LIN總線的車身網(wǎng)絡(luò)控制系統(tǒng)?

          如何設(shè)計(jì)基于CAN/LIN總線的車身網(wǎng)絡(luò)控制系統(tǒng)?

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

          1 前言

          本文引用地址:http://www.ex-cimer.com/article/201808/385063.htm

          隨著汽車電子技術(shù)及網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,人們對(duì)汽車安全性、可靠性的要求也越來(lái)越高,為了解決由汽車電子元器件的增加而帶來(lái)的通信問(wèn)題,這就要求采用一種高速、多路、共享的汽車通信網(wǎng)絡(luò)。

          目前,已經(jīng)開發(fā)出多種總線,如(Controller Area Network)控制器局域網(wǎng)[1],LIN(Local Interconnect Network)局域互聯(lián)網(wǎng)[2],F(xiàn)lexRay,Most等。但和LIN構(gòu)成目前汽車上最廣泛的總線形式。

          2 總線介紹

          20世紀(jì)80年代末,德國(guó)博世公司為解決現(xiàn)代汽車中眾多控制單元、測(cè)試儀器之間的實(shí)時(shí)數(shù)據(jù)交換而開發(fā)了一種串行通信協(xié)議CAN[1],并使其成為國(guó)際標(biāo)準(zhǔn)(ISO11898)。到目前為止,世界上已擁有20多家CAN總線控制器芯片生產(chǎn)商,110多種CAN總線協(xié)議控制器芯片和集成CAN總線協(xié)議控制器的微控制器芯片。

          CAN總線由于采用了獨(dú)特的設(shè)計(jì)和新的技術(shù),與一般的通信總線相比,它具有突出的可靠性、實(shí)時(shí)性和靈活性。CAN采用多主工作方式,成本低,且具有極高的總線利用率;CAN總線具有可靠的錯(cuò)誤處理和檢錯(cuò)機(jī)制,采用短幀結(jié)構(gòu),傳輸時(shí)間短,受干擾的概率低;采用非破壞性總線仲裁技術(shù),節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)退出功能。

          3 介紹

          1998年,Audi、Motorola、BMW、DaimlerChrysler 、VCT、Volvo和Volkswagen七家公司聯(lián)合提出了新型A類總線[3-5]——LIN(Local Interconnect Network)。LIN是一種低成本短距離的低速網(wǎng)絡(luò),它旨在傳送開關(guān)設(shè)置和傳感器輸入等狀態(tài)的變化,并對(duì)這種變化做出響應(yīng),因此它只適用于對(duì)傳送時(shí)間要求不高的低速事件,并不適用于發(fā)動(dòng)機(jī)控制等高速事件。

          有其獨(dú)特的特點(diǎn),它成本低,基于通用的UART/SCI接口;LIN的傳輸速率可高達(dá)20Kb/s,總線長(zhǎng)度最大可以達(dá)到40m;采用單主多從模式,不需要總線仲裁;在從節(jié)點(diǎn)中不需要晶體振蕩器和陶瓷振蕩器時(shí)鐘就能實(shí)現(xiàn)自同步:可預(yù)先計(jì)算確定性信號(hào)的傳播時(shí)間;無(wú)需改變LIN從節(jié)點(diǎn)的硬件和軟件就可以在網(wǎng)絡(luò)上增加或刪除節(jié)點(diǎn)等。

          3整車系統(tǒng)通信網(wǎng)絡(luò)設(shè)計(jì)

          整車系統(tǒng)通信網(wǎng)絡(luò)以CAN總線為主,為輔,CAN和LIN在汽車通信網(wǎng)絡(luò)中相互結(jié)合應(yīng)用共同構(gòu)架汽車整車系統(tǒng)通信網(wǎng)絡(luò)。汽車上各個(gè)控制系統(tǒng)對(duì)網(wǎng)絡(luò)信息的傳輸延遲比較敏感,如發(fā)動(dòng)機(jī)控制、變速箱控制、安全氣囊控制、ASR/ABS/ESP控制、牽引力控制等對(duì)網(wǎng)絡(luò)信息傳輸?shù)膶?shí)時(shí)性要求較高,需要采用高速CAN總線,其傳輸速率高達(dá)500kbps~1Mbps;空調(diào)控制、儀表控制、雨刷控制、照明控制、門窗控制等需要采用低速LIN總線,其傳輸速率為20kbps。低速LIN總線對(duì)信息傳輸?shù)膶?shí)時(shí)性要求不高,但子系統(tǒng)數(shù)量較多,將這些低速子系統(tǒng)與高速子系統(tǒng)分開,有利于保證高速子系統(tǒng)的實(shí)時(shí)性,同時(shí)還可以降低成本?;谏鲜隹紤],汽車整車CAN/LIN總線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖如圖1所示。

          CAN和LIN總線相互獨(dú)立,通過(guò)主控制器(CAN/LIN網(wǎng)關(guān))進(jìn)行數(shù)據(jù)共享和數(shù)據(jù)交換。主控制器也是整車管理系統(tǒng)的核心,它的主要功能就是分析處理各種信息并發(fā)出指令,還起到協(xié)調(diào)汽車各個(gè)控制單元及電器設(shè)備工作的作用。

          4 系統(tǒng)軟硬件設(shè)計(jì)

          4.1 CAN/LIN接口設(shè)計(jì)

          CAN/LIN網(wǎng)絡(luò)中有很多的CAN節(jié)點(diǎn)和LIN節(jié)點(diǎn),它們通過(guò)一個(gè)CAN/LIN接口網(wǎng)關(guān)實(shí)現(xiàn)CAN/LIN網(wǎng)絡(luò)之間的數(shù)據(jù)通信。CAN/LIN總線接口設(shè)計(jì)如圖2所示,通過(guò)CAN/LIN總線的接口,CAN、LIN數(shù)據(jù)通過(guò)中央控制器可以相互轉(zhuǎn)換,當(dāng)LIN數(shù)據(jù)幀需要傳輸?shù)紺AN網(wǎng)絡(luò)時(shí),控制器網(wǎng)關(guān)收到LIN總線數(shù)據(jù)幀后就會(huì)將LIN標(biāo)志符轉(zhuǎn)換成CAN標(biāo)志符,這樣數(shù)據(jù)就從LIN總線傳輸?shù)搅薈AN總線,反之?dāng)?shù)據(jù)也可以從CAN總線傳輸?shù)絃IN總線。

          4.2 CAN通信網(wǎng)絡(luò)硬件設(shè)計(jì)

          為CAN總線通信接口卡電路原理圖,系統(tǒng)采用P87C591芯片作為主控制器。電控單元的微控制器(P87C591)通過(guò)數(shù)據(jù)總線經(jīng)過(guò)光電隔離器(6N137)與CAN總線控制器(SJA1000)直接相連。CAN總線控制器帶有一個(gè)接收緩沖器和一個(gè)發(fā)送緩沖器,CAN總線控制器的發(fā)送端口Tx0,接受端口Rx0、Rx1分別與CAN總線發(fā)送接收器的TxD、RxD、Vref端口直接相連,CAN總線的兩條差分接收發(fā)送線CAN_L和CAN_H各接一個(gè)120 的總線匹配電阻。當(dāng)CAN總線被某個(gè)節(jié)點(diǎn)占用的時(shí)候,該節(jié)點(diǎn)的發(fā)送端接CAN_H,電平為3.5V,接收端接CAN_L,電平為1.5V,當(dāng)CAN總線空閑時(shí),CAN_H和CAN_L上的電平均為2.5V。

          系統(tǒng)采用PCA82C250作為CAN控制器P87C591和物理層總線間的接口,提供對(duì)總線發(fā)送和接收數(shù)據(jù)。使用PCA82C250還可以提高系統(tǒng)得抗干擾能力,保護(hù)總線,降低射頻干擾,實(shí)現(xiàn)熱防護(hù)等。

          為了進(jìn)一步提高系統(tǒng)的抗干擾能力,選用高速光電隔離芯片6N137構(gòu)成隔離電路,將微控制器P87C591的I/O信號(hào)與SJA1000隔離,以提高系統(tǒng)的可靠性。

          4.3 LIN通信網(wǎng)絡(luò)硬件設(shè)計(jì)

          LIN節(jié)點(diǎn)的硬件接口電路主要包括微控制器P87LPC76X,LIN收發(fā)器MC33399和電源調(diào)整電路。P87LPC76X采用80C51加速處理器結(jié)構(gòu),指令執(zhí)行速度是標(biāo)準(zhǔn)80C51MCU的2倍。微控制器由TX0向MC33399的TXD發(fā)送數(shù)據(jù),MC33399的RXD向微控制器的RX0發(fā)送數(shù)據(jù)。該電路采用Wake引腳輸入開關(guān)喚醒方式,其中5V外部穩(wěn)壓器是可控的。由于該電路內(nèi)部在LIN引腳與電源引腳集成了電阻和串聯(lián)二極管,所以總線從節(jié)點(diǎn)不需要其它外置元件。但對(duì)于主節(jié)點(diǎn),則必須在外部增加 的電阻,并且要串聯(lián)一個(gè)二極管以防止電池?cái)嚯姇r(shí)MC33399通過(guò)總線供電。

          4.3 CAN/LIN總線軟件設(shè)計(jì)

          CAN通信接口模塊程序主要包括三部分:初始化子程序、發(fā)送子程序(包括中斷服務(wù)程序)和接收子程序。程序開始時(shí)即進(jìn)入程序初始化,進(jìn)入初始化程序有三種方式:一是硬件復(fù)位;二是軟件復(fù)位;三是上電復(fù)位。初始化程序會(huì)對(duì)所有的報(bào)文對(duì)象進(jìn)行初始化操作(所有值設(shè)置為0)。初始化結(jié)束之后,程序開始讀取開關(guān)狀態(tài),進(jìn)入CAN發(fā)送子程序,在CAN發(fā)送子程序中,只有當(dāng)發(fā)送緩沖器為空時(shí)才可以發(fā)送數(shù)據(jù),否則將會(huì)等待直到發(fā)送緩沖器為空。接收子程序從接收緩沖器中讀取接收數(shù)據(jù),經(jīng)程序處理后即可接收。

          LIN通信接口模塊程序也主要包括三部分:LIN初始化子程序、發(fā)送子程序(包括中斷服務(wù)程序)和接收子程序。在初始化階段,對(duì)LIN收發(fā)器進(jìn)行配置并將協(xié)議處理其變量賦初值。同CAN主節(jié)點(diǎn)軟件發(fā)送子程序一樣,只有在發(fā)送緩沖器為空時(shí)才可以發(fā)送數(shù)據(jù)。中央控制器節(jié)點(diǎn)是LIN總線的主節(jié)點(diǎn),其他的都為從節(jié)點(diǎn),所有的LIN幀都由主節(jié)點(diǎn)發(fā)送,且主節(jié)點(diǎn)負(fù)責(zé)LIN節(jié)點(diǎn)的監(jiān)控和管理。


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

          評(píng)論


          相關(guān)推薦

          技術(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); })();