遥控接收.docx
- 文档编号:23087514
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:27
- 大小:265.56KB
遥控接收.docx
《遥控接收.docx》由会员分享,可在线阅读,更多相关《遥控接收.docx(27页珍藏版)》请在冰豆网上搜索。
遥控接收
04110GK所有遥控接收正常,只是批号为033806R所有片子上却遥控接受不正常,不能接收单发码,但可以接收连发码,不知道04110GK和033806R的两个批号的片子内部电路有什么不同?
我用的是HT6222的遥控编码片子.我怀疑可能是不能辨别0和1;0.56MS的低电平后,0.56MS高电平或是1.68MS高电平.但是贴片630的批号为0324175的可以.烦呀.而用旧程序就可以.就程序是以色列人写的.请指教.
371741:
请帮忙分析一款“学习型红外遥控器”
最近发现家里遥控器老是弄混(唉,遥控器多了,也是一件麻烦事)。
如果有一种可对家中各种红外遥控器发射的控制信号进行识别、存储和再现的智能型红外遥控器,用这样一个遥控器控制家中所有电器该多好。
这就是大家称作的学习型红外遥控器。
于是,下了不少工夫查找了许多资料,对红外遥控也做了一点表面研究,现总结一点文档,与大家一同探讨(有不对之处,请大家指正!
);另外由于本人愚顿还未开窍,还有部分东西想不太明白,在此也向专家们请教,请知道的老兄支点招,在此小弟先谢过了!
!
!
一、红外遥控概述
红外遥控系统一般都是由发射部分和接收部分组成。
1、发射部分的主要元件为红外发光二极管。
它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它发出的便是红外线而不是可见光。
目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通Φ5发光二极管相同,只是颜色不同。
2、接收部分主要元件是红外接收管,它是一种光敏二极管(实际上是三极管,基极为感光部分)。
在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。
由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。
前些年常用μPC1373H、CX20106A等红外接收专用放大电路。
最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。
成品红外接收头的封装大致有两种:
一种采用铁皮屏蔽;一种是塑料封装(如图中的HS0038),均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VO或OUT)。
红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。
成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。
但在使用时注意成品红外接收头的载波频率。
3、红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号,通过红外发射管发射红外信号。
常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。
红外遥控常用的载波频率为38KHZ,这是由发射端编码芯片所使用的455KHZ晶振来决定的。
在发射端要对晶振进行整数分频,分频系数一般取12,所以455KHZ÷12≈37.9kHz≈38KHZ。
也有一些遥控系统采用36kHz、40kHz、56kHz等。
红外遥控的特点是不影响周边环境、不干扰其它电器设备。
由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。
由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。
因此,红外遥控在家用电器、室内近距离(小于10米)遥控中得到了广泛的应用。
二、红外遥控编码标准
目前市面上出现的遥控编码有很多种,但常用的红外遥控编码主要是NEC标准和PHILIPS标准,其它都是这两类的变种。
1、NEC编码标准:
编码芯片有PT2221/PT2222、HT6221/HT6222等
此标准下的发射端所发射的一帧码含有一个引导码、8位用户码、8位用户反码,8位键数据码、8位键数据反码。
引导码由一个9ms的高电平和4.5ms的低电平组成。
当按下持续时间超过108ms时,则发送简码(简码由9ms高电平和2.25ms的低电平组成)来告之接收端是某一个按一直按着,象电视的音量和频道切换键都有此功能,简码与简码之间相隔是108ms。
“1”和“0”的区分采用脉冲位置调制方式(PPM)。
如下图所示:
../uploadfile/200705141459353767.jpg(图二)
2、PHILIPS的RC-5编码标准:
编码芯片有SAA3010、PT2210/PT2211/PT1215、HT6230等
RC-5编码标准的一帧有以下几部分组成:
1)起始码部分 2个逻辑1;
2)控制码部分,1位;
3)系统码部分,5位;
4)指令码部分,6位。
连续发射时,重复波形与第一次发射波形相同。
控制码位在前后再次按键中交替改变。
0和1码传送采用双相位编码发送技术。
编码规则如下图所示:
3、其它变种的编码类型
像TC9028、PT2212、PT2213等芯片的码型与NEC标准类似,只是引导码变为4.5ms高电平+4.5ms低电平,简码4.5ms高电平+4.5ms低电平+0.56ms高电平+1.68ms低电平+1.56ms高电平组成。
像PT2461、LC7461等芯片的码型也是与NEC标准类似,数据帧长度变长了,引导码+13位用户码+13位用户反码+8位键数据码+8位键数据反码。
简码为9ms高电平+4.5ms低电平+0.56ms高电平组成。
三、红外信号的学习与再生(学习型遥控器的电路和编程实现)
目前大多数人采用的方法都是用一体化接收头做为信号的接收,然后把解调出来的信号送入单片机进行学习(记录各个高低电平的时间长度),然后存入EEPROM内,学习OK后再发送的是把EEPROM的高低电平的时间数据读取并与38KHZ载波进行调制然后发送出去。
如下图所示:
例如:
由AVR系列单片机ATMEGA8、一体化红外接收头HS0038、存储器、还原调制与红外发光管驱动电路组成。
一体化红外接收头负责红外遥控信号的解调,将调制在38KHZ上的红外脉冲信号解调并反向后再输入到ATMEGA8的INT0引脚,边沿触发方式,并由单片机计数器进行高电平与低电平宽度的测量。
这里使用具有I2C总线接口的E2PROM芯片AT24C32作为存储器,其容量为4KB,用来保存识别出来的遥控信号的高电平与低电平宽度数据。
通常遥控信号的二进制脉冲码长为32位,每位由一个高电平与一个低电平组成,应保存的信号宽度数据为64个,再加上引导码2个数据,共计66个数据,每个数据用一个字节来表示,一个遥控信号命令就需要66个字节来保存。
考虑到不同的遥控系统有一定的区别,有些遥控信号命令长度较长,所以存储空间应适当留有余量。
在实际应用中,可根据红外遥控设备的数量及每个设备的遥控命令数量等具体情况来决定E2PROM芯片的容量和型号。
遥控信号的还原和发射是通过单片机的一个IO口输出二进制脉冲码(高电平与低电平的维持时间为学习识别时保存的一组宽度数据)与38KHZ载波进行调制,调制后的信号经驱动后通过红外发光管发射出去。
但这样的处理方法,因为一体化红外接收头工作电压一般都要求是5V,在供电能力方便的情况下采用这种方式还是不错的,但如果想象普通遥控器一样只能采用两节干电池供电,那以上方法是没法做到的。
后来我从市场买了一个自学习型遥控器,打开小研究了一番,其电路原理如下图所示:
另外,我用编程器读出AT24C32内的数据,发现每一个按键对应于一个32字节的区域,也就是说一个按键的红外信号经单片机学习处理变成一个32字节的数据,但这32个字节数,我一个个键进行分析,但没想明白它反应的是个什么的关系,像电视的电源开关键其32字节的数据为(这里学习的红外遥控器信号是用NEC标准编码的):
8B 2A 1F 09 56 00 0B AA 31 75 00 00 00 00 00 00
00 00 00 F0 A5 55 4A 49 29 52 95 49 4A 49 00 F1
数字键1的32字节数据如下:
8F 2A 1F 09 56 00 0B AA 31 75 00 00 00 00 00 00
00 00 00 F0 A5 55 4A 49 29 55 55 24 92 49 00 F1
现在有两点我没想明白:
1、这里接收红外信号是采用红外接收二级管,但这里经三极管放大反向之后送入单片机口线上的信号还是调制在38KHZ的波形,也就是说这个波形是没有经过解调的。
我想弄明白的事:
单片机是如何对这波形进行解调的吗?
或者说这单片机处理程序是并没有进行解调而是直接记录特征数据,然后存入EEPROM,这样又是如何做到的吗?
2、存储于EEPROM的32字节数,是个什么样的特征数据,它能再生重新原样的发射出去。
能只用32个字节的数据记录一个按键的红外遥控信息,这比之前用66个字节(甚至更多)的方法来得更加简洁,一个4K的EEPROM(AT24C32)能够记录的按键数就多得多了。
一直没想明白这两个问题,这款学
349558:
简单实验成功
曼码的10
(1),01(0)解起来还真有点麻烦,关键是每位数据发送前没有同步头了呀
我也是按楼主的思路做的,利用波特率的概念来解码,在我的FPPATM上解起来相当稳定的,可是同样的方法用在51上就没有那么稳定了,因为在FPPATM上可以专门安排一路PC来接收IR信号,不会被任何事件打断.我的IR信号是1.68ms每位,已经精确到了80us,用中断太浪费资源,用延时又可能被打断.希望大家可以提供更好的方法来解决曼码的无线传输呀!
255089:
提醒一下
在你的编码中已经有了引导码,用户识别码+反码,操作码+反码;看来软件的问题不大,不过我不知道14H是不是播放,建议检查一下硬件,最好是测一下接收端看有没有你要的编码出现
以下引自网络非个人观点希望对你有参考的价值:
遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。
一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间。
当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。
如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。
解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。
如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可
219979:
关于红外遥控的一点资料整理
最近发现家里遥控器老是弄混(唉,遥控器多了,也是一件麻烦事)。
如果有一种可对家中各种红外遥控器发射的控制信号进行识别、存储和再现的智能型红外遥控器,用这样一个遥控器控制家中所有电器该多好。
这就是大家称作的学习型红外遥控器。
于是,下了不少工夫查找了许多资料,对红外遥控也做了一点表面研究,现总结一点文档,与大家一同探讨(有不对之处,请大家指正!
);另外由于本人愚顿还未开窍,还有部分东西想不太明白,在此也向专家们请教,请知道的老兄支点招,在此小弟先谢过了!
!
!
一、红外遥控概述
红外遥控系统一般都是由发射部分和接收部分组成。
1、发射部分的主要元件为红外发光二极管。
它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它发出的便是红外线而不是可见光。
目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通Φ5发光二极管相同,只是颜色不同。
2、接收部分主要元件是红外接收管,它是一种光敏二极管(实际上是三极管,基极为感光部分)。
在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。
由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。
前些年常用μPC1373H、CX20106A等红外接收专用放大电路。
最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。
成品红外接收头的封装大致有两种:
一种采用铁皮屏蔽;一种是塑料封装(如图中的HS0038),均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VO或OUT)。
红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。
成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。
但在使用时注意成品红外接收头的载波频率。
3、红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号,通过红外发射管发射红外信号。
常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。
红外遥控常用的载波频率为38KHZ,这是由发射端编码芯片所使用的455KHZ晶振来决定的。
在发射端要对晶振进行整数分频,分频系数一般取12,所以455KHZ÷12≈37.9kHz≈38KHZ。
也有一些遥控系统采用36kHz、40kHz、56kHz等。
红外遥控的特点是不影响周边环境、不干扰其它电器设备。
由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。
由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。
因此,红外遥控在家用电器、室内近距离(小于10米)遥控中得到了广泛的应用。
二、红外遥控编码标准
目前市面上出现的遥控编码有很多种,但常用的红外遥控编码主要是NEC标准和PHILIPS标准,其它都是这两类的变种。
1、NEC编码标准:
编码芯片有PT2221/PT2222、HT6221/HT6222等
此标准下的发射端所发射的一帧码含有一个引导码、8位用户码、8位用户反码,8位键数据码、8位键数据反码。
引导码由一个9ms的高电平和4.5ms的低电平组成。
当按下持续时间超过108ms时,则发送简码(简码由9ms高电平和2.25ms的低电平组成)来告之接收端是某一个按一直按着,象电视的音量和频道切换键都有此功能,简码与简码之间相隔是108ms。
“1”和“0”的区分采用脉冲位置调制方式(PPM)。
如下图所示:
../uploadfile/200705121428154332.jpg(图二)
2、PHILIPS的RC-5编码标准:
编码芯片有SAA3010、PT2210/PT2211/PT1215、HT6230等
RC-5编码标准的一帧有以下几部分组成:
1)起始码部分 2个逻辑1;
2)控制码部分,1位;
3)系统码部分,5位;
4)指令码部分,6位。
连续发射时,重复波形与第一次发射波形相同。
控制码位在前后再次按键中交替改变。
0和1码传送采用双相位编码发送技术。
编码规则如下图所示:
3、其它变种的编码类型
像TC9028、PT2212、PT2213等芯片的码型与NEC标准类似,只是引导码变为4.5ms高电平+4.5ms低电平,简码4.5ms高电平+4.5ms低电平+0.56ms高电平+1.68ms低电平+1.56ms高电平组成。
像PT2461、LC7461等芯片的码型也是与NEC标准类似,数据帧长度变长了,引导码+13位用户码+13位用户反码+8位键数据码+8位键数据反码。
简码为9ms高电平+4.5ms低电平+0.56ms高电平组成。
三、红外信号的学习与再生(学习型遥控器的电路和编程实现)
目前大多数人采用的方法都是用一体化接收头做为信号的接收,然后把解调出来的信号送入单片机进行学习(记录各个高低电平的时间长度),然后存入EEPROM内,学习OK后再发送的是把EEPROM的高低电平的时间数据读取并与38KHZ载波进行调制然后发送出去。
如下图所示:
例如:
由AVR系列单片机ATMEGA8、一体化红外接收头HS0038、存储器、还原调制与红外发光管驱动电路组成。
一体化红外接收头负责红外遥控信号的解调,将调制在38KHZ上的红外脉冲信号解调并反向后再输入到ATMEGA8的INT0引脚,边沿触发方式,并由单片机计数器进行高电平与低电平宽度的测量。
这里使用具有I2C总线接口的E2PROM芯片AT24C32作为存储器,其容量为4KB,用来保存识别出来的遥控信号的高电平与低电平宽度数据。
通常遥控信号的二进制脉冲码长为32位,每位由一个高电平与一个低电平组成,应保存的信号宽度数据为64个,再加上引导码2个数据,共计66个数据,每个数据用一个字节来表示,一个遥控信号命令就需要66个字节来保存。
考虑到不同的遥控系统有一定的区别,有些遥控信号命令长度较长,所以存储空间应适当留有余量。
在实际应用中,可根据红外遥控设备的数量及每个设备的遥控命令数量等具体情况来决定E2PROM芯片的容量和型号。
遥控信号的还原和发射是通过单片机的一个IO口输出二进制脉冲码(高电平与低电平的维持时间为学习识别时保存的一组宽度数据)与38KHZ载波进行调制,调制后的信号经驱动后通过红外发光管发射出去。
但这样的处理方法,因为一体化红外接收头工作电压一般都要求是5V,在供电能力方便的情况下采用这种方式还是不错的,但如果想象普通遥控器一样只能采用两节干电池供电,那以上方法是没法做到的。
我看到过一款自学习型遥控器,其电路原理如下图所示:
现在有两点我没想明白:
1、这里接收红外信号是采用红外接收二级管,但这里经三极管放大反向之后送入单片机口线上的信号还是调制在38KHZ的波形,也就是说这个波形是没有经过解调的。
我想弄明白的事:
单片机是如何对这波形进行解调的吗?
或者说这单片机处理程序是并没有进行解调而是直接记录特征数据,然后存入EEPROM,这样又是如何做到的吗?
2、存储于EEPROM的32字节数,是个什么样的特征数据,它能再生重新原样的发射出去。
能只用32个字节的数据记录一个按键的红外遥控信息,这比之前用66个字节(甚至更多)的方法来得更加简洁,一个4K的EEPROM(AT24C32)能够记录的按键数就多得多了。
有知道请说明一下,谢谢!
*-本贴最后修改时间:
2006-8-229:
52:
35修改者:
allstudy
195021:
一HT6221遥控器芯片简介
1.特征
*工作电压:
1.8V~3.5V
*Dout
输出38KHz
*
最小发射字:
一个字
*
一个455KHz
的陶瓷或晶体
*16
位地址码
*8
位数据码
*ppm
代码方式
*
最大活动键HT6221:
32
键
HT6222:
64
键
2.应用
*
电视和录像录音机控制器
*
夜盗警报系统
*
烟火警报系统
*
车门控制器
*
汽车警报系统
*
安全系统
*
其它遥控系统
3.概述
HT6221/HT6222
能编码16
位地址码和8
位数据码,HT6221/HT6222
包含32
键(K1K32)
和64
键(K1K64)
4.
引脚图
-20DIP/SOP
HT6221
HT6222
-24DIP/SOP
7DOUT
输出
串行数据输出引脚,38KHz
发射频率
8VDD
输入1.8V3.5V
9DT
输入
最重要数据位(DT)
代码设置
10X2
输出455KHz
振荡器输出
11X1
输入455KHz
振荡器输入
12VSS
输入
地
13LED
输出
发射输出
1421C8C1
输入/
输出
键盘列控制
22AIN
输入
低8
位地址码输入
2324R1R2
输入
键盘行控制,
高电平有效
7.内部连接应用电路
二代码的特征
1HT6221键码的形成
当一个键按下超过36ms
振荡器使芯片激活
如果这个键按下且延迟大约108ms,
这108ms
发射代码由一个起始码9ms,
一个结果码4.5ms,
低8
位地址码
9ms~18ms,
高8
位地址码9ms~18ms,8
位数据码9ms~18ms
和这8
位数
据的反码9ms~18ms
组成
如果键按下超过108ms
仍未松开
接下来发射的
代码
连发代码
将仅由起始码9ms
和结束码2.5ms
组成
2
代码格式
以接收代码为准
接收代码与发射代码反向
位定义
单发代码格式
连发代码格式
注
代码宽度算法16
位地址码的最短宽度1.1216=18ms
16
位地址码的最长宽度2.24ms16=36ms
易知8
位数据代码及其8
位反代码的宽度和不变1.12ms+2.24ms8=27ms
32
位代码的宽度为18ms+27ms~(36ms+27ms)
三解码方法及软件说明
0
0.56ms
dataperiod(1.12ms)
1
0.56ms
dataperiod(2.24ms)
2.5ms
9ms
32(4.5ms~63ms)
(A0~A15
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遥控 接收