一种域控制器片内及片外时间同步的方法
2022-02-15凤良山
凤良山,李 俊
一种域控制器片内及片外时间同步的方法
凤良山,李 俊
(上海创时汽车科技有限公司,上海 201206)
目前整车E/E架构由于面临来自不同控制器和传感器的数据交互需求而变得愈加复杂,所需要解决的问题包括:功能复杂性,通信带宽,计算能力,灵活性,可拓展性等。其中域控制器上层应用算法对获取数据的同步尤其敏感,数据融合需要针对同一时间点获取到的数据做融合处理。因此,对域控制器内部的异构多核、外部控制器数据以及传感器数据时间同步的研究尤其重要。基于此,文章详细介绍了域控制器片内及片外时间同步的方法,解决了域控制器内外部数据时间不同步的技术缺陷。
域控制器;数据融合;传感器数据;异构多核;时间同步
1 时间同步概念的介绍
时间同步是指一个系统的各个模块都要同步到系统的主时钟源,整个系统的运行基于同一个时间基点。以高级辅助驾驶、自动驾驶系统为例,系统包含环境感知、数据融合、路径规划和应用执行,其中系统正确运行的一个重要问题就是要保证获取的数据精确时间同步,算法的基准是所有的数据都是在同一时间点获取的,否则应用功能无法保证做出正确的预判,可能造成自动驾驶的严重事故。
随着L2和L3级别自动驾驶需求的设计,域控制器的架构越来越复杂,一个典型的域控制器可能包含多个SoC和MCU来处理大量的数据[1]。本文研究的时间同步系统架构如图1所示,域控制器内包含一个MCU和两个SoC,其中MCU和SoC 1通过以太网交换机和外部的以太网关相连,域控制器内部MCU和SoC 2通过GPIO和SPI/UART接口交换数据,外部传感器节点和MCU通过私有CAN相连。整个系统时间同步包含域控制器和外部主时钟源控制器的时间同步(MCU/ SoC 1和网关节点之间的同步),域控制器片内异构多核的时间同步(MCU和SoC 2之间的时间同步),域控制器和外部传感器控制器的时间同步(MCU和外部传感器节点之间的时间同步)[2]。
图1 时间同步系统架构
2 域控制器和外部主时钟源控制器的时间同步
域控制器和外部主时钟源控制器的时间同步如图2所示,包含域控制器内的MCU,SoC 1和外部网关之间的同步,其中MCU和SoC 1通过以太网switch和外部的以太网关相连,该同步以外部网关作为主时钟源提供基准时间,MCU和SoC 1根据提供的基准时间校准各自的时钟时间,实现和主时钟源的时间同步。其中MCU和SoC分别运行gPTP协议,该协议是基于数据包的时间同步协议[3]。数据传输和时间同步使用同一网络,它描述了如何在基于数据包网络(比如以太网)上分配同步时间(相位、频率和绝对时间)的机制,时钟精度达到亚微秒级。
如图2所示,其中MCU端基于Autosar软件架构开发,涉及的模块包括以太网驱动(EthernetDrv)、时间同步处理模块(EthTSyn)、时间同步基准控制模块(StbM)和上层时间触发任务调度模块(SWC);SoC 1端基于Linux平台开发,涉及的模块包括以太网驱动,协议栈的开发(TCP/IP, gPTP)和上层时间触发任务调度模块(SWC)。
图2 域控制器和主时钟源同步
主要模块的具体功能描述见表1:
表1 时间同步模块
模块功能分类功能描述 上层时间触发任务调度模块(SWC)任务触发及调度执行周期触发任务调度任务调度生成 时间同步基准控制模块(StbM)时间基准模块提供本地时间基准提供时间调度任务同步服务维护本地时间基准 时间同步模块( EthTsyn/gPTP)时钟Master节点获取本地时钟源信息 周期发送Sync和Follow_Up同步报文 接收链路延迟计算报文,并回复Delay_Desp, 时钟Slave节点周期接受Sync和Follow_Up同步报文 发送Delay_Req报文,用于发起反向传输延时的计算
如表1所示,域控制器内部的MCU和SoC 1根据时间戳可以计算出与主时钟源的时间偏差,通过时间补偿可以保证MCU,SoC 1和主时钟源处于相同时间环境。
MCU和SoC 1的时钟延迟计算机制如下:
(1)主时钟源以太网关主节点向从节点MCU和SoC 1发送Sync消息,并记录发送时间1;
(2)从节点收到该报文后,记录接收时间2;
(3)主节点通过将时间戳1嵌入到Follow_Up报文中传递给从节点;
(4)从节点向主节点发送Delay_Req报文,用于发起反向传输延时的计算,并记录发送时间3;
(5)主节点收到Delay_Req报文之后,记录接收时间4;
(6)主节点将4嵌入到Delay_Resp消息中,从而传递给从节点;
(7)此时,从节点便拥有了1—4这四个时间戳,假设网络对称,由此可计算出从节点相对于主节点的时钟延迟:Delay=(4−3+2−1)/2。
图3 gPTP同步机制计算图
3 域控制器片内异构的时间同步
当域控制器片内SoC 2不带以太网接口或不支持gPTP协议时,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响应GPIO的请求,并记录SoC 2当前的时间。
(3)MCU通过SPI将记录的当前时间1发送给SoC 2(GPIO中断请求和SPI传送时间戳信息尽可能短,以保证同步的精度)。
(4)SoC 2接收到时刻的SoC 2系统时间为2,立即更新SoC 2的系统时间(2-1+)。
图4 域控制器片内异构同步机制计算图
4 域控制器和外部传感器控制器的时间同步
在自动驾驶系统中,获取的传感器数据之间时间同步至关重要。上层应用算法会根据传感器数据做最终的决策判断,获取的传感器数据时间不同步会造成最终决策的误判或漏判的发生[4]。本文研究的系统中外部传感器(Camera/Radar)通过私有CAN连接到域控制器的MCU端,在MCU的内部完成数据融合的处理后将数据传给决策模块。MCU和外部传感器的时间同步方案需要MCU节点通过私有CAN发送同步帧到外部传感器节点,以MCU为主时钟Master,同步外部传感器节点。如图5所示,MCU和外部传感器的时间同步机制如下:
(1)MCU发送全局时间CAN同步报文。
(2)外部传感器接收节点采用最高优先级处理全局时间CAN同步报文,并记录外部节点当前的时间1。
(3)MCU在发送全局时间同步报文时填写计时器,以一定的周期发送同步报文,时间同步报文中携带时间戳信息。
(4)接收节点根据全局时间戳并加载计算本地时间戳,更新接收节点的系统时间(CAN:-CAN:1+MCU:)。
图5 CAN同步机制计算图
5 结论
本文在分析域控制器复杂架构的基础上,结合应用算法对获取数据时间同步的要求,详细介绍了一种域控制器片内及片外时间同步的方法,以外部以太网关作为整个域控制器的时钟源主节点,通过运行gPTP协议,使域控制器内部具有以太网接口的MCU和SoC 1同步了外部主时钟源控制器的基准时间,以MCU为时间同步的主节点,通过在SPI协议中增加时间戳等信息,完成MCU和SoC 2的时间同步,同样以MCU为时间同步的主节点,通过在私有CAN协议中增加时间戳、同步报文等信息,完成和外部传感器节点的时间同步,基于以上步骤,为复杂的域控系统时间同步提供了很好的解决方案,这样可以保证整个域控系统的运行基于同一个时间基点。
[1] 王跃飞,杨锦,张利,等.汽车CAN系统精确时钟同步机制研究[J].电子测量与仪器学报,2014,28(01):22-28.
[2] 罗峰,徐金鹏.基于车载环境的时间同步协议优化[J].仪器仪表学报,2019,40(02):96-104.
[3] 葛宝珊,张争明,李旭杰,等.精确时间协议PTP研究[A].中国振动工程学会振动与噪声控制专业委员会.第25届全国振动与噪声高技术及应用会议论文选集[C].中国振动工程学会振动与噪声控制专业委员会:中国振动工程学会振动与噪声控制专业委员会,2012:6.
[4] 胡艳峰.基于Vector总线设备的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—),男,硕士研究生,就职于上海创时汽车科技有限公司,主要从事智能驾驶及系统架构设计的研究工作。
10.16638/j.cnki.1671-7988.2022.001.014