鳳良山,李 俊
一種域控制器片內(nèi)及片外時間同步的方法
鳳良山,李 俊
(上海創(chuàng)時汽車科技有限公司,上海 201206)
目前整車E/E架構(gòu)由于面臨來自不同控制器和傳感器的數(shù)據(jù)交互需求而變得愈加復(fù)雜,所需要解決的問題包括:功能復(fù)雜性,通信帶寬,計算能力,靈活性,可拓展性等。其中域控制器上層應(yīng)用算法對獲取數(shù)據(jù)的同步尤其敏感,數(shù)據(jù)融合需要針對同一時間點獲取到的數(shù)據(jù)做融合處理。因此,對域控制器內(nèi)部的異構(gòu)多核、外部控制器數(shù)據(jù)以及傳感器數(shù)據(jù)時間同步的研究尤其重要?;诖?,文章詳細介紹了域控制器片內(nèi)及片外時間同步的方法,解決了域控制器內(nèi)外部數(shù)據(jù)時間不同步的技術(shù)缺陷。
域控制器;數(shù)據(jù)融合;傳感器數(shù)據(jù);異構(gòu)多核;時間同步
時間同步是指一個系統(tǒng)的各個模塊都要同步到系統(tǒng)的主時鐘源,整個系統(tǒng)的運行基于同一個時間基點。以高級輔助駕駛、自動駕駛系統(tǒng)為例,系統(tǒng)包含環(huán)境感知、數(shù)據(jù)融合、路徑規(guī)劃和應(yīng)用執(zhí)行,其中系統(tǒng)正確運行的一個重要問題就是要保證獲取的數(shù)據(jù)精確時間同步,算法的基準是所有的數(shù)據(jù)都是在同一時間點獲取的,否則應(yīng)用功能無法保證做出正確的預(yù)判,可能造成自動駕駛的嚴重事故。
隨著L2和L3級別自動駕駛需求的設(shè)計,域控制器的架構(gòu)越來越復(fù)雜,一個典型的域控制器可能包含多個SoC和MCU來處理大量的數(shù)據(jù)[1]。本文研究的時間同步系統(tǒng)架構(gòu)如圖1所示,域控制器內(nèi)包含一個MCU和兩個SoC,其中MCU和SoC 1通過以太網(wǎng)交換機和外部的以太網(wǎng)關(guān)相連,域控制器內(nèi)部MCU和SoC 2通過GPIO和SPI/UART接口交換數(shù)據(jù),外部傳感器節(jié)點和MCU通過私有CAN相連。整個系統(tǒng)時間同步包含域控制器和外部主時鐘源控制器的時間同步(MCU/ SoC 1和網(wǎng)關(guān)節(jié)點之間的同步),域控制器片內(nèi)異構(gòu)多核的時間同步(MCU和SoC 2之間的時間同步),域控制器和外部傳感器控制器的時間同步(MCU和外部傳感器節(jié)點之間的時間同步)[2]。
圖1 時間同步系統(tǒng)架構(gòu)
域控制器和外部主時鐘源控制器的時間同步如圖2所示,包含域控制器內(nèi)的MCU,SoC 1和外部網(wǎng)關(guān)之間的同步,其中MCU和SoC 1通過以太網(wǎng)switch和外部的以太網(wǎng)關(guān)相連,該同步以外部網(wǎng)關(guān)作為主時鐘源提供基準時間,MCU和SoC 1根據(jù)提供的基準時間校準各自的時鐘時間,實現(xiàn)和主時鐘源的時間同步。其中MCU和SoC分別運行g(shù)PTP協(xié)議,該協(xié)議是基于數(shù)據(jù)包的時間同步協(xié)議[3]。數(shù)據(jù)傳輸和時間同步使用同一網(wǎng)絡(luò),它描述了如何在基于數(shù)據(jù)包網(wǎng)絡(luò)(比如以太網(wǎng))上分配同步時間(相位、頻率和絕對時間)的機制,時鐘精度達到亞微秒級。
如圖2所示,其中MCU端基于Autosar軟件架構(gòu)開發(fā),涉及的模塊包括以太網(wǎng)驅(qū)動(EthernetDrv)、時間同步處理模塊(EthTSyn)、時間同步基準控制模塊(StbM)和上層時間觸發(fā)任務(wù)調(diào)度模塊(SWC);SoC 1端基于Linux平臺開發(fā),涉及的模塊包括以太網(wǎng)驅(qū)動,協(xié)議棧的開發(fā)(TCP/IP, gPTP)和上層時間觸發(fā)任務(wù)調(diào)度模塊(SWC)。
圖2 域控制器和主時鐘源同步
主要模塊的具體功能描述見表1:
表1 時間同步模塊
模塊功能分類功能描述 上層時間觸發(fā)任務(wù)調(diào)度模塊(SWC)任務(wù)觸發(fā)及調(diào)度執(zhí)行周期觸發(fā)任務(wù)調(diào)度任務(wù)調(diào)度生成 時間同步基準控制模塊(StbM)時間基準模塊提供本地時間基準提供時間調(diào)度任務(wù)同步服務(wù)維護本地時間基準 時間同步模塊( EthTsyn/gPTP)時鐘Master節(jié)點獲取本地時鐘源信息 周期發(fā)送Sync和Follow_Up同步報文 接收鏈路延遲計算報文,并回復(fù)Delay_Desp, 時鐘Slave節(jié)點周期接受Sync和Follow_Up同步報文 發(fā)送Delay_Req報文,用于發(fā)起反向傳輸延時的計算
如表1所示,域控制器內(nèi)部的MCU和SoC 1根據(jù)時間戳可以計算出與主時鐘源的時間偏差,通過時間補償可以保證MCU,SoC 1和主時鐘源處于相同時間環(huán)境。
MCU和SoC 1的時鐘延遲計算機制如下:
(1)主時鐘源以太網(wǎng)關(guān)主節(jié)點向從節(jié)點MCU和SoC 1發(fā)送Sync消息,并記錄發(fā)送時間1;
(2)從節(jié)點收到該報文后,記錄接收時間2;
(3)主節(jié)點通過將時間戳1嵌入到Follow_Up報文中傳遞給從節(jié)點;
(4)從節(jié)點向主節(jié)點發(fā)送Delay_Req報文,用于發(fā)起反向傳輸延時的計算,并記錄發(fā)送時間3;
(5)主節(jié)點收到Delay_Req報文之后,記錄接收時間4;
(6)主節(jié)點將4嵌入到Delay_Resp消息中,從而傳遞給從節(jié)點;
(7)此時,從節(jié)點便擁有了1—4這四個時間戳,假設(shè)網(wǎng)絡(luò)對稱,由此可計算出從節(jié)點相對于主節(jié)點的時鐘延遲:Delay=(4?3+2?1)/2。
圖3 gPTP同步機制計算圖
當域控制器片內(nèi)SoC 2不帶以太網(wǎng)接口或不支持gPTP協(xié)議時,MCU和SoC 2的時間同步方案需要GPIO接口和能攜帶MCU時間戳信息的通信接口(SPI通信等),以MCU為主時鐘Master,同步SoC 2時鐘。如圖4所示,MCU和SoC 2的時間同步機制如下:
(1)MCU記錄當前的時間,并通過GPIO通知SoC(MCU和SoC 2之間的時間同步通過使用GPIO進行中斷通知,以保證MCU和SoC 2的時間基準點盡可能相近)。
(2)SoC 2響應(yīng)GPIO的請求,并記錄SoC 2當前的時間。
(3)MCU通過SPI將記錄的當前時間1發(fā)送給SoC 2(GPIO中斷請求和SPI傳送時間戳信息盡可能短,以保證同步的精度)。
(4)SoC 2接收到時刻的SoC 2系統(tǒng)時間為2,立即更新SoC 2的系統(tǒng)時間(2-1+)。
圖4 域控制器片內(nèi)異構(gòu)同步機制計算圖
在自動駕駛系統(tǒng)中,獲取的傳感器數(shù)據(jù)之間時間同步至關(guān)重要。上層應(yīng)用算法會根據(jù)傳感器數(shù)據(jù)做最終的決策判斷,獲取的傳感器數(shù)據(jù)時間不同步會造成最終決策的誤判或漏判的發(fā)生[4]。本文研究的系統(tǒng)中外部傳感器(Camera/Radar)通過私有CAN連接到域控制器的MCU端,在MCU的內(nèi)部完成數(shù)據(jù)融合的處理后將數(shù)據(jù)傳給決策模塊。MCU和外部傳感器的時間同步方案需要MCU節(jié)點通過私有CAN發(fā)送同步幀到外部傳感器節(jié)點,以MCU為主時鐘Master,同步外部傳感器節(jié)點。如圖5所示,MCU和外部傳感器的時間同步機制如下:
(1)MCU發(fā)送全局時間CAN同步報文。
(2)外部傳感器接收節(jié)點采用最高優(yōu)先級處理全局時間CAN同步報文,并記錄外部節(jié)點當前的時間1。
(3)MCU在發(fā)送全局時間同步報文時填寫計時器,以一定的周期發(fā)送同步報文,時間同步報文中攜帶時間戳信息。
(4)接收節(jié)點根據(jù)全局時間戳并加載計算本地時間戳,更新接收節(jié)點的系統(tǒng)時間(CAN:-CAN:1+MCU:)。
圖5 CAN同步機制計算圖
本文在分析域控制器復(fù)雜架構(gòu)的基礎(chǔ)上,結(jié)合應(yīng)用算法對獲取數(shù)據(jù)時間同步的要求,詳細介紹了一種域控制器片內(nèi)及片外時間同步的方法,以外部以太網(wǎng)關(guān)作為整個域控制器的時鐘源主節(jié)點,通過運行g(shù)PTP協(xié)議,使域控制器內(nèi)部具有以太網(wǎng)接口的MCU和SoC 1同步了外部主時鐘源控制器的基準時間,以MCU為時間同步的主節(jié)點,通過在SPI協(xié)議中增加時間戳等信息,完成MCU和SoC 2的時間同步,同樣以MCU為時間同步的主節(jié)點,通過在私有CAN協(xié)議中增加時間戳、同步報文等信息,完成和外部傳感器節(jié)點的時間同步,基于以上步驟,為復(fù)雜的域控系統(tǒng)時間同步提供了很好的解決方案,這樣可以保證整個域控系統(tǒng)的運行基于同一個時間基點。
[1] 王躍飛,楊錦,張利,等.汽車CAN系統(tǒng)精確時鐘同步機制研究[J].電子測量與儀器學報,2014,28(01):22-28.
[2] 羅峰,徐金鵬.基于車載環(huán)境的時間同步協(xié)議優(yōu)化[J].儀器儀表學報,2019,40(02):96-104.
[3] 葛寶珊,張爭明,李旭杰,等.精確時間協(xié)議PTP研究[A].中國振動工程學會振動與噪聲控制專業(yè)委員會.第25屆全國振動與噪聲高技術(shù)及應(yīng)用會議論文選集[C].中國振動工程學會振動與噪聲控制專業(yè)委員會:中國振動工程學會振動與噪聲控制專業(yè)委員會,2012:6.
[4] 胡艷峰.基于Vector總線設(shè)備的CAN總線測試方法概述[J].汽車電器,2015(12):54-56.
A Method for Time Synchronization between On-chip and Off-chip of Domain Controller
FENG Liangshan, LI Jun
( SAIC TTTech Auto Technology Co., Ltd., Shanghai 201206 )
At present, the E/E architecture of the whole vehicle is becoming more and more complex due to the data interaction requirements from different controllers and sensors. The problems to be solved include: functional complexity, communication bandwidth, computing capacity, flexibility, scalability, etc. The upper application algorithm of domain controller is particularly sensitive to the synchronization of data acquisition. Data fusion needs to be processed for the data obtained at the same time point. Therefore, it is particularly important to research the time synchronization of heterogeneous multi-core, external controller data and sensor data in domain controller. This paper introduces the method of time synchronization in and out of chip of domain controller in detail, and solves the technical defects of the time synchronization of internal and external data of domain controller.
Domain controller; Data fusion; Sensor data; Heterogeneous multi core; Time synchroniz- ation
B
1671-7988(2022)01-61-04
U495
B
1671-7988(2022)01-61-04
CLC NO.: U495
鳳良山(1988—),男,碩士研究生,就職于上海創(chuàng)時汽車科技有限公司,主要從事智能駕駛及系統(tǒng)架構(gòu)設(shè)計的研究工作。
10.16638/j.cnki.1671-7988.2022.001.014