來源:納芯微電子
什么是 OTA?OTA(空中升級技術)是通過無線網絡(如藍牙、Wi-Fi、蜂窩網絡)為設備遠程更新程序的一種技術,無需連接電腦或專用工具即可完成軟件升級。
如今,OTA 已從消費電子逐漸擴展到汽車等領域,車輛 ECU 可以通過 OTA 完成功能優(yōu)化、問題修復或新增功能。隨著 OTA 技術在汽車電子中的不斷普及,OTA 能力也開始從域控制器擴展到各類邊緣節(jié)點設備。
本文以汽車執(zhí)行器節(jié)點為例,介紹基于 NSUC1610 的 LIN OTA 實現方案,并解析相關的軟件架構與關鍵技術。

01OTA 背后的“黃金搭檔”
Bootloader 與 UDS 協(xié)議
1.1. Bootloader:設備的啟動引導程序
類似于電腦開機時首先加載系統(tǒng)引導程序,再啟動 Windows 或 macOS,Bootloader 就是設備的啟動引導程序。它在設備上電后首先運行,負責初始化硬件、檢查系統(tǒng)狀態(tài),并加載應用程序(例如手機操作系統(tǒng)或汽車控制軟件)。在 OTA 升級過程中,Bootloader 還承擔著執(zhí)行程序更新的重要角色。
如果沒有 Bootloader,設備就無法識別新的升級包,也無法完成程序替換。因此,Bootloader 的穩(wěn)定性和可靠性直接關系到 OTA 升級能否順利完成。
1.2. UDS 協(xié)議:設備與外部系統(tǒng)的通信協(xié)議
要向設備發(fā)送升級指令,需要一套統(tǒng)一的通信協(xié)議。UDS(Unified Diagnostic Services,統(tǒng)一診斷服務)是一套國際通用協(xié)議。它定義了設備(如汽車 ECU、智能家居主控板)與外部系統(tǒng)(如 OTA 服務器或診斷工具)之間的通信規(guī)則,包括升級請求、身份驗證以及數據傳輸等關鍵流程。
UDS 協(xié)議支持多種通信接口,例如 CAN 總線、LIN 總線和以太網等。在汽車系統(tǒng)中,UDS 指令通常通過 CAN 總線進行傳輸,而在一些物聯(lián)網或智能家居設備中,也可以通過 Wi-Fi 或藍牙等方式實現UDS 交互。
|
SID (服務ID) |
名稱 | 作用 |
| 0x10 |
Diagnostic Session Control (診斷會話控制服務) |
主要系統(tǒng)刷寫模式控制,包括APP與Bootloader的程序跳轉。 |
| 0x27 | Security Access(安全訪問服務) | 主要用于在刷寫前進行安全訪問解鎖,以確保刷寫過程的安全性。具體安全校驗算法通常由各 OEM 自行定義,不同廠商之間差異較大。 |
| 0x22 |
Read Data By Identifier (根據標識符讀數據服務) |
主要用于讀取ECU的參數,一般0x22服務后面會跟上16 bit DID(數據標識ID),告訴ECU要讀取什么參數,常見參數包括軟件版本號、硬件版本號等。 |
| 0x2E |
Write Data By Identifier (根據標識符寫數據服務) |
主要用于寫入ECU的參數,一般0x2E服務后面會跟上16 bit DID (數據標識ID) 以及參數內容,告訴ECU要寫入什么參數和參數內容,常見參數包括刷寫日期信息、刷寫者ID等。 |
| 0x31 |
Routine Control (例程控制服務) |
主要用于一些刷寫過程控制,比如請求Flash擦除,請求數據完整性校驗,請求軟件兼容性校驗。 |
| 0x34 |
Request Download (請求下載服務) |
主要用于在程序數據下載前告訴ECU:接下來要進行數據下載,并指定下載地址及數據塊大小等信息。 |
| 0x36 |
Transfer Data (數據傳輸服務) |
主要用于數據傳輸服務,在傳輸 Flash 數據時,ECU 在接收完成后通常會按照既定流程執(zhí)行數據寫入或編程操作。 |
| 0x37 |
Request Transfer Exit (請求退出數據傳輸) |
主要用于完成一個數據塊的數據傳輸服務后,退出數據傳輸。 |
| 0x11 | ECU Reset(ECU 復位服務) | 主要用于完成整個程序更新過程,ECU復位后跳轉至更新后的APP代碼執(zhí)行應用程序。 |
02OTA 升級的“安全密碼”
從數據校驗到身份認證
OTA 升級并非簡單的文件傳輸,還需要確保升級過程的安全性與可靠性。系統(tǒng)既要防止升級包在傳輸過程中被篡改,也要避免未經授權的設備偽裝成服務器發(fā)送升級指令。為此,OTA 升級通常會引入多種安全機制,主要包括數據完整性校驗與身份認證。
| 1 |
數據完整性校驗:CRC32 與 SHA256 CRC32 :通過計算數據的循環(huán)冗余校驗值,對傳輸數據進行完整性校驗,用于檢測升級包在傳輸過程中是否發(fā)生損壞或數據錯誤。 SHA256 :一種常見的哈希算法,可將任意長度的數據生成固定長度的 256 位哈希值。只要原始數據有 1 比特變化,哈希值就會完全不同,能有效識別惡意篡改。 |
| 2 |
身份認證:RSA 加密與數字簽名 RSA2048 + PSS 簽名:OTA 服務器使用私鑰對升級包進行數字簽名,設備接收到升級包后通過對應的公鑰進行驗簽。只有簽名驗證通過后,設備才會執(zhí)行升級操作,從而確保升級包來源可信。 安全訪問服務(UDS SID 0x27):在執(zhí)行升級操作前,設備通常會通過 UDS 的安全訪問服務進行權限驗證。服務器需要提供相應的安全憑證(如密鑰或挑戰(zhàn)響應數據),驗證通過后系統(tǒng)才會開放刷寫權限,防止未授權設備強制刷寫。 |
| 實現算法相關要求 | LIN時序相關要求 |
|
采用MASK+AES128+CRC32三段式安全訪問算法 RSA2048+PSS實現軟件驗簽 傳輸數據時完成SHA256哈希算法的預計算 |
功能尋址僅執(zhí)行服務不回復,物理尋址回復且執(zhí)行服務 功能尋址幀插入物理尋址多幀中需要忽略功能尋址幀,保留物理尋址幀的解析執(zhí)行 LIN多幀時序超時要求NCr=1000ms,Nas=1000ms 其他LIN要求參考LIN 2.1標準相關規(guī)范 |
*表:來自主機廠的 LIN OTA 需求
03OTA 如何適配不同設備?
三大移植注意事項
對于汽車的不同零部件,OTA 需要適配差異較大的硬件環(huán)境。工程師在移植 OTA 方案時,通常需要重點關注以下幾個方面:
| 1 |
硬件資源適配 不同設備的內存、Flash 容量差異巨大。例如,一些資源受限的嵌入式設備通常需要采用分塊方式傳輸升級包,而性能更高的汽車 ECU 則可以支持整包下載。 |
| 2 |
通信接口兼容 需根據設備的通信方式(CAN/LIN 總線、Wi-Fi、藍牙)對 UDS 協(xié)議實現進行適配,以保證升級指令和數據傳輸的穩(wěn)定性。例如,在 LIN 總線設備中,通常需要對長幀數據進行拆分處理,以避免通信過程中的數據丟失。 |
| 3 |
版本管理與回滾機制 記錄設備當前軟件版本,僅允許接收更高版本或官方指定版本的升級包。 預留回滾機制:當升級過程中出現異常(如斷電或硬件兼容問題)時,Bootloader 可以自動恢復到上一穩(wěn)定版本,避免設備無法正常啟動。 |
納芯微的NovoGenius系列包含嵌入式電機控制系列,氛圍燈驅動系列等,可應用于汽車邊緣節(jié)點感知、智能執(zhí)行器以及氛圍燈控制等場景。
基于NSUC1610實現主機廠 LIN OTA 軟件框架:

