您的位置 首页 ADAS

使用MSP430FR4xx完成红外遥控

红外遥控采用红外(IR)光来传送信息。发射器MCU的调制信号控制IR LED发射红外光。调制能够帮助接收器把需要的信号与所有其他的红外噪声源区分开来。调制的实现过程是用带有有效信息的包络信号对载波信

红外遥控选用红外(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)等其他领域中的运用。

MSP430FR4xx红外遥控完结

红外调制传统上首要是选用软件和有限的硬件资源来完结的(即用一个定时器来发生准确的时隙)。由于时隙很小,软件开支很大。MSP430FR4xx具有一些内部互联硬件资源(如定时器和SPI),因而可以以较低的软件开支来完结IR调制。

MSP430FR4xx中的IR调制逻辑包括两个级联定时器和附加组合逻辑(见图1)。

图1:IR调制逻辑电路。
图1:IR调制逻辑电路。

IR调制逻辑可经过设定SYSCFG1寄存器中的IREN位来使能。该逻辑具有两个不同的PWM输入信号(源自TA0和TA1),用以支撑ASK或FSK调制。在ASK调制中,来自TA0的第一个PWM用于载波生成,而来自TA1的第二个PWM或来自eUSCI_A的输出则可用于发生包络。在FSK调制中,两个PWM信号别离代表两种不同的载波频率。SYSCFG1寄存器中的IRMSEL位规则了调制形式。在输出至外部引脚之前,可经过设定SYSCFG1寄存器中的IRPSEL位来使调制信号的极性回转,然后习惯不同的外部驱动电路。

包络波形生成可使用硬件或软件来完结。在硬件形式中,包络信号来自TA1(仅可用于ASK)或eUSCI_A。当来自于后者时,其作业于SPI形式,8位数据主动地串行发送。在软件形式中,SYSCFG1寄存器中的IRDATA位担任操控是发送逻辑0仍是逻辑1。SYSCFG1寄存器中的IRDSEL位则用来挑选是运用硬件形式仍是软件形式。

调制计划

ASK调制IRMSEL 位缺省为ASK调制。对AND门的两个输入进行调制,驱动外部LED:一个是来自TA0的载波信号,另一个是来自TA1、eUSCI_A或IRDATA位的包络时序信号。若是来自IRDATA位,则需求选用另一个独立的计数器(TA1、RTC或WDT)对这个位进行周期性的更新。

FSK调制若IRMSEL 位被置位, 则启用FSK 形式。TA0 和TA1别离生成两个独自的载波频率。包络波形可由eUSCI_A或IRDATA位生成;若由IRDATA位生成,则需求用另一个独立的计数器(RTC或WDT)对此位进行周期性的更新。

载波生成

定时器用于生成载波。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位指令。为确保可靠性,两者均发送两次。地址和指令的第2次传输是互补的,因而数据帧的总长度稳定(67.5ms)。有用载荷以一个560μs的载波调制拖尾脉冲作为完毕,然后完结最终的数据空隙。逻辑1界说为一个跟从1690μs空号周期的560μs载波调制周期。逻辑0则界说为一个跟从560μs空号周期的560μs载波调制周期。图2显现了一个完好的数据帧格局。

图2:脉冲间隔协议,数据帧格局。
图2:脉冲间隔协议,数据帧格局。

重发帧界说为处理主动重发功用;它并不带着任何地址或指令信息。它包括序列脉冲和一个跟从这以后的拖尾脉冲。在相同按键依然按下的一起,重发帧每110ms重发一次。脉冲间隔协议的完好序列格局如图3所示。

图3:脉冲间隔协议,完好的序列格局。
图3:脉冲间隔协议,完好的序列格局。

包络生成假设选用TA1来生成包络波形,则每对载波调制脉冲和空号有必要对CCR0和CCR2进行一次更新。CCR0取决于载波调制脉冲周期和空号周期,而CCR2则取决于载波调制脉冲周期。例如,假设TA1由4MHz的SMCLK供给且选用缺省分频器装备,则CCR0和CCR2被别离装备为54000和36000来生成引导码(9ms的载波调制脉冲与4.5ms的空号配对),并针对逻辑1别离更新为9000和2240。如欲发送一个完好的数据帧,则CCR0和CCR2必需更新34(1+8×2+8×2+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个指令位则包括将传输的信息。

逻辑1 被界说为一个跟从889 μs载波调制脉冲周期的889 μs 空号周期。逻辑0则被界说为一个跟从889μs空号周期的889 μs 载波调制脉冲周期。

完好的数据帧具有24.9ms的固定长度,其格局如图4所示。

图4:RC5协议,数据帧格局。
图4:RC5协议,数据帧格局。

主动重发功用经过重发具有相同翻转位的数据帧来处理。在RC5的扩展版别中,S2开端位被解释为一个回转的第六地址位,而不是固定的逻辑1。

包络生成最小时隙为889μs。需求更新TA1的输出形式来生成包络波形。例如,TA1由4MHz的SMCLK供给,CCR0和CCR2被别离固定为7112(2×889/0.25)和3556(889/0.25)。TA1输出形式在每个数据帧中最多需求更新14(3+5+6)次,这在TA1中止服务程序中进行处理。

假设选用SPI,则使用889μs周期来设定波特率。其TXBUF需求被写入大约4(2×14/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:传输一个完好数据帧的软件开支比较

表1:传输一个完好数据帧的软件开支比较。

定论

MSP430FR4xx器材包括了丰厚的外设和专用的IR调制逻辑功用电路,可为那些选用ASK或FSK调制的红外遥控完结计划的开发供给协助。使用TA0和TA1,可以在简直不需求软件干涉的情况下轻松生成载波。给出的两个典型示例标明,使用eUSCI_A完结包络生成可取得最大的软件开支降幅。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/282490.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部