您的位置:首页 > 其它

基于STM32的学习型通用红外遥控设备的设计实现(一)

2014-02-24 17:51 441 查看
1.1处理器

处理器为STM32,代码在其两个系列的CPU上调试通过,为STM32F103ZET和STM32F103VBT。

软件平台:Keil uVision4;电路设计:Altium Designer v6.9。

1.2红外通信技术理论及示波器验证

先说下红外遥控的知识。这方面的资料百度一下到处都是,归纳起来有红外通信的介质-波长为0.76~1.5μm的红外线;现今主流且常用的有两种编码格式-脉冲位置调制(PPM, Pulse Position Modulation)和脉冲宽度调制(PWM, Pulse Width Modulation);调制和发送;红外协议-NEC协议、夏普协议、索尼SIRC协议等,应用最广泛的是EC协议。

NEC标准规定,红外通信的载波频率为38KHz,占空比为1:3;规定的引导码由9000μs左右的低电平和4500μs左右的高电平组成,重复码由9000μs左右的低电平和2250μs左右的高电平组成,数据“1”由560μs左右的低电平和1685μs左右的高电平组成,数据“0”由560μs左右的低电平和565μs左右的高电平组成,如下图所示:





1.3红外协议的验证
NEC协议的理论在1.2节有论述,为使自己有一个感官上的认识,对协议进行波形的提取分析,即通过抓取红外一体接收头输出的红外信号,测量脉冲的高低电平宽度是否在协议规定的范围。
用示波器(RIGOL DG1102E)检测VS838输出的红外信号, 示波器接收到的引导码入下图所示:




示波器接收到的“1”码如下图:




示波器接收到的“0”码如下图:




引导码持续时间13.6ms,“1”码持续时间2.22ms,“0”码持续时间1.10ms,完全在NEC协议规定的范围内。

1.4通用红外通信设备的实现

通用红外通信设备按照学习方式的不同可以分为两类:第一,固定码格式的通信设备;第二,波形拷贝式的通信设备。
第一种通信设备需要收集保存不同种类的红外设备信号,然后识别比较,最后再记录。这种红外设备的优点是硬件要求相对简易,控制器的CPU频率可以较低;缺点是因为红外编码格式太多,实现红外设备的成功复制比较难。
第二种红外设备是把原来红外设备发出的信号进行完全的复制,不管原来红外设备红外信号是什么格式,然后存储到非易失性的存储器(如EEPROM)中,发送时再把保存的波形数据去除,还原成原始信号。其优点是可以对任何一种红外设备进行学习;缺点是对控制器CPU的频率要求较高,RAM要大。
为了对尽可能多的设备进行控制,本设计完成的是第二种红外通信设备。

红外信号的接收由一体化接收管完成,然后送入微控制器进行处理。接收管图片如下图所示:




微控制器通过中断的方式对红外脉冲信号的脉宽进行测量。红外接收管在没有收到红外信号的情况下,输出端一直输出高电平;一旦由红外信号输入,按照NEC协议,会产生下降沿的跳变。通过把单片机的中断设置为下降沿模式,就可以捕获该信号,进入中断处理函数,实现脉宽的宽度测量。
随着集成电路集成度的日益增大,许多单片机都已具备内部FALSH且容量完全可以满足对脉宽数据的存储。这样,可以省去额外的存储器,节省成本,简化硬件电路,而且对内部FLASH的读写速度很快。

红外信号的调制发送设计两方面,一是从FLASH中读取按键对应的键值码的信息,二是完成对复原的红外信号的发送。按键按下,从按键对应的地址读出键码信息;发送需要先把信息调制在38KHz的载波上,38KHz载波由单片机的定时器产生占空比1:3的PWM波得到,其中调制部分的原理电路如下图所示:



当Txd端输出是低电平0时,三极管Q1导通,38KHz载波信号由Q2输出,驱动红外发射管L1发送信号;当Txd端输出是高电平1时,三极管Q1截止,38KHz载波信号无法输出,接收端接收不到红外信号,输出高电平。红外发送波形信息如下图所示:




1.5系统实现的流程

整个系统主要由7个模块组成,它们是:38KHz载波模块、键盘模块、红外脉宽测量模块、FLASH存储器的读写模块、红外信号的调制发送模块、学习键的中断实现模块和TFT液晶的显示模块。
整个系统的流程图如下图所示:


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: