0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ISO9141標(biāo)準(zhǔn)的K線通訊方式實現(xiàn)汽車天窗馬達(dá)ECU通訊系統(tǒng)的應(yīng)用

電子設(shè)計 ? 來源:電子技術(shù)應(yīng)用 ? 作者:李華剛,殷躍紅, ? 2021-04-05 15:45 ? 次閱讀

作者:李華剛,殷躍紅,徐文超,俞雪鋒

Webasto 車頂供暖系統(tǒng)有限公司是世界著名的車頂供暖系統(tǒng)設(shè)備供應(yīng)商,在中國占有大量市場份額。在將天窗馬達(dá)裝配到天窗之前,要進(jìn)行多項操作和測試,具體包括:裝配測試、短路測試、接地測試、軟件版本驗證、硬件版本驗證、讀取序列號、參數(shù)寫入與讀出和運轉(zhuǎn)測試。參數(shù)寫入與讀出是整個周期中的一個重要的環(huán)節(jié)。參數(shù)寫入的過程主要是將此參數(shù)的版本號信息、溫度傳感器、電流傳感器、電壓傳感器上下限的值以及天窗滑動過程中的速度上限值等一些天窗運行過程中要滿足的指標(biāo)信息寫入ECU中;而從ECU中讀出的信息包括:此ECU的硬件和軟件版本號,天窗在運行過程中滑動的位移、起翹的幅度、防夾力的大小和異常信息等一些與天窗性能相關(guān)的參數(shù)信息,這樣操作人員就可以根據(jù)相應(yīng)的情況迅速地分析和處理異常情況。

汽車天窗馬達(dá)ECU通訊系統(tǒng)將成為操作人員、檢測人員的幫手,因此設(shè)計它是非常必要的。本著攜帶方便、操作簡單、軟硬件的可移植性好、成本低廉等原則,此通訊系統(tǒng)由如下裝置組成:一臺筆記本電腦、一根串口線、一個通訊盒和一個與馬達(dá)ECU連接的接插件(由Webasto車頂供暖系統(tǒng)有限公司提供)。

1 系統(tǒng)整體結(jié)構(gòu)

此系統(tǒng)的硬件是基于ISO9141標(biāo)準(zhǔn)的K線通訊方式,而其軟件部分是基于Webasto通訊協(xié)議的可以同時操作*.par文件、*.s文件的通訊軟件。系統(tǒng)結(jié)構(gòu)如圖1所示。

基于ISO9141標(biāo)準(zhǔn)的K線通訊方式實現(xiàn)汽車天窗馬達(dá)ECU通訊系統(tǒng)的應(yīng)用

(1) .s文件與.par文件

這兩種文件格式為ECU參數(shù)的不同編碼方式,都記錄了設(shè)備需要寫入的 ECU的參數(shù)值。.s文件為標(biāo)準(zhǔn)MOTOROLA s-record,其代碼是由ASCII格式的字符組成的,其中包含了存儲數(shù)據(jù)的地址、數(shù)據(jù)長度、存儲的數(shù)據(jù)以及校驗碼。.par文件包含了ECU具體參數(shù)的名稱和值,需要與參數(shù)說明文件excel共同使用進(jìn)行ECU的讀寫。

(2) File Decoder

讀取、識別兩種文件格式中的數(shù)據(jù),儲存在應(yīng)用程序中供用戶使用,并進(jìn)行文件之間相互轉(zhuǎn)換的操作。

(3) Message Handler

負(fù)責(zé)把應(yīng)用程序中的參數(shù)數(shù)據(jù)按照Webasto Telegram SpecifICation格式打包準(zhǔn)備發(fā)送,也負(fù)責(zé)把接收到的數(shù)據(jù)按照同樣協(xié)議拆包,識別后保存在應(yīng)用程序中。

(4) Communication Agent

應(yīng)用程序通過調(diào)用該層次模塊實現(xiàn)對串行通信接口的透明操作。

(5) COMM API

Windows串行接口API函數(shù)庫。

(6) KBUS-232 ADAPTER

