0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术EM928x工控主板IRIG-B码校时

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-02-04 10:41 次阅读

在工控行业很多领域中,需要控制系统具有高精度的时间同步功能,IRIG就是美国靶场司令委员会制定的一种时间标准,英创在EM928x系列的Linux工控主板上实现了IRIG-B码校时功能。

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码标准

首先在硬件连接上,我们使用GPIO23复用为接收IRIG-B码脉冲信号的管脚,所以只需要将时钟源发出的IRIG-B码脉冲接到GPIO23,需要注意的是,GPIO管脚的输入电压不能超过3.3V,否则会引起CPU的异常或是损坏。如果时钟源发出的脉冲为5V,就需要将电平转换为3.3V才可以接入。硬件连接好后,我们来看看应用程序的实现方法:

首先需要打开IRIG-B这个设备节点:

fd = open("/dev/irig-b", O_RDWR);

if(fd < 0)

printf("open faile\n");

接下来使用标准的调用接口read和write就可以获取和设置时间了,程序中使用了struct tm这个结构体来进行获取时间的信息传递:

structtm

{

inttm_sec; /* 秒. [0-60] (1 leap second) */

inttm_min; /* 分. [0-59] */

inttm_hour; /* 时. [0-23] */

inttm_mday; /* 日. [1-31] */

inttm_mon; /* 月. [0-11] */

inttm_year; /* 年 - 1900. */

inttm_wday; /* 一周中的第几天. [0-6] */

inttm_yday; /* 一年中的第几天.[0-365] */

inttm_isdst; /* 时令. [-1/0/1]*/

#ifdef __USE_BSD

longinttm_gmtoff;

__constchar*tm_zone; /* 时区 */

#else

longint__tm_gmtoff;

__constchar*__tm_zone;

#endif

};

因为是直接从时钟源中获取的时间,所以我们只需要关注tm结构体中的年月日时分秒这六个成员。接下来我们进行读取时间的操作:

struct tm t;

ret = read(fd, &t,sizeof(struct tm));

if(ret < 0)

printf("read failed!\n");

printf("time:%d-%d-%d %d:%d:%d\n",t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec);

读取时间是通过阻塞的方式实现的,板卡会等到一次完整的时间脉冲信息才会返回本次时间,如果没有获取到完整的信息,会在5秒后返回系统时间并且打印提示信息。

为了方便客户将时钟源提供的时间设置到板卡中,英创公司提供了专用接口在驱动中获取时间并写入到系统或是RTC中,即write()函数,当调用write时,板卡会阻塞等待从时钟源获取一次完整的时间信息,然后根据写入的参数,将时间直接设置到系统中或者RTC中:

#defineSET_SYSTIME 0

#defineSET_RTCTIME 1

i1 = SET_SYSTIME;

ret = write(fd, &i1,sizeof(int));

if(ret < 0)

printf("write failed!\n");

i1 = SET_RTCTIME;

ret = write(fd, &i1,sizeof(int));

if(ret < 0)

printf("write failed!\n");

按照上面的例子调用write就可以将从时钟源获取的时间写入到板卡中,当输入的数据为0时,驱动会阻塞等待一次完整的时间信息,获得时间后将时间设置到系统中,阻塞等待的时间同样为5s,否则返回不能获取时间的信息。

如果输入的数据为1时,驱动会同样阻塞等待一次完整的时间信息,获得时间后将时间同时设置到硬件实时时钟和系统中,阻塞等待的时间同样为5s,否则返回不能获取时间的信息。

传统的工控板卡在对IRIG-B码处理时,通常需要增加额外的硬件(如单片机FPGA)对B码进行解码,然后再通过串口、总线或其它形式将数据交给主控板卡处理,增加了系统成本和操作难度,英创Linux工控主板EM928x系列可直接对B码进行解码,不需要增加任何硬件就能实现毫秒级精度的时间同步,大大降低了系统复杂程度,节约了成本,提高了系统稳定性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206738
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6064

    浏览量

    34614
