利用MSP430FR4xx实现红外遥控
载波生成
定 时器用于生成载波。TA0和TA1均可从高频SMCLK获得,从而实现较高的分辨率和较宽的频率范围。定时器的计数器可工作于"向上"或者"向上/向下" 计数模式。其CCR0用来控制载波周期,而CCR2则用来决定载波的占空比。从系统的角度看,较小的占空比有助于降低功耗。典型的占空比约为3/16至4 /16。多达7种输出模式可实现灵活的载波生成。启动载波生成之后,在一帧数据发送完成前,用户不必更新其配置。
波形包络生成
包络波形由发送的数据和使用的编码方式来决定。用户可使用TA1、eUSCI_A或IRDATA,根据所选取的调制模式来生成包络波形。
当 在FSK 调制中使用TA1时,CCR0用来设定包络的周期,而CCR2则用来设定占空比。因此,对于不同的编码方式,应将CCR0配置为每位宽度的1或2 倍;CCR2必须在发送下一位之前更新。将要发送的位数决定了在一次传输中需要触发的中断次数,因此可将它直接加入到软件开销和电流消耗中。
当在SPI 模式中使用eUSCI_A时,其波特率应配置为有效数据波特率的1或2倍。例如,在脉冲位置编码中是配置相同的波特率,而在曼彻斯特编码中则要加倍。采用SPI可大幅减少中断次数,从而降低软件开销。
当使用IRDATA时,需要另一个独立的计数器( 通常是RTC ) 来更新IRDATA位。
硬件和软件开销考虑因素
MSP- 430系列专为超低功耗应用设计,从而延长电池寿命。降低功耗的最高原则是尽可能增加处于低功耗模式(比如LPM0/LPM3)的时间。强烈建议采用低功 耗集成外设模块来取代由软件实现的功能。由于生成载波,高频SMCLK必不可少,在IR数据传输期间, 就调制和编码模式而言, 应尽量延长处于LPM0模式的时间。从这个角度来说,eUSCI_A是最可取的,因为它能够获得最长的时隙(4或8位)。但是在某些需要把eUSCI_A 用于执行其他任务的应用中,则要采用TA1和RTC等其他的硬件资源作为替代。
协议示例
业界使用的红外传输协议有很多,不过大多是从具有不同频率或格式的几种基础协议发展而来。下面将说明作为最流行协议的"脉冲距离协议"和"曼彻斯特协议(RC5)"。
脉冲距离协议
脉冲距离协议被许多家用电器公司所广泛使用。它采用载波频率为38kHz的ASK调制和脉冲距离编码。
● 帧格式 在协议中有两种帧:数据帧和重发帧。
数 据帧由一个引导码和数据组成。引导码是一个长度为9ms的突发脉冲,其后是4.5ms的停顿。数据有效载荷包括识别设备用的8位地址和控制字用的8位命 令。为保证可靠性,两者均发送两次。地址和命令的第二次传输是互补的,因此数据帧的总长度恒定(67.5ms)。有效载荷以一个560μs的载波调制拖尾 脉冲作为结束,从而完成最后的数据间隙。逻辑1定义为一个跟随1690μs空号周期的560μs载波调制周期。逻辑0则定义为一个跟随560μs空号周期 的560μs载波调制周期。图2显示了一个完整的数据帧格式。
图2:脉冲距离协议,数据帧格式。
重发帧定义为处理自动重发功能;它并不携带任何地址或命令信息。它包括序列脉冲和一个跟随其后的拖尾脉冲。在相同按键仍然按下的同时,重发帧每110ms重发一次。脉冲距离协议的完整序列格式如图3所示。
图3:脉冲距离协议,完整的序列格式。
● 包络生成 如果采用TA1来生成包络波形,则每对载波调制脉冲和空号必须对CCR0和CCR2进行一次更新。CCR0取决于载波调制脉冲周期和空号周期,而CCR2 则取决于载波调制脉冲周期。例如,如果TA1由4MHz的SMCLK提供且采用缺省分频器配置,则CCR0和CCR2被分别配置为54000和36000 来生成引导码(9ms的载波调制脉冲与4.5ms的空号配对),并针对逻辑1分别更新为9000和2240。如欲发送一个完整的数据帧,则CCR0和 CCR2必需更新34(1+8x2+8x2+1)次,这在TA1中断程序中实现。
如果采用SPI来生成包络波形,则应将其波 特率设定为与0.56ms的最小时隙相等。因此,TXBUF应发送3字节数据(0xFF、0xFF、0x00)来传输引导码,而其他字节的发送则取决于有 效载荷。每个数据帧总共有16个"1"和16个"0"。SPI的TXBUF需要更新大约15(121/8)次,这在SPI中断服务程序中实现。其软件开销 是TA1开销的一半。
● 载波生成 要生成具有1/4占空比的38kHz载波,需要根据SMCLK来配置TA0的CCR0和CCR2。例如,当采用4MHz SMCLK时,CCR0和CCR2被分别配置为105(4000/38)和26(4000/38/4)。
曼彻斯特编码(RC5)
RC5协议由Philips公司推出。它采用载波频率固定为36kHz的ASK调制和曼彻斯特编码。
● 帧格式 RC5数据帧以两个逻辑1起始位(S1和S2)作为开始,后面是一个翻转位(T),有效载荷包含一个5位地址和一个6位命令。翻转位在每次新按键按压时改变其数值。5个地址位用于识别欲控制的设备,而6个命令位则包含将传输的信息。
- Pyreos红外传感技术开启智能手机新航程(01-06)
- 拆解:第7代Kindle阅读器 性价比超高(10-15)
- 汽车正在变成行进中的传感器平台(06-02)
- 红外技术解决音频无线传输难题(10-11)
- 一款低功耗Wi-Fi智能控制设计方案介绍(02-28)
- 红外通信协议及原理精讲(01-19)