当前位置:首页 > 单片机 > 单片机
[导读]红外遥控器由于其体积小、功耗低、功能强、成本低的特点,已经在家电产品设备中广泛应用。现代智能化仪器仪表系统、工业设备中的控制输入也较多地使用红外遥控器。本文给出红外遥控器信号发射原理、红外接收器的连接

红外遥控器由于其体积小、功耗低、功能强、成本低的特点,已经在家电产品设备中广泛应用。现代智能化仪器仪表系统、工业设备中的控制输入也较多地使用红外遥控器。本文给出红外遥控器信号发射原理、红外接收器的连接方式和单片机软件解码应用程序,并提供了一种对未知格式的遥控器信号码检测的应用程序。

1 红外遥控器信号发射原理简介

通用红外发射器由指令键、指令信号产生电路、调制电路、驱动电路及红外发射器组成。如图1所示。

遥控器所产生的脉冲编码的格式一般为:  

引导脉冲(头)─识别码(用户码)─键码─键码的反码

其引导脉冲为宽度是10 ms左右的一个高脉冲和一个低脉冲的组合,用来标识指令码的开始。识别码、键码、键码的反码均为数据编码脉冲,用二进制数表示。“0”和“1”均由ms量级的高低脉冲的组合代表。识别码(即用户码)是对每个遥控系统的标识。通过对识别码的检验,每个遥控器只能控制一个设备动作,有效的防止了多个设备之间的串扰。当指令键按下时,指令信号产生电路便产生脉冲编码。键码后面一般还要有键码的反码,用来检验键码接收的正确性,防止误动作,增强系统的可靠性。这些指令信号由调制电路调制成32~40 kHz的信号,经调制后输出,最后由驱动电路驱动红外发射器件(LED)发出红外遥控信号。

2 红外遥控器信号接收芯片外围电路

接收电路可以使用集成红外接收器成品,一般不需要任何外接元件就能完成从红外接收到输出TTL电平兼容信号的所有工作。注意选择接收器件时要保证接收器件的中心频率与发射信号的中心频率相匹配。接收器对外只有3个引脚:VCC,GND和1个脉冲信号输出OUT。与单片机接口非常方便,如图2所示。

  

脉冲信号输出接CPU的普通输入引脚或中断输入引脚(IO/INT)。采取这种连接方法,软件解码既可工作于查询方式,也可工作于中断方式。在实际应用中,还可以进一步增加抑制干扰电路和提高驱动能力电路,增强系统的稳定性。

3 未知信号格式遥控器信号码的识别

在应用系统中,要完成对遥控器信号的解码并实现对系统功能的控制,必须了解遥控器信号码(即遥控器所发射脉冲流)的格式,即信号的引导脉冲高低脉冲的宽度、“0”,“1”的表示法,以及遥控器识别码、各个功能键的键码。对信号码的识别应该从分析脉冲流的各个高、低脉冲的时间入手,通过分析各个高、低脉冲的时间,分析得出信号码的格式。下面提供一种软件测试信号码的方法,以供参考。

笔者采用PIC16C72单片机,4 MHz晶振,红外发射器芯片为BA6121-001,通过软件中断的方法,对手中未知格式的信号码进行测试识别。遥控器接收器OUT端接RB0/INT,测得在遥控器空闲的情况下输出为高,INT首先采用下降沿触发。第一次INT发生时,启动定时器,每次中断要将触发形式设置为上一次触发的相反形式,以保证在下次电平变化时产生中断;定时器溢出中断记录每次脉冲期间定时器溢出的次数;为了提高检测精度,应提高定时器的时间分辨率,但过高的时间分辨率会引起单个脉冲期间定时器溢出,记录每个脉冲期间溢出次数又浪费了大量数据寄存器。这里笔者采取了折中的办法,即数据寄存器高6位只记录定时器值的高6位,低2 位用来记录定时器溢出次数,既节省了数据寄存器数量,又在一定程度上保证了较高的检测精度。数据存储格式如图3所示。

由于此程序只为测试程序,可在仿真器中读出寄存器组中所记录的各高低脉冲所对应的定时器值,计算得出高低脉冲的时间数据,分析数据可知遥控器信号码的格式。下面给出部分INT和定时器0中断服务程序:

这里需要合理设置定时器的预分频值,笔者多次实验,得出较为合理的预分频值为1∶8,定时器时间分辨率为8μs,最大定时时间为 (4×256+252)×8×1μs=10.2 ms,测量精度达到最高,误差为32μs。通过对所得数据分析,得出遥控器的信号码格式如图4所示。

图中“头”(即引导脉冲):低8.84 ms,高4.40 ms。 “1”:低0.60 ms,高1.62 ms;“0”:0.60 ms低,0.50ms高;16 b识别码:19D6H采用PIC16C72单片机,最多可以检测54 b的信号码,足以满足一般情况下的需求。

4 软件解码应用程序

在已知遥控器信号码格式的条件下,可以通过单片机软件程序实现解码。以笔者手中的遥控器为例,根据上面已测得的信号码,采用PIC16C54单片机,4 MHz晶振,提供一种软件解码的应用程序。

PIC16C54单片机是一款有着较高性能价格比的低档单片机,最适合低价格、低功耗、小体积的设备。PIC16C54没有中断系统,程序采用软件查询法,查询输入引脚的电平变化,采用定时器定时,根据定时器的记录值和已知的信号格式比较,判断各部分接收是否正确以及分辨键码并执行相应的命令。

由于遥控器脉宽时间值是在一个小范围内波动,而且检测过程中定时器也存在误差。因此,对信号的识别不能采取精确比较法,本程序采用了区间比较法,即判断定时器的记录值是否在预先计算的区间内。由88于引导脉冲和数据脉冲的时间相差很大,解码时对定时器采用不同的预分频,以尽量提高解码的准确度。  

①引导脉冲判断:低8.84 ms,高4.40 ms,预分频1∶64,理论计算得定时器值应为:低8AH,高44H。如实际所得低部分在85H和90H之间、高部分在40H和4AH之间,则认为引导脉冲接收正确。

②“0”,“1”判断:数据脉冲流的低电平脉宽相同,忽略不判断;高电平脉宽是判断数据流每位是“0”还是“1”的依据。“0”对应高0.50 ms,“1”对应高1.62 ms,预分频1∶8,理论计算得定时器值应为:“0”对应高3EH,“1”对应高0CAH。如所得“0”对应高在39H和42H之间、“1”对应高在 0C5H和0D0H之间则认为接收正确。

③判断16 b识别码是否和已知的识别码(19D6H)相同。

④判断8 b键码是否与8 b键码的反码相对应。⑤根据键码,选择所应执行的命令。

由于篇幅所限,仅给出判断“0”部分程序:  

注意,在程序容易发生死循环或者出错的地方,要检验定时器是否溢出。一旦发生溢出,要立即使程序复位,以便程序能够在出错之后返回到程序开始部分,增强系统的可靠性。基于以上设计思想可以在多种单片机上实现遥控器的解码。读者可自行尝试应用中断方法实现遥控器的信号解码。

本文所介绍的红外遥控器接收发送原理及信号码识别和解码程序,可以方便地移植到其他系统,其方法简洁灵活。此方法具有一般性,对于具体的应用,可自行变通。

参考文献
[1]窦振中.PIC系列单片机原理和程序设计[M].北京:北京航空航天大学出版社,1998.
 

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

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 信息技术
关闭
关闭