红外发送与接收技术
发布网友
发布时间:2022-04-20 07:35
我来回答
共1个回答
热心网友
时间:2023-07-11 06:54
摘 要:介绍了一种对红外信号发射器中的8键发射芯片进行键功能扩充的实现方法,分析了红外遥控发射器集成电路BA5104的功能特点,给出了一种红外接收软件解码的实现方法和具体程序。
关键词:红外遥控;多键功能;软件解码;发射;接收;BA5104
随着时代的发展,在各种无线遥控中,红外遥控以其体积小,功耗低,功能强,成本低等特点,而成为目前使用最为广泛的一种遥控手段,同时也广泛应用于各种家用电器产品、金融和商业设施中。此外,在有高压、辐射、有毒气体和粉尘等环境下的工业设备中,红外遥控也以其可靠和隔离电气干扰等特性而深受设计者的喜爱。
1红外遥控发射装置
一般的红外遥控系统是由红外遥控信号编码发送器、红外信号接收器和外围电路等三部分组成。红外遥控信号编码发送器有8键、32键、64键输入等多种型号。实际使用中常用10个左右的按键输入,因为采用32键以上的红外遥控信号编码发送器具有价格高、功耗大、芯片外型尺寸大等缺点。8键输入的风扇发射芯片电路经过改造后,可方便地用于10键输入。本文即是笔者将原来风扇的发射芯片经过改造后,用到了另一家用电磁炉上,并用原来的红外遥控信号发射器集成电路BA5104作为遥控信号发生器与按键开关、输出驱动级和红外发光二极管一起组成遥控发射器。
图1所示是笔者利用二极管来增加键功能的电路连接方法,通过该电路可使遥控发射器具有9个按键。
图中的BA5104是由振荡器、时钟信号发生器,控制指令编码器、码转换器、编码调制器以及输出缓冲器等组成的遥控信号发生器IC,其振荡器由第 12,13脚及外接陶瓷振荡器组成,振荡频率取决于陶瓷振荡器,此处为455kHz,该频率经BA5104内部电路12分频后可得到约38kHz的脉冲载波信号,然后由遥控编码脉冲对该38kHz的载波信号进行调制、驱动、放大,以激励红外发射管发出红外遥控信号。455kHz经256分频后可得到约为 1.78kHz的系统时钟脉冲信号,其周期Tcp为0.5626ms。BA5104的8个按键K1~K8可直接输入,而C1和C2键和K1~K8键一样可在静态时被内部电路上拉电阻置成高电平,但按下C1、C2键不会发出编码,如果要增加一个键功能,可同时按住两个键以得到一个新的键功能,并根据用户所需得到用户码。而实际上,通过加接二极管也可以增加功能键数。2红外接收的软件解码实现
通常对红外信号的接收可采用硬件解码的方法来实现,本文介绍一种通过软件解码来对接收的红外信号进行编程的方式。该方法与硬件解码相比,大大增强了灵活性,同时也降低了成本。 为了把风扇红外遥控器应用于其它电子设备,笔者利用单片机内的定时器及软件程序实现了对遥控接收预放大器解调出的串行遥控码的解码,并得到了并行二进制遥控码。这样通过单片机的I/O口可控制其它设备以达到智能通用的目的。对上述红外遥控系统的信息解码通常需要完成以下几点工作:
(1)识别遥控信号的起始位。
(2)识别“0”和“1”信号。
(3)将串行码转换为并行码。
(4)识别正确的订制代码,防止其他遥控系统信号的干扰。
(5)防止误码,设计误码检测。
图2所示是BA5104芯片的输出编码格式。它由3位起始码部分和2位用户码部分(C1,C2)组成。当某一按键按下时,LED端指示灯亮,同时,经过32ms延时后,D0端输出有效帧,按键的时间越长,发出的有效帧也就越多(至少发出两个有效帧)。两个键同时按下时无效,此时发射器不予确认。
笔者选用AT89C51的内部定时器T0作为计数器,并选择计数器的方式1进行工作,同时用内部时钟来计数。12 MHz晶振经1 2分频后,即可用1MHz的时钟速率进行计数,其计数结果就代表着信息码“0”、“1”或起始位。本文中“0”码正脉冲宽度为1.2ms,即计数器的计数值应为1200,“1”码正脉冲宽度为0.36ms,即计数器的计数值应为360,考虑到误差的存在,实际“0”、“1”的计数器值可以是一个区域值,即分别为:[1150,1250],[320,400]。据此,就可根据计数器的值解出所需的信息码。
3程序代码
下面给出与本系统相关的C51程序代码:
//定义代码0、1值域
以上的发射装置以及软件解码的方法经笔者使用,证明是可行的,也是很稳定的。