IR LEARN分析与实现2


前言

还是接着上一篇,主要讲解部分常用波形规则,初来乍道,写的不好请多多包含


一、波形示例

通常,从大的方面讲,波形分无载波波形和有载波波形。

注:本次分析的码不适用于空调遥控器,空调遥控器的波形都会按一定规则不停变化的,类似RC5和PHILIPS那种码。

无载波类型的比如IRT1250码:

在这里插入图片描述
在这里插入图片描述
有载波类型的如NEC,RCA等波形:
在这里插入图片描述
在这里插入图片描述

二、波形分析

其实,从上图中很明显能看出一些规律来。
现在不用看其它的,只需要关注重复码即可,所有码值差不多都是重复码不一样而已。

1.无载波重复码波形分析

第一帧和第二帧是一样的,也就是说重复码都是和数据一样的,所以我称之为一帧重复的。
在这里插入图片描述
在这里插入图片描述

2.有载波重复码波形分析

第一个NEC的码,很明显重复都是第二帧开始一样的,所以我称为第二帧重复。

在这里插入图片描述
在这里插入图片描述

第二个RCA的码,从我抓的波形可以看出,第一帧,第二帧,第三帧都一样,我称这种为一帧重复的。

在这里插入图片描述

在这里插入图片描述


总结

如果我们通过外部三极管放大电路抓出来的波形,其实都可以通过这种方式来进行解码,把波形中取出我们需要的那部分,不需要全部进行存储,最后发送的时候我们只需要按照解码的规则进行发送即可。
关于怎么区别每一帧的数据,我们可以判断停止位的无载波长度,我这边测试好像最短的是5ms的停止位。判断出每帧后就可以进行帧比较来判断出重复类型,还是比较简单的。

注:上面我只是简单的举例出大部分的波形,还有比较特殊的波形我不进行详细讲解了,只例出来进行简单说明,因为特殊波形需要特殊解码。
1)RC5,PHILIPS,LG3004等具有翻转位波形的码,这种需要进行特殊判断,因为他们在每次发送的时候会有一位或两位进行规则变化,不局限于有载波的码值,无载波的码也具有翻转的码。
2)Gemini的码值,这种比较特殊,它重复的码是第二帧开始重复,但是松手的时候会发第一帧的波形进行结尾。

还有几种波形因为我这边没找到码型,就没有抓取,简单的介绍下:
一种是只发一帧的波形,它只会发一帧,并没有停止码。
一种为两帧两帧进行重复的码。
一种为没有停止码的码,但是它第一帧和第二帧有个引导码超过了5ms,可能会误判为停止位。

关于怎么抓取波形,因为每个芯片的硬件功能有一定区别,我只以我用到的进行简单的说下:
一种为系统计时器+gpio中断组成,可以在下降沿中断触发的时候记录下计时器时间,最后得到波形。
一种可能跑的比较慢,那就死循环接收,判断低电平触发时间,记录改变的时间来记录波形。

存储和发送就不作过多讲解,这些都和使用的芯片有关系,但是原理差不多都是一样的。

猜你喜欢

转载自blog.csdn.net/reborn_m/article/details/108906352
今日推荐