英创信息技术主板EM9360 IRIG-B码校时方案

em9360是英创公司推出的基于at91sam9260的同时支持3网口,6串口和can通讯接口的高性能arm9工控主板。经过我们精心的设计,使得em9360还具有了强大的扩展功能,最终可通过em9360构建成同时支持4网口,双can,22串口的网络通讯终端,基于其强大的通讯功能,em9360广泛应用于电力、铁路,电信等行业。在上述行业中,除了对设备的通讯功能,运行稳定性有很高的要求之外,一般还需要系统具有高精度的时间同步功能。鉴于此,em9360预留了一路时间同步输入(pps_in)接口,通过此接口可使em9360与时钟源保持精确时间同步,同时em9360还保留了一路时间同步输出(pps_out)接口,可让其作为时间服务器,同步其它设备。
本文主要介绍em9360通过gps时钟源产生的irig-b(dc)码实现时间同步的方法。irig是美国靶场司令委员会制定的一种时间标准,其中的串行时钟编码共有6种格式,即a、b、d、e、g、h。它们的主要差别是时间码的帧速率不同,广泛应用的irig-b即其中的b型编码,b型码的时帧速率为1帧/s,可传递100位信息。图1是igig-b码示意图,其时帧周期是1s,每秒100个码元,使用脉宽编码方式,每个码元脉宽10ms,共三种码元,其中高电平5ms和2ms分别表示二进制 “1”,“0”,高电平8ms为位置标识,分别为p0,p1,…p9。连续两个8ms宽度脉冲的第二个8ms脉冲的前沿为秒准点标志,也是一个时间格式的帧参考标志。一个时间格式帧包含了秒,时,分,天数,年份,控制位等丰富的信息。
irig-b码标准
在使用irig-b码时钟源与em9360与进行时间同步时,用户并不需要关心irig-b码的具体含义,实现方法,仅需要将b码送到em9360的pps_in接口就行了,em9360的驱动程序将完成b码解码,同步等工作。下面从应用层面介绍用户如何使用em9360的irig-b校时功能。
1、通过标准的文件操作方式来打开系统的校时功能
handle hgpsfile;
hgpsfile = createfile( text('gps1:'), generic_read | generic_write, 0, 0, open_existing, 0, 0);
2、关闭由createfile打开的handle,即关闭系统校时功能。
closehandle(hgpsfile);
3、用户可以调用deviceiocontrol来查看系统最近一次同步的时间,调用方法如下:
#define ioctl_irig_b_get_time ctl_code(file_device_unknown, 0xc10, method_buffered, file_any_access)
bool getsynctime( handle hdevice, systemtime *psynctime )
{
dword dwbytesreturned;
return deviceiocontrol(
hdevice, // 由createfile打开的handle
ioctl_irig_b_get_time, // 操作码,即上面的宏定义
null,
0,
(lpvoid) psynctime,
sizeof( systemtime ),
&dwbytesreturned,
null
);
}
4、用户可以通过修改系统注册表来配置灵活的校时方案,通过注册表的设置,可实现时间秒同步、分钟同步、小时同步或日同步,对应的注册表项如下:(下面的注册表键值为系统默认值)
[hkey_local_machine\drivers\builtin\gps1]
'devicearrayindex'=dword:1
'prefix'='gps'
'dll'='irig_b.dll'
'deviceid'=dword:1a
'priority256'=dword:88
; autosync =0: 禁止校时功能; =1: 秒同步; =2: 分同步; = 3: 小时同步; = 4: 日同步
'autosync'=dword:2 ; minute sync
; syncminute:当autosync为小时同步时,在syncminute分钟进行同步
'syncminute'=dword:3b ; 0x3b = 59 -> minute on sync
; synchour: 当autosync为日同步时,在synchour小时进行同步
'synchour'=dword:17 ; 0x17= 23 -> hour on sync
传统的工控板卡在对irig-b码处理时,通常需要增加额外的硬件(如单片机,fpga)对b码进行解码,然后再通过串口、总线或其它形式将数据交给主控板卡处理,增加了系统成本和操作难度,em9360可直接对b码进行解码,不需要增加任何硬件就能实现毫秒级精度的时间同步,大大降低了系统复杂程度,节约了成本,提高了系统稳定性。
该校时方案同样实用于英创其它9260系列工控主板,如em9160,em9260。

智能家居配套率稳中有升,智能门锁涨势强劲
STM32单片机PVD功能操作流程解析
基于算网一体的参考体系架构
微软助力沃尔玛开发无人商店技术 AI初创公司买下MIPS
苹果13.3英寸MacBook拆解详细图
英创信息技术主板EM9360 IRIG-B码校时方案
连接器企业加速布局汽车领域 实现高速传输和小型智能才能满足需求
关于爬壁机器人运动方式的简单介绍
松下与特斯拉之间的电池业务或将于10月份开始
全球智能手机行业正以“跳跃”速度进入AI时代
未来3D打印技术是否会取代传统工艺?
智能快递存在什么不好的现象
详解Oracle中XMI开发UML图表技术
英特尔为开发者扩展AI软件解决方案
世界首款基于事件的短波红外探测器
伏打电池什么原理_伏打电池的工作原理
韩国计划在2022年之前建立一个完善的5G环境
HDMI1.4/2.0 Subsystem官方例程的建立
voc气体检测仪的应用种类有哪些
MIT新模拟系统训练自动驾驶汽车转向和控制