日期:2023-01-24 阅读量:0次 所属栏目:计算机应用
摘 要:介绍红外通信的基本原理,研究了红外编码与解码技术,设计了红外发射、接收电路。本人中详细分析了红外遥控编码脉冲产生的原理并给出了编码格式的定义,提出了利用单片机检测发射的脉冲编码中操作码的算法。基于该算法的红外遥控器在智能马桶使用中解码正确,达到了令人满意的效果。
关键词:红外遥控;软件编码;软件解码;HT49R30
1 引言
随着科学技术的发展,智能家电设备将逐步进入人们的生活中。例如,空调、电视机、智能马桶等智能家电中,都普遍的用到红外遥控器设备。红外遥控器特点是使用方便、功耗低、抗干扰能力强,因此它的应用前景十分广阔。遥控发射芯片种类很多,本文设计选择了HT49R30作为红外编码芯片。因为HT49R30是8位高性能精简指令集单片机,专门为需要LCD显示功能的产品而设计。具有低功耗、振荡类型选择、暂停和唤醒、另有灵活的蜂鸣器输出以及LCD 显示功能,该芯片集载波振荡、编码、发射于一体,具有很强的抗干扰能力,外围电路简单,使用方便等特点。
2 系统总体设计
总体设计目标是实现遥控器与智能马桶主机的通信,同时对于多种红外编码进行研究和实现。软件设计采用模块化设计思想进行设计。模块化程序设计的优点是:程序模块功能单一明确,调试简单,可共享。
3 系统硬件设计
3.1 键盘电路设计
键盘电路如图1所示。遥控器采用电池供电,节电是电路设计的一个重点。所采用的芯片具有休眠模式。同时设计一个中断,图1中的六个二极管就是为此而设计的。六个二极管连接到芯片的一个具有中断功能的引脚。当按键按下时,下降沿的来到会触发中断,从而唤醒芯片。
图1 遥控器键盘电路
3.2 发射电路设计
图2中,N2采用9013,R3取1kΩ,R4取100Ω,单片机上送红外信号的引脚采用PFD口。当遥控器的某个按键按下,其内部的信号发射器产生遥控编码脉冲,这些指令信号由MCU的PFD供能调制成38KHz的信号,经调制后输出,最后由驱动电路驱动红外发射器件(L2)串行输出红外遥控信号[3]。
图2 红外发射电路
3.3 红外接收电路设计
接收器选用一体化红外接收器松下IRM-888S。红外接收电路设计如图3所示。松下IRM-888S是黑色环氧聚光透镜,集红外接收和放大于一体,能够滤除可见光的干扰,内含红外线PIN接收管、选频放大器和解调器。不需任何外接元件,就能完成从红外遥控信号从38KHz的分离出基带信号,输出与TTL电平兼容的所有工作。
图3 红外接收电路
3.4 液晶电路设计
液晶显示比较简单,只要将液晶的几个com口和seg口连接到单片机对应几个com口和seg口上面即可。
3.5 抗干扰设计
1) 电源之间添加两个大电容,进行低通滤波和高通滤波作用
2) 电路板设计线路适当宽,防止线路意外断掉
3) 芯片焊盘适当加粗,防止芯片出现虚焊
4) 板子空余地方都铺上地线
4 系统软件设计
4.1 键盘软件设计
程序开始,进行系统变量的初始化。然后,检测判断键盘端口是否有触发按键,如果没有,则重新检测是否有键盘按下,如有按键事件触发,则延时12ms,防止消抖事件,然后重新判断键盘端口是否有按下,若还是有相同键按下,就进行逻辑判断,根据所按的键盘来处理相应的事件,最后检测按键是否释放,若没有释放就一直等待,直到按键释放为止,才重新开始检测键盘是否有按下。
4.2 红外编码及软件设计
红外编码研究方向,数据的占空比的形式,决定红外发射距离长短,决定红外发射的所消耗功率,决定红外发射抗干扰的能力强弱。红外编码所消耗时间问题。红外编码组合方式是否合理,及编码规则对于软件实现难易程度,也是很大考虑因素。目前,很多半导体公司推出了自己制定的编码方式和其专用的遥控发射芯片,其中根据厂家分类有PHILIPS码、SANYO码、TOSHIBA码、NEC码等。这里只比较分析NEC码和PHILIPS码的优缺点。基本上很多编码才用这两种编码类似的设计,然后提出自定义编码方式。
NEC码:这个数据码实际位数只有8位,传输的数据量是非常有限,比较适合于简单功能遥控命令操作,不适用复杂性系统开发。红外传输距离和抗干扰性适中。
PHILIPS码:这个数据码对于接收方式软件实现有一定的难度,发射数据量有限。发射所需要的功率与距离都是适中,抗干扰能力一般。
根据以上协议存在一些问题,我提出自己红外编码设计的方案,可以解决数据量传输有限问题,同时,降低红外发射的功耗,增加红外发射的距离,提高抗干扰能力。
自定义编码方式,系统编码仍然是引导码、用户码、数据码组成。引导码:引导码由9ms高电平脉冲及4.5ms低电平脉冲组成。客户码:8位(特定产品生厂公司或个人可以决定)。数据码占 32位。数据“1” 由0.16ms高电平加0.86ms低电平。数据“0” 由0.16ms高电平加0.56ms低电平。数据报分三次连续发送,数据报之间用18ms高电平进行分隔。
分析:抗干扰性强、功耗低、数据位大、发射距离远。抗干扰性表现在无论是信号“1”,还是信号“0”,脉冲都有跳变存在,连续发送三次保证数据可靠性。红外遥控器的距离,主要依据红外发射的占空比进行调解,占空比约低,红外发射距离是相对比较远。本文采用1:9的占空比进行发射,能够保证红外发射距离足够远。红外发射是很消耗功率,1:9占空比,节约红外发射所需的能量,利于遥控器节电功能。32位数据码,保证大部分信息传输的需求。
4.3 软件发射软件实现
由于本系统是建立在HT49R30芯片基础上编码,可以利用该芯片的pdf口进行红外信号的发送。利用一个定时器提供产生38khz的时钟源。产生高电平,只要set pdf口;产生低电平,只要clr pdf口,中间脉冲长度,采用计数延时的办法。所以红外发射实现相对于红外接收实现简单。
4.4 红外解码及其软件设计
分为两种情况,第一种,自定义编码与NEC码解码思路很相近,自定编码软件实现具体如下:
利用一个定时器,和一个外部中断,中断出触发方式采用低电平的触发方式。定时器用于检测低电平所占据的时间。自定义编码判断方式是,低电平占有时间4.5ms表示引导码开始,低电平为0.56 ms表示逻辑数据“0”,低电平为0.86ms,表示逻辑数据“1”。最后判断接收数据是否有40位,已经收到40位数据,结束数据的接收。三次发射数据中,其中两次接收数据比对相同,确认本次数据接收正确。
第二种,PHILIPS码,具体如下:
利用单片机对红外信号进行解码,采用外部中断的方式,中断的触发方式为边沿触发方式,先进行接收下降沿触发,然后改为上升沿触发,再下降沿触发,这样子往复进行信号接收。再利用嵌入式一个定时器去检测上升沿与下降沿之间的时间间隔。根据这种设计思路,设计红外接收一种逻辑规则,实现对红外信息有效解码,如下:
下降沿触发情况下分为:
接收到0.84 ms脉宽,信号设置为1,定时器时间设置为0.84ms
接收到1.68 ms脉宽,信号不设置,定时器时间设置为0ms
接收到2.52 ms脉宽,信号设置为1,定时器时间设置为0.84ms
上升沿触发情况下分为:
接收到0.84 ms脉宽,信号设置为0,定时器时间设置为0.84ms
接收到1.68 ms脉宽,信号不设置,定时器时间设置为0ms
接收到2.52 ms脉宽,信号设置为0,定时器时间设置为0.84ms
利用以上这种编码思想,能够很好实现对于PHILIPS码的解码能力。而且只用一个定时器,节约单片机资源的使用情况。
4.5 液晶显示软件设计
如图4 液晶系统显示内容
404142434445464748494A4B4C4D4E4FPIN12345678910111213141516171819COM0SS14S11S18DRDR3SE1WA3S5PO2PO3S3PRPR1COM1S15S12S10S17SEDR2SE2WA2S8S4PO1PO4S2PR5PR2COM2S13S9S16WADR1SE3WA1S7S6POPO5S1PR4PR3如表格1 液晶点阵表
遥控器采用点阵式LCD显示,如同一个坐标,seg代表是x轴,com 代表是y轴,液晶每一个图标对应坐标轴上一个点。例如要显示S这个图标,MP1值为40,然后IAR1.0置为1,就可以显示S这个图标。不显示S图标,只是需要把IAR1.0置为0。同理,要显示S17这个图标,MP1值置为43,把IAR1.1置为1。动态液晶效果实现,则利用RTC设置中断,中断服务程序进行逻辑判断。
4.6 智能遥控器通信协议
智能马桶控制系统,遥控器信号分为动作与状态。其中,动作表示是一个种命令,在遥控器上显示不更改,例如冲大水、冲小水、翻盖等信息。状态表示是一种主机的设置,需要遥控器上显示信息进行更改,例如增压,按摩、臀部清洗等。由于红外通信采用单工形式,为了确保红外信号与主机信号的同步功能,遥控器一次是把所有动作与状态信息发送给马桶控制系统主机上,目的达到主机与遥控器之间信号同步的作用。
5 结论
在分析各种红外信号编码方式的优点与缺点,并提出自定义红外编码的方案,分析这种编码方式特点。结合整个遥控器硬件设计和软件上设计方案。实践证明,通过自定义编码方式红外遥控器,主机获得40个按键的解码,分别表示了水温、坐温文、冲大水、冲小水、臀部清洗、按摩、节电模式等功能,用遥控器控制智能马桶中取得了令人满意的效果。同时,可以根据本文编码规则应用到空调、洗衣机、智能家电等控制领域,具有很广泛借鉴性和市场应用前景很广阔。
参考文献:
[1]柏军,胡屏。一种用于单片机的红外串行通信接口[J].单片机与嵌入式系统应用, 2003
[2]HT19R30A-1 LCD型单片机使用手册[Z].台湾:盛群半导体股份公司,2006
[3]欧阳长月,遥控器控原理[M].北京:电子工业出版社,1985
[4]李正廉,王钢编,遥测遥控器技术[M].哈尔滨:哈尔滨工业大学出版社,1985
[5]丁化成,狄德根等. AVR单片机应用设计[M]. 北京: 北京航空航天大学出版社, 2002.
[6]ATmega64/ATmega64L datasheet [Z]. USA: Atmel Corporation,2003
[7]HT-IDE3000使用手册[Z].台湾:盛群半导体股份公司,2006 本文链接:http://www.qk112.com/lwfw/jsjlw/jisuanjiyingyong/242229.html
下一篇:信息隐藏不可感知性评价方法研究