亚州天堂爱爱,做爱视频国产全过程在线观看,成人试看30分钟免费视频,女人无遮挡裸交性做爰视频网站

? ? ?

FOTA技術專欄—UDS刷寫(uds 刷寫)

公眾號前面幾篇文章,筆者已經對FOTA、SOTA、信息安全等內容進行了系統性的綜述。從本期開始,筆者將開設技術專欄,分別對上述主題展開更詳細、深入的介紹,以饗讀者,也期望在和同行的交流中碰撞出更四射的火花。

首先推出的是FOTA技術專欄,專欄第一篇文章,筆者將介紹整車部分控制器FOTA技術實現所需仰賴的底層技術之一:UDS刷寫。

UDS刷寫簡述

UDS(Unified Diagnostic Services,統一診斷服務)刷寫,指的是基于應用層協議(ISO 14229)和網絡層協議(與通信物理層相關,如面對CAN總線的ISO 15765-2)定義的控制器軟件升級流程。

UDS刷寫應用對象一般為采用ETH/CAN/LIN等總線通訊的車載傳統控制器。車載傳統控制器主芯片以MCU為主,MCU上主要運行嵌入式實時操作系統。UDS刷寫主要是通過診斷上位機(Tester)給車載傳統控制器發送定義好的診斷服務命令實現。

與車載傳統控制器相對應的是存在高算力芯片的控制器,民間常稱之為智能控制器。此類控制器一般存在雙分區結構且具有滿足POSIX標準的操作系統(一般為Android、QNXLinux等),其軟件升級流程一般自主實現,本文介紹的UDS刷寫技術暫不適用此類控制器。

UDS線下刷寫的應用歷史已有幾十年,最典型的應用場景是在4S店。帥氣的技師們扛著電腦或者專用的診斷儀對車輛控制器進行軟件升級便是UDS線下刷寫的最生動體現。在這一場景中,電腦或診斷儀作為上位機,通過車輛OBD口接入整車網絡總線,并將升級包(一般為hex,s19格式)按主機廠定義的的刷寫流程對車輛控制器進行刷寫。

UDS線上刷寫的應用伴隨著FOTA技術的成熟而得到不斷推廣。在FOTA的通用技術架構下,一般由FOTA的升級主控(升級Master)作為上位機,升級主控從云端下載升級包,并按照固定的刷寫流程或者升級包中配置的刷寫流程,對車輛上的對手件進行刷寫。

UDS刷寫無論線下還是線上,都離不開控制器中Bootloader以及UDS協議的支持,在正式介紹UDS刷寫流程之前,筆者先簡介上述兩部分內容。

Bootloader

Bootloader稱為引導加載程序,是軟件執行的第一步,無論是否使用操作系統,Bootloader都是必須執行的。

我們日常辦公電腦中的Windows系統是由BIOS引導啟動的,BIOS開機自檢并分配資源后,將Bootloader 讀到系統的內存中。隨后Bootloader獲取電腦控制權,將指針帶到系統內核,開始啟動操作系統。

上文介紹的車載傳統控制器啟動過程同樣離不開Bootloader的幫助。Bootloader初始化硬件設備,建立內存空間映射圖,將系統的軟硬件環境帶到一個合適狀態,以便為最終調用操作系統內核準備好正確的環境。在控制器軟件升級過程中,Bootloader進入編程會話后會擦除指定地址的程序,并寫入新的程序,從而實現控制器的軟件升級,后文會詳細闡述該過程。

UDS協議

UDS協議就是ISO 14229標準的別名,全稱為統一診斷服務的應用層協議,標準規范了基于Bootloader的刷寫過程。各家主機廠均是基于UDS協議制定企業的診斷刷寫規范,在控制器的SOR階段會一同釋放給供應商。

對于各控制器的供應商而言,刷寫流程的統一簡化了開發復雜度。UDS協議可在不同的汽車網絡通信(例如CAN、LIN、 Flexray、 Ethernet 和 K-line)上實現,最常用的為UDSonCAN和UDSonIP(DoIP)兩種。下圖為ISO 14229中各車內總線實現UDS協議的網絡模型圖。

FOTA技術專欄—UDS刷寫(uds 刷寫)

以UDSonCAN舉例, CAN總線協議是汽車內最常使用的總線協議,每幀僅有8字節,ISO 15765-2解決了ISO 11898協議中定義的經典CAN數據鏈路層與ISO 14229協議中定義的應用層數據長度不一致的問題。ISO 15765-2中定義的內容包括網絡層和傳輸層的協議,包括尋址方式(物理尋址、功能尋址),組包方式、協議控制信息、流量控制以及時間控制。

