隨著汽車電動(dòng)化、智能網(wǎng)聯(lián)化的不斷發(fā)展,汽車控制系統(tǒng)將面臨大量功能增加及技術(shù)升級(jí),其中的電子電器架構(gòu)逐漸趨向于中央計(jì)算集中化。針對(duì)高級(jí)駕駛輔助系統(tǒng)(ADAS)的自動(dòng)泊車功能,對(duì)基于車載以太網(wǎng)的分布式實(shí)時(shí)通信(DDS)協(xié)議開展架構(gòu)設(shè)計(jì),通過(guò)多種異構(gòu)傳感器信息的采集和傳輸,實(shí)現(xiàn)自動(dòng)泊車功能數(shù)據(jù)的實(shí)時(shí)交換。從實(shí)車檢測(cè)效果來(lái)看,該設(shè)計(jì)方案可以滿足當(dāng)前駕駛輔助系統(tǒng)自動(dòng)泊車功能的需求。
0 前言
目前,國(guó)內(nèi)汽車駕駛輔助系統(tǒng)控制器之間通信大多采用控制器局域網(wǎng)絡(luò)(CAN)總線協(xié)議或帶靈活可變數(shù)據(jù)波特率的控制器局域網(wǎng)絡(luò)(CAN-FD)總線協(xié)議,少數(shù)采用可擴(kuò)展面向服務(wù)的IP 中間件(SOME/IP)協(xié)議。隨著汽車智能化、網(wǎng)聯(lián)化的發(fā)展,大量數(shù)據(jù)需要高速傳輸和交換,且對(duì)數(shù)據(jù)的可靠性要求也越來(lái)越高,CAN 總線協(xié)議已經(jīng)逐漸滿足不了大量數(shù)據(jù)傳輸?shù)男枨螅琒OME/IP 協(xié)議也滿足不了大數(shù)據(jù)、多節(jié)點(diǎn)、高質(zhì)量服務(wù)的應(yīng)用場(chǎng)景,因此分布式實(shí)時(shí)通信(DDS)協(xié)議作為多域控制器之間的通信,被逐步應(yīng)用于汽車電子系統(tǒng)中[1]。
DDS 協(xié)議是一套通信協(xié)議和應(yīng)用程序編程接口的標(biāo)準(zhǔn),其基于發(fā)布者和訂閱者模型,提供了以數(shù)據(jù)為中心的連接服務(wù)。DDS 協(xié)議的功能介于操作系統(tǒng)和應(yīng)用程序之間,使得各控制模塊之間可以互相通信,且提供了低延遲、高可靠的通信,以及可擴(kuò)展的架構(gòu)。
由于DDS 協(xié)議體量較大且占用處理器資源較多,所以在汽車高級(jí)駕駛輔助系統(tǒng)(ADAS)方面使用較少。DDS 協(xié)議對(duì)設(shè)計(jì)和性能的要求比較高,主要體現(xiàn)在處理器的選型、DDS 協(xié)議接口定義語(yǔ)言(IDL)設(shè)計(jì)和服務(wù)質(zhì)量(QoS)設(shè)計(jì)部分。本文通過(guò)在TDA4VM 處理器上對(duì)基于ADAS 自動(dòng)泊車功能的DDS 協(xié)議進(jìn)行設(shè)計(jì),從而使DDS 協(xié)議的大體量可以通過(guò)合理設(shè)計(jì)IDL 和QoS 來(lái)解決,以滿足在車輛自動(dòng)泊車功能方面的應(yīng)用需求。
1 系統(tǒng)設(shè)計(jì)
用于ADAS 自動(dòng)泊車功能的DDS 協(xié)議系統(tǒng)設(shè)計(jì)如圖1 所示。由圖1 可以看出,在ADAS 控制器(TDA4VM 處理器)上設(shè)計(jì)自動(dòng)泊車功能是以DDS 協(xié)議來(lái)實(shí)現(xiàn)通信的,ADAS 控制器與動(dòng)力底盤控制器之間通過(guò)CAN-FD 協(xié)議實(shí)現(xiàn)相互通信,其中SOC 為系統(tǒng)級(jí)芯片,MCU 為單片機(jī)。
圖1 基于ADAS 自動(dòng)泊車功能的DDS 協(xié)議的系統(tǒng)設(shè)計(jì)
自動(dòng)泊車功能的數(shù)據(jù)傳輸設(shè)計(jì)主要是將泊車功能的輸入、輸出信號(hào)通過(guò)ADAS 控制器內(nèi)部的DDS 協(xié)議傳輸?shù)絼?dòng)力底盤控制器上。因此,在DDS 設(shè)計(jì)過(guò)程中,需要注意ADAS 控制器中的SOC 端和MCU 端DDS 協(xié)議的IDL 設(shè) 計(jì) 和QoS 設(shè)計(jì),以及如何通過(guò)合理的IDL 和QoS 設(shè)計(jì)使得ADAS 自動(dòng)泊車功能能夠滿足給定的功能需求和性能需求[2]。
2 DDS 協(xié)議設(shè)計(jì)技術(shù)
基于ADAS 自動(dòng)泊車功能的DDS 協(xié)議設(shè)計(jì)主要是在TDA4VM 處理器的R5F 內(nèi)核與A72 內(nèi)核進(jìn)行設(shè)計(jì)部署,具體包括TDA4VM 處理器的DDS協(xié)議設(shè)計(jì)、DDS 協(xié)議中IDL 設(shè)計(jì)、DDS 協(xié)議中QoS設(shè)計(jì)這3 個(gè)部分。本文基于ADAS 自動(dòng)泊車功能DDS 協(xié)議的部分設(shè)計(jì)進(jìn)行技術(shù)分析。
2.1 TDA4VM 處理器的DDS 協(xié)議設(shè)計(jì)
ADAS 控制器采用的是德州儀器公司生產(chǎn)的TDA4VM 處理器。該處理器的優(yōu)點(diǎn)是多核異構(gòu)且選用適合的內(nèi)核完成相應(yīng)的任務(wù),此外專用硬件加速器也可以處理特定任務(wù),從而在性能、功耗和成本上達(dá)到最佳平衡。該處理器共有11 個(gè)內(nèi)核,使用其中8 個(gè)內(nèi)核實(shí)現(xiàn)ADAS 功能,分別是6 個(gè)R5F內(nèi)核(其中2 個(gè)R5F 內(nèi)核屬于MCU 域,4 個(gè)R5F 內(nèi)核屬于MAIN 域(主域))和2 個(gè)A72 內(nèi)核(屬于MAIN 域),這8 個(gè)內(nèi)核的通信采用DDS 協(xié)議實(shí)現(xiàn)。DDS 協(xié)議是基于操作系統(tǒng)和以太網(wǎng)協(xié)議才能實(shí)現(xiàn)通信功能的。
將輔助駕駛功能的需求部署在TDA4VM 處理器的不同內(nèi)核上[3],推薦方案如圖2 所示。將高算力的輔助駕駛功能或者傳感器采集(例如攝像頭、雷達(dá)、全球定位系統(tǒng)(GPS)、慣性測(cè)量單元(IMU)和地圖等)部署在2 個(gè)A72 內(nèi)核上,其中包含ADAS 的自動(dòng)泊車功能。將需要具備功能安全的輔助駕駛功能或者是CAN 總線上的信號(hào)采集部署在MCU 域上,將不需要功能安全的輔助駕駛功能部署在MAIN 域的4 個(gè)R5F 內(nèi)核上。
圖2 TDA4VM 處理器上的DDS 部署方案
DDS 協(xié)議在TDA4VM 處理器上的部署情況如圖2 所示。按照自動(dòng)駕駛功能的需求,MCU 域上會(huì)有具備汽車安全完整性等級(jí)D 的要求,主要功能是對(duì)動(dòng)力底盤相關(guān)的信號(hào)進(jìn)行采集和處理;這些信號(hào)經(jīng)過(guò)DDS 協(xié)議由TDA4VM 處理器內(nèi)部以太網(wǎng)交換機(jī)傳送給高算力的A72 內(nèi)核,以供ADAS 自動(dòng)泊車功能使用。MAIN 域上的4 個(gè)R5F 內(nèi)核上主要部署了對(duì)ADAS 功能的監(jiān)控及靜默升級(jí)等功能。
2.2 DDS 協(xié)議的IDL 設(shè)計(jì)
IDL 是一種描述性語(yǔ)言,以獨(dú)立于編程語(yǔ)言和操作系統(tǒng)處理器平臺(tái)的方式來(lái)定義用于交互的數(shù)據(jù)類型和接口。本文采用DDS 協(xié)議的數(shù)據(jù)提供者和數(shù)據(jù)接收者IDL 設(shè)計(jì)數(shù)據(jù)格式。ADAS 的自動(dòng)泊車功能與動(dòng)力底盤控制通信的信號(hào)在TDA4VM處理器上通過(guò)MCU 域的R5F 內(nèi)核和MAIN 域的A72 內(nèi)核 使 用DDS 協(xié) 議 進(jìn)行傳輸[4],在 此 過(guò) 程中IDL 的設(shè)計(jì)是評(píng)判處理器資源消耗情況的關(guān)鍵。在IDL 的設(shè)計(jì)中,DDS 協(xié)議的主題數(shù)量是衡量處理器資源消耗的關(guān)鍵指標(biāo),主題數(shù)量越多,資源消耗越大。特別是MCU 域資源比較緊張,在使用DDS 協(xié)議時(shí)需要重點(diǎn)考慮MCU 端的IDL 設(shè)計(jì)對(duì)資源的消耗。
2.2.1 上通信號(hào)
設(shè)計(jì)MCU 域時(shí),將CAN 總線上采集的動(dòng)力底盤信號(hào)從MCU 域的R5F 內(nèi)核上傳輸?shù)組AIN 域的A72 內(nèi)核上,此過(guò)程中傳輸?shù)男盘?hào)稱為上通信號(hào)。
考慮到MCU 域的內(nèi)存問(wèn)題,且CAN-FD 總線上的數(shù)據(jù)較多,為了節(jié)省資源,將自動(dòng)泊車功能的輸入輸出信號(hào)和采集到的動(dòng)力底盤信號(hào)解析部署在A72 內(nèi)核上。在MCU 域上只進(jìn)行數(shù)據(jù)接收、數(shù)據(jù)防丟失設(shè)計(jì)和監(jiān)控接管。上通信號(hào)的IDL 設(shè)計(jì)方案按照CAN-FD 的信息結(jié)構(gòu)格式來(lái)設(shè)計(jì)IDL 文件,IDL 文件在設(shè)計(jì)結(jié)構(gòu)中包括CAN-FD 的ID 號(hào)、CAN-FD 報(bào)文周期、CAN-FD 報(bào)文長(zhǎng)度和CANFD 報(bào)文的64 個(gè)字節(jié)數(shù)據(jù)。此設(shè)計(jì)方案對(duì)DDS 協(xié)議在MCU 域的部署來(lái)說(shuō)只使用了1 個(gè)主題,從而節(jié)省了DDS 協(xié)議的資源消耗,也提高了MCU 域的運(yùn)行效率。
2.2.2 下通信號(hào)
設(shè)計(jì)SOC 端時(shí),對(duì)攝像頭、雷達(dá)、GPS 和IMU等信號(hào)進(jìn)行采集并融合處理,將相關(guān)的動(dòng)力底盤信號(hào)傳輸?shù)組CU 域的R5F 內(nèi)核上。將A72 內(nèi)核上的服務(wù)化數(shù)據(jù)通過(guò)DDS 協(xié)議傳輸?shù)組CU 域上,此過(guò)程中出現(xiàn)的信號(hào)稱為“下通信號(hào)”。
ADAS 自動(dòng)泊車功能的下通信號(hào)主要是動(dòng)力底盤信號(hào),需要具備功能安全的要求,所以A72 內(nèi)核上對(duì)于信號(hào)的處理只做服務(wù)化后的傳輸,在MCU 域上進(jìn)行信號(hào)的解析和傳輸。下通信號(hào)的IDL 設(shè)計(jì)按照ADAS 的自動(dòng)泊車功能來(lái)設(shè)計(jì)動(dòng)力控制模塊,此模塊由控制動(dòng)力的信號(hào)結(jié)構(gòu)體(包含速度、加速度、距離與檔位信號(hào))、控制橫向信號(hào)的結(jié)構(gòu)體(包含橫向使能與方向盤角度信號(hào))、控制縱向信號(hào)的結(jié)構(gòu)體(包含縱向使能、剎車扭矩與速度控制信號(hào))和駐車控制的枚舉結(jié)構(gòu)(包含使能手剎信號(hào)與取消手剎信號(hào))4 個(gè)部分組成。完成模塊設(shè)計(jì)后可對(duì)動(dòng)力底盤進(jìn)行控制?;诠δ馨踩男枨螅峦ㄐ盘?hào)需要4 個(gè)主題來(lái)定義,由于數(shù)據(jù)量小,使得MCU 域的資源消耗不會(huì)太大,同時(shí)下通信號(hào)也具備了功能安全的要求。此設(shè)計(jì)方案使得MCU域的資源消耗與信號(hào)安全達(dá)到了相對(duì)的平衡。
2.3 DDS 的QoS 設(shè)計(jì)
DDS 協(xié)議擁有靈活的QoS 選項(xiàng)和配置屬性,其中包括數(shù)據(jù)的可用性控制、數(shù)據(jù)的交付方式控制、數(shù)據(jù)的時(shí)效性控制、用戶信息的定義和分發(fā)、網(wǎng)絡(luò)和數(shù)據(jù)資源的控制。用戶可通過(guò)QoS 策略來(lái)控制數(shù)據(jù)在應(yīng)用程序之間共享的方式。用戶可依據(jù)應(yīng)用場(chǎng)景的需求,選擇相應(yīng)的QoS 策略來(lái)滿足通信質(zhì)量的需求。
DDS 協(xié)議的數(shù)據(jù)提供者和數(shù)據(jù)接收者中最常用的QoS 選項(xiàng)有可靠性、歷史性、資源限制、持久性、傳輸延遲性與心跳周期。DDS 協(xié)議需要設(shè)計(jì)QoS 屬性的有參與者、數(shù)據(jù)提供者、數(shù)據(jù)接收者和主題4 個(gè)部分。DDS 協(xié)議的QoS 設(shè)計(jì)在MCU 和SOC 上有不同的實(shí)現(xiàn)方法:MCU 是靜態(tài)加載,會(huì)以代碼配置形式寫入MCU 的程序中;SOC 可以是動(dòng)態(tài)加載也可以是靜態(tài)加載,此處采用可擴(kuò)展標(biāo)記語(yǔ)言(XML)文件的形式進(jìn)行動(dòng)態(tài)加載,靈活性較高。DDS 協(xié)議中有默認(rèn)的QoS 設(shè)計(jì),可隨著DDS協(xié)議的運(yùn)行而運(yùn)行,新設(shè)計(jì)的QoS 會(huì)覆蓋默認(rèn)的QoS 中的相同配置。
2.3.1 MCU 的QoS 設(shè)計(jì)
按照ADAS 自動(dòng)泊車功能的需求,MCU 的數(shù)據(jù)提供者和數(shù)據(jù)接收者的QoS 設(shè)計(jì)需求有所不同。數(shù)據(jù)提供者的QoS 設(shè)計(jì)屬性有資源限制設(shè)計(jì)、歷史性設(shè)計(jì)、心跳周期設(shè)計(jì)3 個(gè)部分配置,其他屬性選擇默認(rèn)設(shè)計(jì)。在資源限制中,最大樣本實(shí)例數(shù)為3、最大實(shí)例數(shù)為1、最大樣本數(shù)為3,資源限制的設(shè)計(jì)是為了讓寫入數(shù)據(jù)的速度與讀取數(shù)據(jù)的速度相匹配。數(shù)據(jù)提供者資源限制的最大遠(yuǎn)程讀取節(jié)點(diǎn)限制為2,最大寫入通道數(shù)為2,如此設(shè)計(jì)是為了限制讀取端最大的節(jié)點(diǎn)數(shù)。在歷史性設(shè)計(jì)中,歷史數(shù)據(jù)深度設(shè)置為3,這可保證數(shù)據(jù)丟失補(bǔ)償。在心跳周期設(shè)計(jì)中,心跳周期設(shè)置為250 ms??蓪?shí)現(xiàn)DDS協(xié)議中,實(shí)時(shí)發(fā)布訂閱(RTPS)協(xié)議包括對(duì)已丟失并重傳消息的檢測(cè)。
數(shù)據(jù)接收者的QoS 設(shè)計(jì)屬性有資源限制設(shè)計(jì)、歷史性設(shè)計(jì)2 個(gè)部分配置其他屬性選擇默認(rèn)設(shè)計(jì)。在資源限制中,最大樣本實(shí)例數(shù)為3、最大實(shí)例數(shù)為1、最大樣本數(shù)為3,資源限制的設(shè)計(jì)是為了讓寫入數(shù)據(jù)的速度與讀取數(shù)據(jù)的速度相匹配。數(shù)據(jù)接收者資源限制的最大遠(yuǎn)程讀取節(jié)點(diǎn)限制為2,最大寫入通道數(shù)為2。此設(shè)計(jì)是為了限制讀取端最大的節(jié)點(diǎn)數(shù)。
2.3.2 SOC 的QoS 設(shè)計(jì)
根據(jù)ADAS 自動(dòng)泊車功能的需求,將QoS 中的數(shù)據(jù)提供者和數(shù)據(jù)接收者XML 文件進(jìn)行重新設(shè)計(jì),保證SOC 的所有數(shù)據(jù)提供者和數(shù)據(jù)接收者的QoS 配置項(xiàng)都相同。其中,將QoS 的歷史數(shù)據(jù)跟蹤深度設(shè)置為3,可記錄3 次歷史數(shù)據(jù)且對(duì)數(shù)據(jù)丟失進(jìn)行了補(bǔ)償。此外也加入了選擇可靠值屬性,該設(shè)計(jì)方案是對(duì)數(shù)據(jù)的DDS 協(xié)議傳輸進(jìn)行了加固,并將持久性的QoS 配置項(xiàng)設(shè)計(jì)為瞬態(tài)局持久性,這對(duì)數(shù)據(jù)提供者來(lái)說(shuō)就是將發(fā)送的數(shù)據(jù)寫入歷史記錄中且保存已發(fā)送數(shù)據(jù),當(dāng)數(shù)據(jù)出現(xiàn)丟失時(shí),會(huì)將歷史記錄中的數(shù)據(jù)重新發(fā)送出去。
3 結(jié)果與分析
通過(guò)對(duì)DDS 協(xié)議在TDA4VM 處理器上的部署設(shè)計(jì)、DDS 協(xié)議的IDL 設(shè)計(jì)、DDS 協(xié)議的QoS 設(shè)計(jì)完成了MCU 域的R5F 內(nèi)核和MAIN 域的A72內(nèi)核的相互通信,實(shí)現(xiàn)了ADAS 自動(dòng)泊車功能,同時(shí)使用基于DDS 協(xié)議的性能測(cè)試工具進(jìn)行測(cè)試[5]。結(jié)果顯示,基于DDS 協(xié)議從MCU 域到SOC 端(A72 內(nèi)核)的通信測(cè)試結(jié)果延遲時(shí)間在2~4 ms。從實(shí)車檢測(cè)效果來(lái)看,該方案可以滿足當(dāng)前ADAS自動(dòng)泊車功能的需求。
4 結(jié)語(yǔ)
基于ADAS 自動(dòng)泊車功能的DDS 設(shè)計(jì),在TDA4VM 處理器上部署DDS 協(xié)議,能夠?qū)崿F(xiàn)數(shù)據(jù)的集中化分發(fā),且在MCU 域上進(jìn)行DDS 協(xié)議部署,可在系統(tǒng)資源緊張的情況下做到大量數(shù)據(jù)的接收和分發(fā),從性能角度大幅優(yōu)化了MCU 端DDS 協(xié)議帶來(lái)的影響,為后期多域和跨域融合使用DDS 協(xié)議的設(shè)計(jì)奠定了基礎(chǔ)。未來(lái),最大的設(shè)計(jì)挑戰(zhàn)可能還是MCU 端,由于系統(tǒng)資源緊缺且DDS 協(xié)議又是一個(gè)比較重要且耗費(fèi)資源的協(xié)議,因此當(dāng)DDS 設(shè)計(jì)的模塊化變多時(shí),MCU 端的工作負(fù)擔(dān)會(huì)加重,從而影響自動(dòng)駕駛功能在MCU 域上的運(yùn)行效率。
審核編輯:劉清
-
控制器
+關(guān)注
關(guān)注
112文章
16382瀏覽量
178313 -
CAN總線
+關(guān)注
關(guān)注
145文章
1952瀏覽量
130810 -
汽車電子
+關(guān)注
關(guān)注
3026文章
7972瀏覽量
167142 -
DDS
+關(guān)注
關(guān)注
21文章
634瀏覽量
152697 -
ADAS系統(tǒng)
+關(guān)注
關(guān)注
4文章
226瀏覽量
25706
原文標(biāo)題:基于ADAS 的自動(dòng)泊車功能數(shù)據(jù)分發(fā)服務(wù)設(shè)計(jì)
文章出處:【微信號(hào):阿寶1990,微信公眾號(hào):阿寶1990】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論