在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

UDS之19服務中04子服務:讀取快照數據

北匯信息POLELINK ? 2023-04-23 09:32 ? 次閱讀

作者 | 小懶小編 | 吃不飽

在車載診斷中常用的診斷協議有ISO 14229等,在協議中主要定義了診斷請求、診斷響應的報文格式及ECU該如何處理診斷請求的應用。其中ISO 14229系列標準協議定義了用于行業內診斷通信的需求規范,也就是UDS。UDS主要應用于OSI七層模型的第七層——應用層,它支持的汽車總線包括:CAN、LIN、FlexRay、Ethernet及K-LINK。UDS中的服務根據其功能分為6大類,共26種。其中包含的0x19服務(ReadDTCInformation)則是UDS中的重中之重。那么我們今天就一起進入到19服務中,感受其中的奧秘。


01服務介紹
19服務(ReadDTCInformation)用于讀取ECU的DTC故障信息,此服務允許客戶端從服務器讀取診斷故障代碼(DTC)的相關信息。此服務包含28個子服務(Subfunction),常用的5種子服務如下:

0x01

reportNumberOfDTCByStatusMask(讀取客戶端定義狀態掩碼匹配的DTC數量)

0x02

reportDTCByStatusMask(讀取客戶端定義狀態掩碼匹配的DTC)

0x04

reportDTCSnapshotRecordByDTCNumber(檢索客戶端定義DTC掩碼的快照數據)

0x06

reportDTCExtDataRecordByDTCNumber(讀取某個DTC及其相關的擴展數據,擴展數據包括DTC狀態、優先級、發生次數、時間戳、里程等。)

0x0A

reportSupportedDTC(讀取ECU支持的所有DTC的狀態,包含支持的各個DTC編號以及相關狀態)

今天主要解析19服務中的04子服務,也就是檢索客戶端定義DTC的快照號對應的快照記錄數據,在AUTOSAR中也叫凍結幀。

0204子服務介紹

快照數據概念介紹

前面講19服務常用子服務的時候,提到了Subfunction為04的子服務,使用04子服務對服務端進行請求,可以獲取DTC發生時記錄的快照數據。那04子服務是如何獲取快照數據的呢?首先我們需要理解什么是快照數據。從ISO 14229-1協議可知,快照數據為發生某一故障時記錄的DTC的電壓、發動機轉速、時間戳等,從而使工程師在ECU出現故障時能及時了解車輛的歷史和實時故障信息。

報文格式介紹

接下來通過介紹19 04子服務請求和響應的報文格式,分析報文中各個字節的相關定義。
49e88146-dee2-11ed-ad0d-dac502259ad0.png圖1 請求格式
從圖1中可知,19 04的請求報文包括四個部分,其中服務ID和Subfunction就不用過多解釋了。DTCMaskRecord表示某個故障的DTC,當系統檢測到一個故障發生時,則會存儲其對應的故障數值,這個故障數值就是DTC。通過讀取DTC可知一個故障發生時的具體位置以及原因和類型。
通常UDS中DTC占3個字節,OBD Ⅱ占2個字節,在ISO 15031-6中定義的DTC由兩個字節根基和一個字節的故障類型組成。我們通常用到的DTC格式都是由ISO 15031-6中定義的。圖2是ISO 15031-6中定義的DTC的兩個字節根基,圖中很詳細地解釋了每一個Bit的含義。

49efe2ce-dee2-11ed-ad0d-dac502259ad0.jpg

圖2
SnapshotRecordNumber需要提前定義,可以有多個。如SnapshotRecordNumber設置為FF,則表示讀取所有的快照數據組。
49faea34-dee2-11ed-ad0d-dac502259ad0.png圖3 響應格式
圖3為響應報文格式,當使用19 04對ECU進行請求時,ECU給出的肯定響應的報文格式由七部分組成。此時的DTCAndStatusRecord由三個字節的DTC和一個字節的StatusOfDTC組成,StatusOfDTC表示DTC的狀態。假設現在的DTC狀態為0x09,則Bit0和Bit3置1。如某個DTC一直存在并且確認,則在ECU響應的報文中的StatusOfDTC為0x09,如圖4。
4a036768-dee2-11ed-ad0d-dac502259ad0.png圖4
SnapshotRecordNumber這個字節表示DTC快照記錄的組號
DTCSnapshotRecordNumberOfldentifiers表示快照DID的個數,占一個字節;Dataldentifier這部分由兩個字節組成,表示快照數據對應的DID,DTCSnapshotRecord表示快照DID對應的具體數據。

實例分析

前面介紹了19 04子服務請求和響應的報文格式。掌握了理論知識,那么現在我們就到實例中去具體分析,從而加深對19 04子服務如何讀取快照數據的過程的理解。

客戶端對服務端發起一個讀取DTC快照的請求。當前DTC為0x123456,可以假設這是一個轉向燈的故障碼,0x02為快照記錄組號。請求報文如圖5所示。