軟件框架特點
采用自上而下的分層架構實現各項功能;
模塊間通過回調和互斥鎖機制實現任務同步;
UDS APP主要通過輪詢 UDS 服務配置表處理診斷服務消息,同時對 LIN 配置識別服務表進行處理。由于 0x7E 功能尋址無需回復,因此在 UDS APP 組件中進行相關處理;
FLASH APP組件主要負責 Flash 的擦除、編程等操作。相關操作通過狀態(tài)機運行,并與 UDS 任務進行異步協(xié)同:UDS 觸發(fā) Flash 操作任務,而 Flash APP 通過狀態(tài)機完成實際的擦寫過程;
SHA256和RSA APP組件主要執(zhí)行哈希計算和數字簽名驗證任務,這些任務同樣由 UDS APP 異步觸發(fā)執(zhí)行;
TP APP主要負責 LIN 傳輸層任務,在完成組幀后異步通知 UDS APP 進行處理;當收到解幀請求時,則運行解幀狀態(tài)機完成數據解析。
聯(lián)系我們
從手機到汽車,從智能家居到工業(yè)設備,OTA 技術正在不斷改變產品的生命周期管理方式。它讓硬件不再是“出廠即固定”的產品,而是可以通過軟件持續(xù)升級與優(yōu)化,逐步提升功能與用戶體驗。
當設備提示“有新版本可用”時,背后往往涉及 Bootloader 的升級管理、UDS 協(xié)議的通信機制以及 RSA 等安全技術的保障。正是這些技術的協(xié)同工作,使設備能夠安全、穩(wěn)定地完成遠程升級。
如需算法實現或技術支持,請聯(lián)系sc_marketing@novosns.com;如需樣品及開發(fā)板支持,請聯(lián)系sales@novosns.com。更多產品信息與技術資料,敬請訪問www.novosns.com。
納芯微電子(簡稱納芯微,科創(chuàng)板股票代碼:688052;香港聯(lián)交所股票代碼:02676.HK)是高性能高可靠性模擬及混合信號芯片公司。自2013年成立以來,公司聚焦傳感器、信號鏈、電源管理三大方向,為汽車、工業(yè)、信息通訊及消費電子等領域提供豐富的半導體產品及解決方案。
納芯微以『“感知”“驅動”未來,共建綠色、智能、互聯(lián)互通的“芯”世界』為使命,致力于為數字世界和現實世界的連接提供芯片級解決方案。
-
無線網絡
+關注
關注
6文章
1520瀏覽量
69057 -
ecu
+關注
關注
14文章
984瀏覽量
57289 -
邊緣節(jié)點
+關注
關注
0文章
14瀏覽量
7814
原文標題:汽車邊緣節(jié)點如何實現 OTA 升級?LIN OTA 方案解析
文章出處:【微信號:米芯微電子,微信公眾號:米芯微電子】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
AMEYA360:納芯微高集成單芯片SoC如何高效智能控制車載步進電機?
納芯微電子高集成度嵌入式電機控制IC NSUC1602輕松應對大電流挑戰(zhàn)
溫室中無線執(zhí)行器節(jié)點設計
國內首發(fā)納芯微車用小電機驅動SoC——NSUC1610
基于壓電陶瓷微位移執(zhí)行器的精密定位
壓電MEMS微執(zhí)行器的設計方案
納芯微車用小電機驅動SoC——NSUC1610
Cube N課堂 | 嵌入式電機驅動SoC NSUC1610的座椅通風應用解析
基于NSUC1610的步進電機控制原理及其實際應用
納芯微NSUC1602:支持1500W電機驅動,應對大電流挑戰(zhàn)
支持最高1500W電機驅動,納芯微NSUC1602輕松應對大電流挑戰(zhàn)
基于納芯微NSUC1610的汽車執(zhí)行器節(jié)點LIN OTA實現方案
評論