用來實現(xiàn)PC機(jī)到汽車天窗馬達(dá)ECU信息傳遞的硬件單元。

2 硬件結(jié)構(gòu)

此汽車天窗馬達(dá)ECU通訊系統(tǒng)中,其所選的硬件是基于ISO9141通訊協(xié)議的K線通訊的,所以這里先說明一下K線通訊的特點,然后在此基礎(chǔ)上說明此天窗馬達(dá)ECU通訊系統(tǒng)設(shè)計時所采用的硬件結(jié)構(gòu)。

2.1 診斷K線通訊特點

根據(jù)SAE規(guī)定的OBD標(biāo)準(zhǔn),車輛行業(yè)使用K、L線進(jìn)行診斷和標(biāo)定。通過K線對某個控制單元進(jìn)行查詢,通過K線、測試儀和控制單元可進(jìn)行數(shù)據(jù)交換。換句話說,即通過K線數(shù)據(jù)被雙向傳送(從測試儀到控制單元以及從控制單元到測試儀)。最近生產(chǎn)的車上都裝有K線。而 L線則是用來對控制單元進(jìn)行查詢的導(dǎo)線,此線在目前生產(chǎn)的車輛中已經(jīng)不存在。由于串口的普及,所以K線實現(xiàn)起來更容易。而邏輯電平的改變,只是需要轉(zhuǎn)換電路。因此本系統(tǒng)采用K線的通訊方式。由于K線只是一根線,而PC機(jī)與控制單元都要向?qū)Ψ桨l(fā)出信息,所以可以判定此線是半雙工串行通訊。

K線通訊主要有以下特點:

(1) 雙方采用半雙工異步串行通訊。

(2) 工作電壓范圍為8~18V。

(3) 使用環(huán)境溫度為-40°C~125°C。

(4) 最大速度是50kbps。

(5) 支持大電流。

(6) 與單片機(jī)CMOS電平無縫連接。

(7) 具有對地線保護(hù)作用。

(8) 串行通訊碼的每個單元包括10位二進(jìn)制數(shù)據(jù),分別為起始位、8位數(shù)據(jù)、停止位,每個單元發(fā)送完畢后設(shè)有空閑等待。

(9) 雙方的通訊以“行”為單位輪流發(fā)送,即PC機(jī)發(fā)送一行消息后,ECU再發(fā)送一行消息,反之亦然。

(10) 一信息行由下列數(shù)據(jù)組成:第一位數(shù)據(jù)表示本行還要發(fā)送多少數(shù)據(jù);第二個數(shù)據(jù)用來表示關(guān)鍵碼,表示此次用來完成什么樣的操作,如開始參數(shù)、寫數(shù)據(jù)到EEPROM中等;第三個數(shù)據(jù)表示要發(fā)送的數(shù)據(jù)。

(11) 在一信息行中,還包括用于校驗的反碼,一方每發(fā)出一個數(shù)據(jù)后,對方必須對回應(yīng)此數(shù)據(jù)的反碼進(jìn)行校驗;由于K線是單線通訊,所以只有在正確處理回應(yīng)數(shù)據(jù)的反碼進(jìn)行校驗時,才能保證通訊的順利進(jìn)行。

(12) 至于PC機(jī)在每一個功能塊中如何發(fā)出命令,ECU是如何給出相應(yīng)信息的,在軟件結(jié)構(gòu)中會做說明。

2.2 K線通訊定義

在車輛網(wǎng)絡(luò)中, 為準(zhǔn)確、可靠地通訊,必須確定一個固定的通訊波特率。假設(shè)診斷設(shè)備及其連接導(dǎo)線的電容為CTE,K線對地電容為COBW,車輛ECU的電容為CECU,定義為:

設(shè)計時以上各電容必 須滿足以下關(guān)系:

12V電源供電:CECU+COBW≤7.2nF;CTE≤2nF;24V電源供電:CECU+COBW≤5nF;CTE≤2nF。

