推荐星级:
- 1
- 2
- 3
- 4
- 5
1单片机红外接收与解码原理
资料介绍
1单片机红外接收与解码原理
1.1PT2262-I R编码原理
PT2262-IR的编码格式如图1-1所示,其中,OSC为系统的时钟频率。0,1,f和Sync对应的分别是低电平,高电平,悬空和同步码的波形,
图1-1 PT2262-IR编码格式
由于使用的一体化红外接收头的接收频率为38KHz,所以系统的时钟频率应该设置为76KHz。根据编码格式,通过计算可以得到各类编码中高低电平的宽度,也可以利用示波器测量各类编码中高低电平的宽度。
1.2 解码原理
要进行软件解码最重要的是得到各个电平的宽度,因此我们在进行软件解码时要利用计时器去获得电平的宽度,然后对得到的数据进行处理,就可以得到每个相应的脉冲是宽脉冲还是窄脉冲。通过对PT2262-IR的编码格式分析发现,根据每个周期中间时刻的电平状态就是判断相应周期中高电平是宽脉冲还是窄脉冲,为了减少数据的运算量,我们也可以在每个周期的中间时刻对输入端进行电平检测,得到相应时刻的电平状态,然后根据每个周期中间时刻的电平状态去判断该周期的脉冲是宽脉冲还是窄脉冲进而解码出发送的实际数据,每个周期中间时刻的电平状态和实际数据的对应关系如表1所示。
表1 编码与数据对应表
第一个周期 第二个周期 编码格式 实际数据
0 0 00 1
0 1 01 误码
1 0 10 f
1 1 11 0
利用判断周期中间时刻的电平状态进行软件解码时,我们可以通过计算得到周期的大概值,进而计算出半个周期的大概值,就可以在输入端有高电平跳变到低电平时给定时器一个初始值,然后启动定时器,使定时器可以在该周期的中间时刻产生中断,在中断处理程序中根据标记位判断是否需要读取信号输入端的电平状态,如果需要读取输入端的电平状态就开始读取输入端的电平状态,然后将其保存,同时计数值增加1,并清除标记位,对定时器设定初始值后重新启动定时器,以便判断该周期是否过长。如果不需要读取电平状态说明此次定时是为了判断周期长度的,一旦进入该中断说明该周期过长,可能是同步位或者是误码,因此就需要将计数值清零,重新获取数据,一直到获取25个数据为止。
当数据接收完毕后就可以对数据进行分析解码,根据表1可以将获得是数据解码得到相应的实际数据,对实际数据首先要检测其地址码是否与预设的地址码相同,如果不同,说明有误码或者不是给该接收器发送的信息,则不需要将数据显示,如果相同,说明是给该接收器发送的数据,就将数据位放入相应是显示缓冲区,系统的显示程序会自己将数据显示出来。
部分文件列表
文件名 | 大小 |
红外解码.c | 2KB |
全部评论(0)