17.1红外遥控系统概述7.2红外遥控系统设计四个关键环节7.3红外遥控设计任务7.4红外遥控设计方案7.5遥控系统硬件设计7.6红外传输协议7.7遥控系统软件设计第七章.红外遥控系统27.1红外遥控系统概述——特点及应用红外遥控技术是红外技术、红外通讯技术和遥控技术的结合。红外遥控特点:无线、非接触、抗干扰能力强,信息传输可靠、功耗低、成本低,易实现等。最大特点是不影响周边环境,不干扰其他电气设备。应用:红外遥控是目前家电器中用得较多的遥控方式。家电遥控器通信距离往往要求不高,而红外的成本比其它无线设备要低的多,因此红外遥控在家用电器、室内近距离(小于10m)遥控中得到了广泛的应用。37.1红外遥控系统概述——组成红外遥控系统一般由发送端和接收端两部分组成。常见的家电红外遥控系统中,发送端一般为遥控器,由键盘电路、红外编码芯片、电源和红外发射电路组成。接收端可由红外接收电路、红外解码芯片、电源和应用电路等组成。多路控制的红外遥控系统,其红外发射部分一般有许多按键,代表不同的控制功能。当发射端按下某一按键时,相应地接收端有不同的输出状态。接收端的输出状态大致可分为脉冲、电平、自锁、互锁、数据五种形式。47.1红外遥控系统概述——编解码同一遥控电路中为了能区分出不同的机器类型和不同的遥控功能,需要将信号按一定的编码传送,编码由编码芯片或电路或软件完成。解码通常由相配对的解码芯片或包含解码模块的应用芯片或软件实现。在实际的产品设计或业余电子制作中,解码芯片并不一定能完成我们要求的功能,这时就需要了解所使用的编码芯片到底是如何编码的,以便用单片机或数字电路去定制解码方案。由单片机开发的红外遥控系统,同样包含发送端和接收端两部分。相比于采用专用编解码芯片实现的红外遥控系统,单片机开发的红外遥控系统具有定制化、开发功能灵活等特点。57.2红外遥控系统设计四个关键环节红外遥控系统设计牵涉到待发送信号的编码、调制、及红外信号发送,红外信号的接收、解调、解码等过程。由此概括出红外遥控系统设计需要把握的四个关键环节。67.2四个关键环节—红外传感器的配套使用红外发射传感器和红外接收传感器配套使用,就组成了一个红外遥控系统。遥控用的红外发射传感器,也就是红外发光二极管,采用砷化镓或砷铝化镓等半导体材料制成,前者的发光效率低于后者。峰值波长是红外发光二极管发出的最大红外光强所对应的发光波长,红外发光二极管的峰值波长通常为0.88~0.95um。遥控用红外接收传感器有光敏二极管和光敏三极管两种,响应波长(亦称峰值波长)反映了光敏二极管和光敏三极管的光谱响应特性。可见,要提高接收效率,遥控系统所用红外发光二极管的峰值波长与红外接收传感器的响应波长必须一致或相近。77.2四个关键环节——信号的调制与解调红外遥控信号是一连串的二进制脉冲码。为了使其在无线传输过程中免受其它红外信号的干扰,通常都是先将其调制在特定的载波频率上,然后再经过红外发光二极管发射出去。红外线接收装置则会滤除其它杂波只接收该特定频率的信号并将其还原成二进制脉冲码,也就是解调。没有信号发出的状态称为空号或0状态,按一定频率以脉冲方式发出信号的状态为传号或1状态。在消费类电子产品的红外遥控系统中,红外信号的载波频率通常为30kHz~60kHz,标准的频率有30kHz、33kHz、36kHz、36.7kHz、38kHz、40kHz、56kHz。8红外遥控信号是一连串的二进制脉冲码,用什么样的空号和传号的组合来表示二进制数的“0”和“1”,即信号传输采用的编码方式,需要系统收发端事先约好。通常,红外遥控系统的编码方式如下,后两种最为常用。1)FSK(移频键控)方式:是用两种不同的脉冲频率分别表示二进制数的“0”和“1”。2)PPM(脉冲位置编码)方式:每一位二进制数所占用的时间是一样的,只是传号脉冲位置有所不同。空号在前、传号在后的表示“1”,传号在前、空号在后的表示“0”。3)PWM(脉冲宽度编码)方式:依传号脉冲的宽度来区别二进制数的“0”和“1”。传号脉冲宽的是“1”,传号脉冲窄的是“0”,而每位二进制数之间则用等宽空号来分隔。7.2四个关键环节——编码与解码PPM和PWM:四个关键环节——红外线信号传输协议红外线信号传输协议是为进行红外信号传输所制定的标准,几乎所有的红外遥控系统都是按照特定的红外线信号传输协议来进行信号传输。红外线信号传输协议除了规定红外遥控信号的载波频率、编码方式、空号和传号的宽度等外,还对数据传输的格式进行了严格的规定,以确保发送端和接收端之间数据传输的准确无误。红外遥控传输协议很多,很多大的电气公司,如NEC、Philips、Sharp、Sony等,均制定有自己的红外线信号传输协议。因此,掌握红外遥控技术,首先要熟悉红外线信号传输协议以及相关的红外线发射和接收芯片。107.3红外遥控设计任务了解红外遥控系统组成及红外信号的传输过程。基于单片机平台设计、实现信号的红外传输功能。117.4红外遥控设计方案系统工作过程:发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。接收端采用一体化红外接收头HS0038对红外信号进行接收、放大、滤波、解调处理,得到TTL电平的编码信号,再经过单片机解码出原始信号并通过液晶显示。图1单片机红外遥控系统框图127.5遥控系统硬件设计红外遥控系统硬件设计包含发送端和接收端两部分。发送端可用两种方式实现:1.采用现成遥控器2.采用单片机平台实现。接收端采用单片机平台实现。137.5遥控系统硬件设计—发送端1(遥控器)红外遥控系统发射端实物图1(遥控器)红外遥控系统发送端主要任务:实现原始信号的编码、调制、以及红外信号发射功能。147.5遥控系统硬件设计—发送端2(单片机)发送端:由单片机控制平台和红外发射电路两部分组成。电路结构与红外报警电路完全类似。二者区别在软件的功能实现上。需要通过单片机编程实现待发送信号的编码、调制、发射功能。15红外遥控系统发射端实物图2(单片机方式)167.5遥控系统硬件设计——接收端红外遥控系统接收端硬件设计包含红外接收电路、单片机电路、液晶显示电路三部分。红外接收电路采用一体化红外接收头HS0038。HS0038具体介绍及使用方法参见红外报警系统设计。液晶显示部分设计同前面系统一样。接收端单片机电路的主要任务:对HS0038输出的解调信号进行识别、解码,得到原始信号,并送液晶屏显示。17红外接收电路原理图1602液晶显示电路原理图18红外接收部分实物图197.5遥控系统硬件设计——系统实物图1系统实物图1:单片机发射和接收207.5遥控系统硬件设计——系统实物图2系统实物图2:遥控器发射-单片机接收217.6NEC红外传输协议遥控器的基带通信协议很多,大概有几十种,常用的有ITT协议、NEC协议、Sharp协议、PhilipsRC-5协议、SonySIRC协议等。用的最多的就数NEC协议了。227.6NEC红外传输协议——数据格式引导码:9ms载波+4.5ms空闲;用户码(地址码)及其反码,命令码(数据码)及其反码:共占4字节32位,是众多载波和空闲交叉,其长短由其要传递的具体数据来决定。数据传送低位在前,高位在后。停止位:起隔离作用,一般不进行判断,编程时不予理会。NEC协议的数据格式237.6NEC红外传输协议——数据格式注意:数据编码中第二字节是用户码还是用户码的反码由生产厂商决定。用户反码是用户码反相后的编码,编码时可用于对用户码进行纠错。第四字节为数据反码,是第三字节数据码反相后的编码,编码时可用于对数据码进行纠错。NEC协议的数据格式247.6NEC红外传输协议——单次与重复按键红外遥控器单次按键波形格式与NEC数据格式相同。而持续按键,首先会发出一个和单次按键一样的波形出来,经过大概40ms后,会产生一个9ms载波加2.25ms空闲,再跟一个停止位波形,这个叫重复码,只要一直按住按键,则每隔约108ms就会产生一个重复码。重复码并不影响对正常按键数据的接收。257.6NEC红外传输协议——PPM编码NEC协议表示数据的方式:其每一位数据(0或1)本身也需要进行编码。区分“0”和“1”是利用脉冲的时间间隔来区分(即脉冲位置调制方式,简写为PPM).其中,比特值“0”用560us的载波和560us的空闲来编码表示。比特值“1”用560us的载波和2.25ms-560us的空闲来表示。26NEC发送端完整波形277.6NEC红外传输协议—NEC协议解码思路要解码一个红外键值,首先要找到引导码,然后根据高低电平的长度解得逻辑值,最后得到一个完整的键码。在接收端单片机通过外部中断功能检测待解调的红外信号。外部中断功能的使用需要设置:外中断的触发方式、外中断的允许或禁止、总中断的允许或禁止。单片机对红外键值进行解码的思路:单片机通过中断检测到红外信号,即进入外部中断处理程序:通过定时器定时,首先对引导码判断,而后对数据码的每个位逐位获取高低电平的时间,从而得知每一位是0还是1,最终把数据码解出来。当解出一个引导码和连续32个逻辑电平,就完成了一次红外键值解码。287.7遥控系统软件设计—编程相关硬件连接P3.6P3.2(INT0)Px.x发射端单片机红外发射电路接收端单片机GNDVOVCC液晶显示HS0038注意:1.发射部分:发射管阴极连接P3.6;2.接收部分:J1的短接帽应连上,且尽量压低。297.7遥控系统软件设计——发射端软件设计发送端,单片机根据NEC协议规定的数据格式进行原始信息的编码、调制。假定待发送信息为:用户码为0x80,数据码为0x08。根据NEC协议,一个键值信号(即一个数值)的发送数据格式为:引导码(9ms载波+4.5ms空闲)+用户码(即键值信号的地址)+用户码的反码+数据码(即键值信号的数值)+数据码的反码,且传输的数据信息需要PPM编码。发送端程序需要完成:38kHz调制信号的产生、数据的PPM编码及调制、数据发送功能。对应的程序有:38kHz脉冲产生+延时子程序、单帧数据(即一个字节)发送子程序、发送一个键值数据主程序。307.7遥控系统软件设计——发射端软件设计1.发送一个键值数据主程序主要完成一个键值数据的NEC数据格式的实现。编程思路:先发送引导码:发送9ms的载波、发送4.5ms的空闲;再发送4帧数据,依次为:发送用户码(如0X80)、发送用户码的反码(0X80的反码为0x7f)、发送键值数据(如0x08)、发送键值数据的反码(0x08的反码为0xf7);最后发送结束码:如发送0.65ms的载波、发送40ms的空闲。31327.7遥控系统软件设计——发射端软件设计2.单帧数据发送子程序主要完成一帧数据的PPM编码功能。待发送数据的二进制数值无非是“0”、“1”信号。在单帧发送子程序中,将“0”信息的发送转换成560us的载波和560us的空闲来发送,将“1”信息的发送转换成560us的载波和(2.25ms-560us)的空闲(约1.685ms)来发送。发送数据时,先发送一帧数据二进制数值的最低位,然后通过右移功能发送次低位,一位一位由低位到高位如此发送,完成一帧数据8个二进制数值的发送。33347.7遥控系统软件设计——发射端软件设计3.38kHz脉冲发射+延时子程序实现编码后数据的38kHz调制信号发送及空闲信号发送功能。程序两个入口参数(BT,x)。x为延时时间us,可通过定时器T0实现;BT决定是否发射38kHz脉冲。入口参数(1,x):发射38kHz脉冲,且发送xus;入口参数(0,x):不发射38kHz脉冲,仅延时xus。产生38kHz脉冲信号即编程实现矩形波信号:38kHz信号周期约为26us,矩形波的占空比假设为1:5。在编程实现38kHz调制信号的同时将相