假定K 線通訊波特率最大為10.4kbps,若通訊波特率高于最大波特率,則必須減小允許電容;反之,必須增加允許電容。同時,在車輛診斷網(wǎng)絡(luò)設(shè)計時,必須保證任何ECU 信息不能引起其它ECU進(jìn)行數(shù)據(jù)通訊,在診斷儀初始化時,只能有一個ECU響應(yīng),或若干個ECU按一定順序響應(yīng)。

2.3 K線電路連接方式

K 線通訊本質(zhì)上為半雙工串口通訊。為保證準(zhǔn)確、可靠的數(shù)據(jù)通訊, ECU和K線都必須有正確的電平。在K線系統(tǒng)中,發(fā)送時若電壓低于工作電壓的20%, 則認(rèn)為邏輯“0”,高于工作電壓的80%,則定義為邏輯“1”;接收時低于工作電壓的30%為邏輯“0”,高于工作電壓的70%為邏輯“1”,電壓在工作電壓的30%~70%之間狀態(tài)不確定。由以上分析可知,其電平與常用的串口電平不一致,因此必須設(shè)計專門的K 線接口電路,以滿足車輛K 線診斷要求。圖2 為利用L9637D完成的K 線接口轉(zhuǎn)換電路。

K線可雙向傳遞數(shù)據(jù),系統(tǒng)初始化后先傳遞ECU地址,連接成功后用于信息交換,典型接口轉(zhuǎn)換芯片有ST公司的L9637D和Motorola公司的33290等。L9637D是一個與ISO9141標(biāo)準(zhǔn)功能兼容的集成芯片,是專門為車輛診斷而開發(fā)的雙向、半雙工通訊接口芯片。

3 軟件結(jié)構(gòu)

此汽車天窗馬達(dá)ECU通訊系統(tǒng)中所使用的參數(shù)主要有兩種類型:*.s參數(shù)類型和*.par參數(shù)類型的文件。其主要的區(qū)別是:*.s參數(shù)文件所采用的代碼格式是S-record,它是 Motorola 公司提供的一種標(biāo)準(zhǔn)文件格式,通過S-records代碼,將可執(zhí)行代碼從主PC機(jī)發(fā)送到另外一個目標(biāo)系統(tǒng)。在發(fā)送的過程中,S-records在其代碼頭上包含目標(biāo)地址信息和校驗信息來檢驗誤差;而*.par參數(shù)文件是Webasto公司專用的代碼格式,它的代碼主要是包含在ECU中的具體參數(shù)和此參數(shù)的具體數(shù)值。此馬達(dá)天窗ECU通訊系統(tǒng)的軟件部分就是在對這兩種參數(shù)類型熟悉的基礎(chǔ)上進(jìn)行的。

3.1 S-record格式說明

每個S-record由如下六部分組成:

(1) SOR:代碼的開始部分(ASCII ‘S’);

(2) Type:S-record Type,有幾種類型:

S0:代碼起始段(可選),表示在其后還有其他的代碼。S0后面的地址代碼不被使用,經(jīng)常是(0X0000),有的還包括額外的信息,如表1所示。

S0代碼不被加載,可以被忽略,通常為S0030000 FC;

S1:16位地址的數(shù)據(jù)代碼;

S2:24位地址的數(shù)據(jù)代碼;

S3:32位地址的數(shù)據(jù)代碼;

S4:不同的目標(biāo)系統(tǒng)不同的含義;

S5:不同的目標(biāo)系統(tǒng)不同的含義;

S6:不同的目標(biāo)系統(tǒng)不同的含義;

S7:S3代碼結(jié)束段;

S8:S2代碼結(jié)束段;

S9:S1代碼結(jié)束段;

如果S9代碼后的地址代碼為 0X0000,則表示數(shù)據(jù)段的結(jié)束;如果其后代碼不為0,則地址代碼表示其開始執(zhí)行代碼的位置,通常為S9030000FC(注:S0,S9代碼是被忽略的);

(3) Length:兩位十六進(jìn)制數(shù),表示Load Address、Code/Data、Checksum的字節(jié)數(shù);

