什么是IRIG-B码对时

IRIG-B(inter-range instrumentationgroup-B)码是一种时间同步标准,通常用于精确的时间测量和数据同步,广泛应用于电力、通信、航空等领域。

IRIG-B码为每秒一帧的时间串码,一帧串码中包含100个码元,频率为1KHz,即每个码元占用10ms时间。IRIG-B码基本的码元为"0"码元、"1"码元和"P"码元,"0"码元和"1"码元对应的脉冲宽度为2ms和5ms,"P"码元为位置码元,对应的脉冲宽度为8ms,IRIG-B码信息的基本码元的示意图如下所示。

图1


下图为一帧的IRIG-B码脉冲序列结构示意图。连续两个"P"码元表示整秒的开始,第二个"P"码元的脉冲前沿为“准时”参考点,定义其为"Pr"。每10个码元有一个位置码元,共有10个,定义其为P1,P2,…,P9,P0。IRIG-B码时间格式的时序为秒、分、时、天,所占信息位分别为:秒7位、分7位、时6位、天10位,其位置在P0 ~ P5之间。

通常,从"Pr"开始对码元进行编号,分别定义为第0,1,2,…,99码元,则“秒”信息位于第1、2、3、4、6、7、8码元,“分”信息位于第10、11、12、13、15、16,17码元,“时”信息位于第20、21、22、23、25、26码元,“天”信息位于第30、31、32、33、35、36、37、38、40、41码元。

图2

IRIG-B码对时应用场景

IRIG-B码对时可应用于继电保护装置、电力RTU、电力录波器、通讯管理机、电能质量在线监测等领域。创龙科技已基于TI AM62x异构多核处理器实现IRIG-B码对时方案,降低了终端用户的开发难度,缩减了研发时间,可快速进行产品方案评估与技术预研。

图3

 

常见IRIG-B码对时实现方案

IRIG-B码对时的实现常见方案一般基于FPGA或MCU实现,具体方案实现方式如下。

(1)基于FPGA实现

 

为达到IRIG-B码与时间信号输入、输出的精确同步,采用现代化靶场的IRIG-B码编码和解码的原理,从工程的角度出发,提出了使用现场可编程门阵列(FPGA)来实现IRIG-B码编码和解码的设计方案和体系结构,设计中会涉及到几个不同的时钟频率,FPGA对时钟的同步性具有灵活性、效率高、且功耗低,抗干扰性好的特点。结果表明,FPGA能够确保为从设备提供同源的时钟基准,使时钟与信号的延迟控制在200ns以内,从而得到了IRIG-B码与时间精确同步的效果。

但是,基于FPGA实现IRIG-B码开发难度较大,时间投入较多,开发成本将会较高,不利于产品的快速上市。

(2)基于MCU实现

 

MCU(Micro Control Unit)即微控制单元,通过MCU核心可实现解析IRIG-B码时序并提取时间信息,再将时间信息同步至其他核心。

基于MCU实现IRIG-B码开发方案结构简单、开发成本较低、同步精度较高,可满足多种工业应用场景要求。

AM62x IRIG-B码对时方案

本章节主要描述创龙科技基于TI AM62x的MCU(Cortex-M4F)核心实现IRIG-B码信号解析功能。

AM62x内部集成Cortex-A53 + Cortex-M4F核心,可使用Cortex-M4F实现IRIG-B码对时功能,无需增加额外的MCU成本。并且,通过内部MCU实现IRIG-B码对时功能方案,硬件设计简单,有利于快速开发产品。

(1)案例说明

 

卫星时钟同步装置(厂家:南京诺煌电气科技有限公司,型号:YS-DN-100)通过GPS天线模块获取标准时间信息并输出IRIG-B码信号,经评估板板载RS485芯片转换成电平信号后传输至Cortex-M4F核心,Cortex-M4F核心通过读取GPIO引脚电平,解析IRIG-B码时序并提取时间信息,再通过TI-RPMsg机制将时间信息发送至Cortex-A53核心打印时间信息。系统框图如下所示。

 

