当前位置:首页 > 电源 > 数字电源
[导读]标签:化红外接收 集红外接收 红外线遥控是目前使用最广泛的一种通信和遥控手段。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。1.红外遥控系统通用红外

标签:化红外接收  集红外接收 

红外线遥控是目前使用最广泛的一种通信和遥控手段。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。

1.红外遥控系统

通用红外遥控系统由发射和接收两大部分组成,使用编/解码专用集成电路芯片来进行控制操作。发射部分包括键盘矩阵、编码调制、LED红外发射器;接收部分包括光、电转换放大器、解调、解码部分电路。

2.遥控发射器及其编码

下面以日本NEC的uPD6121G组成发射电路为例说明编码原理。当发射器按键按下后,有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:

采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其”0”、“1”定义波形如图2所示。

上述“0”和“1”组成的32位二进制码经38kt_{z的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3所示为最终发射出去的红外信号波形。

uPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制0仆1.;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。

当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms)。8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。

3.接收头及解码

一体化红外线接收头是一种集红外线接收和放大于一体,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积较小,很多家电中都采用此类红外接收头,它适合于各种红外线遥控和红外线数据传输,如图1左下角所示为增强型51实验板上的一体化红外线接收头。

下面我们就来一起看一下增强型51实验板是如何来解uPD6121红外线编码及如何使用红外线来进行各式各样的控制。

学习了红外发射原理后,可以想到解码的关键是如何识别“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左右均可。同时,我们还应注意的是,根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码。

学习板上的一体化红外接收头一共有3个脚,分别是“地”、“电源”、“数据”,其“数据”脚与51单片机的“INTO”脚,整个过程可以分成两步,第一步是读取并判断引导码是否正确,如果不是则直接返回并初始化检测参数;第二步是连续4次,按照每次8bit读取4个字节的后续数据,其中,检测过程里对”0”和“1”的判断必须是在开启计时之后,以减少因为程序执行而导致的测量时间长度上误差。

解码过程关键是使用单片机的定时器,我们可以用引导码的下降沿来触发单片机的定时器开始计时处理,这样就可以获得电平的时间长度了,一般的遥控器编码在长按按键的时候,会连续发数据,可能是同样的数据,也有可能是个特定的所谓的重复帧,但大致上15ms之内没有信号收到就表示当前的数据帧已经接收完毕。

解码部分程序代码如下:

unsignedcharuPD6121_read_code_8(void){unsignedchartemp=0;unsignedchari;for(i=0;<8;i++){temp=temp》1:

while(ir_receive==0);//等待高电平测试结束TR1=0;//高电平测试结束,停止计时high_level_time=TH1*256+TL1;//保存高电平的数据TH1=0;TL1=0;TR1=1;//启动对低电平的测试while(ir_receive==1){if(TH1>0x4e){decode_error=1;return0;}//超时出错,返回}

TR1=0;//低电平测试结束Iow_level_time=TH1*256+TL1;//保存低电平的数据TH1=0;TL1=0;TR1=1;//如果电平长度不在合理的范围内,则认为出错if((high_level_time<400)II(high_level_time>700)II(Iow_level_time<400)II(Iow_level—time>1900)){decode_error=1;returnO;}

if((Iow_level_time>400)&&(Iow_level_time<700))temp=temp&0x7f;if((Iow_level_time>1400)&&(Iow_level_time<1900))temp=temp1ox80;} returntemp;}nsignedcharuPD6121_decode(void)//解码出错返回1,对则返回OTR1=1://开始测量引导码(或重复码)的高电平宽度while(ir_receive==0);//等待电平变高,不需要超时监测TR1=0;//高电平(对发射电路而言)测试结束high_level_time=TH1*256+TL1://保存高电平的数据//————————————————————TH1=0;TL1=0;TR1=1;//启动对低电平的测试while(ir_receive==1)//在对高电平进行查询时,计超时。大于20ms出错{if(TH1>0x4e)return1://测试超时后直接初始化相关变量,开始下次测试}[!--empirenews.page--]

TR1=0://低电平(对发射电路而言)测试结束Iow_level_time=TH1*256+TL1:

//保存低电平的数据TH1=0;TL1=0;TR1=1;//为增加计时的准确性,数据的处理都是在计时过程里//判断引导码(或重复码)是否正确,如果不正确,则设置出错标志位,并退出中断程序if((high_level_time<8500)II(high_level_time>9500)II(Iow_level_time<1000)II(Iow_level_time>5000)){return1://因是引导码出错,所以直接初始化后重新开始测试}

//——————————————————//对是引导码还是重复码进行判断。如果是重复码,就跳过后面数据的读取if((Iow_level—time>1000)&&(Iow_level_time<3500))repeat_code_detected=1:

if((Iow_level_time>4000)&&(Iow_level_time<5000))Ioad_code_detected=1;if(repeat_code_detected==1)return1;//直接结束,temp1=uPD6121_read_code_8();//读后面的系统、按健等数据,temp2=uPD6121_read_code_8();teMP3=uPD6121_read_code_8();temp4=uPD6121_read_code_8();TR1=0:

if(decode_error==1)return1://无论是哪部分解码出错,都是重新开始if((temp1!=Ntemp2)II(temp3!

=~temp4)){return1;}

sys_code=temp1:

key_code=temp3;data_available=1;return0:

如图5所示,是我们完成红外线实验所必需的设备,准备好硬件设备后,我们将红外线解码控制程序通过A51编程器烧入AT89S51单片机芯片,然后将芯片插到增强型51实验板上通电运行即可。

图6为增强型51实验板做红外解码电路,从而进行数码管显示的实验电路板。

最后,要提醒大家一下,在做红外实验需要注意的是:不同的红外线遥控器编码方式可能不同,你可能会发现有很多红外线遥控器的外表几乎都一样。

但对于同一电器设备却有些能用,有些不能用,这就是因为遥控器内部使用了不同的编码芯片的原因,或许你会想到用家中的电视机或空调的遥控器来完成红外线解码的实验,但你必须得事先知道该遥控器的红外线编码芯片是什么类型的,否则就比较麻烦了,而现在众多红外线遥控器厂商为了保护自己的知识产权已将编码芯片打磨,这对我们DIY爱好者来说就不太有利了。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