AUTOSAR(Automotive Open System Architecture)即汽車(chē)開(kāi)放系統(tǒng)架構(gòu),該架構(gòu)支持汽車(chē)電子控制單元(ECU)之間的通信,實(shí)現(xiàn)了高度模塊化和可重用性。AUTOSAR通信協(xié)議棧是一個(gè)復(fù)雜的系統(tǒng),它涵蓋了多種通信方式和模塊,以實(shí)現(xiàn)車(chē)內(nèi)ECU之間的高效、可靠的數(shù)據(jù)交換。以下是對(duì)AUTOSAR通信協(xié)議的解析及實(shí)現(xiàn)AUTOSAR通信的方法:
一、AUTOSAR通信協(xié)議解析
- 通信服務(wù)組成部分
AUTOSAR通信協(xié)議棧主要由以下幾個(gè)模塊組成:- Com模塊 :為應(yīng)用程序提供基于信號(hào)的數(shù)據(jù)服務(wù)的接口,并根據(jù)信號(hào)自身預(yù)定義的發(fā)送類(lèi)型來(lái)發(fā)送報(bào)文。為了支持應(yīng)用程序的復(fù)雜類(lèi)型(如結(jié)構(gòu)體),Com模塊還定義了信號(hào)組的概念,并提供了附加的服務(wù)接口,用于檢測(cè)是否成功發(fā)送、接收?qǐng)?bào)文以及報(bào)文是否超時(shí)等。對(duì)于多個(gè)通信通道的ECU,Com模塊還提供了一個(gè)用于不同通信總線(xiàn)之間的信號(hào)路由(即信號(hào)網(wǎng)關(guān))的功能。
- Dcm模塊 :根據(jù)ISO 14229-1(Unified diagnostic services即UDS)實(shí)現(xiàn)診斷通信。診斷請(qǐng)求分為兩部分:一部分被直接送往Dcm模塊(包括診斷會(huì)話(huà)的管理、讀取故障碼、重啟ECU等);另一部分通過(guò)配置的端口轉(zhuǎn)發(fā)到對(duì)應(yīng)的軟件組件(讀、寫(xiě)、數(shù)據(jù)標(biāo)志控制、例程執(zhí)行等)。
- PduR模塊 :提供PDU的路由功能,實(shí)現(xiàn)PDU在不同總線(xiàn)系統(tǒng)或不同通信控制器之間的傳輸。
- IpduM模塊 :負(fù)責(zé)支持對(duì)PDU的多重使用。通過(guò)與PduR交互,IpduM模塊可以實(shí)現(xiàn)PDU的復(fù)用,從而節(jié)省報(bào)文ID等資源,提高通信效率。
- TP模塊 :負(fù)責(zé)大協(xié)議數(shù)據(jù)單元的拆包和組包。TP模塊將大PDU拆分成多個(gè)小的幀進(jìn)行傳輸,并在接收端將這些小的幀重新組合成原始的PDU。這確保了數(shù)據(jù)能夠在不同的總線(xiàn)系統(tǒng)上有效、可靠地傳輸。
- If模塊 :使用驅(qū)動(dòng)層的基于幀的服務(wù),向上提供PDU的發(fā)送和接收服務(wù)。同時(shí),If模塊通過(guò)PDU和硬件緩沖區(qū)的映射提供硬件緩沖區(qū)的復(fù)用功能。
- 通信關(guān)鍵技術(shù)
- 分層模型機(jī)制 :AUTOSAR通信協(xié)議棧采用分層模型,每一層都有其特定的功能和協(xié)議數(shù)據(jù)單元(PDU)。這種分層設(shè)計(jì)使得通信協(xié)議棧更加靈活和可擴(kuò)展。
- 通信路徑分配機(jī)制 :AUTOSAR通信協(xié)議棧通過(guò)配置和路由表來(lái)分配通信路徑,確保數(shù)據(jù)能夠按照預(yù)定的路徑進(jìn)行傳輸。
- 基于信號(hào)的通信路徑 :AUTOSAR通信協(xié)議棧支持基于信號(hào)的通信路徑,即數(shù)據(jù)以信號(hào)的形式在ECU之間進(jìn)行傳輸。這使得數(shù)據(jù)的傳輸更加靈活和高效。
- PDU ID映射機(jī)制 :AUTOSAR通信協(xié)議棧通過(guò)PDU ID映射機(jī)制來(lái)確保不同ECU之間能夠正確識(shí)別和解析接收到的數(shù)據(jù)。
二、實(shí)現(xiàn)AUTOSAR通信的方法
- ECU間通信
ECU間通信主要通過(guò)預(yù)定義的通信協(xié)議棧(如CAN、LIN、FlexRay等)進(jìn)行。開(kāi)發(fā)者需要配置相應(yīng)的通信參數(shù)(如波特率、數(shù)據(jù)位長(zhǎng)度等),并通過(guò)通信協(xié)議棧提供的API進(jìn)行數(shù)據(jù)的發(fā)送和接收。例如,在CAN總線(xiàn)上發(fā)送數(shù)據(jù)時(shí),可以使用CanIf_Transmit函數(shù)將數(shù)據(jù)封裝成CAN消息并發(fā)送出去。 - OS-Application內(nèi)SWC間的通信
在同一個(gè)OS-Application內(nèi),SWC(Software Component)間的通信主要通過(guò)RTE(Runtime Environment)進(jìn)行處理。RTE提供了SWC間通信的接口和機(jī)制,使得SWC能夠按照預(yù)定的方式進(jìn)行數(shù)據(jù)交換。這種通信方式通常具有較高的效率和可靠性。 - OS-Application間的通信
OS-Application間的通信相對(duì)復(fù)雜一些,因?yàn)椴煌腛S-Application可能運(yùn)行在不同的核上,并且受到內(nèi)存保護(hù)邊界的限制。為了實(shí)現(xiàn)OS-Application間的通信,AUTOSAR提供了IOC(Inter-OS-Application Communication)機(jī)制。IOC通過(guò)配置SWC端口和映射關(guān)系,實(shí)現(xiàn)了不同OS-Application之間的數(shù)據(jù)交換。在使用IOC時(shí),需要注意數(shù)據(jù)一致性和Spinlock的使用,以避免死鎖等問(wèn)題的發(fā)生。
此外,在實(shí)現(xiàn)AUTOSAR通信時(shí),還需要注意以下幾點(diǎn):
- 通信協(xié)議的選擇 :根據(jù)應(yīng)用場(chǎng)景和需求選擇合適的通信協(xié)議(如CAN、LIN、FlexRay等)。不同的通信協(xié)議具有不同的特點(diǎn)和適用范圍。
- 通信參數(shù)的配置 :正確配置通信參數(shù)(如波特率、數(shù)據(jù)位長(zhǎng)度、校驗(yàn)方式等),以確保數(shù)據(jù)的正確傳輸和接收。
- 通信數(shù)據(jù)的處理 :在發(fā)送和接收數(shù)據(jù)時(shí),需要進(jìn)行相應(yīng)的數(shù)據(jù)處理(如數(shù)據(jù)封裝、解封裝、校驗(yàn)等),以確保數(shù)據(jù)的完整性和正確性。
- 通信故障的處理 :在通信過(guò)程中,可能會(huì)遇到各種故障(如總線(xiàn)故障、節(jié)點(diǎn)故障等)。因此,需要設(shè)計(jì)相應(yīng)的故障處理機(jī)制來(lái)應(yīng)對(duì)這些故障,確保系統(tǒng)的穩(wěn)定性和可靠性。
綜上所述,實(shí)現(xiàn)AUTOSAR通信需要深入理解AUTOSAR通信協(xié)議棧的結(jié)構(gòu)和工作原理,并根據(jù)應(yīng)用場(chǎng)景和需求選擇合適的通信方式和模塊。同時(shí),還需要注意通信參數(shù)的配置、通信數(shù)據(jù)的處理以及通信故障的處理等方面的問(wèn)題。
-
通信協(xié)議
+關(guān)注
關(guān)注
28文章
879瀏覽量
40295 -
接口
+關(guān)注
關(guān)注
33文章
8575瀏覽量
151014 -
AUTOSAR
+關(guān)注
關(guān)注
10文章
360瀏覽量
21552 -
控制單元
+關(guān)注
關(guān)注
0文章
74瀏覽量
12818
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論