目录
简介
在高级驾驶辅助系统(ADAS)场景中,时间同步是一个至关重要的需求,因为它确保了系统中所有传感器和处理单元的数据在时间上是一致的。准确的时间同步允许系统准确地重建和理解车辆周围的环境,这对于决策制定和执行动作至关重要。
具体比如,各个传感器的时钟有偏差,各种传感器的采样频率也不一致,当前激光典型采样频率为10HZ,相机为30fps,高精度组合导航为100HZ。没有准确的时钟同步,各传感器在哪一帧进行融合,在哪里进行插值都没法进行判断。两个传感器即使采样频率一致,其每帧数据的采样点也一般不一致。
除了自动驾驶域需要精确的时钟信息外,其他域相关功能同样也需要。大屏上实时高精地图显示;驾驶员实时疲劳检测;实时的流媒体后视镜显示;车辆与路侧RSU之间的实时信息交互,无一不需要全域架构内的精确时间同步。
名词缩写
缩写 |
解释 |
GPS |
Global Positioning System |
RTC |
Real_Time Clock |
PHC |
PTP hardware clock |
PTP |
precision time protocol |
MCU |
Microcontroller Unit |
UART |
Universal Asynchronous Receiver/Transmitter |
CAN |
Controller Area Network |
PPS |
Pulse Per Second |
NMEA |
National Marine Electronics Association |
NTP |
Network Time Protocol |
J5时间同步介绍
J5时间同步主要功能
J5时间同步主要用于从外部时间源获取时间,同步J5的RTC时间、PHC时间、Linux系统时间;
根据时间源的不同,可以将时间同步分为以下几种方式:
- GPS时间同步:从GPS获取时间,同步Linux系统时间、RTC时间、PHC时间;
- MCU时间同步:从MCU获取时间,同步Linux系统时间、RTC时间、PHC时间;
- gPTP时间同步:从gPTP master获取时间,同步Linux系统时间、RTC时间、PHC时间,J5也可以作为gPTP master对外提供时间同步服务;
- NTP时间同步:从NTP服务器获取时间,同步系统时间,J5也可以作为NTP server对外提供时间同步服务;
J5时间同步性能
J5各种时间同步方式的误差如下表所示:
时间源 |
同步后的误差 |
GPS |
系统时间和UTC时间:1ms以内;RTC和UTC时间:100us以内;PHC和UTC时间:100us以内 |
MCU |
系统时间和MCU时间:1ms以内;RTC和MCU时间:100us以内;PHC和MCU时间:100us以内 |
gPTP master |
系统时间和PHC时间:1ms以内;RTC和PHC时间:100us以内;Slave/Master PHC时间:100us以内 |
NTP server |
误差受到网络条件影响,Internet上绝大多数的地方其精度可以达到1- 50ms |
J5时间同步软件架构图
上图为J5时间同步的软件架构图,图中的各个软件的功能如下表所示:
软件 |
功能 |
Hobot timesync service |
GPS同步RTC和PHC;AP-SYNC同步RTC和PHC;将系统时间和时间源差发送给chronyd |
chronyd |
通过NTP协议同步Linux系统时间;提供NTP server服务;接收offset,同步Linux系统时间 |
ptp4l |
通过gPTP协议同步PHC时间;将RTC时间和PHC时间进行同步;提供gPTPmaster服务 |
phc2sys |
将Linux系统时间和PHC时间进行同步 |
gpsd |
从串口读取GPS数据,对GPS数据进行解析 |
J5时间同步原理简介
GPS时间同步原理
软件架构图
上图为GPS时间同步软件架构图,各个软件的作用如下:
软件 |
功能 |
GPSD |
从串口读取GPS数据,解析出时间戳 |