具有自学习功能的编码集成电路PT2262解码器设计
摘要:传统解码方法存在只能针对特定振荡频率的波形进行解码的问题。为了改进传统解码方法的局限性,设计了一种基于单片机的具有自学习功能的集成编码芯PT2262解码器。该解码器实现了在未知发射电路的振荡电阻参数情况下,通过自学习获取参数并完成解码;同时,突破了传统解码方法中数据位只有4~6位的限制,12位编码数据帧格式可根据实际使用场合灵活定义。实验结果表明,在无线传输距离为200m的情况下,解码正确率为99.8%。
关键词:自学习;PT2262;单片机;解码器
PT2262/2272是一种CMOS工艺制造的低功耗、低价位、通用编解码集成电路。现已广泛应用于红外遥控、智能报警、门禁管理等领域,也可扩展应用于串行数据传送。在一般应用情况下,PT2262和PT2272需要配对使用,对地址位的设置和振荡电阻的配置有严格要求,而且如果使用PT2272硬件电路解码,数据位只有4~6位,这就限制了其应用的领域和使用的灵活性。
近年来,基于波形分析的软件解码或者软硬结合解码的方法被提出来。但是,这些方法都不具有自学功能,只针对特定振荡频率的波形进行解码,当不知道发射电路PT2262的振荡电阻的配置的情况下无法解码,或者需要手工调整程序的参数。
本文提出了一种具有自学习功能的基于单片机的软件解码方法并完成了设计,这种新方法可以在未知发射电路的配置参数的情况下,通过先学习、后解码的过程实现解码,且可以实现自定义数据帧的格式,使编码的地址位和数据位的设置更加灵活。从而可以将通用编码集成电路扩展应用于数据通信,智能控制等领域。
1 PT2262工作原理
PT2262最多可有12位(A0~A11)三态地址端管脚(悬空,接高电平,接低电平)任意组合可提供531441种地址码。最多可以有6位(D0~D5)数据位,设定的地址码和数据码与同步码组成数据帧以串行数据方式输出。
当PT2262和PT2272配对使用时,要求发端编码芯片FT2262的地址编码与收端解码芯片PT2272的地址编码相一致,而且振荡频率相匹配。而发端向收端发送的指令等信息可编码在编码芯片的数据端,通过无线传送后,在解码芯片的数据端取出。
编码芯片PT2262发出的编码由地址码、数据码、同步码组成。地址码和数据码都用宽度不同的脉冲来表示,两个窄脉冲表示“0”;两个宽脉冲表示“1”;一个窄脉冲和一个宽脉冲表示“f”(“悬空”)。图1所示为PT2262编码格式图。
图中的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所示。由于采用中断方式判断有无发射信号到来,从而大大减少了单片机处理开销,降低了功耗,也提高了抗干扰性能。
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 结束语
本设计的软件解码过程加入了自学习环节,可以在未知发射端编码芯片的振荡电阻参数的情况下完成解码,增加了解码器的通用性和灵活性。本设计方案已应用于无线报警系统,经实践证明,该方案经济,解码器性能可靠,可以将其扩展应用于智能遥控、数据通信等领域。