4a0c047c-dee2-11ed-ad0d-dac502259ad0.png圖5

服務端對客戶端回復了一個肯定響應。從圖6中可知,當前的DTC狀態掩碼為0x24,0x01表示只有一個快照DID,當然也可以包含多個快照DID,可以分別表示車速、電壓等。如果有兩個快照DID,此時DTCSnapshotRecordNumberOfldentifiers這個字節為0x02。

快照DID為0x4711,如果此時記錄的是轉向燈故障時當前車速的數據,那么這個0x4711則表示此時快照數據的名稱——車速。DTCSnapshotRecord為具體的快照數據0xA666075020,以16進制數值表示,通過數據類型解析后就可以得到具體的車速等信息。
4a134318-dee2-11ed-ad0d-dac502259ad0.png圖6

在CANdelaStudio中如何設置

接下來我們看看在CANdelaStudio中如何設置19 04服務的請求及響應參數,步驟如下:

①配置DTC信息

在這個界面如圖7,可以進行“DTC Code”的新增與刪減,點擊現有的信息可進行編輯改動;

4a1dacea-dee2-11ed-ad0d-dac502259ad0.png圖7

②設置服務

在左側目錄切換到“Base Variant”下的“Supported Diagnostic Classes”,點擊“Fault Memory”;

4a27e11a-dee2-11ed-ad0d-dac502259ad0.png圖8
點擊圖9上面標簽頁中的“DTCs”,然后會跳轉到圖9所示界面,將我們前面配置的DTC信息更新到這里來,如圖9所示,當前DTC為0x123456。
4a3101e6-dee2-11ed-ad0d-dac502259ad0.png圖9
點擊圖10上面標簽頁中的“Snapshot Records”,然后會跳轉到圖10所示界面,在這里設置快照記錄組號。4a443824-dee2-11ed-ad0d-dac502259ad0.png圖10

③設置肯定響應參數

首先根據客戶的需求設置ECU支持的DTC狀態位DTCStatus,如圖11;

4a52ef22-dee2-11ed-ad0d-dac502259ad0.png圖11
然后在“DTCs”頁面選中名為0x123456的DTC,在“Individual for DTC P123456”下設置快照數據。例如圖12中現在定義的快照DID為4711,具體的快照數據是當前車輛的Wheel Speed FR等。快照DID可以在“DIDs”中提前定義。到這里,在CANdelaStudio中關于19 04服務的請求及響應參數就設置完成了。(軟件界面截圖來源于CANdelaStudio 16.0版本)
4a5e27e8-dee2-11ed-ad0d-dac502259ad0.png圖12

03總結
19 04服務的目的是讀取對應DTC的快照數據,從而使工程師在進行診斷時更加快速了解故障發生時的車輛狀況信息。除此之外,19服務還有其他4個常用的Subfunction,大家可以根據ISO 14229-1中的相關解釋和實例進行知識擴展。北匯信息專注于汽車電子網絡通信、診斷刷寫、邏輯功能測試開發服務,期待進一步溝通交流、共享合作的機會。參考文檔:ISO 14229-1(2020)注:文中部分圖片來源于Vector.

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7246

    瀏覽量

    91179
  • 服務
    +關注

    關注

    0

    文章

    75

    瀏覽量

    18685
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    盟通方案|如何集成UDS協議

    UDS診斷協議廣泛應用于汽車、重卡等領域的設備診斷和固件更新。該協議主要針對全車ECU進行標準化的數據交互。UDS應用層?(ISO14229-1)定義了6大類共26項診斷服務,覆蓋了E
    的頭像 發表于 06-06 14:06 ?69次閱讀
    盟通方案|如何集成<b class='flag-5'>UDS</b>協議

    服務數據恢復—Linux系統服務器崩潰的數據恢復案例

    服務數據恢復環境: linux操作系統服務器中有一組由4塊SAS接口硬盤組建的raid5陣列。 服務器故障: 服務器工作過程
    的頭像 發表于 05-20 15:46 ?106次閱讀

    基于 Wi-Fi 的定位服務

    UTC Google maps URL: https://maps.google.com/?q=59.919015,10.688577 使用 A-GPS 提供基于 GNSS 的定位服務 樣本的原始函數
    發表于 04-17 15:16

    鴻蒙元服務實戰-笑笑五棋(1)

    -《笑笑五棋》給開源分享出來。 笑笑五棋 笑笑五棋的名字比較樸素,因為 笑笑 這個名字是我女兒的名字,這也應該是眾多屌絲程序員獨有的浪漫了吧(自嗨)。 界面風格如下: 笑笑五
    的頭像 發表于 03-31 09:23 ?232次閱讀
    鴻蒙元<b class='flag-5'>服務</b>實戰-笑笑五<b class='flag-5'>子</b>棋(1)

    服務數據恢復—如何預防服務器故障與恢復服務數據

    服務器常見故障: 硬件故障:磁盤損壞、電池故障等。 軟件問題:操作系統崩潰、未知的程序運行錯誤等。 病毒破壞:勒索病毒加密、刪除服務數據等。 不可控力量;服務器浸水、火燒、機
    的頭像 發表于 03-11 12:36 ?284次閱讀

    ADS122C04數據采集傳輸,程序運行的時候發現DRDY不能為0,為什么?

    我使用ADS122C04傳輸采集的壓力值 我使用的單片機是STM32F103RCT系列的 ad電路連接如下圖 我采集單通道的數據(AIN0) 寄存器配置如下 然后進行數據傳輸,讀取
    發表于 12-02 07:12

    云硬盤掛載到新服務器,怎么恢復數據

    將云硬盤掛載到新服務器并恢復數據,需先獲取掛載權限和配置信息,登錄新服務器管理控制臺選擇并掛載云硬盤到指定點,檢查掛載狀態后訪問掛載點恢復數據,若
    的頭像 發表于 12-01 22:27 ?605次閱讀

    服務數據恢復—V7000存儲NTFS文件系統數據恢復案例

    行過程宕機,于是管理員重啟服務器。服務器進入系統自動進行磁盤掃描修復時,管理員強制關機并斷開了存儲和服務器之間的連接,導致這臺存儲上的文件系統損壞,報錯“文件或目錄損壞且無法
    的頭像 發表于 10-14 14:03 ?542次閱讀
    <b class='flag-5'>服務</b>器<b class='flag-5'>數據</b>恢復—V7000存儲NTFS文件系統<b class='flag-5'>數據</b>恢復案例

    飛凌嵌入式ElfBoard ELF 1板卡-常見網絡服務搭建SSH服務搭建

    SSH為Secure Shell的縮寫,由IETF的網絡小組(Network Working Group)所制定的建立在應用層基礎上的安全協議。SSH是較可靠,專為遠程登錄會話和其他網絡服務提供
    發表于 09-29 09:48

    飛凌嵌入式ElfBoard ELF 1板卡-常見網絡服務搭建SSH服務搭建

    on :: port 22. 8月 23 17:19:57 ubuntu systemd[1]: Started OpenBSD Secure Shell server. 4.關閉SSH服務
    發表于 09-27 09:06

    labview樹形控件讀取文本數據(child text)

    各位大神好!我想讀取已編輯好的樹形控件的第0列之后的文本數據(child text,或稱屬性),該如何實現?
    發表于 07-14 16:38

    服務體驗-服務使用

    服務使用 使用流程:通過元服務入口打開元服務→啟動加載→元服務落地頁使用→退出元服務服務
    發表于 07-12 15:57

    服務數據恢復—異常斷電導致虛擬機配置文件丟失的數據恢復案例

    :Windows Server,虛擬機上運行SQL Server數據庫(宏橋和索菲兩套應用的數據庫)。 虛擬磁盤:數據盤(精簡模式)+ 快照數據盤。
    的頭像 發表于 06-28 16:34 ?604次閱讀
    <b class='flag-5'>服務</b>器<b class='flag-5'>數據</b>恢復—異常斷電導致虛擬機配置文件丟失的<b class='flag-5'>數據</b>恢復案例

    請問websocket庫怎么讀取服務器發來的數據?

    官方websocket庫怎么讀取服務器發來的數據?
    發表于 06-25 06:40

    藍牙開啟自定義服務之后,添加了一個服務,怎么添加第二服務啊?

    藍牙開啟自定義服務之后,添加了一個服務,怎么添加第二服務啊 按照我的理解,在創建第一個
    發表于 06-19 08:32
    主站蜘蛛池模板: 欧美激情伊人 | h黄视频| 天堂网在线最新版www中文网 | 1024手机在线观看视频 | 久操视频网站 | 午夜小片 | 免费黄色小视频 | 婷婷97狠狠的狠狠的爱 | 生活片毛片 | 99久久精品免费看国产免费 | 在线观看视频一区二区三区 | 欧美日韩国产一区 | bt种子天堂 | 美女在线看永久免费网址 | 狠狠色丁香婷婷综合最新地址 | 天堂资源8中文最新版在线 天堂资源地址在线 | 美女国产精品 | 在线视频 一区二区 | 黄色视屏免费看 | 欧美最猛黑人xxxx黑人猛交69 | 人人干国产 | 五月婷婷色网 | 国产精品免费观看网站 | 色综合色综合色综合色综合 | 在线色国产 | bt 另类 专区 欧美 制服 | 欧美一区中文字幕 | 377p亚洲欧洲日本大胆色噜噜 | 亚洲一区二区三区不卡视频 | 久久免费看 | 亚洲第一福利网站 | 天堂资源在线官网bt | 天天做天天爱天天射 | 国产欧美亚洲精品 | 六月丁香婷婷激情国产 | 三级国产在线观看 | 五月六月伊人狠狠丁香网 | 色狠狠狠色噜噜噜综合网 | 99久久综合国产精品免费 | 久久网色 | 黄色免费大全 |