红外波形拷贝式解码思路

通过普通的红外发射管,兼作红外接收管使用。通过示波器看到了原始的带红外载波的信号,那么Decoder需要做的是:1、计算载波频率;2、复制一个完整的红外数据包;3、识别红外数据包中的重发模式(重发数据包/发送固定的Repeate波形/……);4、特殊格式的识别与处理,如RC5的触发bit翻转;解决思路:1、MCU开启下降沿触发中断,通过观察格式类型,带载波的单元
摘要由CSDN通过智能技术生成

通过普通的红外发射管,兼作红外接收管使用。通过示波器看到了原始的带红外载波的信号,那么Decoder需要做的是:

1、计算载波频率;

2、复制一个完整的红外数据包;

3、识别红外数据包中的重发模式(重发数据包/发送固定的Repeate波形/……);

4、特殊格式的识别与处理,如RC5的触发bit翻转;


解决思路:

1、MCU开启下降沿触发中断,通过观察格式类型,带载波的单元长度+一个闲置电平(TX端为Low,RX端为High)远小于Timer的计数范围,同时,载波频率通常在38-500Khz之间,因此,载波两次进入终端的最长时间理论值为26uS,因此通过一个阀值判断可以很简单的识别载波单元与闲置单元。

2、有了上面的基础,我们就能够顺利的拷贝载波单元与闲置单元的执行时间,即实现了拷贝红外数据包;示例如下:

CurrTimVal = GetCNTTIM();
IdleTime = CurrTimVal - preTimerVal;
if(IdleTime > CARRERMAXPERIOD)
{
    CopyTimeBuf[p] = preTimerVal - preStartVal;
    CopyTimeBuf[p+1]= IdleTime;
    preStartVal = CurrTimVal;
    p +=2;
    preTimerVal = tmpTimer
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值