[红外]01、红外遥控介绍与接收
红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。
其中最好的介绍是以下的链接
http://www.sbprojects.com/knowledge/ir/index.php
下面以NEC为例(我找到的资料在解释NEC的最多)
NEC协议,其特征如下:
http://www.sbprojects.com/knowledge/ir/nec.php
1、8位地址和8位指令长度;
2、地址和命令2次(补码)传输(确保可靠性)
3、PWM脉冲位置调制,以发射红外载波的占空比代表“0”和“1”;
4、载波频率为38Khz
5、逻辑数据时间为1.125ms或2.25ms;
6、数据命令发送一次
NEC码的位定义:一个脉冲对应560us的连续载波(载波频率为38Khz 1/3duty),一个逻辑1传输需要2.25ms(560us脉冲+1680us低电平),一个逻辑0的传输需要1.125ms(560us脉冲+560us低电平)。而遥控接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平,这样,我们在接收头端收到的信号为:逻辑1应该是560us低+1680us高,逻辑0应该是560us低+560us高。
NEC遥控指令的数据格式为:同步码头、地址码、地址反码、控制码、控制反码。同步码由一个9ms的mask电平和一个4.5ms的space电平组成,地址码、地址反码、控制码、控制反码均是8位数据格式。按照低位在前,高位在后的顺序发送。采用反码是为了增加传输的可靠性(可用于校验)。
把我收藏的资料一起奉献给大家。如下:
如果下载不了,请到以下地址下载
[LPC54102]红外遥控介绍与接收
http://bbs.eeworld.com.cn/forum.php?mod=viewthread&tid=461935&fromuid=194541
(出处: 电子工程世界-论坛)
关键代码如下:(从IRremote移植)
void IRrecv_ISR(void)
{
if (irparams.rawlen >= RAWBUF) {
// Buffer overflow
}
switch(irparams.rcvstate) {
case STATE_IDLE: // In the middle of a gap
if (irdata == MARK) {
if (irparams.timer < GAP_TICKS) {
// Not big enough to be a gap.
}
else {
// gap just ended, record duration and start recording transmission
}
}
break;
case STATE_MARK: // timing MARK
if (irdata == SPACE) { // MARK ended, record time
}
break;
case STATE_SPACE: // timing SPACE
if (irdata == MARK) { // SPACE just ended, record it
}
else { // SPACE
if (irparams.timer > GAP_TICKS) {
// big SPACE, indicates gap between codes
// Mark current code as ready for processing
// Switch to STOP
// Don’t reset timer; keep counting space width
}
}
break;
case STATE_STOP: // waiting, measuring gap
if (irdata == MARK) { // reset gap timer
}
break;
}
if (irparams.blinkflag) {
if (irdata == MARK) {
}
else {
}
}
}
在rawlen-2 记录MARK 与SPACE 的总个数,一头一尾是多余的信号
rawbuf记录MARK 与SPACE
if (IRrecv_decode(&results)) {
for(i=0; i
}
//Serial.println(results.value, HEX);
}
显示如下
到这里,红外的接收已经解决了,如果想做万能遥控的,只要记录的MARK 与 SPACE的时间并发送出去即可。但是这是初级版的万能遥控。这就是为什么市面上的遥控要学习的原因。
对于红色部分有500 550 600 650 700 感觉数据很乱的感觉,这就是下一篇要分析的红外编码与解码。
本文源自博客 >>晴天公子 : http://blog.sina.com.cn/mjcreat
返回淘宝店铺 >>天韵时尚 : http://shop64868634.taobao.com
更多精彩请关注微博: