新能源汽車診斷UDS協(xié)議及實現(xiàn) 向滿 童維勇
定 價:99.9 元
本書結(jié)合汽車電控系統(tǒng)軟件中的BootLoader程序和上位機及腳本介紹UDS的使用場景,并深入講解其功能,分為基礎篇、核心篇、提升篇三部分。主要內(nèi)容包括新能源汽車電控系統(tǒng)基礎知識、基于CAN/LIN總線的通信協(xié)議、UDS協(xié)議棧架構(gòu)、基于UDS的BootLoader、通過腳本實現(xiàn)UDS客戶端通信、UDS測試等內(nèi)容。本書首先介紹新能源汽車電控系統(tǒng)基礎、常用總線通信協(xié)議和UDS基礎知識,讓讀者站在電控系統(tǒng)的角度了解UDS等協(xié)議棧的作用和診斷的相關(guān)知識,然后根據(jù)ISO 15765和ISO 14229標準的內(nèi)容從使用者的角度對標準的實現(xiàn)進行詳細的解釋,最后在診斷協(xié)議的基礎上以BootLoader程序和上位機及腳本的實現(xiàn)講解其在客戶端和服務器端的應用及其測試環(huán)境。本書適合具有一定車載嵌入式軟件開發(fā)和測試基礎知識的讀者,也可作為普通高等院校汽車相關(guān)專業(yè)的本科生或研究生學習汽車嵌入式軟件開發(fā)的參考書,亦可供汽車電子行業(yè)軟件工程師、總線網(wǎng)絡開發(fā)工程師和總線測試工程師學習和參考。
本書具有較強的專業(yè)性和針對性。作者長期從事新能源汽車整車控制、電子電氣、軟件開發(fā)等工作,非常熟悉UDS服務,將多年的工作經(jīng)驗進行了梳理和整合,形成了本書,以饗讀者。全書以汽車電控系統(tǒng)、車載總線通信和診斷協(xié)議標準為基礎,詳細介紹了UDS協(xié)議棧架構(gòu)、CAN驅(qū)動層、TP層、診斷應用層的實現(xiàn),并圍繞BootLoader、客戶端通信、測試環(huán)節(jié),介紹UDS診斷與實現(xiàn)。不但重視理論介紹,也與實踐緊密結(jié)合,有助于提升讀者的理論水平和解決實際問題的能力。
為推動新能源汽車產(chǎn)業(yè)高質(zhì)量發(fā)展,2020年10月,國務院辦公廳印發(fā)《新能源汽車產(chǎn)業(yè)發(fā)展規(guī)劃(20212035年)》,確定了未來新能源汽車將繼續(xù)向電動化、網(wǎng)聯(lián)化、智能化方向深入發(fā)展,新能源汽車及其配套產(chǎn)業(yè)將迎來新一輪爆發(fā)。在汽車新四化的發(fā)展趨勢下,整車電子電氣架構(gòu)逐漸從分散走向集中,域控制器或區(qū)域控制器成為下一代整車電控系統(tǒng)的核心。面對整車電子電氣架構(gòu)的不斷升級,AUTOSAR架構(gòu)已經(jīng)成為具備功能安全要求的分布式電子控制單元和域控制器的主流軟件架構(gòu)。隨著診斷、OTA、智能駕駛、娛樂等功能需求的增長,其對整車通信帶寬的要求日益增加,車載以太網(wǎng)成為下一代汽車的主要通信技術(shù)。由此,在汽車行業(yè)也提出了SOA(Service-Oriented Architecture)架構(gòu),即面向服務的架構(gòu)。UDS(Unified Diagnostic Service)即統(tǒng)一診斷服務,是一套為所有車輛提供統(tǒng)一診斷的應用層服務,已經(jīng)成為新能源汽車電子控制單元的能力。未來,汽車將面向不同場景、不同應用和不同用戶提供差異化的功能,和手機一樣提供功能升級,在此背景下,UDS的作用更為凸顯。目前汽車OTA技術(shù)就是以UDS為基礎來實現(xiàn)車輛遠程升級。本書是作者多年在引導程序、基礎軟件及工具鏈開發(fā)經(jīng)驗的基礎上應用UDS的總結(jié)。本書分為基礎篇、核心篇和提升篇;A篇包括第1章至第3章,從基礎入手,便于讀者了解汽車電控系統(tǒng)和UDS在電控系統(tǒng)軟件中的作用。第1章介紹汽車電控系統(tǒng)的基礎知識和目前廣泛使用的軟件架構(gòu)及功能安全的概念;第2章介紹常用的車載總線通信技術(shù)以及基于車載總線通信技術(shù)的應用;第3章介紹OBD和UDS兩種診斷協(xié)議的基礎知識和參考標準。核心篇包括第4章至第7章,重點介紹UDS的核心知識。第4章介紹UDS協(xié)議棧架構(gòu),包括分層架構(gòu)和數(shù)據(jù)流分析等;第5章基于恩智浦S32K144芯片介紹CAN驅(qū)動層及其實現(xiàn);第6章重點解析了UDS協(xié)議棧中TP層的標準及其實現(xiàn);第7章重點介紹了UDS協(xié)議棧中診斷應用層及其實現(xiàn)。提升篇包括第8章至第10章,介紹基于UDS的應用和測試以及PC端上位機/腳本的開發(fā)。第8章介紹了基于UDS的BootLoader的原理和實現(xiàn);第9章介紹了基于Python語言的UDS的腳本開發(fā),讓讀者了解PC端軟件的原理和架構(gòu);第10章介紹了基于Vector工具鏈的UDS測試環(huán)境和測試流程。本書由向滿和童維勇編寫,由童維勇先生審閱。童維勇先生是中國自動化學會會員,自動化專業(yè)副高級職稱,有多年世界500強外資企業(yè)研發(fā)管理經(jīng)驗,并在國內(nèi)新能源汽車知名企業(yè)擔任研發(fā)總監(jiān)等職務,持有多項授權(quán)專利并承擔深圳市技術(shù)攻關(guān)項目。本書在編寫過程中力求邏輯嚴謹和內(nèi)容正確,相關(guān)代碼都經(jīng)過測試,并在實際項目中使用。但是由于編者水平有限、編寫時間緊張,難免有表達不清晰、邏輯不嚴謹和內(nèi)容錯誤之處,敬請讀者指正。編 者
向滿: 汽車電子軟件開發(fā)專家。長期從事新能源汽車車整車控制器VCU,車身電子ECU,電子油泵等電控系統(tǒng)軟件開發(fā)。先后就職于深圳航盛電子、德昌電機、長城汽車等汽車電子領域知名企業(yè)。童維勇:高級工程師,中國自動化學會2022杰出自動化工程師獎獲得者。深圳市軟件行業(yè)協(xié)會和深圳自動化學會專委會專家。長期從事嵌入式軟件開發(fā)和研發(fā)管理工作,曾成功主導開發(fā)了多款新能源汽車電控產(chǎn)品。
前言基礎篇第1章 汽車電控系統(tǒng) 21.1 汽車電控系統(tǒng)介紹 21.1.1 電控系統(tǒng)架構(gòu) 21.1.2 工作原理 31.1.3 分類 51.1.4 發(fā)展情況 51.2 汽車電控系統(tǒng)開發(fā) 81.2.1 軟件開發(fā) 101.2.2 硬件開發(fā) 101.3 AUTOSAR和功能安全 101.3.1 AUTOSAR架構(gòu)介紹 101.3.2 功能安全概念介紹 11第2章 車載總線通信介紹 132.1 CAN總線和LIN總線通信基礎 132.1.1 CAN總線基礎 142.1.2 LIN總線基礎 182.2 常用車載通信協(xié)議 242.2.1 OSEK網(wǎng)絡管理協(xié)議 242.2.2 CCP和XCP協(xié)議 262.2.3 J1939協(xié)議 282.2.4 UDS協(xié)議 292.3 其他總線通信技術(shù) 292.3.1 CANFD 292.3.2 車載以太網(wǎng) 30第3章 診斷協(xié)議及其參考標準 323.1 OBD協(xié)議 323.1.1 OBD協(xié)議介紹 323.1.2 OBD協(xié)議參考標準 383.2 UDS協(xié)議 393.2.1 UDS協(xié)議介紹 393.2.2 UDS協(xié)議參考標準 393.3 UDS協(xié)議與OBD協(xié)議的區(qū)別 40核心篇第4章 UDS協(xié)議棧架構(gòu) 424.1 UDS協(xié)議軟件架構(gòu) 424.1.1 CAN驅(qū)動層 444.1.2 TP層 454.1.3 診斷應用層 454.2 UDS數(shù)據(jù)流分析 464.3 如何實現(xiàn)UDS 48第5章 CAN驅(qū)動層及其實現(xiàn) 495.1 S32K系列微控制器介紹 495.2 CAN驅(qū)動層提供的功能 515.3 S32K144的CAN驅(qū)動配置 51第6章 TP層及其實現(xiàn) 606.1 TP層的作用 606.2 TP層協(xié)議 616.2.1 TP層協(xié)議概述 616.2.2 TP層相關(guān)術(shù)語定義 626.2.3 TP層總覽及其服務概述 636.2.4 網(wǎng)絡層協(xié)議 716.3 TP層協(xié)議實現(xiàn) 836.3.1 單幀 836.3.2 首幀 876.3.3 流控幀 906.3.4 連續(xù)幀 956.3.5 TP層參數(shù) 1016.4 通信報文解析 1026.4.1 單包報文傳輸 1036.4.2 多包報文傳輸 103第7章 診斷應用層及其實現(xiàn) 1057.1 診斷應用層的作用 1067.2 尋址概念 1077.2.1 物理尋址 1077.2.2 功能尋址 1077.3 UDS請求與響應 1087.3.1 UDS請求 1087.3.2 UDS響應 1107.4 UDS會話模式和安全訪問 1227.5 DTC信息 1257.5.1 DTC格式 1257.5.2 DTC相關(guān)的術(shù)語 1257.5.3 DTC狀態(tài)位定義和DTC狀態(tài)掩碼 1267.5.4 DTC故障檢測 1337.5.5 DTC老化機制 1357.5.6 DTC信息存儲 1367.6 常用診斷服務列表 1397.6.1 BootLoader程序常用服務 1407.6.2 應用程序常用服務 1407.7 診斷應用層服務解析 1407.7.1 10服務診斷會話控制 1417.7.2 11服務電控單元復位 1437.7.3 27服務安全訪問 1457.7.4 28服務通信控制 1477.7.5 3E服務測試設備在線 1497.7.6 85服務控制DTC設置 1507.7.7 22服務根據(jù)DID讀數(shù)據(jù) 1517.7.8 23服務通過地址讀內(nèi)存 1537.7.9 2E服務通過DID寫數(shù)據(jù) 1557.7.10 3D服務通過地址寫內(nèi)存 1567.7.11 14服務清除診斷信息 1577.7.12 19服務讀取DTC信息 1587.7.13 2F服務輸入輸出控制 1637.7.14 31服務例程控制 1657.7.15 34服務請求下載 1677.7.16 36服務傳輸數(shù)據(jù) 1697.7.17 37服務請求退出傳輸 1707.8 診斷應用層定時參數(shù)分析 1717.8.1 定時參數(shù)分析 1717.8.2 定時參數(shù)處理 1727.9 診斷報文分析 173提升篇第8章 基于UDS的BootLoader 1788.1 BootLoader介紹 1788.2 BootLoader機制介紹 1798.3 BootLoader的一般要求 1818.3.1 通信要求 1818.3.2 安全要求 1818.4 BootLoader詳細流程 1828.4.1 Pre-Programming 階段 1828.4.2 Programming階段 1838.4.3 Post-Programming階段 1848.5 BootLoader軟件架構(gòu)與實現(xiàn) 1858.5.1 最小系統(tǒng)和基本模塊 1858.5.2 內(nèi)存分配 1868.5.3 中斷向量表的重映射 1878.5.4 閃存驅(qū)動 1878.5.5 程序跳轉(zhuǎn) 1878.6 電控單元OTA介紹 188第9章 通過腳本實現(xiàn)UDS客戶端通信 1909.1 上位機和腳本編程語言 1909.2 基于Python語言的UDS腳本 1909.2.1 PeakCAN介紹 1919.2.2 PeakCAN二次開發(fā)介紹 1919.2.3 基于Python語言實現(xiàn)UDS通信 1929.3 通過腳本實現(xiàn)上位機Flash BootLoader 203第10章 UDS測試 20410.1 Vector系統(tǒng)介紹 20410.2 基于Vector工具鏈的測試系統(tǒng)介紹 20410.3 UDS測試操作指導 205參考文獻 213