红外遥控器NEC协议(简介)

NEC协议是在红外遥控器中较为常用的一种。

协议使用38K载波对数据进行调制(建议采用是⅓占空比,即1个时间单位的高电平(LED亮)+2个时间单位的低电平(LED灭))。

数据调制的基准时间宽度T为560μs。

基本格式:引导码+用户码+用户码反码+数据码+数据码反码+结束码。一般用户码同一款遥控器相同。

数据发送顺序:从低位向高位发送。(例如0xF0(11110000),先发0000再发1111)

格式详解:

  • 引导码:9ms载波+4.5ms空闲
  • 逻辑1:560μs载波+1.68ms空闲
  • 逻辑0:560μs载波+560μs空闲
  • 结束码:560μs载波
  • 重复码:9ms载波+2.25ms空闲

按基准时间格式详解:

  • 引导码:16T载波+8T空闲
  • 逻辑1:1T载波+3T空闲
  • 逻辑0:1T载波+1T空闲
  • 结束码:1T载波
  • 重复码:16T载波+4T空闲

注意:无论38K载波还是调制间隔时间都允许一定的误差,比如美的遥控器载波是38.186K。

逻辑分析仪抓取(图中数据:用户码是0x00,数据码是0x45)

重复码(通常可以不做处理,即不发送):有一种场景就是我们一直按住按键不松手,则需要每隔110ms发送一次重复码。第一次重复码发送间隔需要算上前面按键数据的时间。注:重复码也需要发送结束标志(即结束码)。