历史上的今天
返回首页

历史上的今天

今天是:2025年12月14日(星期日)

2022年12月14日 | STM32之红外遥控信号自学习实现

2022-12-14 来源:zhihu

1 序言

很早前就想实现这个红外遥控自学习的这个实验,用于来自己控制房子里如空调等红外遥控设备的自动化,NEC的标准到具体的产品上可能就被厂家定义为不一样了,所以自学习就应该是接收到什么就发送什么,不用管内容是什么!

2 硬件实现原理

由上述原理图可知,当IE为高电平时发送红外光,为低电平时不发送红外光。

在NEC协议中,信息传输是基于38K载波,也就是说红外线是以载波的方式传递。

发送波形如下图所示:

NEC协议规定:

  • 发送协议数据“0” = 发送载波560us + 不发送载波560us

  • 发送协议数据“1” = 发送载波560us+ 不发送载波1680us

  • 发送引导码 = 发送载波9000us + 不发送载波4500us

在红外接收端,如果接收到红外38K载波,则IR输出为低电平,如果不是载波包括固定低电平和固定高电平则输出高电平。在IR端接收的信号如下所示:

3 软件实现自学习

设计原理:

1、 根据接收波形记录电平和电平持续时间,以便于发送。

2、电平记录采用定时器捕获功能,从下降沿接收引导信号开始,每触发一次改变触发方式,从而使每个电平变化都能捕获到。

源码实现如下:

定时器捕获初始化设置(CubeMax软件自动配置生成):

定时器捕获中断回调处理:

3、设置的定时器溢出时间为10ms,如果10毫秒内不再接收电平变化则默认接收结束,设置结束标志。

至此,实现了红外遥控的学习功能,获得的记录数据为记录长度和电平信号数组与电平信号维持的时间数组。

4、发送实现

设置定时器输出38KPWM信号,在记录电平为0是输出记录时间的38K载波信号,如果为1则不输出载波,实现如下:

PWM生成设置(CubeMax自动配置生成):

发送实现,注意点就是记录为0时发载波,记录为1时不发载波:

往PWM比较寄存器设置948即为设置38KPWM波,也可在初始化时固定948,在此函数内启停定时器即可;

至此,自学习功能的全部思路已实现,通过对各个不同类型的红外遥控进行功能测试,均成功。

PS:查看很多资料发现很多红外解码未判断低电平时间,个人感觉不是很好,应该是不仅高电平时间得符合,低电平时间也应该符合。

自己写了一个小函数验证了一下,这个函数只是验证,未经仔细推敲,还可优化,仅供参考这一思想。

误差设计:±200us(拍脑袋值)

解析的话一般高位在前,所以左移,经测试帧格式为:引导码+用户码+用户码反码+命令码+命令码反码,能成功解析数据!解析的话根据具体协议,具体分析。


推荐阅读

史海拾趣

GSN Electronics公司的发展小趣事

GSN Electronics公司在电子行业中的发展可以追溯到多个方面,以下是五个关于其发展的故事,每个故事均基于事实进行描述:

1. 创立与初期发展

故事背景:GSN Electronics(深圳)有限公司成立于2012年11月27日,由GSN Electronics (Hong Kong) Limited全资控股,注册资本为100万元人民币,后增至当前规模。公司自成立以来,便专注于电子连接器和线束的生产经营,以及电子产品和电子零件的研发、批发、进出口及相关配套业务。初期,GSN Electronics凭借其专业技术和敏锐的市场洞察力,在深圳这一中国重要的电子产业聚集地迅速站稳脚跟。

发展亮点:公司通过不断优化产品结构和提升技术实力,逐步在电子行业中建立了自己的品牌影响力。

2. 技术创新与专利积累

故事背景:GSN Electronics深知技术创新是企业发展的核心驱动力。因此,公司不断加大研发投入,致力于新产品的开发和旧产品的升级换代。截至目前,公司已获得多项实用新型专利授权,如耐折弯的微型连接器、方便插入的电连接器、端口防水防尘结构的连接器等,这些专利技术的应用极大地提升了产品的竞争力和市场占有率。

发展亮点:技术创新和专利积累不仅巩固了GSN Electronics在电子连接器领域的领先地位,还为其拓展新市场、开发新客户提供了有力支持。

3. 市场拓展与国际认证

故事背景:随着公司实力的不断增强,GSN Electronics开始积极拓展国内外市场。公司通过参加各类行业展会、建立海外销售网络等方式,不断提升品牌知名度和市场占有率。同时,公司还积极申请并获得了多项国际认证,如IATF 16949和ISO 9001等,这些认证不仅证明了公司的产品质量和管理水平达到了国际标准,还为其进入高端市场提供了有力保障。

发展亮点:市场拓展和国际认证的成功实施,使GSN Electronics在电子行业中树立了良好的企业形象和品牌形象。

4. 团队建设与企业文化

故事背景:GSN Electronics深知人才是企业发展的根本。因此,公司一直注重团队建设和企业文化建设。公司拥有一支高素质的研发团队和销售团队,他们不仅具备丰富的专业知识和实践经验,还具备强烈的创新意识和团队精神。同时,公司还积极营造开放、包容、创新的企业文化氛围,鼓励员工勇于尝试、敢于创新。

GradConn Ltd公司的发展小趣事