(4) Load Address: 4、6、8個ASCII字符,表示Code/Data要加載的目標(biāo)地址。如s1,用4位十六進(jìn)制數(shù)來表示要加載的地址;

(5) Code/Data:0~64個ASCII字符,表示加載到目標(biāo)系統(tǒng)的實際代碼;

(6) Checksum:檢測在傳送中是否有錯誤發(fā)生,它的求法如下:

(1+sump+checksum)mod256=0

注:sump 是length、Load Address、Code/Data中從左至右每兩位十六進(jìn)制數(shù)代表的十進(jìn)制數(shù)值進(jìn)行累加所得到的值。

3.2 *.par 參數(shù)說明

.par文件包含了ECU具體的參數(shù)名稱和值,需要與參數(shù)說明文件excel共同使用進(jìn)行ECU的讀寫。以圖3為例解釋excel中的信息和*.par文件代碼的意義。

代碼如下:

[NORMAL]

ucCarType=2

aucPartNumber[0]=17

其中包含的參數(shù)所代表的含義和參數(shù)具體值的信息如下:

(1) Location表示此par參數(shù)在excel中的位置,此例表示在NORMAL段;

(2) Addr.表 示代碼在EEPROM中的存儲地址信息;

(3) Parameter name表示代碼參數(shù)的名稱;

(4) Parameter description表示代碼參數(shù)的含義;

(5) SpecifIC description對此代碼進(jìn)行特定的描述;

(6) Allowed value表示此代碼取值的范圍;

(7) Excel value表示此代碼實際的數(shù)值,此例分別為2、17;

(8) S Value以ASCII碼形式表示代碼,此例分別為02、11;

(9) Drive Value表示通訊過程中實際發(fā)送和接收的數(shù)值;

(10) Parameter表示參數(shù)類型;

(11) C source表示此代碼在ECU中,用哪段代碼來表示;

(12) Type key表示此代碼的數(shù)據(jù)類型。

注: 0 代表無符號字符

1 代表有符號字符

2 代表無符號的短整型

3 代表有符號的短整型

4 代表8 bit 數(shù)組

5 代表16 bit 數(shù)組

3.3 K線通訊協(xié)議及應(yīng)用

ISO9141 主要為車輛與診斷設(shè)備之間的通訊國際標(biāo)準(zhǔn), ISO9141已被美國加州大氣委員會(California Air Resource Board)所采納,其ISO14230為專門指定的用于道路車輛診斷的協(xié)議。根據(jù)ISO14230 的規(guī)定, K線通訊消息基本格式如表2 所示。

表2中各參數(shù)含義如下:

Fmt:幀字節(jié);Tgt:目標(biāo)地址;Src:源地址;Len:附加長度字節(jié); Sld :功能識別字節(jié);Data :數(shù)據(jù)字節(jié);CS:校驗和。

其校驗和滿足以下公式:

i={(i-1)+}mod256(1)

式(1)中:1=<1>。

K 線協(xié)議采用消息結(jié)構(gòu)進(jìn)行信息傳遞,可分為請求消息、指示消息和響應(yīng)消息,其中,響應(yīng)消息可分為正響應(yīng)和負(fù)響應(yīng),所有這些消息都具有相同的結(jié)構(gòu)。

Webasto汽車天窗馬達(dá)ECU與PC機(jī)的通訊方式是K 線通訊協(xié)議的一種應(yīng)用,其代碼基本格式如下:長度位、命令標(biāo)志位、數(shù)據(jù)位(n=0…16)和校驗位,如表3所示。

所以最小的通訊長度為3,即:傳輸?shù)男畔↙EN、ID、CHKSUM(傳輸?shù)臄?shù)據(jù)位數(shù)n=0)。

為了保證PC機(jī)與ECU之間的通訊正常,使用校驗碼來確保發(fā)送代碼的安全性,它是通過所有代碼的位與CHECKSUM_BASE=0xAA異或來求得。計算方法如下:

發(fā)送端的校驗碼:

CHKSUM_s=CHECKSUM_BASE xor LEN xor ID xor DATA_1 xor.。. xor DATA_n

接收端的校驗碼:

