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

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

3天内不再提示

英创信息技术嵌入式主板精确校时方案分析介绍

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-01-14 11:14 次阅读

在基于嵌入式主板的工业智能设备中,通常都要求设备具有校时的功能。对像电力自动化这样的行业,对校时的精度都有很高的要求,通常要求达到ms精度。为了实现这样精度的校时,一般需要GPS的支持,即由GPS模块向主板提供(1)包含绝对时间信息的串口数据,串口可以是RS232RS485;(2)整分或整秒的脉冲,也称为PPS脉冲。在有了以上硬件支持的前提下,应用程序还需要按一定策略操作,才能实现高精度的校时。本文以英创公司的ARM9主板(其上运行Windows CE操作系统)为例,来介绍一种高精度对时方案,供客户在实际应用中参考。
硬件连接上,把作为时间基准的GPS输出的串口信号接到英创ARM9主板的一个串口上,比方“COM3:”;把PPS信号作为中断信号,接到英创ARM9主板的ISA_IRQ管脚,注意ISA_IRQ是上升沿有效,因此有可能需要对PPS脉冲进行反相处理。校时的软件操作包括以下步骤:
第1步,从“COM3:”串口读取GPS信息串,并解析出当前的时间参数,只需要保留到秒的精度,同时就可推算出下一个PPS脉冲所代表的整分或整秒时间,应用程序可方便的计算出这个时间,在CE中通常把时间表示为SYSTEMTIME格式。
SYSTEMTIME SysTime; // CE通常用该变量表示时间
第2步,当应用线程接收到ISA_IRQ中断事件时,把预先计算好的时间设置到系统中:
SetSystemTime(&SysTime);
由于设置时间,涉及到系统内核的节拍数的调整,所以会占用一定的时间,一般会超过1ms。所以第2步的设置,只实现了粗校时。
第3步,当后续的ISA_IRQ中断事件来到时,此时读出的时间:
GetLocalTime(&SysTime);
应当是整秒的,即SysTime.wMilliseconds应为0,但实际情况不会为0。这时可计算出偏差的毫秒数:
int nDeltaMilliseconds;
if(SysTime.wMilliseconds > 500)
nDeltaMilliseconds = 1000 - SysTime.wMilliseconds;
else
nDeltaMilliseconds = -SysTime.wMilliseconds;
第4步,应用程序在读取时间时,需要根据当前的nDeltaMilliseconds值进行校正:
FILETIME FileTime; // 时间单位= 100ns
GetLocalTime(&SysTime); // 读取当前时间
SystemTimeToFileTime( &SysTime, &FileTime ); // 转换成FILETIME格式
// 做精确的ms校正
FileTime = (__int64)FileTime +(__int64)(nDeltaMilliseconds * 10);
FileTimeToSystemTime( &FileTime, &SysTime ); // 转换回系统时间格式

由此得到的时间应当具有ms精度。
第5步,通常nDeltaMilliseconds的绝对值都应当在几个ms的范围,若绝对值超过100ms,通常意味着需要重新进行标定,即从第一步重新开始。另外需要注意的是,在进行粗校时时,最好关闭所有的TCP连接,因为粗校时,可能会使系统的Tick值变小,而系统Tick值一般会作为TCP数据的时间标签,若TCP应答的时间标签小于数据发送的时间标签时,会造成TCP连接始终挂起。
有关ISA_IRQ中断响应的相关编程可参考英创产品资料中的相关软件范例。建议客户在ISA_IRQ的范例代码的基础上,构建带精确校时功能的时间类class GPSTime;把ISA_IRQ接收线程发展成完成上述时间校正的有限状态机,最后为其他应用程序提供一个读取时间的API函数即可。

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

    关注

    3

    文章

    3453

    浏览量

    87233
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6065

    浏览量

    34652
