用87LPC764实现遥控信号的解码
发布时间:2008/5/29 0:00:00 访问次数:357
摘 要: 本文针对家电遥控系统中使用专用解码芯片解码的方法消耗系统资源多、占用空间大、成本高等问题,提出了一种用单片机对遥控编码芯片pt2262的信号进行解码的方法,并介绍了其硬件结构和软件实现的流程。
关键词: 遥控;pt2262;单片机解码;87lpc764
引言
在红外/无线遥控应用中,pt2262与pt2272是一对常用的编码和解码ic。使用该组芯片的典型家电遥控收发系统用pt2272来解码(图1中虚线箭头所示)。pt2272可以获得较快的解码速度,但是pt2272采用并行输出的方式,占用单片机i/o资源多,整个系统的开销和成本相对较大。如果采用单片机兼作解码器的技术(图1中粗实线箭头所示),不仅可以省去芯片pt2272,减少中间环节,增强系统的可靠性,而且仅占用了单片机上两个i/o口,充分利用了单片机资源,节省了电路板上的空间,降低了成本,具有很好的实用价值。
图1 遥控系统结构图
图2 pt2262引脚排列图
pt2262编码原理
pt2262是princeton technology公司的一款适用于红外和无线遥控,将载波振荡、编码、发射部分集于一身的集成电路。它具有价格低、功耗小、抗扰性好、单电阻振荡、适用电压范围宽等优点,外围电路简单,使用方便。目前被广泛应用于家电遥控、车门遥控、遥控玩具及工业遥控等领域。
pt2262芯片引脚排列如图2所示。各引脚功能如下:a0~a5为地址输入,可编制成三种状态:1、0和高阻态;a6/d0~a11/d5为地址或数据输入,取决于接收端的译码器。做地址输入时,可编制成三种状态:1、0和高阻态;做数据输入时,可编成l和0两种状态。该芯片最大编码容量为531441(312)种。为发射使能端,低电平有效。osc1、osc2外接振荡电阻,决定电路时钟频率。dout为数据输出端。由地址、数据的不同状态而决定的各位编码由此脚串行输出。pt2262 的信号发送格式如图3所示。
每当按键有效时,pt2262 发送四次编码。每发送一次编码都有5ms 宽度的低电平分开,而16ms的编码是由a0~a11十二个码组成,低位在前,高位在后。
pt2262每组发送12位三态数据,要把三态码转换成二进制形式,每位数据(0,1,高阻态)由两个脉冲位组成(具体编码格式见图4),接收端的信号与发送的信号高低电平正好相反。在接收端,把负电平的脉冲作为有效信号,这样的脉冲有两种,一种为宽脉冲,长度约490μs,一种为窄脉冲,宽度约165μs。每一个数据位的宽度约为1.3ms,每组12位数据的宽度约为16ms。如果把宽脉冲看作二进制“0”,窄脉冲看作二进制“1”,那么接收到的二进制码和发送的三态码的对应关系如表1所示。这样,解码的对象实际上就是与12位三态码对应的24位的二进制码。
图3 pt2262发送格式
图4 pt2262编码格式
解码原理及硬件结构
每检测到一次有效按键,pt2262都发送四次编码,接收端收到的编码间隔是5ms的高电平。可以利用这一特点先检测有没有接收到数据。当有数据的时候,就去掉第一次编码的信号,接收到5ms的高电平的负跳变后才开始解码。解码时,使用单片机内的比较器判断信号的电平跳变,用定时器记录信号相邻下降沿和上升沿之间的时间,判断是宽脉冲(二进制1)还是窄脉冲(二进制0),将该二进制数值记录下来,就得到了与发送端相对应的编码。
本文采用的解码单片机是philips公司的87lpc764。这是一款性价比较高的80c51改进型mcu,增加了wdt、i2c、模拟比较器等功能。利用其模拟比较器的功能可以较方便的实现对pt2262信号的解码,而且仅占用单片机的2个i/o口。解码部分的硬件连接方式见图5。图中遥控接收头是一个模拟接收电路,接收发送方的物理信号,将信号传送到单片机比较器的输入脚。
87lpc764内置了2个模拟信号比较器,cmp1和cmp2。每一个比较器包含一个正相输入端、一个反相输入端和一个输出端。当正相输入电压大于反相输入电压时,比较器输出逻辑“1”,反之则输出“0”。同时每一个比较器都可以成为一个中断源。
解码过程只需要一个比较器,外接一个参考电压作为判断高低电平信号的参考。当接收端信号电平发生跳变时,产生一个比较器中断,利用中断服务程序可以实现解码操作。
图5 接收头与单片机硬件连接图
图6 比较器中断程序流程图
解码软件的实现
解码程序在比较器中断服务程序中实现。第一个下降沿表明编码输出开始,这时将时间记录为last_time,当比较器输出跳变为高电平时,记录当前时间current_time,并且记录脉冲宽(current_time - last_time),
摘 要: 本文针对家电遥控系统中使用专用解码芯片解码的方法消耗系统资源多、占用空间大、成本高等问题,提出了一种用单片机对遥控编码芯片pt2262的信号进行解码的方法,并介绍了其硬件结构和软件实现的流程。
关键词: 遥控;pt2262;单片机解码;87lpc764
引言
在红外/无线遥控应用中,pt2262与pt2272是一对常用的编码和解码ic。使用该组芯片的典型家电遥控收发系统用pt2272来解码(图1中虚线箭头所示)。pt2272可以获得较快的解码速度,但是pt2272采用并行输出的方式,占用单片机i/o资源多,整个系统的开销和成本相对较大。如果采用单片机兼作解码器的技术(图1中粗实线箭头所示),不仅可以省去芯片pt2272,减少中间环节,增强系统的可靠性,而且仅占用了单片机上两个i/o口,充分利用了单片机资源,节省了电路板上的空间,降低了成本,具有很好的实用价值。
图1 遥控系统结构图
图2 pt2262引脚排列图
pt2262编码原理
pt2262是princeton technology公司的一款适用于红外和无线遥控,将载波振荡、编码、发射部分集于一身的集成电路。它具有价格低、功耗小、抗扰性好、单电阻振荡、适用电压范围宽等优点,外围电路简单,使用方便。目前被广泛应用于家电遥控、车门遥控、遥控玩具及工业遥控等领域。
pt2262芯片引脚排列如图2所示。各引脚功能如下:a0~a5为地址输入,可编制成三种状态:1、0和高阻态;a6/d0~a11/d5为地址或数据输入,取决于接收端的译码器。做地址输入时,可编制成三种状态:1、0和高阻态;做数据输入时,可编成l和0两种状态。该芯片最大编码容量为531441(312)种。为发射使能端,低电平有效。osc1、osc2外接振荡电阻,决定电路时钟频率。dout为数据输出端。由地址、数据的不同状态而决定的各位编码由此脚串行输出。pt2262 的信号发送格式如图3所示。
每当按键有效时,pt2262 发送四次编码。每发送一次编码都有5ms 宽度的低电平分开,而16ms的编码是由a0~a11十二个码组成,低位在前,高位在后。
pt2262每组发送12位三态数据,要把三态码转换成二进制形式,每位数据(0,1,高阻态)由两个脉冲位组成(具体编码格式见图4),接收端的信号与发送的信号高低电平正好相反。在接收端,把负电平的脉冲作为有效信号,这样的脉冲有两种,一种为宽脉冲,长度约490μs,一种为窄脉冲,宽度约165μs。每一个数据位的宽度约为1.3ms,每组12位数据的宽度约为16ms。如果把宽脉冲看作二进制“0”,窄脉冲看作二进制“1”,那么接收到的二进制码和发送的三态码的对应关系如表1所示。这样,解码的对象实际上就是与12位三态码对应的24位的二进制码。
图3 pt2262发送格式
图4 pt2262编码格式
解码原理及硬件结构
每检测到一次有效按键,pt2262都发送四次编码,接收端收到的编码间隔是5ms的高电平。可以利用这一特点先检测有没有接收到数据。当有数据的时候,就去掉第一次编码的信号,接收到5ms的高电平的负跳变后才开始解码。解码时,使用单片机内的比较器判断信号的电平跳变,用定时器记录信号相邻下降沿和上升沿之间的时间,判断是宽脉冲(二进制1)还是窄脉冲(二进制0),将该二进制数值记录下来,就得到了与发送端相对应的编码。
本文采用的解码单片机是philips公司的87lpc764。这是一款性价比较高的80c51改进型mcu,增加了wdt、i2c、模拟比较器等功能。利用其模拟比较器的功能可以较方便的实现对pt2262信号的解码,而且仅占用单片机的2个i/o口。解码部分的硬件连接方式见图5。图中遥控接收头是一个模拟接收电路,接收发送方的物理信号,将信号传送到单片机比较器的输入脚。
87lpc764内置了2个模拟信号比较器,cmp1和cmp2。每一个比较器包含一个正相输入端、一个反相输入端和一个输出端。当正相输入电压大于反相输入电压时,比较器输出逻辑“1”,反之则输出“0”。同时每一个比较器都可以成为一个中断源。
解码过程只需要一个比较器,外接一个参考电压作为判断高低电平信号的参考。当接收端信号电平发生跳变时,产生一个比较器中断,利用中断服务程序可以实现解码操作。
图5 接收头与单片机硬件连接图
图6 比较器中断程序流程图
解码软件的实现
解码程序在比较器中断服务程序中实现。第一个下降沿表明编码输出开始,这时将时间记录为last_time,当比较器输出跳变为高电平时,记录当前时间current_time,并且记录脉冲宽(current_time - last_time),