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液晶的显示模块。

整个系统的流程图如下图所示:

学习型通用红外遥控设备(一)相关推荐

  1. 学习型通用红外遥控设备(三)

    3.1 红外脉宽存储及FLASH的读写 根据STM32型号的不同,FLASH容量由16K到1024K不等. FLASH模块主要由三部分组成:主存储器.信息块.闪存存储器接口寄存器.模块组织见<S ...

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

    1.1处理器 处理器为STM32,代码在其两个系列的CPU上调试通过,为STM32F103ZET和STM32F103VBT. 软件平台:Keil uVision4;电路设计:Altium Design ...

  3. 学习型通用红外遥控设备(二)

    2.1 38KHz载波产生 常用的38KHz载波的产生方法有455KHz晶振分频法.时基电路搭建法.微控制器PWM模块产生法.为减少硬件规模.缩减成本,故由STM32的定时器输出PWM波,得到占空比1 ...

  4. 学习型通用红外遥控设备(四)

    四.硬件电路: 说些闲话. 如果有其他单片机的基础,STM32上手还是挺快的,一周左右应该可以.红外遥控器 的制作,算是熟悉STM32之后的练手.就市场来看,STM32的应用还是挺广泛的.之前在成都实 ...

  5. 学习型红外遥控器设计(1) 绪论

    学习型红外遥控器设计(0) 摘要   (1) 绪论  (2) 方案设计   (3) 遥控解码   (4) 编码还原  (5) 硬件实现   (6) 总结展望 1.1  选题的目的意义 上世纪八十年代初 ...

  6. 学习型红外遥控器设计(5) 万能学习型红外遥控器实现

    学习型红外遥控器设计(0) 摘要   (1) 绪论  (2) 方案设计   (3) 遥控解码   (4) 编码还原  (5) 硬件实现   (6) 总结展望 如方案设计所述,制作万能学习型红外遥控器, ...

  7. 学习型红外遥控器设计(4) 红外遥控编码还原

    学习型红外遥控器设计(0) 摘要   (1) 绪论  (2) 方案设计   (3) 遥控解码   (4) 编码还原  (5) 硬件实现   (6) 总结展望 如方案设计所述,制作红外编码发射装置,该装 ...

  8. 学习型红外遥控器硬件结构说明

    本篇文章上接:智能家居中红外遥控芯片分析比较 2 硬件结构  学习型红外遥控器由红外一体化接收电路. 反相器.温度传感器.AT89C52单片机.红外发送电路.E PROM存储器.键盘及 LCD显示器和 ...

  9. 学习型红外遥控器设计(3) 红外遥控解码学习

    学习型红外遥控器设计(0) 摘要   (1) 绪论  (2) 方案设计   (3) 遥控解码   (4) 编码还原  (5) 硬件实现   (6) 总结展望 如方案设计所述,制作红外接收解码装置,该装 ...

  10. 【原创分享】学习型多功能红外遥控器实现(续)--- 09.06

    前几天我还探讨了这个学习型遥控器的实现问题,今天发这篇文章,仅是针对我上次说到的方法的一个实现. 上次说的方法 目前已经实现 感觉方法还是不错的 这里我拿出来分享下 希望对想做这个的朋友一点点的帮助. ...

最新文章

  1. fsl线性配准介绍+核磁共振影像数据处理
  2. g711u与g729比较编码格式
  3. ValueError: Shape mismatch: The shape of labels (received (768,)) should equal the shape of logits e
  4. Xshell操控kali-linux虚拟机
  5. python控制结构实训_Python 控制结构
  6. #define GPBCON (*(volatile unsigned *)0x56000010) 的理解
  7. C/C++中善用大括号
  8. android利用itext5制作pdf,Itext5生成PDF
  9. 想在Win11上安装数据库?以下连招,轻松解决(全网详细巨无霸)
  10. 利用base64展示图片
  11. cell数组变为字符串_cell转字符串 - osc_n3166lwj的个人空间 - OSCHINA - 中文开源技术交流社区...
  12. c语言pipe函数,pipe 函数 (C语言)
  13. 详解php与mysql的关系
  14. web开发中添加分享按钮
  15. ASP程序加密解密方法全面解析
  16. Pollard Rho算法分解因数
  17. mongoDB 注册成开启自启动项
  18. Unity3D打印拓展XMDebug
  19. linux如何输入命令,linux中的命令如何输入
  20. WARNING:tensorflow:`add_update` `inputs` kwarg has been deprecated.

热门文章

  1. codewars练习js2021/5/67891026
  2. 如何用串口助手测试软件485通讯功能,串口调试助手如何检测RS485端口好坏及信号发送的好坏?...
  3. 【C#】两种方式实现给PDF文件加水印,源码分享
  4. phalcon mysql_phalcon数据库操作
  5. c语言.jpg图片转成数组_pdf怎么转成jpg最简单 mac
  6. 利用AJAX做天气预报
  7. 一直想写的关于tarjan算法的理解——向struct edge大佬低头
  8. Proofs for Inner Pairing Products and Applications 学习笔记
  9. vant 验证手机号_Vue 正则表达式验证邮箱和手机号码
  10. Java 正则表达式对用户名、手机号、邮箱等验证