收藏 人收藏

    评论

    相关推荐

    翼辉信息入选2023年信息技术应用创新解决方案名单

    近日,2023 年(第五届)信息技术应用创新解决方案公布遴选名单,历经资格初审、技术中评、区域评议、终评预审,翼辉以“面向工业领域嵌入式操作系统 SylixOS 解决
    的头像 发表于 04-28 11:37 220次阅读
    翼辉<b class='flag-5'>信息</b>入选2023年<b class='flag-5'>信息技术</b>应用创新解决<b class='flag-5'>方案</b>名单

    嵌入式热门发展方向有哪些?

    的需求,从而降低生产成本。此外,在工业自动化领域,嵌入式系统还可以实现智能监控、工件检测、过程控制等功能。例如,通过人脸识别、行为分析和异常检测等技术,可以检测和识别监控区域内的人员、车辆和物体,实现智能
    发表于 04-11 14:17

    网络时间同步服务器的校时方式,您了解多少?

    LED电子时钟相信大家应该都很熟悉,在我们生活中随处可见,尤其是在学校、商场、办公楼、高铁站、机场、高速服务器、医院等场所。但是网络时钟系统的校时方式,就没有多少人知道了,下面就给大家介绍网络时间
    的头像 发表于 04-02 14:25 353次阅读
    网络时间同步服务器的<b class='flag-5'>校时方</b>式,您了解多少?

    嵌入式工程师需要掌握哪些技术?

    嵌入式工程师需要掌握哪些技术? 嵌入式系统是当今科技领域中的重要组成部分,它们存在于我们生活的方方面面,从智能手机到汽车控制系统,从家电到医疗设备。因此,对于那些想要进入嵌入式行业的
    发表于 03-04 16:38

    嵌入式学习步骤

    嵌入式行业是一个涉及广泛领域的行业,嵌入式、物联网、人工智能、智能与科学、电子信息工程、通信工程、自动化工程、测控、计算机科学等专业在嵌入式系统中使得软件和硬件的结合更加高效,适合从事
    发表于 02-02 15:24

    嵌入式硬件和软件哪个好?

    方案,要求理解嵌入式系统架构,有一定的C语言基础,熟悉ARM、protel设计软件,有四层板开发经验。 成为优秀的嵌入式硬件开发工程师需具备以下技能:由需求分析至总体
    发表于 12-05 15:17

    嵌入式开发为什么需要输出调试信息

    嵌入式开发为什么需要输出调试信息? 因为输出调试信息嵌入式开发中一项非常重要的实践,它有助于保证软件的可靠性、稳定性和性能,也是故障排查的关键工具之一。
    发表于 11-28 16:46

    定制嵌入式主板:满足客户的实际需求

    随着物联网、智能家居、智能工厂等应用的不断发展,嵌入式系统的应用场景也越来越广泛。嵌入式系统的核心部分是嵌入式主板,而定制化的嵌入式
    的头像 发表于 11-24 11:51 401次阅读
    定制<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>:满足客户的实际需求

    未来嵌入式在哪些方向会更火?

    和远程会诊,通过嵌入式设备和互联网技术,大医院资深的医生可以远程查看患者的病历、影像等信息,并进行诊断会会诊,这种方式可以有效地解决地域限制和时间限制等问题,为患者提供更便捷的医疗服务;通过
    发表于 10-27 10:23

    基于dsp嵌入式uiptcp_ip协议栈的应用研究

    随着信息技术和工业控制系统的不断发展,嵌入式设备对于网络接入的要求越来越高。本文基于数字信号处理器DSP(Digital Signal Processor)利用微型TCPIP协议栈ulP来实现嵌入式
    发表于 09-25 07:11

    信息技术是干什么?

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

    嵌入式编程和微控制器应用

    对AtmelAVRRISC处理器的介绍,读者会立即进入嵌入式C语言教程之中。在本书中,读者将学习C语言的变量和常量、运算符和表达式、控制语句、指针和数组、存储器类型、预处理指令、实时方法等等。u3000u3000本书第4
    发表于 09-20 07:52

    嵌入式软件好还是硬件好?

    架构,有一定的C语言基础,熟悉ARM、PROTEL设计软件,有四层板开发经验。 成为优秀的嵌入式硬件开发工程师需具备以下技能:由需求分析至总体方案、详细设计的规划能力;熟练运用设计工具、设计原理图
    发表于 09-18 15:31

    videostrong嵌入式板卡、商显主板rk3399介绍

    电子发烧友网站提供《videostrong嵌入式板卡、商显主板rk3399介绍.rar》资料免费下载
    发表于 09-15 15:35 0次下载
    videostrong<b class='flag-5'>嵌入式</b>板卡、商显<b class='flag-5'>主板</b>rk3399<b class='flag-5'>介绍</b>

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

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