?

CAN總線UDS的研究與應用

2020-11-16 01:50張航張宇

張航 張宇

摘 要:由于汽車電子控制單元(ECU)的數量不斷增加,車輛網絡總線的負荷也在不斷增加。在發生故障時,基于CAN總線的UDS(unified diagnostic services,簡稱UDS),在出現故障時能迅速確定故障原因和位置,在汽車網絡診斷領域受到廣泛關注。通過大量的文獻資料,本文簡要分析了 CAN總線技術的特點,以及 CAN總線技術的UDS實現。

關鍵詞:CAN總線UDS協議;KWP2000;IS015765;IS014229

1 CAN總線概述

伴隨著CAN總線技術的廣泛應用,CAN技術在汽車制造企業和零部件生產企業的應用越來越廣泛。國際上有一整套關于統一診斷的診斷服務系統標準,針對各個零部件廠商和研發機構,為整車企業提供一整套的診斷服務。汽車電子零部件開發中的診斷部件具有可重復使用性,縮短了開發周期和成本,提高了汽車制造企業的管理能力和生產效率。bootloader是基于UDS服務的軟件程序下載方法。由于can總線和UDS還沒有被廣泛使用,現在有許多程序下載的方式,比如RS232,SPI,JTAG協議等等。由于沒有統一的標準和流程,因此下載數據的可靠性無法得到保證。這樣,在這種機制下,bootloader就具有一個顯著的特性,即快速、可靠、安全、可重用和易于管理。

德國vector公司在UDS診斷產品中,can總線最為著名,也是應用最廣泛的。該產品以其組網靈活且軟件功能齊全,適于系統級轎車的開發,已為多數汽車廠商所采用。

1.1 CAN總線協議簡介

串口通信協議是一種支持分布式實時控制、安全可靠的串口通信技術。在OSI分層系統中,CAN總線物理層是最基本的一層。在同一個網絡中,每個結點應該具有相同的物理層電特性。物理層按其功能可分為三個層次:物理信號層(PLS),主要有執行位編碼、位定時、物理介質附件層(PMA)和介質接口層(MDI),其中包括電纜/連接器。

1.2 CAN總線UDS的網絡層分析

網絡層是按照ISO11898協議定義的控制局域網,它由is014229-1和ISO15031-5協議組成,用于滿足車輛控制系統對CAN總線的需求。網絡層主要為用戶提供業務接口,提供網絡層不同節點之間數據的分段、重組和傳輸流控制框架等功能。為了發送一個比can數據幀長度更長的消息,您需要將消息信息分割并發送。

2 CAN總線UDS與KWP2000診斷協議的對比

KWP2000(關鍵字協議)是目前世界上最成熟的診斷協議之一,其車載診斷協議已在歐洲汽車中得到廣泛應用?;赾an線和K線,KWP2000協議分為兩種類型。提出了汽車電子控制器和計算機之間通過串行數據線進行串行通訊的一般要求。

根據OSI模型,ISO14230-1協議對應的是物理層,ISO14230-2協議對應的是數據鏈路層,ISO14230-3協議對應的是應用層,以及與發射相關的ISO14230-4協議。數據鏈路層采用ISO9141國際標準定義的K-line實現。單線信號完成半雙工異步通訊。盡管K線是容易實現的,但是需要轉換電路來改變它的邏輯水平。

2.1 物理層

線路物理層由國際標準化組織(ISO)142000線路規范(KW1)規定。提供系統診斷的硬件配置,設計系統的接口電路。在初始化時,診斷設備的ECU地址信息通過K線傳送到車輛總線上。在系統穩定運行時,L-line不進行信息傳輸,保持了較高水平。

2.2 數據鏈路層

ISO14230-2定義了一個數據鏈路層,包括初始化、通信連接、消息結構、定時參數、錯誤處理。該協議的消息由消息頭、數據字段、校驗和數據字段組成。文章比較了長度字節的消息格式,其中報告了格式字節、目標地址字節、源地址字節、長度字節、服務標識字節、數據以及校驗和,數據字段中的第一個字節是服務標識符,最后校驗碼(CS)用于數據校驗。在字節和字節之間以及消息和消息之間都有嚴格的時序要求。

3 CAN總線UDS的實現

3.1 座椅控制器的硬件設計

單片機采用了Freescalc公司的MC9S08DZ60芯片,而飛思卡所有系列的Metrowerks都可以用Metrowerks開發的Codewarrior IDE進行軟件開發,在這種環境下,飛思卡所有系列的 Metrowerks都可以通過Metrowerks開發的Codewarrior IDE進行讀寫,然后編程、編譯。

3.2 座椅控制器的軟件設計

根據功能將座椅控制器診斷控制單元劃分為:BootLoader層、CAN設備驅動層、傳輸層、網絡層、診斷服務層、診斷應用層。

3.3 診斷系統的設計

它的存儲空間可以被劃分為:引導區、ECU數據檢查區、應用層數據區和網絡配置區。主要功能為存儲固定消息數據、產品信息、故障診斷代碼。

一般而言,故障診斷系統中,汽車電子控制器的開發不僅能完成ECU的具體功能,而且還能進行故障診斷和網絡管理。本系統的實現過程如下:如果每臺ECU工作正常,且某臺設備在運行過程中發生故障,診斷系統根據協議內容記錄相應的診斷錯誤碼(DTC),并將其存儲在EEPROM中。故障碼可以分為歷史故障碼、間隔故障碼和當前故障碼三部分。測試機可通過診斷界面讀取故障診斷碼數據,并根據診斷協議的定義,將所有故障碼以不同格式顯示出來。

4 展望

ISO14229(UDS)協議是汽車故障診斷的理想標準。ISO15765協議基于CAN總線技術,是UDS協議的標準和未來發展方向。

5 結束語

ISO 14229(UDS)協議是一種非常完善的汽車故障診斷標準。

本文研究了主流的CAN總線UDS技術,總結了CAN-UDS技術的優點。CAN總線是UDS系統傳輸數據的主要方式,針對CAN總線汽車電子系統,設計了一個汽車座椅電子診斷系統,并對該系統進行了硬件設計和軟件編程。通過系統調試,證明了設計方案的可行性和穩定性。

參考文獻:

[1]宋他芳.基于CAN總線的車身電器控制實驗臺的優化設計[D].河南科技大學碩士論文,2010.05.01

[2]周濤.ISO15765協議的研究與實現[D].合肥工業大學,2011.04.

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合