学习型通用红外遥控设备(一)
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液晶的显示模块。
整个系统的流程图如下图所示:
学习型通用红外遥控设备(一)相关推荐
- 学习型通用红外遥控设备(三)
3.1 红外脉宽存储及FLASH的读写 根据STM32型号的不同,FLASH容量由16K到1024K不等. FLASH模块主要由三部分组成:主存储器.信息块.闪存存储器接口寄存器.模块组织见<S ...
- 基于STM32的学习型通用红外遥控设备的设计实现(一)
1.1处理器 处理器为STM32,代码在其两个系列的CPU上调试通过,为STM32F103ZET和STM32F103VBT. 软件平台:Keil uVision4;电路设计:Altium Design ...
- 学习型通用红外遥控设备(二)
2.1 38KHz载波产生 常用的38KHz载波的产生方法有455KHz晶振分频法.时基电路搭建法.微控制器PWM模块产生法.为减少硬件规模.缩减成本,故由STM32的定时器输出PWM波,得到占空比1 ...
- 学习型通用红外遥控设备(四)
四.硬件电路: 说些闲话. 如果有其他单片机的基础,STM32上手还是挺快的,一周左右应该可以.红外遥控器 的制作,算是熟悉STM32之后的练手.就市场来看,STM32的应用还是挺广泛的.之前在成都实 ...
- 学习型红外遥控器设计(1) 绪论
学习型红外遥控器设计(0) 摘要 (1) 绪论 (2) 方案设计 (3) 遥控解码 (4) 编码还原 (5) 硬件实现 (6) 总结展望 1.1 选题的目的意义 上世纪八十年代初 ...
- 学习型红外遥控器设计(5) 万能学习型红外遥控器实现
学习型红外遥控器设计(0) 摘要 (1) 绪论 (2) 方案设计 (3) 遥控解码 (4) 编码还原 (5) 硬件实现 (6) 总结展望 如方案设计所述,制作万能学习型红外遥控器, ...
- 学习型红外遥控器设计(4) 红外遥控编码还原
学习型红外遥控器设计(0) 摘要 (1) 绪论 (2) 方案设计 (3) 遥控解码 (4) 编码还原 (5) 硬件实现 (6) 总结展望 如方案设计所述,制作红外编码发射装置,该装 ...
- 学习型红外遥控器硬件结构说明
本篇文章上接:智能家居中红外遥控芯片分析比较 2 硬件结构 学习型红外遥控器由红外一体化接收电路. 反相器.温度传感器.AT89C52单片机.红外发送电路.E PROM存储器.键盘及 LCD显示器和 ...
- 学习型红外遥控器设计(3) 红外遥控解码学习
学习型红外遥控器设计(0) 摘要 (1) 绪论 (2) 方案设计 (3) 遥控解码 (4) 编码还原 (5) 硬件实现 (6) 总结展望 如方案设计所述,制作红外接收解码装置,该装 ...
- 【原创分享】学习型多功能红外遥控器实现(续)--- 09.06
前几天我还探讨了这个学习型遥控器的实现问题,今天发这篇文章,仅是针对我上次说到的方法的一个实现. 上次说的方法 目前已经实现 感觉方法还是不错的 这里我拿出来分享下 希望对想做这个的朋友一点点的帮助. ...
最新文章
- fsl线性配准介绍+核磁共振影像数据处理
- g711u与g729比较编码格式
- ValueError: Shape mismatch: The shape of labels (received (768,)) should equal the shape of logits e
- Xshell操控kali-linux虚拟机
- python控制结构实训_Python 控制结构
- #define GPBCON (*(volatile unsigned *)0x56000010) 的理解
- C/C++中善用大括号
- android利用itext5制作pdf,Itext5生成PDF
- 想在Win11上安装数据库?以下连招,轻松解决(全网详细巨无霸)
- 利用base64展示图片
- cell数组变为字符串_cell转字符串 - osc_n3166lwj的个人空间 - OSCHINA - 中文开源技术交流社区...
- c语言pipe函数,pipe 函数 (C语言)
- 详解php与mysql的关系
- web开发中添加分享按钮
- ASP程序加密解密方法全面解析
- Pollard Rho算法分解因数
- mongoDB 注册成开启自启动项
- Unity3D打印拓展XMDebug
- linux如何输入命令,linux中的命令如何输入
- WARNING:tensorflow:`add_update` `inputs` kwarg has been deprecated.
热门文章
- codewars练习js2021/5/67891026
- 如何用串口助手测试软件485通讯功能,串口调试助手如何检测RS485端口好坏及信号发送的好坏?...
- 【C#】两种方式实现给PDF文件加水印,源码分享
- phalcon mysql_phalcon数据库操作
- c语言.jpg图片转成数组_pdf怎么转成jpg最简单 mac
- 利用AJAX做天气预报
- 一直想写的关于tarjan算法的理解——向struct edge大佬低头
- Proofs for Inner Pairing Products and Applications 学习笔记
- vant 验证手机号_Vue 正则表达式验证邮箱和手机号码
- Java 正则表达式对用户名、手机号、邮箱等验证