[发明专利]基于PWM捕获的高鲁棒性IRIG-B直流码解码方法有效
申请号: | 202110288600.2 | 申请日: | 2021-03-18 |
公开(公告)号: | CN113067657B | 公开(公告)日: | 2022-10-21 |
发明(设计)人: | 王越;张发忠;赵红军;郑林博;王可川;刘骞;许芹 | 申请(专利权)人: | 烟台东方威思顿电气有限公司 |
主分类号: | H04J3/06 | 分类号: | H04J3/06;H04L1/00 |
代理公司: | 烟台双联专利事务所(普通合伙) 37225 | 代理人: | 申国栋 |
地址: | 264003 *** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 pwm 捕获 高鲁棒性 irig 直流 解码 方法 | ||
本发明公开了一种基于PWM捕获的高鲁棒性IRIG‑B直流码解码方法,包括如下步骤:配置单片机定时器TIMER的输入通道为PWM输入模式,使能该通道的捕获中断;在IRIG‑B直流码信号的上升沿和下降沿利用定时器TIMER中断判断IRIG‑B链路是否有误,若IRIG‑B链路无误,则判别码元类型,并将码元类型送入解码状态机;解码状态机对码元进行解析,最终直接在单片机内部获得高精度授时。本发明提出的IRIG‑B直流码解码方式基于PWM捕获,对每10ms码元信号的占空比进行捕获从而区分各码元类型,提高了整体程序的可控性和高效性;通过解码状态机程序对码元数据进行填充、勘误、解析,具有极高的鲁棒性、收敛性。
技术领域
本发明涉及B码授时技术领域,尤其涉及一种基于PWM捕获的高鲁棒性IRIG-B直流码解码方法。
背景技术
现有的IRIG-B直流解码方法通常分为两种:
第一,使用FPGA、CPLD等可编程逻辑门器件进行解码获得对时数据,对时后往往还要通过自定的逻辑协议(如SPI、并口等)将时间数据送至单片机进行业务处理,增加了使用成本,降低了对时效率,同时也降低了整个对时系统的集成度;
第二,使用单片机进行解码。现有的单片机解码方案普遍采用等待、循环延时,或定时器中断的方式实现,且解码方式勘误性差。这些方法一方面会造成程序阻塞,使得单片机无法执行其他任务。另一方面对IRIG-B信号电平的采样速率低(往往是毫秒级),使得解码鲁棒性差,在系统出现干扰时容易导致大概率的对时失败,甚至解码程序不收敛等不可预知的错误。若提高采样速率,则面临消耗大量CPU资源、频繁进入中断、解码周期不确定等问题,大大降低了程序的执行效率和可靠性。
发明内容
本发明提出了一种基于PWM捕获的高鲁棒性IRIG-B直流码解码方法,其目的是:克服现有技术缺陷,提高使用单片机进行IRIG-B直流码解码的高效性和可靠性。
本发明技术方案如下:
一种基于PWM捕获的高鲁棒性IRIG-B直流码解码方法,包括如下步骤:
S1:配置单片机定时器TIMER的输入通道为PWM输入模式,使能该通道的捕获中断;
S2:在PWM捕获产生的IRIG-B直流码信号上升沿、下降沿中断中获取码元周期和码元占空比,根据码元周期判断IRIG-B链路是否有误,若IRIG-B链路无误,则根据占空比判别码元类型,并将码元类型送入高鲁棒性解码状态机;
S3:解码状态机对码元进行解析,最终直接在单片机内部获得高精度授时。
进一步地,步骤S2中所述判断IRIG-B链路是否有误的方法步骤为:
在IRIG-B直流码信号的上升沿定时器TIMER将计数器值CNT锁存至寄存器CCR1,同时复位CNT并产生一个定时器中断CC1_IRQ;
当CC1_IRQ来临时,在其中断处理函数中读取CCR1值,赋值给全局变量irig_b_period,计算irig_b_period/Fclk的值,Fclk为TIMER的运行频率;
如果计算结果与10ms的误差在设定范围内,则判定IRIG-B链路无误,进一步判别码元类型;如果误差超出设定范围,则判定IRIG-B链路有误,不对码元进行区分、解析。
进一步地,步骤S2中所述判别码元类型的方法步骤为:
在IRIG-B直流码信号的下降沿将计数器值CNT锁存至寄存器CCR2,并产生一个定时器中断CC2_IRQ;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烟台东方威思顿电气有限公司,未经烟台东方威思顿电气有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110288600.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于培训考核的监督方法及系统
- 下一篇:一种大米生产加工用除尘装置