【嵌入式】GPIO外部中断+定时器 实现红外NEC协议解码

目录

一 背景说明

二 原理分析

三 软件实现

四 补充说明


一 背景说明

        项目中需要使用红外进行简单控制,选用比较通用的红外NEC协议实现。

        红外(Infrared,IR)遥控是一种无线、非接触控制技术,常用于遥控器、无线键盘、鼠标等设备之间的通信。IR协议的工作原理是,发送方通过红外线发送一个特定的编码,接收方通过识别该编码来执行相应的操作。
        IR协议是指红外线通信协议的总称,而NEC协议是IR协议中的一种具体实现。红外遥控系统分为发射和接收两部分,发射部分的发射元件为红外发光二极管,它发出的是红外线而不是可见光;接收电路的红外接收管是一种光敏二极管。

        【1】发射部分就是红外遥控器,淘宝上几块钱一个,支持NEC协议即可,也可以自己定制协议。

        【2】接收部分是红外接收头,我这边选用的是亿光的 IRM-H638T/TR2

二 原理分析

        要实现红外NEC协议的解码,先了解一下协议内容。

        【1】电平形式:

        NEC协议采用PPM(Pulse Position Modulation,脉冲位置调制)的形式进行编码,数据的每一位(Bit)脉冲长度为560us,由38KHz的载波脉冲 (carrier burst) 进行调制,推荐的载波占空比为 1/3至 1/4。有载波脉冲的地方,其宽度都为 560us,而载波脉冲的间隔时间是不同的。

         逻辑“1”的载波脉冲+载波脉冲间隔时间为2.25ms;逻辑“0”的载波脉冲+载波脉冲间隔时间为逻辑“1”的一半,即1.125ms

        【2】协议内容:

        每次信息都是按照下面的格式进行传输,因此,单次信息传输的时间是固定不变的:

        引导码 (9ms载波脉冲+4.5ms 空闲信号) + 地址码 + 地址反码 + 控制码 + 控制反码

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值