3.2 解码方法
单片机软件解码时,程序需要判断出同步码,然后对后面的码字进行脉冲宽度识别即可。为方便判读同步码,在解码前将信号反相,如图6所示,上半部分为反相前信号,下半部分为反相后信号。
码字中的每一位都可以分成两段,以每段中的高电平宽度来描述码位,如表1所示。
4 软件设计
解码过程分为自学习和数据解析两个步骤完成。自学习实现从一个码字中检测出同步码头和计算同步码高电平宽度(反相后),其流程图如图7所示。
数据解析实现从码字中解析出地址位和数据位的值,解析过程如图8所示。由于加入了自学习过程,程序自动完成同步码高电平宽度的计算,从而根据同步码高电平宽度和数据“0”、“1”、“f”的波形高电平宽度之间的倍数关系计算出数据“0”、“1”、“f”波形的高电平宽度。所以解码软件不受PT2262编码芯片振荡电阻(Rosc)的限制,即使在未知发射电路中的Rosc参数值或者是Rosc参数值发生了改变,也
不必更改解码软件。
5 抗干扰措施
本系统采取的措施包括硬件措施和软件措施。硬件措施包括:1)为了有效抑制单片机对接收模块的电磁干扰采用了电源隔离和端口隔离技术;2)在接收电路部分,对接收信号进行整形、放大、倒相,倒相后同步码头的高低电平保持时间相反,高电平保持时间由原来的4T提高到了124T,提高了抗突发脉冲干扰的能力和解码的准确率;3)在接收电路部分加入了INT信号产生端口,只有检测到编码信号到来时,INT端才有下降沿产生,如果干扰信号是负向干扰,则INT端不会产生下降沿,有效抑制了负向干扰;4)收发模块采用目前国家允许无线遥控使用的频率315 MHz;5)单片机振荡频率采用频率为4 MHz的晶体,而不是C51单片机常用的12 MHz及11.059 2 MHz的晶体。软件措施包括:在程序中增加了自学习功能,通过自学习程序判断出同步码头高电平保持时间和数据“0”、“1”、“f”的高电平保持时间之间是否满足固定的倍数关系。只有满足固定的倍数关系才进行解码,否则认为是误码,不予解码。
6 结束语
本设计的软件解码过程加入了自学习环节,可以在未知发射端编码芯片的振荡电阻参数的情况下完成解码,增加了解码器的通用性和灵活性。本设计方案已应用于无线报警系统,经实践证明,该方案经济,解码器性能可靠,可以将其扩展应用于智能遥控、数据通信等领域。