GradConn始终将技术创新作为公司发展的核心驱动力。公司拥有一支专业的研发团队,致力于开发新型连接器和电缆组件,以满足不断变化的市场需求。同时,GradConn的所有工厂均通过了ISO 9001:2015和ISO 14001:2015等国际质量管理体系认证,确保了产品的高质量和环境友好性。这些认证不仅提升了GradConn的品牌形象,还为其在全球市场上赢得了更多客户的信任和支持。

璟德(ACX)公司的发展小趣事

2008年,璟德(ACX)成功在台北证券交易所上市,股票代码为3152。这一举措为公司带来了更多的资金支持,也提升了其品牌影响力和市场地位。上市后,璟德(ACX)加大了对研发和市场拓展的投入,进一步巩固了其在无线通信领域的领先地位。

Daco Semiconductor Co Ltd公司的发展小趣事

随着技术的不断成熟,Daco开始积极寻求市场拓展。公司首先与几家知名的电子设备制造商建立了合作关系,为其提供定制的半导体解决方案。同时,Daco也积极参与国际半导体展览和交流活动,与全球的行业同仁建立了广泛的联系。通过不断的市场拓展和战略合作,Daco的产品逐渐进入了全球市场,公司的知名度和影响力也得到了显著提升。

Aptina (ON Semiconductor)公司的发展小趣事

随着市场竞争的加剧和行业发展的需要,Aptina最终被半导体巨头ON Semiconductor收购。这一收购使得Aptina得以借助ON Semiconductor的资源和平台,实现更快速的发展。ON Semiconductor对Aptina的收购也进一步提升了其在图像传感器领域的市场地位,为公司未来的发展注入了新的动力。

赛微(Cellwise)公司的发展小趣事

赛微公司自创立之初,就专注于模拟芯片的研发和销售。公司汇聚了一批资深的模拟集成电路设计专家和电池电化学专家,致力于在电池管理芯片和电源管理芯片领域实现技术突破。通过不断的技术创新和研发投入,赛微成功推出了一系列高性能、高可靠性的电池安全芯片、电池计量芯片和充电管理芯片等产品,赢得了市场的广泛认可。

问答坊 | AI 解惑

输入电阻和输出电阻(纠结了好长时间,看完就懂了)

     关于输入电阻和输出电阻,纠结了好长时间,现在终于明白了,拿出来给大家看一下,呵呵      输入电阻是用来衡量放大器对信号源的影响的一个性能指标。输入电阻越大,表明放大器从信号源取的电流 ...…

查看全部问答>

evc4.0能开发wince5.0的程序么--急!

evc4.0能开发运行在wince5.0的程序么? 对于bin文件有什么要求么? 还是有其他别的注意事项啊? 原来运行在wince4.2上正常的程序,到wince5.0就不是有效的wince程序了是什么问题, 详细介绍最好啊!!!…

查看全部问答>

春节后,开始找工作

我在深圳,大家有没有好的推荐? 顶者有分噢!…

查看全部问答>

初学者问题

刚学单片机,在仿真时,出现connection to target lost是什么原因? 还有个问题,在eeworld上传图片时,提示出现不明错误,无法上传,本来有图片的话,能把问题描述的更清楚些。…

查看全部问答>

为什么用vs2005还是EVC4SP4编译刚建好的例子时总提示要连接ActiveSync呢?

为什么用vs2005还是EVC4SP4编译刚建好的例子时总提示要连接ActiveSync呢? 环境是WINCE5 ,ActiveSync装的版本是4.2中文版. 是不是调试的时候一定要插上硬件呢?不插上可以调试WINCE5平台下开发的程序吗? EVC4下的错误提示是: An application ...…

查看全部问答>

望请指点啊

我用的是四位八段共阳数码管 程序如下 显示有问题 module smg_wela(                                 clk,             &nbs ...…

查看全部问答>

求用最小系板和DS18B20来测量温度并在12864液晶上显示

 各位玩MSP430的大大们,求助啦~! 想用MSP430最小系统版和DS18B20来测量温度,且在12864LCD液晶上面显现出数据来! 可不可以帮忙写下代码啊! 急用啊! 下面的CX-1A系统版的原理图 小弟感激不尽! [ 本帖最后由 z9 ...…

查看全部问答>

处理一批2.4寸TFT屏,每人限购10PCS,有美女,有送!

2.4寸TFT屏,带触摸屏,ILI9320驱动!引脚定义如下图: 前天 12:21 上传下载附件 (146.79 KB) 屏的图片如下: 前天 12:21 上传下载附件 (73.57 KB) 前天 12:21 上传下载附件 (63.51 KB) 显示效果如下: ...…

查看全部问答>

说说解决EXP430G2与MSP430FR5xxx调试问题

这几天发现一件怪事,之前的EXP430G2不能下载程序了,找了一块板还是同样的问题。 ”Fatal error:failed to re-initalize Session aborte!\" 1.4打印的信息是: Sat Nov 03, 2012 19:20:19: Firmware version 30066536 Sat Nov 03, 2012 19:20 ...…

查看全部问答>

Proteus 如何利用matlab 2013A CCS5.2 实现仿真调试

楼主 求解1  Proteus  的.hex文件不能用只能用cof文件        求解2  Proteus  DSP 16位的存储单元  为啥存储器寄存器区都是 8位一个单元        求 ...…

查看全部问答>