UDS協議是一種交互協議,呈現一問一答的通信方式,提供了26種服務,各服務在報文中通過SID(Service Identifier,診斷服務ID)來區分。在UDS刷寫流程中,主要應用的服務如下表所示。

大類

SID(0x)

診斷服務名

診斷和通信管理

10

會話控制

11

重啟ECU

28

通訊控制

3E

待機握手

85

DTC控制設置

數據傳輸

22

讀DID

2E

寫入DID

程序功能

31

程序控制

上傳下載功能單元

34

請求下載

36

數據傳輸

37

請求退出傳輸

故障類服務

14

清故障碼

10/27/11/3E等服務是基礎診斷和通信相關服務,作用是切換系統的會話模式、安全模式解鎖、重啟ECU以及保持鏈接活躍;

22/2E讀寫DID的服務主要是為了讀取版本號、VIN等信息,同時寫入諸如指紋、VIN碼等相關信息(OEM自定義);

85/28服務主要是為了暫停其他控制器網絡報文的發送和DTC的設置,使得刷寫條件和網絡帶寬能達到最佳的狀態;

31/34/36/37則是數據下載相關服務,負責數據下載的請求、傳輸和退出。

UDS刷寫流程

會話模式是診斷領域非常重要的一個狀態機,不同的會話模式是用來區分診斷服務執行權限。UDS協議定義了三種會話模式:默認會話、編程會話、擴展會話,不同的會話模式可以相互切換。在Application中可使用默認會話模式和擴展會話模式。在Bootloader中可使用默認會話模式和刷新會話模式。

會話切換流程如下圖所示,主要通過0x10服務在三種會話模式之間切換。

FOTA技術專欄—UDS刷寫(uds 刷寫)

UDS刷寫流程包括三部分:預編程階段主編程階段后編程階段,如下圖所示。其中,白色框步驟為功能尋址,藍色框步驟為物理尋址。各家主機廠會根據實際情況對方案進行微調。其中Client為升級客戶端,往往由診斷儀或FOTA master擔任。Server指的是升級控制器端。

FOTA技術專欄—UDS刷寫(uds 刷寫)

一、預編程階段

此階段是刷寫前的網絡準備工作,主要內容包括(1)檢查升級前置條件;(2)提高刷寫網絡速度;(3)禁止其他ECU的網絡報文并關閉DTC設置。

1、Client功能尋址發送0x10服務將所有控制器切換至擴展會話模式,以支持0x85服務和0x28服務;

2、Client物理尋址發送0x31服務至Server,判斷當前是否滿足升級的前置條件,如點火狀態,車速等判斷;

3、Client功能尋址發送0x85和0x28服務,禁用CAN總線上各Server的網絡報文和DTC設置;

4、Client通過0x22服務讀取控制器的DID數據;

5、Client在會話過程中通過0x3E服務保持與Server的會話模式

二、主編程階段

此階段是控制器的刷寫主流程,在Bootloader的編程會話模式下進行,步驟如下:

1、Client功能尋址發送0x10服務將待刷寫的Server切換到編程會話模式;

2、Client通過0x2E服務將指紋寫入Server,例如本次刷寫人的身份;

3、Client通過0x27服務向Server求安全模式的seed,并根據約定的算法得到key,Server驗證通過后解鎖安全模式。安全模式的作用是以防電控單元被意外地擦除或未經授權地刷新;

4、Client通過0x31服務擦除Server指定地址段的程序;

5、Client通過0x34服務請求數據下載,Server回復一次0x36服務傳輸數據的Block的最多字節數;

6、如果0x34服務得到了正確響應,Client就開始使用0x36服務啟動數據傳輸。下載的數據是連續的,可使用34-36-36…-37命令實現。如果數據不連續,則需要重新進行0x34服務;

7、所有的0x36服務完成后,Client通過0x37服務請求退出傳輸;

8、Client通過0x31服務不同的子功能對程序的完整性和一致性進行驗證;

9、校驗完成后0x11服務對Server復位。

三、后編程階段

1、Client通過0x10服務恢復控制器的默認會話;

2、Client通過0x14服務清除Server中的故障碼,整個刷寫流程結束。

多路并行刷寫

當前FOTA升級的一般策略是串行升級,即每個控制器升級完成后再對下一個控制器進行升級,單一時間只對一個控制器進行升級。如任務中有多個車輛控制器需要升級,則會對本次任務的升級時長和車輛電瓶電量提出挑戰。如果能夠在FOTA中并行刷寫多個控制器,充分利用總線帶寬,可減少OTA升級時長,實現整車的快速升級。

因此,并行刷寫在FOTA的應用引起了各家主機廠的關注。產線的線下診斷儀刷寫其實已實現了并行刷寫,優勢在于可縮減產線的工位數,并提高生產效率。當前并行刷寫常用的做法為上位機開啟多個刷寫線程。不同總線間的并行刷寫相對容易實現,如同時對CAN總線上的控制器和車載以太網上的控制器在同一時間進行刷寫,總線之間的干擾并不大。

