IRIG-B码对时究竟是什么
IRIG-B码是一种用于时间同步的标准格式。IRIG(Inter-Range Instrumentation Group)是一个国际组织,负责制定一系列用于时间和频率标准的协议。IRIG-B码是其中之一,通常通过红外线、GPS信号或其他通信方式传输。它将时间信息编码成一系列脉冲,以确保不同设备之间的时间同步。
通常来说,IRIG-B码由一系列数字和特殊标志组成,以表示年、月、日、小时、分钟、秒等时间信息。这种编码方式能够提供非常高的时间分辨率,一般在微秒或更小的级别上,因此非常适用于对时间精度要求极高的系统。所以也被经常应用到如电力系统、科学实验、航空航天等领域。
IRIG-B码对时的主要应用场景
创龙科技已基于TI AM62x异构多核处理器实现IRIG-B码对时方案,可应用于继电保护装置、电力RTU、电力录波器、通讯管理机、电能质量在线监测等领域。
图1
AM62x IRIG-B码对时方案
该节详述了创龙科技采用TI AM62x的MCU(Cortex-M4F)核心实现IRIG-B码信号解析功能。
AM62x内部集成了Cortex-A53 + Cortex-M4F核心,可以利用Cortex-M4F实现IRIG-B码对时功能,无需增加额外的MCU成本。此外,通过内置MCU实现IRIG-B码对时功能,简化了硬件设计,有利于加快产品开发速度。
(1)案例说明
卫星时钟同步装置通过GPS天线模块获取标准时间信息,然后输出IRIG-B码信号。该信号经过评估板上的RS485芯片转换成电平信号,随后传输至Cortex-M4F核心。在Cortex-M4F核心中,通过读取GPIO引脚电平来解析IRIG-B码时序,并提取时间信息。最后,利用TI-RPMsg机制,将时间信息发送至Cortex-A53核心以打印时间信息。系统框图如下所示。
图3
图4
将卫星时钟同步装置的天线接口连接至GPS天线模块,同时将卫星时钟同步装置的OUT1接口的“+”端子连接至评估板的RS485_2 UART5接口的“A2端子”,“-”端子连接至评估板的RS485_2 UART5接口的“B2端子”。如图所示。
图5
将本案例"dts\bin\"目录下的tl62x-evm.dtb设备树文件拷贝至Linux系统启动卡"/boot/"目录下,替换原有的tl62x-evm.dtb设备树文件。然后将案例bin目录下的am62-mcu-m4f0_0-fw文件、irig_b_decode可执行程序拷贝至Linux系统启动卡文件系统"/home/root/"目录下。
上电后,从Linux系统启动卡启动,依次执行如下命令,更新Cortex-M4F核心固件,并重启评估板。
Target#rm /lib/firmware/am62-mcu-m4f0_0-fw
Target#cd /lib/firmware/
Target#ln -sf /home/root/am62-mcu-m4f0_0-fw am62-mcu-m4f0_0-fw
Target#sync
Target#reboot
图7
执行如下命令,查询Cortex-M4F核心与remoteproc对应关系。
备注:Cortex-M4F核心对应的RemoteProc Name为5000000.m4fss。
Target#head /sys/class/remoteproc/remoteproc*/name
根据查询结果,执行如下命令查看Cortex-M4F核心程序运行日志,确认Cortex-M4F核心运行状态。
Target#cat /sys/kernel/debug/remoteproc/remoteproc0/trace0
图9
执行如下命令,查看程序运行参数。
Target#./irig_b_decode -h
备注:rproc_id:核心ID。Cortex-M4F核心ID为9,默认ID为0。
图10
执行如下命令,解析IRIG-B码时序并提取时间信息,可看到串口终端打印当前日期如下图所示。
Target#./irig_b_decode -r 9
选购登录创龙科技天猫旗舰店:tronlong.tmall.com!
TI AM62x技术交流群:373129850、487528186