CHKSUM_r=LEN xor ID xor DATA_1 xor.。. xor DATA_n xor CHKSUM_s xor CHECKSUM_BASE

CHKSUM_r的結(jié)果為0,說明通訊順利完成。

為了確保通訊正常,在串行通訊過程中,規(guī)定兩個接收字節(jié)之間的時間不得超過50ms,若超過,則認(rèn)為此次操作失敗。

此汽車天窗馬達(dá)ECU通訊系統(tǒng)軟件的程序流程如圖4所示。汽車天窗馬達(dá)ECU通訊系統(tǒng)的軟件運行如圖5所示。

界面上半部分負(fù)責(zé)*.s參數(shù)讀寫的部分,下半部分負(fù)責(zé)*.par參數(shù)讀寫的部分。此系統(tǒng)的硬件和軟件在Webasto車頂供暖系統(tǒng)有限公司的測試平臺上已經(jīng)通過驗證。此系統(tǒng)對其天窗馬達(dá)ECU進(jìn)行參數(shù)讀寫、故障分析時,縮短了周期,大大提高了工作效率。

當(dāng)前,汽車天窗市場多由國外廠商控制,價格昂貴,其馬達(dá)檢測系統(tǒng)的理念也是隨著國外先進(jìn)技術(shù)的引進(jìn)而來的。因此,開發(fā)適合我國的汽車天窗馬達(dá)ECU通訊系統(tǒng)不僅可以降低整車成本,還可以提高其國產(chǎn)化速度?,F(xiàn)在越來越多的電控系統(tǒng)將在車輛上使用,這些設(shè)備都可通過K 線使PC機(jī)與ECU進(jìn)行信息交換,以滿足實際車輛使用和維護(hù)的要求。同時K線也可進(jìn)行電控標(biāo)定系統(tǒng)的開發(fā),因此,本研究工程應(yīng)用前景非常廣泛。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • asic
    +關(guān)注

    關(guān)注

    34

    文章

    1175

    瀏覽量

    119987
  • 汽車電子
    +關(guān)注

    關(guān)注

    3013

    文章

    7740

    瀏覽量

    164820
  • 筆記本電腦
    +關(guān)注

    關(guān)注

    9

    文章

    1385

    瀏覽量

    47362
