红外

时间:2024-03-27 14:48:28

红外遥控器

编码

NEC Protocol的PWM(脉冲宽带调制)和Philips
RC-5 Protocol的PPM(脉冲位置调制)。

NEC协议特征

  1. 8位地址和8位指令长度
  2. 地址和命令2次传输
  3. PWM脉冲宽度调制,以发射红外载波的占空比代表“0”和“1”;
  4. 载波频率为38Khz
  5. 位时间为1.125ms或2.25ms
    红外

NEC码位定义

位: 一个脉冲对应560us的连续载波+一段低电平

一个逻辑1传输需要带2.25ms(560us脉冲+1680低电平)

一个逻辑0的传输需要1.125ms(560us脉冲+560低电平)

红外

红外接收头解码

脉冲→低电平 无脉冲→高电平
红外

NEC遥控器指令格式

NEC指令数据格式:同步码头、地址码、地址反码、控制码、控制反码。
同步码头:9ms 低电平+4.5ms高电平
地址码、地址反码、控制码、控制反码均是8位数据格式。
反码:增加传输可靠性
正点原子红外遥控器的地址码为00000000
红外

连发码

如果在发送完帧数据按键还没松开,则发送连发码,9ms低电平+2.5ms高电平+0.56ms低电平+97.94高电平

红外接收头

外观

只有3个管脚
红外

原理图

DATA管脚跟STM32定时器通道管脚相连(PB9),采样输入捕获的方式进行捕获。
红外

定时器通道

红外

输入捕获

捕获一段电平的时间(宽度)
上升沿捕获:捕获上升沿
下降沿捕获:捕获下降沿

红外接收头解码

脉冲→低电平 无脉冲→高电平
红外

所以,捕获到560us高电平就是逻辑0,
1690us高电平时逻辑1
4.5ms 高电平 同步码头

程序设计思路

  1. 开启定时器对应输入捕获功能,默认上升沿捕获。定时器计数频率1Mhz,自动装载值10000。

  2. 捕获到上升沿,产生捕获中断。并设置下降沿捕获

  3. 捕获到下降沿,读取定时器的值,计算出高电平时间。

  4. 根据时间判断是啥信号

沿,产生捕获中断。并设置下降沿捕获

  1. 捕获到下降沿,读取定时器的值,计算出高电平时间。

  2. 根据时间判断是啥信号