本文探討了RT-Thread與AUTOSAR CP的融合,解決車載ECU開發(fā)中實時性、安全性與靈活性的平衡問題。通過分層安全內(nèi)核(rt-safety os/auto os)和工具鏈整合,兼容AUTOSAR標(biāo)準(zhǔn),同時保留RT-Thread的POSIX支持與可裁剪性,實現(xiàn)了通信隔離、診斷模塊集成等關(guān)鍵技術(shù)突破,為車載系統(tǒng)提供高安全、可擴展的解決方案。
車載電子系統(tǒng)與傳統(tǒng)實時操作系統(tǒng)(RTOS)領(lǐng)域雖有關(guān)聯(lián),但也存在顯著差異。傳統(tǒng)RTOS更注重實時性,并在此基礎(chǔ)上擴展其他的功能需求,這些需求多來源于傳統(tǒng)計算機的應(yīng)用場景,例如對文件系統(tǒng)數(shù)據(jù)存儲上的支持、對以太網(wǎng)數(shù)據(jù)交互的支持等。由于涉及到和PC的交互,所以相關(guān)功能最好可以與PC兼容:存儲上是否支持PC可識別的文件系統(tǒng),例如FAT文件系統(tǒng),使SD卡取出時可以直接在PC上進行讀取;而以太網(wǎng)上則希望采用主流的TCP/IP協(xié)議,包括Web服務(wù),及后續(xù)誕生的MQTT協(xié)議。傳統(tǒng)計算機廣泛采用POSIX(Portable Operating System Interface,可移植操作系統(tǒng)接口,是一組由IEEE制定的標(biāo)準(zhǔn),旨在確保操作系統(tǒng)提供應(yīng)用程序可移植性的API規(guī)范)作為編程接口。
在傳統(tǒng)實時操作系統(tǒng)(RTOS)領(lǐng)域,RT-Thread以其卓越性能脫穎而出。其卓越性體現(xiàn)在多個方面:首先是對POSIX標(biāo)準(zhǔn)的全面支持(從PSE51的完整支持,到PSE53/54標(biāo)準(zhǔn)部分支持);其次是對多樣化芯片架構(gòu)的廣泛兼容;尤為重要的是,RT-Thread始終秉持著'小而美'的操作系統(tǒng)設(shè)計理念。所謂'小',體現(xiàn)在專為嵌入式設(shè)備量身定制,并將操作系統(tǒng)內(nèi)核嚴格限定在基礎(chǔ)功能范疇(包括多任務(wù)調(diào)度、文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議棧及shell命令行等核心模塊)。而'美'則體現(xiàn)在系統(tǒng)架構(gòu)與代碼實現(xiàn)的精煉性——既保持高度合理性,又避免過度復(fù)雜化。這一設(shè)計理念同時強調(diào)可維護性,使工程技術(shù)人員能夠快速掌握系統(tǒng)核心機制,在遇到技術(shù)問題時能夠精準(zhǔn)定位解決路徑(遇到問題,但不知從何下手解決問題,這個相信是工程師最抓腦的事情)。
RT-Thread操作系統(tǒng)的架構(gòu)圖,摘自github/RT-Thread,典型的分層結(jié)構(gòu)
當(dāng)RT-Thread實時操作系統(tǒng)與車載AUTOSAR標(biāo)準(zhǔn)體系實現(xiàn)融合時,將呈現(xiàn)何種技術(shù)形態(tài)呢?二者顯然存在顯著差異,但同時具備協(xié)同互補潛力:通過相互借鑒核心優(yōu)勢,實現(xiàn)技術(shù)特性的優(yōu)化整合。
AUTOSAR(AUTomotive Open System ARchitecture,汽車開放系統(tǒng)架構(gòu))是一種標(biāo)準(zhǔn)化的汽車電子控制單元(ECU)軟件架構(gòu),旨在通過統(tǒng)一底層軟件封裝,使不同廠商的ECU能夠兼容,從而減少重復(fù)開發(fā),提高效率。AUTOSAR聯(lián)盟于2003年由9家汽車行業(yè)巨頭(如寶馬、博世、大陸等)聯(lián)合成立,其核心理念是“標(biāo)準(zhǔn)上合作,實現(xiàn)上競爭”,即行業(yè)共同制定底層標(biāo)準(zhǔn),各廠商專注于上層應(yīng)用開發(fā)。
作為汽車電子電氣架構(gòu)領(lǐng)域的核心軟件規(guī)范與標(biāo)準(zhǔn)體系,AUTOSAR自創(chuàng)立伊始便專注于車載應(yīng)用領(lǐng)域,其發(fā)展歷程始終聚焦于汽車產(chǎn)業(yè)需求,未涉足其他行業(yè)應(yīng)用。這種專注性使其構(gòu)建了高度系統(tǒng)化、專業(yè)化的完整技術(shù)框架,同時也形成了相對封閉的技術(shù)生態(tài)系統(tǒng)。該體系以方法論體系與工具鏈為核心特征,為汽車軟件的開發(fā)、集成與驗證提供了標(biāo)準(zhǔn)化的技術(shù)解決方案。
一起來看看AUTOSAR都有些什么,以及有哪些優(yōu)點吧:
由AUTOSAR的架構(gòu)圖,可以很明顯的看出是采用了分層,分模塊的方式:最底層是微控制器硬件層;最上層是應(yīng)用層(Application Layer)、運行環(huán)境(Runtime Environment);以及中間的基礎(chǔ)軟件(BSW)。
除嵌入式軟件架構(gòu)外,AUTOSAR CP方法論在汽車電子系統(tǒng)開發(fā)中亦具有著重要地位。其核心理念在于:車載電子控制單元并非孤立存在,而是作為整車網(wǎng)絡(luò)體系中的關(guān)鍵節(jié)點,需與其他組件協(xié)同運作以實現(xiàn)系統(tǒng)整體功能。
汽車電子電氣架構(gòu)中的總線及ECU
當(dāng)處在復(fù)雜的車載網(wǎng)絡(luò)環(huán)境中,特別是包含多條主干總線,數(shù)十甚至上百個節(jié)點時,還需考慮以下關(guān)鍵因素:通信、調(diào)試以及時延的問題等。
車載電控單元面臨的挑戰(zhàn)
通信
在車載網(wǎng)絡(luò)架構(gòu)中,通信層面的技術(shù)實現(xiàn)方案是首要考量的核心要素。在數(shù)據(jù)報文交互過程中,必須采用標(biāo)準(zhǔn)化的識別機制,而非傳統(tǒng)的逐字段定義或多方協(xié)商模式。當(dāng)前車輛網(wǎng)絡(luò)架構(gòu)采用標(biāo)準(zhǔn)的格式描述體系,具體而言:各網(wǎng)絡(luò)節(jié)點均配置唯一標(biāo)識符(ID),并通過標(biāo)準(zhǔn)化描述文件對字段進行系統(tǒng)化定義與規(guī)范。該技術(shù)路徑衍生出DBC文件格式,并進一步演進為ARXML(AUTOSAR XML)文件格式。基于此標(biāo)準(zhǔn)化框架,可自動生成對應(yīng)實現(xiàn)代碼,有效規(guī)避人工編碼可能引入的缺陷,同時構(gòu)建起完整的工程實施規(guī)范體系。
調(diào)試
當(dāng)車輛控制器安裝好后,通常無法再采用JTAG/SWD或UART等傳統(tǒng)方式進行調(diào)試。鑒于車輛網(wǎng)絡(luò)系統(tǒng)具備互聯(lián)特性,此時應(yīng)建立標(biāo)準(zhǔn)化的診斷機制。具體而言,當(dāng)車輛在運行過程中發(fā)生故障時,系統(tǒng)需自動記錄并存儲相應(yīng)的故障代碼。在4S店進行維修時,技術(shù)人員可通過診斷接口(OBD,CAN口或以太網(wǎng)口)調(diào)取所有相關(guān)故障信息,以確保維修工作的準(zhǔn)確性和高效性。
功能安全
當(dāng)涉及到控制時,安全性就成為必然要考慮的點。車控系統(tǒng)涉及多個安全關(guān)鍵點,例如:
代碼bug導(dǎo)致的異常;
非法內(nèi)存訪問,導(dǎo)致軟件異常;
事件或周期性任務(wù)頻率紊亂;
任務(wù)處理超時;
需建立雙重防護機制:針對這些情況的預(yù)防性措施,以及當(dāng)這些異常出現(xiàn)時的容錯處理。
基于模型的設(shè)計方法
當(dāng)逐漸形成一個專有體系時,開發(fā)過程需要采用更加精細化的方法。當(dāng)圍繞著車輛環(huán)境構(gòu)建一個整體的生態(tài)體系時,需要注意如何盡可能避免差錯方式的開發(fā),也就有了建模方式的上層應(yīng)用開發(fā)——建模開發(fā):基于模型的設(shè)計(MBD)方法,通過工具如Simulink或ASCET將系統(tǒng)功能抽象為可視化模型,實現(xiàn)算法和邏輯的仿真驗證。其核心流程包括靜態(tài)驗證(如MISRA規(guī)則檢查)、動態(tài)驗證(模型仿真與代碼測試)以及性能優(yōu)化(內(nèi)存與實時性管理),確保符合車載嵌入式系統(tǒng)的安全與實時性要求。此外,建模也會遵循AUTOSAR分層架構(gòu)標(biāo)準(zhǔn),將應(yīng)用層與底層硬件解耦,提升軟件的可復(fù)用性和可擴展性。
RT-Thread破局之路
RT-Thread+AUTOSAR CP
當(dāng)RT-Thread和AUTOSAR CP相遇時,雖然存在沖突(例如RT-Thread非常靈活,允許動態(tài)內(nèi)存分配的方式),但更多的是把雙方的優(yōu)點進行融合。
系統(tǒng)在實現(xiàn)AUTOSAR CP規(guī)范的同時兼容POSIX API。這使得車控系統(tǒng)在運行時,依然保留了RT-Thread便捷的shell命令行,甚至可以在Can總線上使用shell。另外,RT-Thread是一個可裁剪性較優(yōu)的系統(tǒng),所以當(dāng)不需要POSIX特性時,也可以完全裁減掉上層的系列組件,只保留最基本的內(nèi)核。而當(dāng)需要時,依然可以通過menuconfig方式靈活添加進來,包括上層的DFS設(shè)備文件系統(tǒng),TCP/IP網(wǎng)絡(luò)協(xié)議棧。這種靈活性使得系統(tǒng)能夠輕松集成更多POSIX功能庫,包括DDS實現(xiàn)(在新的AUTOSAR CP規(guī)范標(biāo)準(zhǔn)中也加入了DDS的功能,不過加入得比較晚。在程翧車控系統(tǒng)上帶了AUTOSAR CP風(fēng)格SOME/IP實現(xiàn),而DDS實現(xiàn)則更依賴于POSIX部分)。
rt-sfety os和rt-safety auto os
在操作系統(tǒng)內(nèi)核層面,系統(tǒng)基于RT-Thread實現(xiàn)了AUTOSAR Os,但這里的RT-Thread內(nèi)核并非傳統(tǒng)意義上的RT-Thread內(nèi)核,而是一個能夠向上提供安全機制的安全型內(nèi)核。這種實現(xiàn)方式形成了兩個層次的概念:
rt-safety os,底層的實時型安全內(nèi)核,它在內(nèi)核層保持了與RT-Thread API的兼容性,本質(zhì)上是對RT-Thread內(nèi)核API的安全實現(xiàn);
rt-safety auto os,基于rt-safety os實現(xiàn)了AUTOSAR Os API的AUTOSAR Os。
而在rt-safety os層面,需要重點考慮功能安全機制:
osa - os application
首先在在系統(tǒng)整體運行過程中,應(yīng)用與系統(tǒng)應(yīng)該是邏輯分離的:應(yīng)用運行在應(yīng)用的空間;系統(tǒng)(內(nèi)核)應(yīng)該運行在內(nèi)核的空間,兩者相互獨立、相互隔離。這種設(shè)計需要引入應(yīng)用的概念。雖然傳統(tǒng)計算機采用進程方式。但在MCU上,顯然進程差強人意,而且如果把應(yīng)用獨立開發(fā),反而會把一個簡單的事變得相對更復(fù)雜了(例如調(diào)試、燒寫等過程)。
在rt-safety os內(nèi)核上抽象了一份os application實現(xiàn),這與AUTOSAR Os中的OsApplication相對應(yīng)。類似進程方式,osa是一個內(nèi)核對象的容器,可以包括線程,semaphore,mutex,event等對象(這些對象創(chuàng)建后,屬于一個osa,而不屬于系統(tǒng)內(nèi)核)。
內(nèi)核態(tài)和用戶態(tài)分離
基于osa的設(shè)計,系統(tǒng)實現(xiàn)了內(nèi)存隔離機制,應(yīng)用并不能也不應(yīng)自行調(diào)整內(nèi)存訪問權(quán)限。所以osa應(yīng)用本身應(yīng)該運行在用戶態(tài)(不具備直接配置底層內(nèi)存分區(qū)的功能),而當(dāng)需要系統(tǒng)服務(wù)時,(通過系統(tǒng)調(diào)用)陷入到內(nèi)核中進行操作,然后結(jié)束后返回到用戶態(tài)。
雖然這種設(shè)計看起來和進程有許多相似之處,但不一樣的包括:
osa的代碼依然和系統(tǒng)整體代碼一起編譯,一起運行;
osa的代碼在運行過程中,從入口位置進入到用戶態(tài),以用戶態(tài)方式執(zhí)行;
進程需要有虛擬的隔離地址空間。
這種設(shè)計使得整個系統(tǒng)作為一個完整的工程,方便于燒寫到flash空間及調(diào)試。
AUTOSAR Os實現(xiàn)
rt-safety os作為底層安全型實時內(nèi)核,而AUTOSAR Os需要更豐富的功能支持,這些功能由rt-safety auto os提供,它實現(xiàn)了完整的AUTOSAR Os規(guī)范:
完整依據(jù)AUTOSAR Os規(guī)范進行實現(xiàn),包括它的需求和軟件設(shè)計;
OsApplication作為操作系統(tǒng)應(yīng)用,基于osa的上層封裝和實現(xiàn),具備多項基礎(chǔ)功能包括并不限于:
Task,CAT2 ISR
Counter,Alarm,Schedule Table
Resource,Event
支持多核的實現(xiàn),包括OsApplication間、核間安全通信的IoC通信機制;
得益于AUTOSAR CP的規(guī)范性,系統(tǒng)已在數(shù)個項目上實現(xiàn)了與其他AUTOSAR CP系統(tǒng)的單核或多核Os平替。
中間件
當(dāng)涉及到AUTOSAR CP時,必然也包括AUTOSAR CP架構(gòu)中的眾多中間件。這些組件按照AUTOSAR CP規(guī)范劃分為不同的列(功能列):
分成了:
System Services,系統(tǒng)服務(wù)
Memory Services,存儲服務(wù)
Communication Services,通信服務(wù)
I/O Hardware Abstraction,I/O硬件抽象
Complex Drivers,復(fù)雜驅(qū)動
這里重點對System Services(系統(tǒng)服務(wù)),Memory Services(存儲服務(wù)),Communication Services(通信服務(wù))做簡單介紹。
系統(tǒng)服務(wù)涉及到AUTOSAR Os,以及WdgM,StbM,BswM,EcuM等,這些都和系統(tǒng)相關(guān)。例如EcuM涉及到上下電的管理,會和RT-Thread原生的啟動順序差異很大,對RT-Thread的初始化進行深度調(diào)整后,兼容了EcuM(也包括其中的CallOut)。而WdgM則是多個功能安全模塊相關(guān),例如邏輯監(jiān)督,實現(xiàn)了內(nèi)圖算法。StbM(時鐘同步模塊),不僅實現(xiàn)了Can的時鐘同步,也包括對以太網(wǎng)時鐘同步的支持。
存儲服務(wù),主要涉及Nvm和Fee,Nvm提供Block存儲的隊列和備份機制,也包括crc校驗等特性;而Fee負責(zé)提供flash的磨損平衡,塊一致性信息管理。可以根據(jù)實際情況靈活的進行異步/同步存儲。它們在嵌入式汽車軟件中承擔(dān)了對持久性數(shù)據(jù)存儲和恢復(fù)的關(guān)鍵職責(zé)。
通信服務(wù),中間件中的核心模塊,包括了Com/LdCom,PduR,IpduM,以及到不同通信鏈路的路由和通信(Can,Lin,Eth)。PduR作為系統(tǒng)核心的路由表,由工具靜態(tài)配置生成。有了路由表后,收到的PDU會自動向不同端口進行路由。而Com模塊則和系統(tǒng)信號密切相關(guān),作為系統(tǒng)信號的數(shù)據(jù)池。此外,網(wǎng)絡(luò)管理模塊和ECU節(jié)點的上下電密切相關(guān),是系統(tǒng)的重要組成部分,包括部分網(wǎng)絡(luò)管理。
診斷和標(biāo)定功能雖然分散在不同功能列中,但很多時候也會被單獨討論。診斷模塊(Dcm/Dem/FiM),既包括了核心數(shù)據(jù)傳輸(也包括對診斷請求的應(yīng)答),也包括了故障碼處理(又和NvM關(guān)聯(lián)起來),而FiM則負責(zé)失效管理。
標(biāo)定則類似于在線調(diào)試器,可以通過上位機工具接入到網(wǎng)絡(luò)中,對參數(shù)進行修改并保存,從而供后續(xù)使用標(biāo)定后的參數(shù)進行工作。標(biāo)定協(xié)議包括CCP和XCP,其中CCP只工作于Can總線上,而XCP則可以是Xcp on Can和Xcp on Eth。
這些中間件,在RT-Thread Safety AUTO上的實現(xiàn)都采用解耦的方式,它們可以不依賴于AUTOSAR Os,即這些BSW中間件也可以工作在開源的RT-Thread系統(tǒng)上運行。
配置工具
正如前文所述,AUTOSAR CP更類似于工具配置模式,通過建模開發(fā),導(dǎo)入模型文件,然后配置,最終生成代碼。最理想的方式是,全程使用工具進行配置,生成代碼后編譯,直接在控制器上運行起來。通過工具的方式,降低人工代碼出錯的概率。
在程翧車控系統(tǒng)上,也支持這樣的方式,對應(yīng)的工具叫Clarence Studio(Clarence程翧英文名,Clarence Studio簡稱C-Studio)。以下是整體的流程過程:
結(jié)語
文章介紹了衍生自RT-Thread的程翧車控系統(tǒng)情況,它衍生自RT-Thread,但并不是RT-Thread,可以用以下的表格進行對比:
開源RT-Thread | RT-Thread AUTOSAR CP | |
實時性保障 | 優(yōu)先級搶占式調(diào)度 | 時間觸發(fā),周期性調(diào)度 |
功能安全 | 簡單的MPU保護機制 | 完整的功能安全機制 |
開發(fā)范式 | POSIX接口+自由組件擴展 | AUTOSAR規(guī)范的方法論 |
通信模型 | semaphore, mailbox等IPC | 標(biāo)準(zhǔn)化RTE接口 |
診斷能力 | 命令行、JTAG/SWD調(diào)試器 | 內(nèi)置AUTOSAR診斷模塊 |
工具鏈依賴 | 支持GCC/Keil/IAR | IDE + Clarence Studio配置工具,代碼生成工具 |
和開源RT-Thread的對比
程翧車控系統(tǒng)更多的信息,后續(xù)會有針對性的快速原型開發(fā)平臺,可以讓開發(fā)者,科研人員,高校人員基于這套快速原型開發(fā)平臺(使用建模設(shè)計方式)進行快速原型開發(fā)。
上一篇:理想自研功率模塊公布!無外露端子設(shè)計亮眼
下一篇:最后一頁
推薦閱讀最新更新時間:2025-06-30 17:03
- LTC1871、4.5V 至 15V 輸入、12.0V/2A 輸出 SEPIC 轉(zhuǎn)換器
- AMSRL-7815-NZ 15V 高達 7.5 瓦 DC-DC 開關(guān)穩(wěn)壓器的典型應(yīng)用
- CY8C5888AXI-LP096 CY8C58LP PSoC 5LP 可編程片上系統(tǒng)的典型應(yīng)用
- AM1D-0512S-RZ 12V 1 瓦 DC/DC 轉(zhuǎn)換器的典型應(yīng)用
- DER-526 - 18W非調(diào)光非隔離降壓-升壓LED驅(qū)動器
- 使用 Richtek Technology Corporation 的 RT8011APQW 的參考設(shè)計
- 使用 Analog Devices 的 LT1317IS8 的參考設(shè)計
- AM1D-1505SH30-RZ 5V 1W DC-DC 轉(zhuǎn)換器的典型應(yīng)用
- LTC4089 的典型應(yīng)用,全功能鋰離子電池充電器
- 使用 ON Semiconductor 的 NUD4022 的參考設(shè)計
- ARXML 規(guī)則下 ECU 總線通訊與 ADTF 測試方案
- 日產(chǎn)在歐洲推出第三代e-POWER技術(shù)
- 福特CEO更看好Waymo激光雷達方案:比特斯拉純視覺自動駕駛路線可靠
- 智元機器人兩大核心產(chǎn)品啟動規(guī)?;a(chǎn)
- 固態(tài)電池2026量產(chǎn)豪賭,真相還是泡沫?
- 100億元!湖北“下注”人形機器人產(chǎn)業(yè)
- 海外磷酸鐵鋰電池產(chǎn)能從0到1
- 基于多傳感器數(shù)據(jù)的自動駕駛仿真確定性驗證
- 國芯科技發(fā)布全球首款48V安全氣囊芯片,引領(lǐng)智能汽車新紀元
- 亞馬遜全球部署100萬臺機器人
- 超過800種加密貨幣死亡 比特幣交易價已跌去70%
- 專訪倪光南:格力做芯片設(shè)計可行 聯(lián)想失機難挽回
- 瘋狂的MLCC再添IPO新廠,韋爾股份子公司擬收購OV1.9826%股權(quán)
- 赴港IPO之路再起波折!小米被訴侵犯標(biāo)準(zhǔn)必要專利,索賠5000萬
- ?HTC宣布制造部門裁員1500人,員工數(shù)量將不足5000人
- 河海大學(xué)-泰克科技智能實驗室在常州校區(qū)成立
- 為AI芯片鋪路?原三星半導(dǎo)體周軍加盟Rokid
- 3D高分辨率地圖高數(shù)據(jù)量 實現(xiàn)自駕非5G不可
- 飛利浦人工智能驅(qū)動專科疾病一體化解決方案
- Android陣營3D感測內(nèi)外交困,聯(lián)發(fā)科、聯(lián)詠入局