收藏 人收藏

    评论

    相关推荐

    工控主板和普通主板的区别有哪些

    工控主板和普通主板是两种在计算机硬件领域中常见的主板类型,它们在设计、功能和用途上有着明显的区别。工控
    的头像 发表于 04-25 16:54 80次阅读
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>和普通<b class='flag-5'>主板</b>的区别有哪些

    购买工控主板的三大误区

    最近有很多人问我什么样的工控主板算好的,有没有一个统一的标准。工控主板作为整机的核心组成部分,在性能稳定上有着至关重要的作用,那今天小编就来给大家讲解一下在购买
    的头像 发表于 04-16 16:40 92次阅读

    工控主板和普通主板的区别:功能定制化与通用性的差异

    工控主板作为工业控制系统和自动化设备的核心组成部分,其稳定性和耐用性备受关注。然而,有人好奇地问道:工控主板是否能够用于个人电脑系统中呢?为了解答这个问题,我们需要深入了解
    的头像 发表于 03-22 14:15 177次阅读

    B码对时方案,基于TI AM62x异构多核工业处理器实现!

    对应的脉冲宽度为2ms和5ms,"P"码元为位置码元,对应的脉冲宽度为8ms,IRIG-B信息的基本码元的示意图如下所示。   图1 下图为一帧的IRIG-
    的头像 发表于 03-07 09:55 221次阅读
    B码对时方案,基于TI AM62x异构多核工业处理器实现!

    科技创新赋能国产工控主板,助推工业数字化新篇章

    随着信息技术的飞速发展,工业数字化已经成为推动新型工业化的重要力量。工业数字化是将信息技术与传统制造业相融合,通过智能化、网络化和自动化等手段,实现了传统工业向智能制造的转型。这种转型不仅提高了生产
    的头像 发表于 02-26 16:40 207次阅读

    探秘工控主板中的BIOS:为什么它如此重要?

    固件,承载着初始化系统硬件和传递信息的重要任务。当工控主板加电时,BIOS会对硬件设备进行自检,通过读取硬件的配置信息来判断硬件是否正常工作,这一过程是
    的头像 发表于 01-23 11:28 258次阅读

    工控主板大揭秘:选对主板,让工业控制更高效

    在当今技术依赖的时代,工控电脑在工业和商业场景中越来越普遍。为了确保工控电脑的稳定性和可靠性,选择合适的主板至关重要。国产工控
    的头像 发表于 01-12 14:11 245次阅读

    科技精彩亮相火爆的IOTE 2023,多面赋能AIoT产业发展!

    发布了 2023 边缘计算产业市场调研报告 ,科技作为联合发布单位之一,为报告贡献了不少市场信息与成功案例。报告对边缘计算产业的发展做了详尽的梳理,同时对边缘计算产业未来发展趋势做出预测。 本届
    发表于 09-25 10:03

    信息技术是干什么?

    广播电子技术信息技术
    橙群微电子
    发布于 :2023年09月22日 09:17:48

    什么是工控主板,国产工控主板的设计特性

    工控主板是专门用于工业电脑的主板,其设计特性独特且适应工业环境的需求。国产工控主板在元器件选择、抗干扰性和接口设计等方面具有独到之处。
    的头像 发表于 08-28 14:13 334次阅读

    工控主板和普通主板的区别

    工控主板(Industrial Control Board)和普通主板(Consumer Motherboard)是两种针对不同领域和应用的类型主板,它们在设计和功能上存在一些明显的区
    的头像 发表于 08-04 14:27 908次阅读

    什么是嵌入式工控主板,嵌入式工控主板的分类和应用有哪些?

    什么是嵌入式工控主板,嵌入式工控主板的分类和应用有哪些这样的问题,相信对于很多不懂行的人或者是初学者来说,相信一定会很懵逼,那么今天小编就为您一一解答:
    的头像 发表于 07-05 11:15 617次阅读

    触翔3588工控主板的优势

    触翔3588工控主板是一款基于Intel Baytrail平台设计的主频为2.4Ghz的工控主板,具有以下优势:
    的头像 发表于 06-29 15:28 519次阅读
    触翔3588<b class='flag-5'>工控</b><b class='flag-5'>主板</b>的优势

    2023年中海达星推官系列直播再度启航,与您一起探讨空间信息技术

    信息技术
    中海达
    发布于 :2023年06月21日 11:45:49

    国产工控主板优势大揭秘

    在电子市场中,我们可以看到电阻、电容、晶体二极管等各种元器件,这些元器件经过组装成为主板,然后构成各种电子产品的不同功能。主板根据用途的不同,可以分为商用主板工控
    的头像 发表于 05-05 14:17 522次阅读