本文主要探讨了基于51单片机实现多路IRIG-B码的解调应用设计,特别是在时间同步和授时系统中的应用。IRIG-B码是一种广泛应用于靶场测量和时间同步的编码格式,分为直流码IRIG-B(DC)码和交流码IRIG-B(AC)码。在本文中,主要关注的是DC码的解调。
设计原理部分首先介绍了B码的授时原理。时间终端设备通过接收B码获取精确的时间信息,同时回送B码给上级时间设备,以便测量时延和监控授时状态。解调B码的关键在于能够识别码元,每个码元占据10毫秒的时间宽度,包括"0码"、"1码"和"P码",它们的定义基于高低电平的宽度。
单片机解码原理涉及使用中断查询方法。1 kHz的外部中断源被用来检测DC码的高低电平,通过中断服务程序对各路DC码进行计数,根据计数值判断码元类型。考虑到相位漂移可能导致计数偏差,设计了一种容错机制:当计数结果在特定范围内时,判断为特定的码元,确保了100%的正确识别率。
在应用设计环节,硬件部分采用W78E058B单片机来实现最多8路B码的同时解调。P1口输入8路DC码,P0和P2口作为数据和地址端口,P4口则用于输出解调秒头标志信号。1 kHz信号连接到INT0,触发中断服务程序。解码后的B码信息存储在专用的双口RAM芯片中,解调秒头标志信号经过触发装置产生对应的解调秒头信号。
软件实现部分,首先进行单片机的初始化,包括开启辅助RAM区,设置中断源INT0为负边沿触发方式。中断服务程序ZDINT0则按顺序处理8路DC码,每路的处理流程类似,通过计数和比较确定码元类型。
这种设计在实际应用中表现出良好的性能,特别是在时间设备的对时同步检测仪中得到了验证。采用51单片机虽然资源有限,但能有效地实现多路B码的解调。如果使用更高级的CPU,不仅可以解调B码,还能承担更多时间设备的功能。这种设计在点对多时间同步体系中具有重要意义,可以减少硬件资源,提高设备的紧凑性、维修性和可靠性。