- UID
- 872339
|
关键字:红外遥控调制 曼彻斯特编码(RC5) MCU
红外遥控采用红外(IR)光来传送信息。发射器MCU的调制信号控制IR LED发射红外光。调制能够帮助接收器把需要的信号与所有其他的红外噪声源区分开来。调制的实现过程是用带有有效信息的包络信号对载波信号(通常是一个具有较高频率的方波)进行调制。
接收器采用光电二极管把IR光转换为电流。通常使用跨阻抗放大器将电流转换为电压;在解调前,该电压将通过一个增益放大器和滤波器。载波信号在解调过程中去除。解调信号可直接连接至接收器的MCU用于解码。
红外遥控调制和编码理论
所有的新式红外遥控设计均采用数字调制。两个基本的数字调制技术是幅移键控(ASK)和频移键控(FSK)。ASK通过改变载波幅度来表示逻辑1和0,而FSK则采用两种不同的载波频率来表示这些逻辑电平。
ASK调制
ASK是最古老和最简单的技术之一,颇受很多消费电子公司的青睐。它凭借自身优良的性能(鲁棒性好且低功耗)、设计简单和低成本,成为了最流行的调制模式。
在发送器中,有效数据被调制成一组频率范围从30kHz至60kHz的载波脉冲。当没有信号传输时,则插入一个空号。
接收器调谐至与发送器载波相同的频率,而所有其他的噪声则被接收器的带通滤波器所阻隔。许多制造商都提供了全集成的接收器模块, 此类模块可提供与接收器微控制器相对接的解调信号。典型的载波频率为30kHz、33kHz、36kHz、38kHz、40kHz或56kHz。
下文将说明ASK调制系统中所使用的几种主要的编码方法。
● 脉冲位置编码 脉冲位置编码是基本的ASK调制。每个位宽恒定。载波调制脉冲代表逻辑1,而空号则代表逻辑0。
● 脉冲距离编码 在脉冲距离编码中,每个位由一个载波调制脉冲和一个空号组成。空号宽度用来区分逻辑1和逻辑0。载波调制脉宽则是恒定的。
● 脉冲宽度编码 在脉冲宽度编码中,每个位由一个载波调制脉冲和一个空号组成。载波调制脉宽用来区分逻辑1和逻辑0,空号则是恒定的。
● 曼彻斯特编码 曼彻斯特编码也被称为双相位编码。每个位由一个载波调制脉冲和一个空号组成。载波调制脉冲和空号之间转换的极性规定了逻辑电平。例如,“调制脉冲至空号”表示逻辑1,而“空号至调制脉冲”则表示逻辑0。
FSK调制
FSK为逻辑1和逻辑0采用了两个不同的载波频率,而且在脉冲之间没有空号。这种解决方案采用两个频率,增加了解调的复杂性和成本,因此并未得到广泛使用。
MSP430FR4xx概述
MSP430FR4xx是超低功耗MSP430系列16位微控制器中的一员。它具有优化的外设资源和IR调制逻辑,从而非常适用于遥控应用。强大的LCD显示功能和丰富的电容式触摸I/O资源扩展了它在诸如血压计、水表及动态令牌(OTP)等其他领域中的使用。曼彻斯特编码(RC5)
RC5协议由Philips公司推出。它采用载波频率固定为36kHz的ASK调制和曼彻斯特编码。
● 帧格式 RC5数据帧以两个逻辑1起始位(S1和S2)作为开始,后面是一个翻转位(T),有效载荷包含一个5位地址和一个6位命令。翻转位在每次新按键按压时改变其数值。5个地址位用于识别欲控制的设备,而6个命令位则包含将传输的信息。
逻辑1 被定义为一个跟随889 μs载波调制脉冲周期的889 μs 空号周期。逻辑0则被定义为一个跟随889μs空号周期的889 μs 载波调制脉冲周期。
完整的数据帧具有24.9ms的固定长度,其格式如图4所示。
图4:RC5协议,数据帧格式。
自动重发功能通过重发具有相同翻转位的数据帧来处理。在RC5的扩展版本中,S2起始位被解释为一个反转的第六地址位,而不是固定的逻辑1。
● 包络生成 最小时隙为889μs。需要更新TA1的输出模式来生成包络波形。例如,TA1由4MHz的SMCLK提供,CCR0和CCR2被分别固定为7112(2x889/0.25)和3556(889/0.25)。TA1输出模式在每个数据帧中最多需要更新14(3+5+6)次,这在TA1中断服务程序中进行处理。
假如采用SPI,则利用889μs周期来设定波特率。其TXBUF需要被写入大约4(2x14/8)次来传输一个数据帧,这可在SPI中断程序中进行处理。
● 载波生成 如欲生成具有1/3占空比的36kHz载波,则根据SMCLK的频率来配置TA0的CCR0和CCR2。例如,当采用4MHz SMCLK时,CCR0 和CCR2 被分别配置为111(4000/36)和37(4000/36/3)。如果SMCLK为8MHz,则上面的两个数值应该加倍。
软件设计和开销比较
如果没有IR调制逻辑电路, 则通常需要采用一个定时器, 通过控制其PWM输出来完成红外传输。其计数器周期和通道占空比与载波周期和占空比是一致的。因此,软件根据定时器的溢出数来更新其PWM输出。例如,在脉冲距离协议的引导码生成过程中,软件计数342(9ms/(1/38kHz))次溢出来输出9ms的载波脉冲,计数171(4.5ms/(1/38kHz))次溢出来输出4.5ms的空号。在溢出空号期间,器件保持在LPM0模式以节省功率。帧长度决定了唤醒次数。
在采用IR调制逻辑电路的情况下,器件仅需唤醒非常有限的时间即可实现包络生成,其间载波将自动生成,无需任何干预。
为了更好地了解IR逻辑电路在传输一个完整帧期间所拥有的软件开销的优越性,这里针对脉冲距离协议和曼彻斯特协议对采用不同方法的中断次数做了比较。详情见表1。
表1:传输一个完整数据帧的软件开销比较
结论
MSP430FR4xx器件包含了丰富的外设和专用的IR调制逻辑功能电路,可为那些采用ASK或FSK调制的红外遥控实现方案的开发提供帮助。利用TA0和TA1,能够在几乎不需要软件干预的情况下轻松生成载波。给出的两个典型示例表明,利用eUSCI_A实现包络生成可获得最大的软件开销降幅。
|
|