一種汽車天窗馬達(dá)ECU通訊系統(tǒng)的設(shè)計
汽車天窗馬達(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所示。
(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機到汽車天窗馬達(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機與控制單元都要向?qū)Ψ桨l(fā)出信息,所以可以判定此線是半雙工串行通訊。
K線通訊主要有以下特點:
(1) 雙方采用半雙工異步串行通訊。
(2) 工作電壓范圍為8~18V。
(3) 使用環(huán)境溫度為-40°C~125°C。
(4) 最大速度是50kbps。
(5) 支持大電流。
(6) 與單片機CMOS電平無縫連接。
(7) 具有對地線保護(hù)作用。
(8) 串行通訊碼的每個單元包括10位二進(jìn)制數(shù)據(jù),分別為起始位、8位數(shù)據(jù)、停止位,每個單元發(fā)送完畢后設(shè)有空閑等待。
(9) 雙方的通訊以“行”為單位輪流發(fā)送,即PC機發(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機在每一個功能塊中如何發(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機發(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所示。
評論