图中的T为时钟振荡周期的2倍,同步码低电平宽度是窄脉冲宽度的31倍。
2 硬件电路
2.1 发射电路
发射电路由PT2262编码器和无线发射模块组成,如图2所示。当PT2262和无线发射模块同时上电时(这里用开关S1代替,实际使用中可以加入控制电路),设定的地址码和数据码与固定的同步码组成一组编码从17脚串行输出到315 MHz的无线数据发送模块。振荡电阻Rosc用来调节编码发射频率,适当调高电路工作电源VCC可以增大发射距离。12位编码共531 441种组合可以满足各种智能控制和低速、少数据量、短距离数据通信。
2.2 接收电路
接收电路由无线接收模块,信号变换模块和89C51单片机组成。无线接收模块集无线接收、解调、放大、整形于一体,并能输出与TTL电平信号兼容的数字信号。信号变换模块主要完成信号隔离、编码反相、为单片机提供中断信号功能,如图3所示。
当接收到编码信号后,编码信号反相后送到单片机的P0口进行解码,同时在INT端会产生下降沿,并在整个信号接收过程中保持低电平,当发送端停止发送编码信号后,INT回到高电平,INT端口信号为单片机解码提供中断信号。89C51单片机完成软件解码和控制外部执行电路功能,外接4 MHz晶体振荡器,如图4所示。由于采用中断方式判断有无发射信号到来,从而大大减少了单片机处理开销,降低了功耗,也提高了抗干扰性能。[page]
3 解码原理
3.1 波形分析
PT2262每次发射时至少发射4组码字,每组字码之间有同步码隔开,一个码字包括同步码、地址位、和数据位,波形振荡频率f=2x1000x 16/Rosc kHz,其中Rosc为振荡电阻。图5所示的一个码字从左到右依次由“f”、“f”、“f”、“f”、“f”、“f”、“f”、“f”、“0”、“0”、“1”、“0”、同步码组成。
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 结束语
本设计的软件解码过程加入了自学习环节,可以在未知发射端编码芯片的振荡电阻参数的情况下完成解码,增加了解码器的通用性和灵活性。本设计方案已应用于无线报警系统,经实践证明,该方案经济,解码器性能可靠,可以将其扩展应用于智能遥控、数据通信等领域。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』