图4

(2)案例测试

本案例需在开阔场地进行测试,请确保卫星时钟同步装置的RUN指示灯处于常亮状态(表示设备工作正常),否则请检查GPS天线连接是否正常。
由于评估底板RS485_2 UART5为Cortex-A53核心的外设,因此请通过飞线的方式将RS485芯片(U30)的pin3引脚连接至EXPROT接口(J11)的pin4引脚(即Cortex-M4F核心GPIO)。卫星时钟同步装置输出的IRIG-B码信号经评估底板RS485_2 UART5接口后,再经过EXPROT接口(J11)的pin4引脚输入至Cortex-M4F核心。

图5
 

图6

请将卫星时钟同步装置的ANT接口连接至GPS天线模块,将卫星时钟同步装置OUT1接口的“+端子”连接至评估板的RS485_2 UART5接口“A2端子”、OUT1接口的“-端子”连接至评估板的RS485_2 UART5接口“B2端子”,硬件连接如下图所示。

图7

 

请将本案例"dts\bin\"目录下的tl62x-evm.dtb设备树文件拷贝至Linux系统启动卡"/boot/"目录下,替换原有的tl62x-evm.dtb设备树文件。然后将案例bin目录下的am62-mcu-m4f0_0-fw文件、irig_b_decode可执行程序拷贝至Linux系统启动卡文件系统"/home/root/"目录下。

图8

评估板上电,从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

图9

 

执行如下命令,查询Cortex-M4F核心与remoteproc对应关系。

备注:Cortex-M4F核心对应的RemoteProc Name为5000000.m4fss。

Target#head /sys/class/remoteproc/remoteproc*/name

图10


根据查询结果,执行如下命令查看Cortex-M4F核心程序运行日志,确认Cortex-M4F核心运行状态。

Target#cat /sys/kernel/debug/remoteproc/remoteproc0/trace0

图11

 

执行如下命令,查看程序运行参数。

Target#./irig_b_decode -h

备注:rproc_id:核心ID。Cortex-M4F核心ID为9,默认ID为0。

图12

执行如下命令,解析IRIG-B码时序并提取时间信息,可看到串口终端打印当前日期如下图所示。

Target#./irig_b_decode -r 9

 

13

B码对时方案,基于TI AM62x异构多核工业处理器实现!的更多相关文章

  1. 蓝牙协议 基于TI cc2540 模块的理解(转)

    源:蓝牙协议 基于TI cc2540 模块的理解 Bluetooth 4.0开发 Platform:TI IC:cc2540 Environment:windows 7 tools:IAR 8.20. ...

  2. svg操纵方案 基于 D3 还是 angular?

    之前还是想简单了, 现在重新写这篇.把逻辑拆分粒度的辨析,放到外面去. 问题提出:svg控制方案 基于 D3 还是 angular 根据这个,html 4种展现样式:普通的html,svg,2D ca ...

  3. 基于TI Davinci架构的多核/双核开发高速扫盲(以OMAP L138为例),dm8168多核开发參考以及达芬奇系列资料user guide整理

    基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门 原文转自http://blog.csdn.net/wangpengqi/article/details/8115614 感谢 ...

  4. QRCode二维码生成方案及其在带LOGO型二维码中的应用(1)

    原文:QRCode二维码生成方案及其在带LOGO型二维码中的应用(1) 提要:很多公司为商业宣传之需,常将企业LOGO加入二维码中,但如果LOGO遮挡区域足够地大,二维码就变得无法识别.那么,有没有一 ...

  5. QRCode二维码生成方案及其在带LOGO型二维码中的应用(2)

    原文:QRCode二维码生成方案及其在带LOGO型二维码中的应用(2) 续前:QRCode二维码生成方案及其在带LOGO型二维码中的应用(1)  http://blog.csdn.net/johnsu ...

  6. 【ARM-Linux开发】【CUDA开发】【视频开发】关于Linux下利用GPU对视频进行硬件加速转码的方案

    最近一直在研究Linux下利用GPU进行硬件加速转码的方案,折腾了很久,至今没有找到比较理想的硬加速转码方案.似乎网上讨论这一方案的文章也特别少,这个过程中也进行了各种尝试,遇到很多具体问题,以下便对 ...

  7. 基于TI 多核DSP 的大数据智能计算处理解决方案

    北京太速科技有限公司 大数据智能计算,是未来的一个发展趋势,大数据计算系统主要完成数据的存储和管理:数据的检索与智能计算. 特别是在智能城市领域,由于人口聚集给城市带来了交通.医疗.建筑等各方面的压力 ...

  8. 浩哥解析MyBatis源码(十)——Type类型模块之类型处理器

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6715063.html 1.回顾 之前的两篇分别解析了类型别名注册器和类型处理器注册器,此二 ...

  9. 基于英特尔® 至强™ 处理器 E5 产品家族的多节点分布式内存系统上的 Caffe* 培训

    原文链接 深度神经网络 (DNN) 培训属于计算密集型项目,需要在现代计算平台上花费数日或数周的时间方可完成. 在最近的一篇文章<基于英特尔® 至强™ E5 产品家族的单节点 Caffe 评分和 ...

  10. .NET6: 开发基于WPF的摩登三维工业软件 (2)

    在<.NET6: 开发基于WPF的摩登三维工业软件 (1)>我们创建了一个"毛坯"界面,距离摩登还差一段距离.本文将对上一阶段的成果进行深化,实现当下流行的暗黑风格UI ...

