CN110224702A - 时间码irig-b自适应解码装置及解码方法 - Google Patents

时间码irig-b自适应解码装置及解码方法 Download PDF

Info

Publication number
CN110224702A
CN110224702A CN201910437757.XA CN201910437757A CN110224702A CN 110224702 A CN110224702 A CN 110224702A CN 201910437757 A CN201910437757 A CN 201910437757A CN 110224702 A CN110224702 A CN 110224702A
Authority
CN
China
Prior art keywords
code
signal
chip
feet
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910437757.XA
Other languages
English (en)
Other versions
CN110224702B (zh
Inventor
刘忠华
许强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Beidoutianhui Technology Co Ltd
Original Assignee
Beijing Beidoutianhui Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Beidoutianhui Technology Co Ltd filed Critical Beijing Beidoutianhui Technology Co Ltd
Priority to CN201910437757.XA priority Critical patent/CN110224702B/zh
Publication of CN110224702A publication Critical patent/CN110224702A/zh
Application granted granted Critical
Publication of CN110224702B publication Critical patent/CN110224702B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G7/00Synchronisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses

Abstract

本发明涉及一种时间码IRIG‑B自适应解码装置及解码方法,包括输入电路;输入电路包括:电B码输入电路和光B码输入电路;电B码输出电路输出到光电隔离电路相连接;B码输出电路和光电隔离电路与信号选择电路相连接;信号选择电路与中央处理器相连接。本发明时间接收设备可自适应2种物理模式的输入IRIG‑B码信号,无论输入那种物理接口的输入信号,程序都可以自适应识别;提高了时间接收设备的兼容性;支持自动信号识别,用户只要把光或电的IRIG‑B码信号接入设备,无需设置,自动识别出哪路通道有信号,并自动对其解码;在当前使用的信号被切断后,系统将自动转换到有信号的通道。

Description

时间码IRIG-B自适应解码装置及解码方法
技术领域
本发明涉及一种解码装置及解码方法,具体的说,是涉及一种时间码 IRIG-B自适应解码装置及解码方法。
背景技术
随着当今电子技术日新月异的发展,时间同步得到了越来越重要的应 用。时间码IRIG-B作为一种重要的时间同步传输的方式,以其实际突出 的优越性能,成为时统设备首选的标准码型,广泛的应用到军事、电力等 重要行业或部门。
在全球一体化的今天,把中国国防科技工业与民用科技工业相结合, 实现军民两部门合作共赢成为我国的国家战略。
传统时频接收产品在接收IRIG-B码信息时均定制成某一种特定格 式,存在接收方式单一,接收兼容性差的问题。
针对上述现有技术中的不足,本发明提供一种接收信号方式多样、自 适应解码的技术。
本发明可以自适应国军标IRIG-B(GJB 2991A-2008)格式和电力系统 的时间同步系统IRIG-B码(DLT 1100.1-2009)。
当外部输入IRIG-B码信号后,本发明自主识别当前IRIG-B码的类 型,并且进行有针对性的解码处理。
当输入过程中编码发生变化时,系统也可以自动识别是否发生了编码 改变,通过逻辑识别后,自动切换到相应的解码策略。接收方式上支持差 分电信号和多模光纤信号2种方式,进一步加强兼容性。
本发明是对“军民融合”思想的一种实践。本发明可对军用、民用2 种IRIG-B码进行自适应的时间解码。采用本发明可增强时间同步系统接 收信息的兼容性。
发明内容
针对上述现有技术中的不足,本发明提供可自适应2种物理模式的输 入IRIG-B码信号,无论输入那种物理接口的输入信号,都可以自适应识 别;提高了时间接收设备的兼容性;支持自动信号识别的时间码IRIG-B 自适应解码装置及解码方法。
本发明所采取的技术方案是:
一种时间码IRIG-B自适应解码装置,
包括输入电路;
输入电路包括:电B码输入电路和光B码输入电路;
电B码输出电路输出到光电隔离电路相连接;
B码输出电路和光电隔离电路与信号选择电路相连接;
信号选择电路与中央处理器相连接。
电B码输入电路包括接线端子P1;
接线端子P1接收外部输入的RS485-IRIG-B码信号;
芯片U1为MAX485;
接线端子P1接U1的6脚和7脚作为信号输入,输入信号经过芯片U1 将输入信号转换成TTV5V电平信号;
由芯片U1的1脚输出;
输出到芯片U3的光电隔离器件,信号隔离后,输出到芯片U4进行输 入信号选择。
电B码输出电路包括光纤接收器件OPTIC-RXD1;
光纤接收器件OPTIC-RXD1对外部输入的光纤IRIG-B码信号进行光电 转换;
转换后将输入信号转换成TTV5V电平信号;
光纤接收器件OPTIC-RXD1的6脚输出;
输出到芯片U4进行信号选择;
芯片U4为4路2与非门器件;
其12脚和4脚接MCU进行控制;
当芯片U4的12配置成低电平时,U4的11脚一定是常高;
测试U4的13脚输入什么信号都无效。
此时芯片U4的4脚配置成高电平,则U4的5脚被6脚反相输出到9 脚;
因为10脚常高,所以8脚将正相输出5脚的信号。从而实现了信号 选择;
芯片U3为SN74VHC1G125,将两路输入信号进入芯片U3的2脚;
芯片U3将信号转换成TTL3.3V信号,由芯片U3的4脚输出;
输出后经R4进行阻抗匹配后,将这个信号命名为STM直流B码主信 号;将其接入芯片U9的8脚。
芯片U9为MCU芯片,型号为STM32F10RE。
第一接插件P1的1脚与第一芯片U1(MAX485)的6脚连接;
第一接插件P1的2脚与第一芯片U1(MAX485)的7脚连接;
第一芯片U1(MAX485)的8脚连接VCC 5V A供电;
第一芯片U1(MAX485)的2脚连接GND-A;
第一芯片U1(MAX485)的3脚连接GND-A;
第一芯片U1(MAX485)的5脚连接GND-A;
第一芯片U1(MAX485)的4脚悬空;
第一芯片U1(MAX485)的1脚连接第三芯片U3(6N137)的3脚;
第一芯片U1(MAX485)的1脚连接测试点T1;
第三芯片U3(6N137)的2脚连接电阻R3的2脚;
第三芯片U3(6N137)的8脚连接供电VCC 5V;
第三芯片U3(6N137)的8脚连接电阻R2的1脚;
第三芯片(6N137)的6脚连接第四芯片U4的13脚;
第三芯片U3(6N137)的7脚悬空;
第三芯片U3(6N137)的5脚接地
电阻R3的1脚连接VCC 5V A供电;
电阻R2的2脚连接第三芯片U3(6N137)的6脚;
光纤接收器件(OPTIC-RXD1)的2脚连接5V供电;
光纤接收器件(OPTIC-RXD1)的3脚连接地;
光纤接收器件(OPTIC-RXD1)的7脚连接地;
光纤接收器件(OPTIC-RXD1)的6脚连接第四芯片U4的5脚;
光纤接收器件(OPTIC-RXD1)的6脚连接测试点T3;
光纤接收器件(OPTIC-RXD1)的6脚连接电阻R6的2脚;
电阻R6的1脚连接5V供电
第四芯片U4的12脚连接第9芯片U9(STM32F10RE)的14脚;
第四芯片U4(SN74LS00D)的4脚连接第9芯片U9(STM32F10RE)的 15脚;
第四芯片U4(SN74LS00D)的11脚连接第四芯片U4(SN74LS00D)的 10脚;
第四芯片U4(SN74LS00D)的6脚连接第四芯片U4(SN74LS00D)的9 脚;
第四芯片U4(SN74LS00D)的8脚连接第三芯片U3(SN74VHC1G125) 的2脚;
第四芯片U4(SN74LS00D)的8脚连接测试点T2
第三芯片U3(SN74VHC1G125)的5脚连接5V供电;
第三芯片U3(SN74VHC1G125)的1脚接地;
第三芯片U3(SN74VHC1G125)的3脚接地;
第三芯片U3(SN74VHC1G125)的4脚接电阻R4的1脚;
电阻R4的2脚接第9芯片U9(STM32F10RE)的8脚。
一种IRIG-B自适应解码装置的解码方法,
步骤1,开机MCU芯片进行初始化处理,MCU对芯片U4进行控制;
默认将电信号通道放入后端进行检测;
步骤2,等待TTL3.3V电平的输入信号进入MCU;
步骤3,设定时间内判断有无信号输入;
步骤4,设定时间内无信号输入,MCU对芯片U4进行控制,切换另外 一条通道的信号进行检测,执行步骤3;
步骤5,当信号输入后,采用捕获、提取编码,得到每一次编码的上 升沿和下降沿;
程序默认上升沿作为识别编码的前沿触发,下降沿为编码数据的时长 识别。
步骤6,判定是否得到基准码元,未得到基准码元执行步骤5,得到 基准码元执行步骤8,输入信号有规律误码,执行步骤7;
步骤7,输入信号反相识别与处理,执行步骤5;
步骤8,对全部码元进行解码;
步骤9,判断是否有明确的编码类型,有明确的编码类型,执行步骤 10,无明确的编码类型,执行步骤11;
步骤10,开启编码类型无效标志,执行步骤11;
步骤11,特殊的识别策略,判断当前编码类型是否有效,当前编码类 型无效,执行步骤12,当前编码类型有效,执行步骤14,
步骤12,判断是否发生了编码切换;
此步骤主要为了解决输入编码的突然改变的情况。例如,刚开机输入 的一直是军标码,突然输入被改成了国标码。程序在步骤11时,会对特 殊码进行采集,发现不符合当前的军标码特征时,就切换到步骤12,在步 骤12里面判断是否码值特征是否符合国标特征,如果符合,且累计到了 一定的有效数量(防止偶然一帧的错误数据),就可以判定发生了“编码 切换”。程序即可去步骤13执行切换动作。
步骤13,执行切换动作;
步骤14,开启编码雷友有效标志;
步骤15,启动相应的编码策略;
步骤16,得到编码信息。
对输入信号的固定电平时长进行判断,由IRIG-B码的原理可知,一 旦出现12ms以上的同一电平状态即为信号异常状态;
程序发现这种异常状态,开启输入信号异常标志,程序进入对异常信 号处理模式;
异常信号是指明显出现非法的状态。如正常信号一定是一个连续的方 波脉冲,每个脉冲的宽度不超过8ms。脉冲与脉冲之间的间隔也小于等于 8ms。所以,程序一旦发现,输入信号维持在某一电平状态(0或者1)都 认为信号出现了异常。这种异常通常是输入信号开路或者短路了。程序检 测到出现异常状态,要进行标识,并启动应对措施,不要对已经判断是无 效的输入信号进行解码。典型的案例就是:如输入信号接触不良,传输过 程中有100ms信号断开了。这样编码中就会出现一段全是0的数据。但是 恰巧这100ms没有出现在关键码值位置。就会出现:程序正常解码,但解 出来码值有一段是错误的。
否则,若信号无异常,则每次捕获出有效编码都放入B码的处理函数 进行编码识别。
开机MCU(Microcontroller Unit)微控制单元进行初始化处理;
等待稳定有效的外输入信号;
采用捕获的方式提取输入编码的码值,通过对关键码值的识别,判断 输入的信号编码类型;
确定解码策略;
实施解码处理;
时时侦测输入IRIG-B码的编码是否发生异常,当发生异常时,判别 输入的信号编码类型;
判决是否进行策略切换。从而实现对“军民”两种编码的自适应。
每一个2ms信号视为“0状态”,每一个5ms信号视为“1状态”, 每一个8ms信号视为“P状态”;
处理方式见下表:
表1输入编码的P状态的判别
首先用定时器采集输入信号的脉冲宽度。得到宽度后用了多个if, else和标志位指针来实现对不同状态下输入脉冲宽度做判别。
当收到连续2个P状态后,提取码值函数的位置指针归零,开始正式 提取码值;
提取码值函数循环100次,将周期为一秒的IRIG-B码信息完全提出 出来。将提取信息存入相应的数组;
之后解码函数对数组的内容进行整理。码值及其定义见表。
首先2个连续的P状态是信号编码的码头(起始位)。码头之后1秒 内有100个码值。抓住了码头,就能正常的解码。码头之后开启100次的 循环,将整个编码内的数据提取出来。之后的下一秒,重复这个动作,找 到码头,然后将码头之后的数据提取出来。
表内的分别是我国的对国军标IRIG-B(GJB 2991A-2008)格式和电力 系统的时间同步系统IRIG-B码(DLT 1100.1-2009)。代表军用和民用的2 大主流格式。
表2两种B码值定义对比表
自适应解码装置及解码方法,,包括解码判别处理步骤:
程序组合出通用的秒、分、时、天数信息;
再将针对国军标IRIG-B(GJB 2991A-2008)格式和电力系统的时间同 步系统IRIG-B码(DLT 1100.1-2009)不通用的做特殊处理;
步骤1,提取43位年十位标志;
国军标编码时,此位将交替出现“0”“1”,当电力标准时,此位将 恒定为0;
由此得到判断43位恒定为0就是判断当前输入信号是否是电力标准的 充分条件;
步骤2,提取45~48位的年信息;
当“年十位标志”=1时,表示年的十位,反之,表示年的个位;
军标编码时,此位将交替出现年信息;
理论上分析这个数据是可以全为0的,也可以不为零;
但当电力标准时,此位将恒定为0;
由此得到判断45~48位恒定为0就是判断当前输入信号是否是电力 标准的充分条件;
步骤3,提取50~53和55~58的数据,组合成年信息;
军标编码时,此位将恒定是0;
但当电力标准时,此位将是不确认的;
由此得到判断50~53和55~58的数据位恒定为0就是判断当前输入 信号是否是国军标编码的充分条件;
步骤4,对已知条件进行判别;
43、45-48数都是0,表示输入的信号是电力标准;切换模式为电力 模式;
当前1通道输入的B码是电力码;43/45-48有数,且50-53 55-58 的数是0表示输入的信号是国军标码;
如果43有数,且50段没数;切换模式为GJB模式;表示当前1通道 输入的B码是GJB2008;
步骤5:正常编码进入时,
进入后立刻清除另外一种解码方式有效数量的统计,并且对输入的编 码进行有效数量的积累,累计5个时,改变当前编码的解码方式;
步骤6:程序对编码切换的处理;
当输入信号发生编码切换时,对应的计数值将发生变化;累计5个 时,改变当前编码的解码方式。程序恢复到步骤5的正常解码状态;
步骤:7:程序对编码错误的处理。当输入信号发生编码切换时,将清 除解码类型有效的标志,避免出现错码;
步骤8,解码判别结束后的验证;
上面7个步骤实现了编码类型的识别;
接下来要对编码的内容进行一系列验证;
1是对信号的有效性进行进一步的判别,对输入信号发生切换情况进 行有效性的处理,避免切换过程中的错误信息打上有效标志对外输出,产 生错误;
2是对输入信号的合法性进行识别,对错码进行剔除;
如果当前判断是GB-B码;表示是电力B码;
当程序自认为在电力状态下,进入了一个军标编码;
则45-48位,出现了非0数据,且50-60位是0;
发现1通道B码错误,错误类型1,表示年信息异常;可能将发生信 号切换;正常处理年信息,否则,认为当前1通道输入的B码是 GJB2008;
当程序自认为在国军标编码状态下,进入了一个电力协议判断;则 45-48位,出现了0数据;发现1通道B码错误,错误类型1,表示年信 息异常;可能将发生信号切换;正常处理年信息;
步骤9,判定当前处于解码电力标准B码的状态下,45-48位,出现 了非0数据,且50-60位是0;
则表示很可能当前输入的编码格式发生了改变;
显示相应的错误标志,表示接收状态异常;
对外输出时间信息时,加注信号无效的标志;
反之当程序认为当前处于解码国军标B码的状态下,当45-48位,出 现了0数据,且50-60位出现非0数据;
表示输入信号切换到了电力标准;
显示相应的错误标志,表示接收状态异常;
对外输出时间信息时,加注信号无效的标志;
步骤10,进行完编码标识类型判断和编码有效性检验后,针对编码的 类型解码。
本发明在解码判别结束后,增加了一个判断环节;对输入信号的合法 性进行校对。解决偶然出现的连续3个P状态码导致对正反相判断信号无 法恢复的问题。
在极端情况下,如果在正常的B码中偶然出现3个连续的P状态码 时,输入信号反相的标志将被置1;
B码信号恢复;则错误累计不到3次;
则输入信号反相的标志始终不被恢复;
因此在解码后增加一个编码合法性纠错码机制;
即:如果已经得到有效的B码信息。则输入信号反相的标志就被清 零。表示当前B码是有效的,没有反相;
如果一个编码信息的月日时分秒信息都符合合法性,表示输入信号一 定不是反相的。清除反相标志。
时间码IRIG-B自适应解码装置及解码方法,包括时间信息整理步 骤:
步骤1,将当前时间转成秒数;加一秒的功能;
如果当前判断是GBJ-B码;表示是国军标B码;
B码发的是UTC0的时间;还原成时间;
将结构体的时间信息转换成无符号64位数据;记录当前时间信息;
将无符号64位数据转换成结构体的时间信息;
步骤2,B码信号是每秒一组数据,当检测到这一帧的准秒时刻时, 这一秒的准秒时刻已经过去了,可以说当前检测到的永远是已经逝去的上 一秒;
所以,要输出1PPS信号,只能在下一秒的准时沿时刻+1秒进行输 出;因为是加一秒输出,就涉及到时间进位功能;
程序上先构建一个Void CalcSecond()函数将接收到的时间信息转 换成一个起始于公元元年开始的64位秒信息(公历秒),之后对公历秒 进行+1操作(B_BCodeTimeModule.NTPsecond++),再之后构建一个Void dealIntegerTime()函数将公历秒转换成年月日时分秒信息;
步骤3:军标IRIG-B(GJB 2991A-2008)格式和电力系统的时间同步 系统IRIG-B码(DLT 1100.1-2009)的时间源选择是不一样的;
GJB 2991A-2008采用的时间编码是UTC时间;
而电力系统的时间同步系统IRIG-B码(DLT 1100.1-2009)采用的是 北京时间;
之间存在一个8小时的固定时差;
在编码提取完毕后,还要对输入的时间信息进行整理;
判断当前格式是军标IRIG-B(GJB 2991A-2008)格式,则将结构体的 时间信息转换成无符号64位数据后,对数据增加8小时,转换成北京时 间;
如果当前是电力系统的时间同步系统IRIG-B码(DLT 1100.1-2009) 则不需要进行处理,因为其本身就是北京时间。
本发明相对现有技术的有益效果:
本发明技术的时间接收设备可自适应2种物理模式的输入IRIG-B码 信号,无论输入那种物理接口的输入信号,程序都可以自适应识别。这样 提高了时间接收设备的兼容性。在实际使用环境中,当信号源设备距离信 号接收设备较近时(1公里以内),通产采用RS485电平信号进行传输。 因为这样可以降低成本。当信号源设备距离信号接收设备较远时(大于1 公里),电信号因为信号衰减和电磁干扰的原因将无法使用,所以将采用 光纤信号进行传输。这时,用户不得不增加光电转换模块、协议转换模块 之类的附加产品。这样不但增加了成本,还因为增加了外置转换设备导致 额外的风险。采用本发明,就可以完美解决这一问题。本发明支持光电2 种接口。且支持自动信号识别。用户只要把光或电的IRIG-B码信号接入 设备,无需设置。本发明将自动识别出哪路通道有信号,并自动对其解 码。在当前使用的信号被切断后,系统将自动转换到有信号的通道。
本发明可对输入的RS485电平的IRIG-B码信号进行光电隔离。避免 由外部接口输入的大电压、大电流对系统内部产生破坏。现有技术通常对 外输入的电信号不加隔离措施。因此外部设备的干扰信号会接入到本设 备。可能有静电、漏入强电等意外事件发生时,直接损坏本设备。所以本 发明采用隔离保护措施。对外输入信号,进行光电隔离。信号隔离方式没 有采用常规的隔离变压器隔离,而是采用光耦合器方式。实现:信号单向 传输,输入端与设备完全实现了电气隔离,抗干扰能力强,工作稳定,无 触点,使用寿命长,传输效率高。从而避免了隔离变压器的输入绕组与输 出绕组偶然同时触及带电体导致隔离失败的风险。其核心部件是高速光 耦,光耦的响应速度决定了信号的准确度。
本发明可自适应2种编码格式的输入IRIG-B码信号,对国军标IRIG- B(GJB2991A-2008)格式和电力系统的时间同步系统IRIG-B码(DLT 1100.1-2009)进行智能识别,智能解码。当输入的编码格式发生改变 时,本发明可自动切换相应的解码策略。现有产品都只能针对某一种编码 进行解码。本发明是对“军民融合”思想的一种实践。本发明可对军用、 民用2种IRIG-B码进行自适应的时间解码。采用本发明可增强时间同步 系统接收信息的兼容性。
本发明时间码IRIG-B自适应解码装置及解码方法,支持2种输入信 号模式;分别是RS485电平的电IRIG-B码和光纤信号的光IRIG-B码;外 输入信号是指经过接收电路,将2种输入信号都处理成TTL3.3V的电 IRIG-B码信号;2种IRIG-B码进行自适应的时间解码;增强时间同步系 统接收信息的兼容性;
本发明时间码IRIG-B自适应解码装置及解码方法,还可以本发明可 自适应输入编码的极性,当出现信号极性相位相反时,可自动调整接收方 式,进一步增强时间同步系统接收信息的兼容性;可以灵活的配置输入信 号源。RS485电平的电IRIG-B码和光纤信号的光IRIG-B码。
本发明时间码IRIG-B自适应解码装置及解码方法,可自适应2种物 理接口模式输入的IRIG-B码信号,自动选择有信号的物理接口通道,并 实现解码处理;当2种物理接口有效信号同时接入时,默认采用先接入的 信号。
本发明时间码IRIG-B自适应解码装置及解码方法,对输入的RS485 电平的IRIG-B码信号进行光电隔离。避免由外部接口输入的大电压、大 电流对系统内部产生破坏;
本发明时间码IRIG-B自适应解码装置及解码方法,当输入的编码格 式发生改变时,可自动切换相应的解码策略;可自适应IRIG-B码信号极 性,智能解码。当发现输入的编码电平是反相时,可自动做出调整。
附图说明
图1是本发明时间码IRIG-B自适应解码装置及解码方法的输入信号 处理与MCU解码电路设计原理图;
图2是本发明时间码IRIG-B自适应解码装置及解码方法的结构示意 图;
图3是本发明时间码IRIG-B自适应解码装置及解码方法的解码程序 流程图。
具体实施方式
以下参照附图及实施例对本发明进行详细的说明:
附图1-3可知,一种时间码IRIG-B自适应解码装置,
包括输入电路;
输入电路包括:电B码输入电路和光B码输入电路;
电B码输出电路输出到光电隔离电路相连接;
B码输出电路和光电隔离电路与信号选择电路相连接;
信号选择电路与中央处理器相连接。
电B码输入电路包括接线端子P1;
接线端子P1接收外部输入的RS485-IRIG-B码信号;
芯片U1为MAX485;
接线端子P1接U1的6脚和7脚作为信号输入,输入信号经过芯片U1 将输入信号转换成TTV5V电平信号;
由芯片U1的1脚输出;
输出到芯片U3的光电隔离器件,信号隔离后,输出到芯片U4进行输 入信号选择。
电B码输出电路包括光纤接收器件OPTIC-RXD1;
光纤接收器件OPTIC-RXD1对外部输入的光纤IRIG-B码信号进行光电 转换;
转换后将输入信号转换成TTV5V电平信号;
光纤接收器件OPTIC-RXD1的6脚输出;
输出到芯片U4进行信号选择;
芯片U4为4路2与非门器件;
其12脚和4脚接MCU进行控制;
当芯片U4的12配置成低电平时,U4的11脚一定是常高;
测试U4的13脚输入什么信号都无效。
此时芯片U4的4脚配置成高电平,则U4的5脚被6脚反相输出到9 脚;
因为10脚常高,所以8脚将正相输出5脚的信号。从而实现了信号 选择;
芯片U3为SN74VHC1G125,将两路输入信号进入芯片U3的2脚;
芯片U3将信号转换成TTL3.3V信号,由芯片U3的4脚输出;
输出后经R4进行阻抗匹配后,将这个信号命名为STM直流B码主信 号;将其接入芯片U9的8脚。
芯片U9为MCU芯片,型号为STM32F10RE。
第一接插件P1的1脚与第一芯片U1(MAX485)的6脚连接;
第一接插件P1的2脚与第一芯片U1(MAX485)的7脚连接;
第一芯片U1(MAX485)的8脚连接VCC 5V A供电;
第一芯片U1(MAX485)的2脚连接GND-A;
第一芯片U1(MAX485)的3脚连接GND-A;
第一芯片U1(MAX485)的5脚连接GND-A;
第一芯片U1(MAX485)的4脚悬空;
第一芯片U1(MAX485)的1脚连接第三芯片U3(6N137)的3脚;
第一芯片U1(MAX485)的1脚连接测试点T1;
第三芯片U3(6N137)的2脚连接电阻R3的2脚;
第三芯片U3(6N137)的8脚连接供电VCC 5V;
第三芯片U3(6N137)的8脚连接电阻R2的1脚;
第三芯片(6N137)的6脚连接第四芯片U4(SN74LS00D)的13脚;
第三芯片U3(6N137)的7脚悬空;
第三芯片U3(6N137)的5脚接地
电阻R3的1脚连接VCC 5V A供电;
电阻R2的2脚连接第三芯片U3(6N137)的6脚;
光纤接收器件(OPTIC-RXD1)的2脚连接5V供电;
光纤接收器件(OPTIC-RXD1)的3脚连接地;
光纤接收器件(OPTIC-RXD1)的7脚连接地;
光纤接收器件(OPTIC-RXD1)的6脚连接第四芯片U4(SN74LS00D) 的5脚;
光纤接收器件(OPTIC-RXD1)的6脚连接测试点T3;
光纤接收器件(OPTIC-RXD1)的6脚连接电阻R6的2脚;
电阻R6的1脚连接5V供电
第四芯片U4(SN74LS00D)的12脚连接第9芯片U9(STM32F10RE) 的14脚;
第四芯片U4(SN74LS00D)的4脚连接第9芯片U9(STM32F10RE)的 15脚;
第四芯片U4(SN74LS00D)的11脚连接第四芯片U4(SN74LS00D)的 10脚;
第四芯片U4(SN74LS00D)的6脚连接第四芯片U4(SN74LS00D)的9 脚;
第四芯片U4(SN74LS00D)的8脚连接第三芯片U3(SN74VHC1G125) 的2脚;
第四芯片U4(SN74LS00D)的8脚连接测试点T2
第三芯片U3(SN74VHC1G125)的5脚连接5V供电;
第三芯片U3(SN74VHC1G125)的1脚接地;
第三芯片U3(SN74VHC1G125)的3脚接地;
第三芯片U3(SN74VHC1G125)的4脚接电阻R4的1脚;
电阻R4的2脚接第9芯片U9(STM32F10RE)的8脚。
一种IRIG-B自适应解码装置的解码方法,
步骤1,开机MCU芯片进行初始化处理,MCU对芯片U4进行控制;
默认将电信号通道放入后端进行检测;
步骤2,等待TTL3.3V电平的输入信号进入MCU;
步骤3,30秒内(设定时间内)判断有无信号输入;
步骤4,设定时间内无信号输入,MCU对芯片U4进行控制,切换另外 一条通道的信号进行检测,执行步骤3;
步骤5,当信号输入后,采用捕获、提取编码,得到每一次编码的上 升沿和下降沿;
程序默认上升沿作为识别编码的前沿触发,下降沿为编码数据的时长 识别。
步骤6,判定是否得到基准码元,未得到基准码元执行步骤5,得到 基准码元执行步骤8,输入信号有规律误码,执行步骤7;
步骤7,输入信号反相识别与处理,执行步骤5;
步骤8,对全部码元进行解码;
步骤9,判断是否有明确的编码类型,有明确的编码类型,执行步骤 10,无明确的编码类型,执行步骤11;
步骤10,开启编码类型无效标志,执行步骤11;
步骤11,特殊的识别策略,判断当前编码类型是否有效,当前编码类 型无效,执行步骤12,当前编码类型有效,执行步骤14,
步骤12,判断是否发生了编码切换;
此步骤主要为了解决输入编码的突然改变的情况。例如,刚开机输入 的一直是军标码,突然输入被改成了国标码。程序在步骤11时,会对特 殊码进行采集,发现不符合当前的军标码特征时,就切换到步骤12,在步 骤12里面判断是否码值特征是否符合国标特征,如果符合,且累计到了 一定的有效数量(防止偶然一帧的错误数据),就可以判定发生了“编码 切换”。程序即可去步骤13执行切换动作。
步骤13,执行切换动作;
步骤14,开启编码雷友有效标志;
步骤15,启动相应的编码策略;
步骤16,得到编码信息。
对输入信号的固定电平时长进行判断,由IRIG-B码的原理可知,一 旦出现12ms以上的同一电平状态即为信号异常状态;
程序发现这种异常状态,开启输入信号异常标志,程序进入对异常信 号处理模式;
异常信号是指明显出现非法的状态。如正常信号一定是一个连续的方 波脉冲,每个脉冲的宽度不超过8ms。脉冲与脉冲之间的间隔也小于等于 8ms。所以,程序一旦发现,输入信号维持在某一电平状态(0或者1)都 认为信号出现了异常。这种异常通常是输入信号开路或者短路了。程序检 测到出现异常状态,要进行标识,并启动应对措施,不要对已经判断是无 效的输入信号进行解码。典型的案例就是:如输入信号接触不良,传输过 程中有100ms信号断开了。这样编码中就会出现一段全是0的数据。但是 恰巧这100ms没有出现在关键码值位置。就会出现:程序正常解码,但解 出来码值有一段是错误的。
否则,若信号无异常,则每次捕获出有效编码都放入B码的处理函数 进行编码识别。
开机MCU(Microcontroller Unit)微控制单元进行初始化处理;
等待稳定有效的外输入信号;
采用捕获的方式提取输入编码的码值,通过对关键码值的识别,判断 输入的信号编码类型;
确定解码策略;
实施解码处理;
时时侦测输入IRIG-B码的编码是否发生异常,当发生异常时,判别 输入的信号编码类型;
判决是否进行策略切换。从而实现对“军民”两种编码的自适应。
每一个2ms信号视为“0状态”,每一个5ms信号视为“1状态”, 每一个8ms信号视为“P状态”;
处理方式见下表:
表1输入编码的P状态的判别
首先用定时器采集输入信号的脉冲宽度。得到宽度后用了多个if, else和标志位指针来实现对不同状态下输入脉冲宽度做判别。
当收到连续2个P状态后,提取码值函数的位置指针归零,开始正式 提取码值;
提取码值函数循环100次,将周期为一秒的IRIG-B码信息完全提出 出来。将提取信息存入相应的数组;
之后解码函数对数组的内容进行整理。码值及其定义见表。
首先2个连续的P状态是信号编码的码头(起始位)。码头之后1秒 内有100个码值。抓住了码头,就能正常的解码。码头之后开启100次的 循环,将整个编码内的数据提取出来。之后的下一秒,重复这个动作,找 到码头,然后将码头之后的数据提取出来。
表内的分别是我国的对国军标IRIG-B(GJB 2991A-2008)格式和电力 系统的时间同步系统IRIG-B码(DLT 1100.1-2009)。代表军用和民用的2 大主流格式。
表2两种B码值定义对比表
自适应解码装置及解码方法,,包括解码判别处理步骤:
程序组合出通用的秒、分、时、天数信息;
再将针对国军标IRIG-B(GJB 2991A-2008)格式和电力系统的时间同 步系统IRIG-B码(DLT 1100.1-2009)不通用的做特殊处理;
步骤1,提取43位年十位标志;
国军标编码时,此位将交替出现“0”“1”,当电力标准时,此位将 恒定为0;
由此得到判断43位恒定为0就是判断当前输入信号是否是电力标准的 充分条件;
步骤2,提取45~48位的年信息;
当“年十位标志”=1时,表示年的十位,反之,表示年的个位;
军标编码时,此位将交替出现年信息;
理论上分析这个数据是可以全为0的,也可以不为零;
但当电力标准时,此位将恒定为0;
由此得到判断45~48位恒定为0就是判断当前输入信号是否是电力 标准的充分条件;
步骤3,提取50~53和55~58的数据,组合成年信息;
军标编码时,此位将恒定是0;
但当电力标准时,此位将是不确认的;
由此得到判断50~53和55~58的数据位恒定为0就是判断当前输入 信号是否是国军标编码的充分条件;
步骤4,对已知条件进行判别;
43、45-48数都是0,表示输入的信号是电力标准;切换模式为电力 模式;
当前1通道输入的B码是电力码;43/45-48有数,且50-53 55-58 的数是0表示输入的信号是国军标码;
如果43有数,且50段没数;切换模式为GJB模式;表示当前1通道 输入的B码是GJB2008;
步骤5:正常编码进入时,
进入后立刻清除另外一种解码方式有效数量的统计,并且对输入的编 码进行有效数量的积累,累计5个时,改变当前编码的解码方式;
步骤6:程序对编码切换的处理;
当输入信号发生编码切换时,对应的计数值将发生变化;累计5个 时,改变当前编码的解码方式。程序恢复到步骤5的正常解码状态;
步骤:7:程序对编码错误的处理。当输入信号发生编码切换时,将清 除解码类型有效的标志,避免出现错码;
步骤8,解码判别结束后的验证;
上面7个步骤实现了编码类型的识别;
接下来要对编码的内容进行一系列验证;
1是对信号的有效性进行进一步的判别,对输入信号发生切换情况进 行有效性的处理,避免切换过程中的错误信息打上有效标志对外输出,产 生错误;
2是对输入信号的合法性进行识别,对错码进行剔除;
如果当前判断是GB-B码;表示是电力B码;
当程序自认为在电力状态下,进入了一个军标编码;
则45-48位,出现了非0数据,且50-60位是0;
发现1通道B码错误,错误类型1,表示年信息异常;可能将发生信 号切换;正常处理年信息,否则,认为当前1通道输入的B码是GJB2008;
当程序自认为在国军标编码状态下,进入了一个电力协议判断;则 45-48位,出现了0数据;发现1通道B码错误,错误类型1,表示年信 息异常;可能将发生信号切换;正常处理年信息;
步骤9,判定当前处于解码电力标准B码的状态下,45-48位,出现 了非0数据,且50-60位是0;
则表示很可能当前输入的编码格式发生了改变;
显示相应的错误标志,表示接收状态异常;
对外输出时间信息时,加注信号无效的标志;
反之当程序认为当前处于解码国军标B码的状态下,当45-48位,出 现了0数据,且50-60位出现非0数据;
表示输入信号切换到了电力标准;
显示相应的错误标志,表示接收状态异常;
对外输出时间信息时,加注信号无效的标志;
步骤10,进行完编码标识类型判断和编码有效性检验后,针对编码的 类型解码。
本发明在解码判别结束后,增加了一个判断环节;对输入信号的合法 性进行校对。解决偶然出现的连续3个P状态码导致对正反相判断信号无 法恢复的问题。
在极端情况下,如果在正常的B码中偶然出现3个连续的P状态码 时,输入信号反相的标志将被置1;
B码信号恢复;则错误累计不到3次;
则输入信号反相的标志始终不被恢复;
因此在解码后增加一个编码合法性纠错码机制;
即:如果已经得到有效的B码信息。则输入信号反相的标志就被清 零。表示当前B码是有效的,没有反相;
如果一个编码信息的月日时分秒信息都符合合法性,表示输入信号一 定不是反相的。清除反相标志。
时间码IRIG-B自适应解码装置及解码方法,包括时间信息整理步 骤:
步骤1,将当前时间转成秒数;加一秒的功能;
如果当前判断是GBJ-B码;表示是国军标B码;
B码发的是UTC0的时间;还原成时间;
将结构体的时间信息转换成无符号64位数据;记录当前时间信息;
将无符号64位数据转换成结构体的时间信息;
步骤2,B码信号是每秒一组数据,当检测到这一帧的准秒时刻时, 这一秒的准秒时刻已经过去了,可以说当前检测到的永远是已经逝去的上 一秒;
所以,要输出1PPS信号,只能在下一秒的准时沿时刻+1秒进行输 出;因为是加一秒输出,就涉及到时间进位功能;
程序上先构建一个Void CalcSecond()函数将接收到的时间信息转 换成一个起始于公元元年开始的64位秒信息(公历秒),之后对公历秒 进行+1操作(B_BCodeTimeModule.NTPsecond++),再之后构建一个Void dealIntegerTime()函数将公历秒转换成年月日时分秒信息;
步骤3:军标IRIG-B(GJB 2991A-2008)格式和电力系统的时间同步 系统IRIG-B码(DLT 1100.1-2009)的时间源选择是不一样的;
GJB 2991A-2008采用的时间编码是UTC时间;
而电力系统的时间同步系统IRIG-B码(DLT 1100.1-2009)采用的是 北京时间;
之间存在一个8小时的固定时差;
在编码提取完毕后,还要对输入的时间信息进行整理;
判断当前格式是军标IRIG-B(GJB 2991A-2008)格式,则将结构体的 时间信息转换成无符号64位数据后,对数据增加8小时,转换成北京时 间;
如果当前是电力系统的时间同步系统IRIG-B码(DLT 1100.1-2009) 则不需要进行处理,因为其本身就是北京时间。
解码判别处理
程序组合出通用的秒、分、时、天数信息。再将针对国军标IRIG-B (GJB 2991A-2008)格式和电力系统的时间同步系统IRIG-B码(DLT 1100.1-2009)不通用的做特殊处理。
特殊处理包括如下步骤:
步骤1:提取43位年十位标志。国军标编码时,此位将交替出现 “0”“1”,当电力标准时,此位将恒定为0。由此得到判断43位恒定为 0就是判断当前输入信号是否是电力标准的充分条件。
步骤2:提取45~48位的年信息。当“年十位标志”=1时,表示年 的十位,反之,表示年的个位。国军标编码时,此位将交替出现年信息。 理论上分析这个数据是可以全为0的,也可以不为零。但当电力标准时, 此位将恒定为0。由此得到判断45~48位恒定为0就是判断当前输入信号 是否是电力标准的充分条件。
步骤3:提取50~53和55~58的数据,组合成年信息。国军标编码 时,此位将恒定是0。但当电力标准时,此位将是不确认的。由此得到判 断50~53和55~58的数据位恒定为0就是判断当前输入信号是否是国军 标编码的充分条件。
步骤4:对已知条件进行判别。代码如下:编码类型判决代码图
其中:
INPUT_B_Code1.bit43:为输入信号第43位的信息;
INPUT_B_Code1.YearInf45bit[0]:为输入信号第45~48的数据位 独立的信息;
INPUT_B_Code1.YearInf50bit:为输入信号第50~53和55~58 的数据位组合的信息;
INPUT_B_Code1.is_GJB2008:为输入信号的格式;
INPUT_B_Code1.is_GJB2008_count:为输入信号的国军标编码正确的 计数;
INPUT_B_Code1.is_GB_count;为输入信号的电力编码正确的计 数;
INPUT_B_Code1.Stat_is_OK:为输入信号的状态标志;
DF_INPUT_B_Code_CorrectNum;为无参宏定义;默认=5。
步骤5:正常编码进入时,程序将进入:
if((INPUT_B_Code1. bit43==0)&&(INPUT_B_Code1.YearInf45bit[0]==0)&&(INPUT_B_Code1. YearInf45bit[1]==0))或Else if(INPUT_B_Code1.YearInf50bit==0)段落。进入后立刻清除另外一种解码方式有效数量的 统计,并且对输入的编码进行有效数量的积累,累计5个时,改变当前编 码的解码方式。
步骤6:程序对编码切换的处理。当输入信号发生编码切换时,程序 的
if((INPUT_B_Code1. bit43==0)&&(INPUT_B_Code1.YearInf45bit[0]==0)&&(INPUT_B_Code1. YearInf45bit[1]==0))和Else if(INPUT_B_Code1.YearInf50bit==0)将发生切换,对应的计数值INPUT_B_Code1.is_GJB2008_count或INPUT_B_Code1.is_GB_count将发生 变化。累计5个时,改变当前编码的解码方式。程序恢复到步骤5的正常 解码状态。
步骤:7:程序对编码错误的处理。当输入信号发生编码切换时,程序 的
if((INPUT_B_Code1.bit43==0)&&(INPUT_B_Code1.YearInf45bit[0]= =0)&&(INPUT_B_Code1.YearInf45bit[1]==0))和Else if (INPUT_B_Code1.YearInf50bit==0)将都不能满足,从而进入最后的 else段落。在这里将清除解码类型有效的标志,避免出现错码。
步骤8:解码判别结束后的验证。上面7个步骤实现了编码类型的识 别。接下来要对编码的内容进行一系列验证。作用1是对信号的有效性进 行进一步的判别,对输入信号发生切换情况进行有效性的处理,避免切换 过程中的错误信息打上有效标志对外输出,产生错误。2是对输入信号的 合法性进行识别,对错码进行剔除。
处理代码有:编码类型校验代码图
其中:
INPUT_B_Code1.is_error1:B码错误标志,错误类型1,表示年信 息异常,可能将发生信号切换;
INPUT_B_Code1.YearInf45:45-48位组合的年信息;
步骤9:如果程序认为当前处于解码电力标准B码的状态下,45-48 位,出现了非0数据,且50-60位是0。则表示很可能当前输入的编码格 式发生了改变。打相应的错误标志,表示接收状态异常。对外输出时间信 息时,加注信号无效的标志。反之当程序认为当前处于解码国军标B码的 状态下,当45-48位,出现了0数据,且50-60位出现非0数据。表示输 入信号切换到了电力标准。打相应的错误标志,表示接收状态异常。对外 输出时间信息时,加注信号无效的标志。
步骤10:进行完编码标识类型判断和编码有效性检验后,针对编码的 类型。正常对编码解码。
编码合法性纠错码机制;
本发明在解码判别结束后,增加了一个判断环节。对输入信号的合法 性进行校对。解决偶然出现的连续3个P状态码导致对正反相判断信号 无法恢复的问题。
在极端情况下,如果在正常的B码中偶然出现3个连续的P状态码 时,输入信号反相的标志(INPUT_B_Code1.B_input_UN)将被置1。之 后,B码信号恢复。则错误累计不到3次。则输入信号反相的标志 (INPUT_B_Code1.B_input_UN)始终不被恢复。因此在解码后增加一个 编码合法性纠错码机制。即:如果已经得到有效的B码信息。则输入信 号反相的标志(INPUT_B_Code1.B_input_UN)就被清零。表示当前B码 是有效的,没有反相。
代码如下:编码合法性纠错码机制代码;
其中:
INPUT_B_Code1.time_second:输入信号的秒信息;
INPUT_B_Code1.time_minute;输入信号的份信息;
INPUT_B_Code1.time_hour:输入信号的时信息;
INPUT_B_Code1.time_day:输入信号的天信息;
INPUT_B_Code1.time_month:输入信号的月信息;
如果一个编码信息的月日时分秒信息都符合合法性,表示输入信号一 定不是反相的。清除反相标志。
时间信息的整理:
对外输出前要对时间信息进行一些必要的整理。整理操作如下:
步骤1:代码如下:时间信息的整理代码
其中:
Void CalcSecond()函数:将结构体的时间信息转换成无符 号64位数据;
B_BCodeTimeModule.NTPsecond:无符号64位数据,记录当前时间信 息;
INPUT_B_Code1_is_GJB2008:为输入信号的格式;
Void dealIntegerTime()函数:将无符号64位数据转换成结 构体的时间信息。
步骤2:B码信号是每秒一组数据,当检测到这一帧的准秒时刻时, 这一秒的准秒时刻已经过去了,可以说当前检测到的永远是已经逝去的上 一秒。所以,要输出1PPS信号,只能在下一秒的准时沿时刻+1秒进行输 出;因为是加一秒输出,就涉及到时间进位功能。程序上先构建一个Void CalcSecond()函数将接收到的时间信息转换成一个起始于公元元年开始 的64位秒信息(公历秒),之后对公历秒进行+1操作 (B_BCodeTimeModule.NTPsecond++),再之后构建一个Void dealIntegerTime()函数将公历秒转换成年月日时分秒信息。
步骤3:因为国军标IRIG-B(GJB 2991A-2008)格式和电力系统的时 间同步系统IRIG-B码(DLT 1100.1-2009)的时间源选择是不一样的。 GJB 2991A-2008采用的时间编码是UTC时间。而电力系统的时间同步系统IRIG-B码(DLT 1100.1-2009)采用的是北京时间。之间存在一个8小时 的固定时差。所以,在编码提取完毕后,还要对输入的时间信息进行整理。程序中判断只要当前格式是国军标IRIG-B(GJB 2991A-2008)格式, 则将结构体的时间信息转换成无符号64位数据后,对数据增加8小时, 转换成北京时间。如果当前是电力系统的时间同步系统IRIG-B码(DLT 1100.1-2009)则不需要进行处理,因为其本身就是北京时间。
本发明技术的时间接收设备可自适应2种物理模式的输入IRIG-B码 信号,无论输入那种物理接口的输入信号,程序都可以自适应识别。这样 提高了时间接收设备的兼容性。在实际使用环境中,当信号源设备距离信 号接收设备较近时(1公里以内),通产采用RS485电平信号进行传输。 因为这样可以降低成本。当信号源设备距离信号接收设备较远时(大于1 公里),电信号因为信号衰减和电磁干扰的原因将无法使用,所以将采用 光纤信号进行传输。这时,用户不得不增加光电转换模块、协议转换模块 之类的附加产品。这样不但增加了成本,还因为增加了外置转换设备导致 额外的风险。采用本发明,就可以完美解决这一问题。本发明支持光电2 种接口。且支持自动信号识别。用户只要把光或电的IRIG-B码信号接入 设备,无需设置。本发明将自动识别出哪路通道有信号,并自动对其解 码。在当前使用的信号被切断后,系统将自动转换到有信号的通道。
本发明可对输入的RS485电平的IRIG-B码信号进行光电隔离。避免 由外部接口输入的大电压、大电流对系统内部产生破坏。现有技术通常对 外输入的电信号不加隔离措施。因此外部设备的干扰信号会接入到本设 备。可能有静电、漏入强电等意外事件发生时,直接损坏本设备。所以本 发明采用隔离保护措施。对外输入信号,进行光电隔离。信号隔离方式没 有采用常规的隔离变压器隔离,而是采用光耦合器方式。实现:信号单向 传输,输入端与设备完全实现了电气隔离,抗干扰能力强,工作稳定,无 触点,使用寿命长,传输效率高。从而避免了隔离变压器的输入绕组与输 出绕组偶然同时触及带电体导致隔离失败的风险。其核心部件是高速光 耦,光耦的响应速度决定了信号的准确度。
本发明可自适应2种编码格式的输入IRIG-B码信号,对国军标IRIG- B(GJB2991A-2008)格式和电力系统的时间同步系统IRIG-B码(DLT 1100.1-2009)进行智能识别,智能解码。当输入的编码格式发生改变 时,本发明可自动切换相应的解码策略。现有产品都只能针对某一种编码 进行解码。本发明是对“军民融合”思想的一种实践。本发明可对军用、 民用2种IRIG-B码进行自适应的时间解码。采用本发明可增强时间同步 系统接收信息的兼容性。
本发明时间码IRIG-B自适应解码装置及解码方法,支持2种输入信 号模式;分别是RS485电平的电IRIG-B码和光纤信号的光IRIG-B码;外 输入信号是指经过接收电路,将2种输入信号都处理成TTL3.3V的电 IRIG-B码信号;2种IRIG-B码进行自适应的时间解码;增强时间同步系 统接收信息的兼容性;
本发明时间码IRIG-B自适应解码装置及解码方法,还可以本发明可 自适应输入编码的极性,当出现信号极性相位相反时,可自动调整接收方 式,进一步增强时间同步系统接收信息的兼容性;可以灵活的配置输入信 号源。RS485电平的电IRIG-B码和光纤信号的光IRIG-B码。
本发明时间码IRIG-B自适应解码装置及解码方法,可自适应2种物 理接口模式输入的IRIG-B码信号,自动选择有信号的物理接口通道,并 实现解码处理;当2种物理接口有效信号同时接入时,默认采用先接入的 信号。
本发明时间码IRIG-B自适应解码装置及解码方法,对输入的RS485 电平的IRIG-B码信号进行光电隔离。避免由外部接口输入的大电压、大 电流对系统内部产生破坏;
本发明时间码IRIG-B自适应解码装置及解码方法,当输入的编码格 式发生改变时,可自动切换相应的解码策略;可自适应IRIG-B码信号极 性,智能解码。当发现输入的编码电平是反相时,可自动做出调整。
以上所述,仅是本发明的较佳实施例而已,并非对本发明的结构作任 何形式上的限制。凡是依据本发明的技术实质对以上实施例所作的任何简 单修改、等同变化与修饰,均属于本发明的技术方案范围内。

Claims (8)

1.一种时间码IRIG-B自适应解码装置,其特征在于,
包括输入电路;
输入电路包括:电B码输入电路和光B码输入电路;
电B码输出电路输出到光电隔离电路相连接;
B码输出电路和光电隔离电路与信号选择电路相连接;
信号选择电路与中央处理器相连接。
2.根据权利要求1所述时间码IRIG-B自适应解码装置,其特征在于:
电B码输入电路包括接线端子P1;
接线端子P1接收外部输入的RS485-IRIG-B码信号;
接线端子P1接U1的6脚和7脚作为信号输入,输入信号经过芯片U1将输入信号转换成TTV5V电平信号;
由芯片U1的1脚输出;
输出到芯片U3的光电隔离器件,信号隔离后,输出到芯片U4进行输入信号选择。
电B码输出电路包括光纤接收器件OPTIC-RXD1;
光纤接收器件OPTIC-RXD1对外部输入的光纤IRIG-B码信号进行光电转换;
转换后将输入信号转换成TTV5V电平信号;
光纤接收器件OPTIC-RXD1的6脚输出;
输出到芯片U4进行信号选择;
芯片U4为4路2与非门器件;
其12脚和4脚接MCU进行控制;
当芯片U4的12配置成低电平时,U4的11脚一定是常高;
此时芯片U4的4脚配置成高电平,则U4的5脚被6脚反相输出到9脚;
将两路输入信号进入芯片U3的2脚;
芯片U3将信号转换成TTL3.3V信号,由芯片U3的4脚输出;
输出后经R4进行阻抗匹配后,将这个信号命名为STM直流B码主信号;将其接入芯片U9的8脚。
3.根据权利要求2所述时间码IRIG-B自适应解码装置,其特征在于:
第一接插件P1的1脚与第一芯片U1的6脚连接;
第一接插件P1的2脚与第一芯片U1的7脚连接;
第一芯片U1的8脚连接VCC5V A供电;
第一芯片U1的2脚连接GND-A;
第一芯片U1的3脚连接GND-A;
第一芯片U1的5脚连接GND-A;
第一芯片U1的4脚悬空;
第一芯片U1的1脚连接第三芯片U3(6N137)的3脚;
第一芯片U1的1脚连接测试点T1;
第三芯片U3的2脚连接电阻R3的2脚;
第三芯片U3的8脚连接供电VCC5V;
第三芯片U3的8脚连接电阻R2的1脚;
第三芯片的6脚连接第四芯片U4的13脚;
第三芯片U3的7脚悬空;
第三芯片U3的5脚接地
电阻R3的1脚连接VCC5V A供电;
电阻R2的2脚连接第三芯片U3的6脚;
光纤接收器件的2脚连接5V供电;
光纤接收器件的3脚连接地;
光纤接收器件的7脚连接地;
光纤接收器件的6脚连接第四芯片的5脚;
光纤接收器件的6脚连接测试点T3;
光纤接收器件的6脚连接电阻R6的2脚;
电阻R6的1脚连接5V供电
第四芯片U4的12脚连接第9芯片U9的14脚;
第四芯片U4的4脚连接第9芯片U9的15脚;
第四芯片U4的11脚连接第四芯片U4的10脚;
第四芯片U4的6脚连接第四芯片U4的9脚;
第四芯片U4的8脚连接第三芯片U3的2脚;
第四芯片U4的8脚连接测试点T2
第三芯片U3的5脚连接5V供电;
第三芯片U3的1脚接地;
第三芯片U3的3脚接地;
第三芯片U3的4脚接电阻R4的1脚;
电阻R4的2脚接第9芯片U9(STM32F10RE)的8脚。
4.一种权利要求1-3任意一项所述时间码IRIG-B自适应解码装置的解码方法,其特征在于:
步骤1,开机MCU芯片进行初始化处理,MCU对芯片U4进行控制;
默认将电信号通道放入后端进行检测;
步骤2,等待TTL3.3V电平的输入信号进入MCU;
步骤3,设定时间内判断有无信号输入;
步骤4,设定时间内无信号输入,MCU对芯片U4进行控制,切换另外一条通道的信号进行检测,执行步骤3;
步骤5,当信号输入后,采用捕获、提取编码,得到每一次编码的上升沿和下降沿;
程序默认上升沿作为识别编码的前沿触发,下降沿为编码数据的时长识别;
步骤6,判定是否得到基准码元,未得到基准码元执行步骤5,得到基准码元执行步骤8,输入信号有规律误码,执行步骤7;
步骤7,输入信号反相识别与处理,执行步骤5;
步骤8,对全部码元进行解码;
步骤9,判断是否有明确的编码类型,有明确的编码类型,执行步骤10,无明确的编码类型,执行步骤11;
步骤10,开启编码类型无效标志,执行步骤11;
步骤11,特殊的识别策略,判断当前编码类型是否有效,当前编码类型无效,执行步骤12,当前编码类型有效,执行步骤14,
步骤12,判断是否发生了编码切换;
步骤13,执行切换动作;
步骤14,开启编码雷友有效标志;
步骤15,启动相应的编码策略;
步骤16,得到编码信息。
5.根据权利要求4所述时间码IRIG-B自适应解码装置,其特征在于:
对输入信号的固定电平时长进行判断,由IRIG-B码的原理可知,一旦出现12ms以上的同一电平状态即为信号异常状态;
程序发现这种异常状态,开启输入信号异常标志,程序进入对异常信号处理模式;
否则,若信号无异常,则每次捕获出有效编码都放入B码的处理函数进行编码识别。
6.根据权利要求5所述时间码IRIG-B自适应解码装置,其特征在于:
开机MCU(Microcontroller Unit)微控制单元进行初始化处理;
等待稳定有效的外输入信号;
采用捕获的方式提取输入编码的码值,通过对关键码值的识别,判断输入的信号编码类型;
确定解码策略;
实施解码处理;
时时侦测输入IRIG-B码的编码是否发生异常,当发生异常时,判别输入的信号编码类型;
判决是否进行策略切换。
7.根据权利要求6所述时间码IRIG-B自适应解码装置及解码方法,其特征在于:包括解码判别处理步骤:
程序组合出通用的秒、分、时、天数信息;
再将针对国军标IRIG-B(GJB 2991A-2008)格式和电力系统的时间同步系统IRIG-B码(DLT 1100.1-2009)不通用的做特殊处理;
步骤1,提取43位年十位标志;
国军标编码时,此位将交替出现“0”“1”,当电力标准时,此位将恒定为0;
由此得到判断43位恒定为0就是判断当前输入信号是否是电力标准的充分条件;
步骤2,提取45~48位的年信息;
当“年十位标志”=1时,表示年的十位,反之,表示年的个位;
军标编码时,此位将交替出现年信息;
理论上分析这个数据是可以全为0的,也可以不为零;
但当电力标准时,此位将恒定为0;
由此得到判断45~48位恒定为0就是判断当前输入信号是否是电力标准的充分条件;
步骤3,提取50~53和55~58的数据,组合成年信息;
军标编码时,此位将恒定是0;
但当电力标准时,此位将是不确认的;
由此得到判断50~53和55~58的数据位恒定为0就是判断当前输入信号是否是国军标编码的充分条件;
步骤4,对已知条件进行判别;
43、45-48数都是0,表示输入的信号是电力标准;切换模式为电力模式;
当前1通道输入的B码是电力码;43/45-48有数,且50-53 55-58的数是0表示输入的信号是国军标码;
如果43有数,且50段没数;切换模式为GJB模式;表示当前1通道输入的B码是GJB2008;
步骤5:正常编码进入时,
进入后立刻清除另外一种解码方式有效数量的统计,并且对输入的编码进行有效数量的积累,累计5个时,改变当前编码的解码方式;
步骤6:程序对编码切换的处理;
当输入信号发生编码切换时,对应的计数值将发生变化;累计5个时,改变当前编码的解码方式。程序恢复到步骤5的正常解码状态;
步骤:7:程序对编码错误的处理。当输入信号发生编码切换时,将清除解码类型有效的标志,避免出现错码;
步骤8,解码判别结束后的验证;
上面7个步骤实现了编码类型的识别;
接下来要对编码的内容进行一系列验证;
1是对信号的有效性进行进一步的判别,对输入信号发生切换情况进行有效性的处理,避免切换过程中的错误信息打上有效标志对外输出,产生错误;
2是对输入信号的合法性进行识别,对错码进行剔除;
如果当前判断是GB-B码;表示是电力B码;
当程序自认为在电力状态下,进入了一个军标编码;
则45-48位,出现了非0数据,且50-60位是0;
发现1通道B码错误,错误类型1,表示年信息异常;可能将发生信号切换;正常处理年信息,否则,认为当前1通道输入的B码是GJB2008;
当程序自认为在国军标编码状态下,进入了一个电力协议判断;则45-48位,出现了0数据;发现1通道B码错误,错误类型1,表示年信息异常;可能将发生信号切换;正常处理年信息;
步骤9,判定当前处于解码电力标准B码的状态下,45-48位,出现了非0数据,且50-60位是0;
则表示很可能当前输入的编码格式发生了改变;
显示相应的错误标志,表示接收状态异常;
对外输出时间信息时,加注信号无效的标志;
反之当程序认为当前处于解码国军标B码的状态下,当45-48位,出现了0数据,且50-60位出现非0数据;
表示输入信号切换到了电力标准;
显示相应的错误标志,表示接收状态异常;
对外输出时间信息时,加注信号无效的标志;
步骤10,进行完编码标识类型判断和编码有效性检验后,针对编码的类型解码。
在极端情况下,如果在正常的B码中偶然出现3个连续的P状态码时,输入信号反相的标志将被置1;
B码信号恢复;则错误累计不到3次;
则输入信号反相的标志始终不被恢复;
因此在解码后增加一个编码合法性纠错码机制;
即:如果已经得到有效的B码信息。则输入信号反相的标志就被清零。表示当前B码是有效的,没有反相;
如果一个编码信息的月日时分秒信息都符合合法性,表示输入信号一定不是反相的。清除反相标志。
8.根据权利要求6所述时间码IRIG-B自适应解码装置及解码方法,其特征在于:包括时间信息整理步骤:
步骤1,将当前时间转成秒数;加一秒的功能;
如果当前判断是GBJ-B码;表示是国军标B码;
B码发的是UTC0的时间;还原成时间;
将结构体的时间信息转换成无符号64位数据;记录当前时间信息;
将无符号64位数据转换成结构体的时间信息;
步骤2,B码信号是每秒一组数据,当检测到这一帧的准秒时刻时,这一秒的准秒时刻已经过去了,可以说当前检测到的永远是已经逝去的上一秒;
所以,要输出1PPS信号,只能在下一秒的准时沿时刻+1秒进行输出;因为是加一秒输出,就涉及到时间进位功能;
程序上先构建一个Void CalcSecond()函数将接收到的时间信息转换成一个起始于公元元年开始的64位秒信息(公历秒),之后对公历秒进行+1操作(B_BCodeTimeModule.NTPsecond++),再之后构建一个Void dealIntegerTime()函数将公历秒转换成年月日时分秒信息;
步骤3:军标IRIG-B(GJB 2991A-2008)格式和电力系统的时间同步系统IRIG-B码(DLT1100.1-2009)的时间源选择是不一样的;
GJB 2991A-2008采用的时间编码是UTC时间;
而电力系统的时间同步系统IRIG-B码(DLT 1100.1-2009)采用的是北京时间;
之间存在一个8小时的固定时差;
在编码提取完毕后,还要对输入的时间信息进行整理;
判断当前格式是军标IRIG-B(GJB 2991A-2008)格式,则将结构体的时间信息转换成无符号64位数据后,对数据增加8小时,转换成北京时间;
如果当前是电力系统的时间同步系统IRIG-B码(DLT 1100.1-2009)则不需要进行处理,因为其本身就是北京时间。
CN201910437757.XA 2019-05-24 2019-05-24 时间码irig-b自适应解码装置及解码方法 Active CN110224702B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910437757.XA CN110224702B (zh) 2019-05-24 2019-05-24 时间码irig-b自适应解码装置及解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910437757.XA CN110224702B (zh) 2019-05-24 2019-05-24 时间码irig-b自适应解码装置及解码方法

Publications (2)

Publication Number Publication Date
CN110224702A true CN110224702A (zh) 2019-09-10
CN110224702B CN110224702B (zh) 2021-07-06

Family

ID=67817892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910437757.XA Active CN110224702B (zh) 2019-05-24 2019-05-24 时间码irig-b自适应解码装置及解码方法

Country Status (1)

Country Link
CN (1) CN110224702B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114006620A (zh) * 2021-10-27 2022-02-01 北斗天汇(北京)科技有限公司 一种具备自动调节功能的irig交流b码解码方法和系统
CN114415780A (zh) * 2021-12-30 2022-04-29 研祥智慧物联科技有限公司 基于irig-b码的对时方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090089097A (ko) * 2008-02-18 2009-08-21 울산대학교 산학협력단 아이알아이지-비 시간 코드를 이용한 시간 동기화 장치 및방법
CN202586933U (zh) * 2012-05-11 2012-12-05 北京北变智达科技有限公司 一种基于irig-b的解码对时电路装置
CN105553484A (zh) * 2016-01-15 2016-05-04 广东水利电力职业技术学院 一种极性自适应的irig-b码解码方法及解码装置
CN106444351A (zh) * 2016-08-29 2017-02-22 山东鲁能控制工程有限公司 多源解码授时系统及其工作方法
CN207853908U (zh) * 2018-06-11 2018-09-11 苏州科技大学 面向电能质量无线监测的时间同步装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090089097A (ko) * 2008-02-18 2009-08-21 울산대학교 산학협력단 아이알아이지-비 시간 코드를 이용한 시간 동기화 장치 및방법
CN202586933U (zh) * 2012-05-11 2012-12-05 北京北变智达科技有限公司 一种基于irig-b的解码对时电路装置
CN105553484A (zh) * 2016-01-15 2016-05-04 广东水利电力职业技术学院 一种极性自适应的irig-b码解码方法及解码装置
CN106444351A (zh) * 2016-08-29 2017-02-22 山东鲁能控制工程有限公司 多源解码授时系统及其工作方法
CN207853908U (zh) * 2018-06-11 2018-09-11 苏州科技大学 面向电能质量无线监测的时间同步装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114006620A (zh) * 2021-10-27 2022-02-01 北斗天汇(北京)科技有限公司 一种具备自动调节功能的irig交流b码解码方法和系统
CN114006620B (zh) * 2021-10-27 2023-01-17 北斗天汇(北京)科技有限公司 一种具备自动调节功能的irig交流b码解码方法和系统
CN114415780A (zh) * 2021-12-30 2022-04-29 研祥智慧物联科技有限公司 基于irig-b码的对时方法及装置

Also Published As

Publication number Publication date
CN110224702B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
CN110224702A (zh) 时间码irig-b自适应解码装置及解码方法
CN102619501B (zh) 一种石油测井仪中的数据传输系统
CN101738931B (zh) 一种irig-b码的对时装置及其对时方法
CN204270025U (zh) 具有irig-b对时功能的时钟系统
CN108445436B (zh) 一种双芯运行状态互检的电能表
CN101493674A (zh) B码解调解码方法及其装置
CN106341212B (zh) 一种实现多类型时间信号自辨识和检测的装置和方法
CN109828447B (zh) 一种基于fpga+arm架构的网关通信数据对时方法
CN201828585U (zh) 便携式变电站同步对时及soe信号发生仪
CN102621954A (zh) 智能电网中的自适应多信号源对时卡装置及报文分析系统
CN106066465A (zh) 一种电能表现场校验远程脉冲模块及其校验方法
CN205583839U (zh) 一种变电站微机综合保护测控装置
CN102496055B (zh) Rfid解调方式自动识别方法及自动识别电路
CN104006857A (zh) 一种光电直读水表传感器抑制气泡干扰的方法
CN100571234C (zh) 应用在无线接收装置的ask解调器及方法
CN100529680C (zh) 一种使红外发光二极管和光敏晶体管在水中使用的电路
CN109736782A (zh) 一种矿用电磁波随钻轨迹测量控制系统以及控制方法
CN109002030A (zh) 一种基于ft3报文开关量位置采集的柔性直流保护测试方法
CN108040022A (zh) 一种用于随钻测量仪器的总线编解码装置及方法
CN201145846Y (zh) 电气火灾监控装置
CN209728944U (zh) 一种应用于atm机的银行卡遗忘提醒装置
CN114006620B (zh) 一种具备自动调节功能的irig交流b码解码方法和系统
CN102402495A (zh) 一种船舶name0183输入信号极性自适应方法及接口装置
CN106849780B (zh) 仪表阀控电机的控制方法及电机状态控制机
CN108234054B (zh) 一种集中器时钟丢失自检自恢复的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant