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

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于K線的BCM診斷的實(shí)現(xiàn)

          基于K線的BCM診斷的實(shí)現(xiàn)

          作者:馬建輝,莊汝科,王知學(xué) 時(shí)間:2012-02-13 來(lái)源:電子產(chǎn)品世界 收藏

            引言

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

            隨著汽車電子系統(tǒng)越來(lái)越復(fù)雜,診斷功能已經(jīng)成為ECU軟件設(shè)計(jì)的一個(gè)重要組成部分,對(duì)ECU控制系統(tǒng)的正常運(yùn)行及其大規(guī)模應(yīng)用的市場(chǎng)化過(guò)程非常關(guān)鍵。隨著ECU功能的增加以及升級(jí)換代的需要,診斷標(biāo)準(zhǔn)及廠商自定義診斷功能越來(lái)越豐富,各種服務(wù)子功能也越來(lái)越細(xì)化,增加了診斷的難度,因此,深入研究診斷協(xié)議及其實(shí)現(xiàn)非常必要。和CAN總線是業(yè)內(nèi)廣泛采用的兩種診斷標(biāo)準(zhǔn),CAN總線在歐美車中廣泛使用,而在國(guó)產(chǎn)車中應(yīng)用廣泛,筆者結(jié)合為某國(guó)產(chǎn)車型開發(fā)一款(Body Control Module,車身控制模塊)的經(jīng)驗(yàn),分析規(guī)范,然后從故障自診斷和在線診斷兩個(gè)方面講述一下診斷功能的設(shè)計(jì)與實(shí)現(xiàn)。

            K線協(xié)議分析

            K線是ISO9141定義的用于診斷通信的串行數(shù)據(jù)總線,ISO14230在ISO9141的基礎(chǔ)上將其總線電壓擴(kuò)展到24V,并完整定義了KWP2000協(xié)議,完善了診斷通信標(biāo)準(zhǔn),擴(kuò)展了診斷服務(wù)。K線通信采用SCI數(shù)據(jù)格式,數(shù)據(jù)鏈路層在串口通信上以軟件形式實(shí)現(xiàn),物理層比較簡(jiǎn)單,通過(guò)單根物理線完成半雙工異步通信,選擇LIN總線物理層芯片即可完成物理電平與邏輯電平的轉(zhuǎn)換。

            ISO14230-1定義了K線物理層協(xié)議,ISO14230-2定義了數(shù)據(jù)鏈路層協(xié)議,ISO14230-3定義了應(yīng)用層協(xié)議及各項(xiàng)診斷服務(wù),下面從報(bào)文結(jié)構(gòu)、初始化過(guò)程、定時(shí)參數(shù)三個(gè)方面重點(diǎn)介紹其數(shù)據(jù)鏈路層協(xié)議。

            報(bào)文結(jié)構(gòu)

            K線診斷報(bào)文結(jié)構(gòu)如表1所示。

               

            K線報(bào)文由報(bào)文頭、數(shù)據(jù)字段及校驗(yàn)和組成。報(bào)文頭包含格式字節(jié)Fmt、目標(biāo)地址Tgt、源地址Src和附加長(zhǎng)度信息Len;數(shù)據(jù)字段包括服務(wù)標(biāo)識(shí)符Sid和數(shù)據(jù)Data,其長(zhǎng)度由Fmt和Len決定;校驗(yàn)和CS為單字節(jié)校驗(yàn),計(jì)算方式為對(duì)報(bào)文頭和數(shù)據(jù)字段中的所有數(shù)據(jù)累加求和,忽略求和過(guò)程中產(chǎn)生的進(jìn)位。



          關(guān)鍵詞: K線 BCM

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