《 红外线遥控系统 》设计原理、架构图及代码

红外线遥控系统 》设计
设计背景:
红外线(Infrared)是波长介乎微波与可见光之间的电磁波,波长在 760 纳米(nm)至 1 毫米(mm)之间,比红光长的非可见光 。红外线遥控是目前使用最广泛的一种通信和遥控手段 。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控 。现在工业设备中,也已经广泛在使用 。。。。。
设计原理
红外遥控系统主要由红外的发送装置和接收装置组成,发送装置可由按键,编码模块,发射电路等组成,接收装置由红外接收电路,遥控,解码模块等组成,此次设计我们用到的硬件平台式是 Altera 的DE1_SOC,晶振为 50MHZ 。在红外的编码中,我们对 1 和 0的编码是通过 38KHZ 的脉冲来定义的,在红外的的编码中每个脉冲的为256.25us长的38KHZ载波频率(26.3us),对 0,1 的脉冲的定义的时间如下图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图
红外的数据格式为包括引导码,用户码,数据码和数据纠错码,停止位编码总为 32位 。数据反码是数据码反相后的编码,可用于对数据的纠错 。此外第二段的用户码可以在遥控应用电路中设置为第一段用户码的反码 。
数据格式如下图:

《 红外线遥控系统 》设计原理、架构图及代码
文章插图
【《 红外线遥控系统 》设计原理、架构图及代码】 一帧数据在发送时先发送9MS的高电平,然后发送4.5MS的低电平的起始位,然后发送用户码,数据码,数据反码 。然后再发送一位的停止位 。不发送数据时数据线一直为低 。
发送的时序图如下:

《 红外线遥控系统 》设计原理、架构图及代码
文章插图
接受的时,接收到的时序和发送的时序恰恰相反,如发送时先发送 9ms的高,4.5ms 的低,接收为接收 9ms 的低电平,4.5ms 低电平 。接收的控制器我们用的时红外遥控装置,按键发送的数据如下图
所示

《 红外线遥控系统 》设计原理、架构图及代码
文章插图
设计架构图
设计的总框架如下图:

《 红外线遥控系统 》设计原理、架构图及代码
文章插图
在我们的设计中分频模块提供所需要的 38KHZ 的时钟,当按键按下时发送我们的发送模块发送一个给定的数值,我的设计中用户码为8’b0 第二段用户码为 8’hff,然后发送给定的数据码,和数据反码 。上电后我们的设计会发一次我们给定的数据码,然后在接受模块会接受到其发送的数据并在数码管上显示出来,之后我们可以用我们我的遥控键盘来发送数据,接收模块接收显示出来,通过验证我们接收和发送的正确 。
设计代码
顶层代码

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图
发送模块

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图
接收模块

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图
数码管模块

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图
分频模块

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图
测试模块

《 红外线遥控系统 》设计原理、架构图及代码
文章插图

《 红外线遥控系统 》设计原理、架构图及代码
文章插图
仿真图
仿真中我们可以把数码管模块的计数器的值改小一点,便于仿真

《 红外线遥控系统 》设计原理、架构图及代码
文章插图
如图中所示的我们发的是 32’h00ffa25d,那么数据为是8’b1010_0010,那么先发送时就时就按下面的序列开始 0100_0101接收到的为 45,所以工程正确 。
责任编辑:xj
原文标题:FPGA入门课程《 红外线遥控系统 》设计
文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处 。

    推荐阅读