收藏 人收藏

    評論

    相關(guān)推薦

    汽車天窗馬達(dá)ECU通訊系統(tǒng)設(shè)計

    Webasto車頂供暖系統(tǒng)有限公司是世界著名的車頂供暖系統(tǒng)設(shè)備供應(yīng)商,在中國占有大量市場份額。 在將天窗馬達(dá)裝配到天窗之前,要進(jìn)行多項操作和
    的頭像 發(fā)表于 10-11 08:38 ?8410次閱讀
    <b class='flag-5'>汽車</b><b class='flag-5'>天窗</b><b class='flag-5'>馬達(dá)</b><b class='flag-5'>ECU</b><b class='flag-5'>通訊</b><b class='flag-5'>系統(tǒng)</b>設(shè)計

    基于FPGA的汽車ECU設(shè)計充分符合AUTOSAR和ISO 26262標(biāo)準(zhǔn)

    當(dāng)今的汽車制造商正在把越來越多的高級功能添加到汽車電子控制單元 (ECU)中,以改善駕駛體驗,增強(qiáng)安全性,當(dāng)然還期望超過同類競爭產(chǎn)品的銷量。在這種情況下,汽車開放
    發(fā)表于 05-21 11:18 ?6508次閱讀

    ST汽車音頻系統(tǒng)設(shè)計平臺:CABx系列

    ,從而降低了產(chǎn)品成本。ST在汽車音頻方面提供整套解決方案,其中包括功放、穩(wěn)壓和診斷IC,還有MCU、信號處理器、調(diào)諧器以及ISO9141的接口IC。世界上的頂級汽車音頻制造商都選用ST的解決方案,包括Alpine、Clarion
    發(fā)表于 03-07 21:54

    汽車OBD接口電平轉(zhuǎn)換電路

    IO口嗎?有沒有特殊需求? 3汽車L是否只是單向的?目前設(shè)計是否可以考慮不用L的接口? 4L9637和MC33290的區(qū)別? L963是否是標(biāo)準(zhǔn)
    發(fā)表于 03-17 00:20

    汽車K通訊問題

    開始通訊指令間隔時間太短)所以我想問下論壇里的各位大神,有誰了解汽車K通訊的,給點這方面的思路和建議~~~
    發(fā)表于 01-27 15:53

    汽車ECU的低功耗高性能實現(xiàn)

    高性能、低功耗是當(dāng)前電子技術(shù)發(fā)展的方向,對于汽車中的各種ECU來說如何實現(xiàn)低功耗呢?一、ECU也耗油據(jù)不完全統(tǒng)計,我國汽車保有量在20000
    發(fā)表于 05-10 04:23

    一款基于FPGA的汽車ECU設(shè)計

    。在這種情況下,汽車開放系統(tǒng)架構(gòu) (AUTOSAR) 計劃和功能安全國際標(biāo)準(zhǔn) ISO26262 正在快速成為汽車
    發(fā)表于 07-05 08:34

    求一種汽車天窗馬達(dá)ECU通訊系統(tǒng)的設(shè)計方案

    汽車天窗馬達(dá)ECU通訊系統(tǒng)的軟件設(shè)計汽車
    發(fā)表于 05-12 06:17

    怎樣去設(shè)計汽車天窗馬達(dá)ECU通訊系統(tǒng)

    一種汽車天窗馬達(dá)ECU通訊系統(tǒng)的設(shè)計
    發(fā)表于 05-14 07:16

    診斷設(shè)備和汽車ECU之間的數(shù)據(jù)交換

    Pro-tocol 2000),該協(xié)議實現(xiàn)了一套完整的車載診斷服務(wù),并且滿足E-OBD(European On Board Diagnose)標(biāo)準(zhǔn)。KWP2000最初是基于K的診斷
    發(fā)表于 08-20 06:20

    Modbus通訊協(xié)議的幾種實現(xiàn)方式

    版權(quán)要求,不用支付額外費用、硬件要求簡單容易部署、使用廣泛便于系統(tǒng)集成。Modbus采用半雙工的通訊方式,由1個子站和多個從站組成,允許多個設(shè)備連接在同一個網(wǎng)絡(luò)上進(jìn)行通訊。   2.
    發(fā)表于 05-05 16:19

    CAN在ECU通訊中的作用是什么?

    CAN在ECU通訊中的作用是什么? 電子學(xué)具有強(qiáng)大的創(chuàng)新潛能,它能使駕駛汽車更安全、更舒適、更經(jīng)濟(jì)并且能使汽車對環(huán)境更友好;這種潛能已經(jīng)讓汽
    發(fā)表于 03-11 11:21 ?1w次閱讀

    汽車OBD2診斷程序開發(fā)

    ISO14230 ISO9141要求通訊前的初始化過程、及連接后要求有一個周期性的握手信號,這些TL718都已經(jīng)自動完成,OBD2標(biāo)準(zhǔn)的診斷程序都不用更改
    發(fā)表于 06-28 11:49 ?2.1w次閱讀
    <b class='flag-5'>汽車</b>OBD2診斷程序開發(fā)

    基于K診斷協(xié)議的驅(qū)動器設(shè)計指南

    隨著汽車電子控制單元功能的增加及升級換代的需要,診斷功能已經(jīng)成為ECU不可或缺的重要組成部分,因此,深入研究診斷協(xié)議及其實現(xiàn)非常必要?;?b class='flag-5'>K
    發(fā)表于 09-18 16:17 ?17次下載
    基于<b class='flag-5'>K</b><b class='flag-5'>線</b>診斷協(xié)議的驅(qū)動器設(shè)計指南

    CAN通訊CCP協(xié)議ECU標(biāo)定

    CCP協(xié)議主要用于CAN通訊汽車ECU標(biāo)定
    發(fā)表于 03-28 17:07 ?9次下載