随机推荐

  1. Solution Set - 矩阵加速

    A[HDU2604]求不含子串010和000的,长为\(n\)的01序列数. B[HDU6470]数列\(\{a_n\}:a_1=1,a_2=2,a_n=a_{n-1}+2a_{n-2}+n^3\), ...

  2. join分析:shuffle hash join、broadcast hash join

    Join 背景介绍 Join 是数据库查询永远绕不开的话题,传统查询 SQL 技术总体可以分为简单操作(过滤操作.排序操作 等),聚合操作-groupby 以及 Join 操作等.其中 Join 操作 ...

  3. 【爬虫+情感判定+Top10高频词+词云图】"乌克兰"油管热评python舆情分析

    目录 一.分析背景 二.整体思路 三.代码讲解 3.1 爬虫采集 3.2 情感判定 3.3 Top10高频词 3.4 词云图 四.得出结论 五.同步视频演示 六.附完整源码 一.分析背景 乌克兰局势这 ...

  4. cuBlas API Launch Latency 耗时异常分析记录

    一.背景 最近在做 AI 编译器生成 Kernel 支持 Bert 模型训练调优工作,在分析 bert 的timeline中发现,在每个 step 的前两个 cinn_instruction_run ...

  5. 4G EPS 中的 PDN Connection

    目录 文章目录 目录 前文列表 PDN PDN Connection APN APN 与 PGW POOL APN 与 vPGW APN 与漫游 PDN Type IP 类型 Non-IP 类型 MM ...

  6. Clear Code for Minimal API

    我在写MinimalAPI的时候,发现不能最清晰的看到每个API,原因就是:WebAPI中不断增长逻辑处理过程 于是我在想如何简化API至一行,在一点一点想办法中,发现了简化DotNET Minima ...

  7. vue 常用类库引用

    js 端生成guid 类库一:https://github.com/uuidjs/uuid        npm i uuid --save 类库二:https://github.com/LiosK/ ...

  8. MyBatis日志模块源码分析

    MyBatis源码的logging包下是日志模块的相关实现,Mybatis日志模块通过适配器模式和代理模式优雅的实现了SQL日志的输出功能. 一. 适配器模式实现了MyBatis对第三方日志框架的适配 ...

  9. Dubbo实战教程

    "Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC(一种远程调用) 分布式服务框架(SOA),致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案." ...

  10. iOS 后台录音Tweak实现参考--stackoverflow

    up vote9down voteaccepted +50 "Audio Recorder" is indeed a very simple tweak. The author t ...