而對連接在同一網關下,不同路CAN上的兩個控制器進行刷寫,如Body CAN和Info CAN上的控制器并行刷寫。上位機開啟多個線程并且打開多個CAN通道 ,可通過通道號的不同對每個控制器進行識別,防止報文傳輸過程中不同控制器的報文相互沖突造成的報文混亂問題,實現了一上位機對多控制器的CAN報文傳輸。

與此同時,雖然開辟更多的RAM去處理診斷指令可以使得刷寫速率更快,但是資源開銷問題也不容小視。尤其當總線轉換時,傳輸層和網絡層的資源開銷也會上升。上位機的RAM資源的消耗,處理能力足夠與否,都需要O主機廠按實際情況和需求評估。

小結

本期簡單介紹了UDS刷寫的基礎知識,下一期,FOTA技術專欄將會介紹智能控制器常用的升級方式,A/B升級(汽車OTA領域的標桿企業ABup,其英文名稱前兩個字母寓意也來源于此)。

往期精彩:

FOTA信息安全,一篇看不懂的綜述

SOTA技術概述

車聯網信息安全概述

版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

(0)
上一篇 2023年5月14日 上午9:30
下一篇 2023年5月14日 上午9:46

相關推薦

  • 建設工程施工項目管理工作

    建設工程施工項目管理工作是建設工程施工過程中非常重要的一環,關系到工程的質量、進度、安全等方面。本文將介紹建設工程施工項目管理工作的重要性、管理流程以及關鍵要素。 一、建設工程施工…

    科研百科 2024年8月18日
    23
  • 操作系統和辦公軟件捆綁采購,合規嗎?(辦公用操作系統)

    關鍵詞   競爭性磋商   軟件正版化 案例回放 2023年7月,某高校通過競爭性磋商方式采購軟件正版化服務項目,預算金額為30萬元,采購標的為操作系統及辦公軟件。競爭性磋商文件顯…

    科研百科 2024年5月7日
    63
  • 貴州省衛生健康科研項目管理系統賬號

    貴州省衛生健康科研項目管理系統賬號 貴州省衛生健康科研項目管理系統是一款功能強大的科研管理工具,為衛生健康系統研究人員提供了一個高效、便捷、安全的科研平臺。作為一個該系統的賬號,我…

    科研百科 2024年12月4日
    0
  • 電子束申報四川科研項目電子束申報四川科研項目

    電子束申報四川科研項目 隨著科技的不斷發展,電子束技術也越來越受到人們的重視。電子束技術在軍事、工業、醫療等領域都有著廣泛的應用。四川作為我國西南地區的一個重要省份,也擁有豐富的電…

    科研百科 2024年6月13日
    50
  • java的管理系統項目

    Java管理系統項目 隨著現代企業規模的不斷擴大,企業需要更高效、更穩定的管理系統來管理業務流程。Java作為一種流行的編程語言,提供了許多優秀的特性,使得開發企業級管理系統變得容…

    科研百科 2025年6月6日
    0
  • 生產進度管理系統項目

    生產進度管理系統項目 生產進度管理系統是一個非常重要的項目,能夠幫助企業更好地掌握生產進度,提高生產效率,降低生產成本。本文將介紹生產進度管理系統項目的背景、目標、功能、實施方法和…

    科研百科 2024年12月23日
    0
  • 項目管理師證考試時間,報名條件(項目管理師證考試時間,報名條件是什么)

    項目管理師是一種對項目管理專業人員知識、經驗、能力水平和創新意識的綜合評估證明,具有廣泛的認可度和專業權威性,代表了當今國內項目管理專業人員資格認證的最高水平。項目管理師證書已成為…

    2022年9月12日
    131
  • Google voice替代軟件

    Googlevoice替代軟件Googlevoice替代軟件Google interest Plays or Google Play or Play or Google Play …

    科研百科 2024年11月19日
    1
  • 旅行社管理制度(旅行社管理制度范本)

    總則 一、公司制度管理大綱 二、員工守則 第一部分 公司管理制度 第一章 行政管理制度 一、員工紀律 二、考勤制度 三、休假制度 四、文件管理制度 五、印章管理制度 六、安全績效考…

    科研百科 2024年1月25日
    61
  • 內鏡室科研項目申報流程

    內鏡室科研項目申報流程 內鏡室科研項目申報流程是申請科研項目的一種重要方式。這種項目旨在開發新的技術,改進現有技術,或者改進生產流程。如果正在考慮申報內鏡室科研項目,以下是一些基本…

    科研百科 2025年5月2日
    2