基于FPGA实现红外遥控接收器模块数据传输设计
扫描二维码
随时随地手机看文章
在这篇文章中,小编将为大家带来基于FPGA的红外遥控接收器模块数据传输设计实现。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。
一、红外遥控接收器工作原理
红外遥控接收原理是根据红外线传输信号的特性来实现的。红外线是位于可见光与无线电波之间的一种电磁辐射,具有较高的波长和较低的频率,无法被人眼直接看到。
红外遥控接收器通常由红外传感器和信号处理电路两部分组成当遥控器发送信号时,信号会通过红外LED转换成红外辐射红外辐射进入接收器并被红外传感器接受。红外传感器内部有一个特定材料制成的红外光敏元件,能够感应到红外辐射并将其转换为电信号。
转换后的电信号被传递到信号处理电路中进行处理。信号处理电路通常包括滤波、解码和判断等环节。滤波作用是去除掉噪声信号,确保只有有效的红外信号被处理。解码环节将收到的信号进行解码,将其转换为具体的控制命令。判断环节则根据解码后的信号判断是否为合法的遥控信号。
最后,处理完成的信号会被送往控制电路,执行相应的操作:比如控制电视机的开关、音量调节等。通过这样的原理,红外遥控接收器能够接收到发射器发送的红外信号,并将其转换为电信号,从而实现遥控操作。
二、基于FPGA的红外遥控接收器模块数据传输实现(含代码)
(一)红外数据传输
所有波形都是对于遥控器来说的:
1、引导码
引导码波形如下,遥控器先发送9ms的信号,然后空闲4.5ms后,引导码结束。
这个时候在开发板上结束到的电平变化为,9ms的低电平,4.5ms的高电平。也就是说,遥控器发送信号的时候,接收器上为低电平,遥控器空闲时,接收器上为高电平,这点在处理的时候需要注意。
2、数据码
数据码主要是看,数据0和数据1是如何表示的。通过下图可知,数据1是560us的信号,加1.69ms的空闲。数据0是560us的信号,加560us的空闲。知道了数据是如何表示的后,在接收的时候,只需要按照波形接收32bit的数据即可。
3、结束码
在最后一个数据接收完成了,遥控器会发送560us的信号,然后空闲,表示发送结束。
4
4、重复码
重复码,是和引导码对应的,如果发送的是重复码的话,引导码中的空闲4.5ms,会变成2.25ms,然后直接进入结束吗。根据空闲时间的长短,可以判断是引导码,还是重复码。
了解了其发送的波形变换情况,就可以进行代码的编写了。
(二)Verilog代码实现
1、端口信号确定
端口信号很简洁,当接到一次红外数据的时候,infrared_end,就会拉高一个周期。
2、状态确定
通过上面的分析可知,一共可以分为如下四个状态。I_START其中包括引导码和重复码,根据时间可以确定,下一个状态该跳转到那。
通过上面的分析可知,一共可以分为如下四个状态。I_START其中包括引导码和重复码,根据时间可以确定,下一个状态该跳转到那。
3、状态机跳转
效果图如下:
经由小编的介绍,不知道你对它是否充满了兴趣?如果你想对它有更多的了解,不妨尝试度娘更多信息或者在我们的网站里进行搜索哦。