红外遥控解码电路的的CPLD设计_第1页
红外遥控解码电路的的CPLD设计_第2页
红外遥控解码电路的的CPLD设计_第3页
红外遥控解码电路的的CPLD设计_第4页
红外遥控解码电路的的CPLD设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、保密类别       编 号      武汉大学珞珈学院毕 业 论 文 红外遥控解码电路的CPLD设计系 别 电子信息科学系 专 业 电子信息工程年 级 2008级学 号 姓 名 张宇 指导教师 曹 华 伟武汉大学珞珈学院2012年 5月20日摘要 该文在CPLD红外遥控原理的基础上,详细介绍了在MAX+PLUSII的可编程逻辑设计环境下,用AHDL语言设计与仿真CPLD红外遥控发射接收硬件电路的方法。文中给出了利用AHDL语言分别实现红外遥控发射模块的信号调制以及接收模块的信号解码或识别的程序

2、设计,并对结果进行了仿真。通过仿真结果,可以看出利用CPLD器件完全可以实现红外遥控电路的发射与接收功能。因此,CPLD器件在红外遥控系统中具有重要的实用价值。关键词:复杂可编程逻辑器件;红外遥控;调制;解码Infrared remote control decoding circuit design of CPLDABSTRACT This paper analyzes the theory of infrared remote control based on CPLD,the method is introduced in detail,which uses AHDL language

3、to design and simulate hardware circuit of sending and receiving for infrared remote control based on CPLD .The program design that utilizes AHDL language to achieve modulating of sending module and decoding or identification of receiving module for infrared remotecontrol is given and the result is

4、simulated.The result of simulation proves that CPLD can achieve function of sending and receiving for infrared remotecontrol circuit totally.So CPLD has an important practical value in infrared remotecontrol system.Keywords: CPLD Infrared remotecontrol Modulating Decoding目 录第一章 绪论 1.1 课题研究的背景和意义1 1.

5、2 本课题研究的热点及发展现状1第二章 总体设计方案 2.1 总体设计思路3 2.2 CPLD 红外遥控原理3 2.3 硬件系统结构4 2.4 EPM3128ATC100-10复杂可编程逻辑器件芯片介绍4第三章 红外遥控器的硬件结构及设计 3.1 红外遥控电路的工作原理6 3.2 红外遥控器模块的原理图8 3.3 主控制板每个模块功能介绍9 3.4 一体化红外接收头11 3.5 红外遥控编码原理与设计12 3.6 红外遥控解码原理与设计16第四章 HDL语言实现与仿真结果 4.1 发射模块程序设计及仿真18 4.2 接收模块程序设计及仿真20结语与展望22参考文献23第一章 绪论1.1 课题研

6、究的背景和意义 随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域的电子系统设计工作中,EDA技术的含量正以惊人的速度上升,它己成为当今电子技术发展的前沿之一。EDA (Electronics Design Automation)即电子设计自动化技术,是指以计算机为基本工作平台,融合应用电子技术、计算机技术、智能化技术的最新成果而研制成的一整套软件工具,主要能辅助进行三方面的设计工作:IC设计,电子电路设计,PCB设计。没有EDA技术的支持,想要完成一些超大规模集成电路的设计制造是不可想象的。大规模可编程逻辑器件CPLD(Complex Programma

7、ble Logic Device)是当今应用最广泛的两类可编程逻辑器件之一,电子设计工程师利用它可以在办公室或实验室设计出所自己所需要的专用芯片和专用产品,从而大大缩短了产品上市时间,降低了开发成本。此外,可编程逻辑器件还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,这样就极大的提高了电子系统设计的灵活性和通用性。 目前,红外遥控的发射与接收一般都是靠单片机来实现的,但它的有外围电路一般比较复杂、编程控制不方便和时序不精确等缺点。而基于CPLD的红外遥控发射接收设计,克服了一般的基于单片机的红外遥控发射接收系统的诸多缺点,具有结构简单、编程控制简易、可靠

8、性强、时序逻辑精确、容易扩充新的功能等特点。1.2 本课题研究的热点及发展现状 PLD生产厂商众多,有Xilinx、Altera、Actel、Lattic、Atmel等,其中以Xilinx和Altera的产品较有代表性,Xilinx的产品称为FPGA,Altera的产品称为CPLD,他们各有特点:1同样藉由EPROM和SRAM的结构。2Altera CPLD适合完成各类算法和组合逻辑,而Xilinx FPGA更适合于完成时序较多的逻辑电路。3对于SRAM结构的产品,Altera公司的PLD的输出电流可达25mA,而Xilinx的FPGA只有16mA。4Altera公司的PLD延时时间可预测,弥

9、补了FPGA的缺点。5Altera公司的FLEX10K10E系列的产品具有更大的集成度。 CPLD器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能。 基于PLD的设计,有一下几种较为成熟的设计方法:1原理图设计2程序设计方3状态机设计4功能模块输入法5IP模块使用6基于平台的设计方法其中,最为广泛普遍应用的为程序设计方法。程序设计是使用硬件描述语言(简称HDL),在EDA软件提供的设计向导或语言助手的支持之下进行设计。HDL设计是目前工程设计最重要的设计方法。程序设计的语言种类较多,近年来广泛使用的有AHDL、VHDL和VerilogHDL语言。本次设计,主要采

10、用AHDL语言设计。AHDL语言是随着集成电路系统化和高集成化发展起来的,是一种用于数字系统的设计和测试方法的描述语言。 CPLD/FPGA的发展已经非常普及,在各个行业及领域都有广泛的应用,包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。2008年6月24日,北京Altrea公司宣布,深圳华禹高科技有限公司在其新的携式手持机中选用了MAXIIZ CPLD。之所以选用Altera MAX IIZ CPLD,是因为它不但可以迅速安全地实现新特性和功能,而且还具有最低的功耗和最小的电路板面积。另外,EDA软件的功能日益强大,原来功能比较单一的软件,现在增

11、加了很多新用途。 第二章 总体设计方案2.1 总体设计思路 主要研究基于CPLD的红外遥控解码电路设计,解码电路采用AHDL语言编程设计来描述和实现,通过综合验证来讨论红外遥控通过CPLD来实现的精确性、简易性与先进性等。主要内容工作内容是对红外遥控解码电路的深入研究,包括采用可编程逻辑器件的开发语言AHDL语言设计红外遥控解码器并实现在CPLD芯片上的硬件测试。论文还在CPLD红外遥控原理的基础上,介绍了用AHDL语言设计与仿真CPLD红外遥控发射接收硬件电路的方法,并进行了仿真。通过仿真结果,分析基于CPLD的红外遥控发射接收设计的优劣性。2.2 CPLD 红外遥控原理 CPLD是新型的复

12、杂可编程逻辑器件,由于它集成度高、工作速度快,加上编程方便、可靠性强、价格较低,因而在工程设计中得到了广泛的应用。红外遥控有发射和接收两个组成部分。红外发射部分采用CPLD器件将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。红外接收部分采用价格便宜,性能可靠的一体化红外接收头SM0038接收和解调发射脉冲调制信号,再送给接收部分CPLD,经解码或识别后去控制相关对象,如图2.1所示。 图2.1 CPLD红外遥控过程发射部分CPLD芯片可以实现以不同的脉宽宽度进行二进制信号的编码、调制,它把编码后的二进制信号调制成频率为38 KHz的间断脉冲串,即相当于用二进制信号

13、的码乘以频率为38 KHz的脉冲信号得到的间断脉冲串,用于红外发射二极管D的发送信号。一体化红外接收头SM0038完成对红外信号的接收以及对所接收调制脉冲信号的解调。它对接收到的信号进行放大、检波、整形,得到TTL电平的编码信号,经处理后可将信号解调复原,它接收信号频率为38KHz,周期约26us。SM0038的解调过程简单的可理解为:在输入有脉冲串时,输出端输出低电平,否则输出高电平。接收部分CPLD芯片完成对二进制信号的解码或识别,它把红外接收头送来的二进制编码波形通过解码还原出发送端发送的数据,或者是通过软件方法来识别不同的编码信号。2.3 硬件系统结构 在硬件电路设计中,CPLD器件选

14、用EPM3128ATC100-10,它是一颗可擦写的可编程逻辑器件,属于Altera公司的MAX3000A系列器件,它有2500个可用门,包括128个宏单元和8个逻辑阵列块,最大用户I/O可达100个。选用的晶振频率为2MHz。CPLD红外遥控发射接收硬件电路如图2.2所示。 图2.2 CPLD红外遥控发射接收硬件电路图在图2.2(a)中,可通过两个开关电路控制K0,K1来选择不同脉宽宽度的编码信号进行调制,当开关断开时,K0、K1端口的输入为1,闭合时输入为0;SE303是红外发射二极管,当端口OUT有编码调制脉冲输出时,SE303通电发射红外线,实际上发射的是频率为38KHz的脉冲串;图2

15、.2(b)中,一体化红外接收头SM0038的圆形面为红外接收面,它与SE303红外发射管的有效收发直射距离可达35米,在接收电路的输出端连有两只发光二极管LED1和LED2,以便于直观的识别开关电路所选择的不同脉宽的调制脉冲。2.4 EPM3128ATC100-10复杂可编程逻辑器件芯片介绍EPM3128ATC100-10是ALTERA公司MAX3000A CPLD系列中的一种。MAX3000A系列的CPLD采用成本优化的0.3um,四层金属生产工艺,提供32到512个宏单元。3.3V的MAX3000A CPLD系列提供商业级和工业级常用的速度等级和封装,是那些对成本敏感,大批量应用的企业的理

16、想选择方案。 MAX3000A系列产品的特性: 表2.1MAX3000a系列产品特性 EPM3128ATC100-10特点:逻辑门:2500逻辑阵列块(LAB):8宏单元(Macrocells):128用户IO口:76非用户IO口:20JTAG 下载口:4合计:100封装:TQFP图2.3 EPM3128ATC100-10 封装 芯片中包含四个专用输入口(GCLK1,OE1,GLCRn,OE2(GCLK2),分别为是全局时钟、全局使能、全局清零、全局时钟/使能信号,这几个信号有专用的连线与CPLD内部的每个宏单元相连,信号到每个宏单元的延时相同且延时最短,如果不用这些引脚可以将其接地。 第三章

17、 红外遥控器的硬件结构及设计3.1 红外遥控电路的工作原理 红外遥控作为一种单向红外通讯技术,因其具有性能稳定、使用方便以及成本低廉等特点,已经在消费电器中得到了普遍的应用。随着对电器产品智能化和使用便利性要求的进一步提高,红外遥控的应用已经从传统家电领域向智能设备等新领域扩展。由于集成电路制造工艺的设计水平的不断提高,将此类分立电路功能集成到嵌入式系统中已成为可能。本文设计脉冲信号调制采用了PPM方式,红外遥控系统采用了AHDL语言编写,来实现该电路的功能。市场上的红外遥控器种类繁多,一般有这些类型uPD6121、TC9012、M50560-001、SA3010等等不管遥控器的种类如何,其编

18、码方式大多类似,本文以比较典型的uPD6121为例,要想用可编程逻辑器件编写其内部电路模块,首先得了解整个电路的工作原理,以下是uPD6121红外遥控器的主要原理。载波波形如图3.1所示。图 3.1 红外载波波形使用455kHZ晶体,经内部分频电路、信号被调制在37.91kHZ的频率上,占空比为:1/3,1/3的占空比有助于提高红外线的发射效率。数据格式:数据格式包括了引导码、用户码、数据码和数据反码,编码总占32位。数据反码是数据码反向后的编码,编码时可用于对数据纠错。(注:第二段用户码也可以在遥控应用电路中被设置成第一段用户码的反码。)图 3.2 uPD6121编码前数据格式使用455kH

19、Z晶体时各代码所占用的时间 图3.3 uPD6121编码后数据格式 位定义:用户码或者数据码中的每一位可以是位0,也可以是位1。区分0和1是利用脉冲的时间间隔来区分,这种编码方式称为脉冲位置调制方式,英文简称PPM。图 3.4 uPD6121的位定义uPD6121G按键输出波形有两种方式:一种是每次按键都输出完整的一帧数据;另一种是按键按下相同的按键后每发送完整的一帧数据后,再发送重复码,直到按键松开。重复码波形如图3.5所示。图 3.5 uPD6121重复码波形单一按键波形如图3.6所示。 图3.6 uPD6121单一按键波形连续按键波形如图3.7所示。 图3.7 uPD6121连续按键波形

20、3.2红外遥控器模块的原理图红外遥控模块的硬件部分原理图较为简单,该电路主要由键盘扫描电路和红外发射部分组成,而编码调制部分由软件部分负责。图3.7 红外遥控发射电路图由于ALTERA公司的3.3V/2.5V的MAX3000A芯片的IO脚兼容5V,所以键盘扫描电路的上拉电阻可以接5V电源。D1为红外发射管,D2为红外发射指示灯。3.3主控制板每个模块功能介绍主控制板电路除了CPLD的最小系统之外,主要有双门限电压比较电路、数码管扫描显示电路、按键脉冲发生电路、红外接收电路以及一些接插件等。CPLD的最小系统主要是电源电路、程序的下载电路以及时钟输入电路(作为纯组合逻辑时可不接)几部分组成。电源

21、电路如图3.8。采用5V电源适配器供电经AMS1117稳压后产生3.3V电压给CPLD供电。CPLD的每个电源引脚均要接滤波电容,典型值0.1uF。图 3.8 电源部分 电容C5C12为芯片的每个电源引脚的旁路滤波电容,起电荷池作用,以平滑电流变化引起的电源电压的波动,当芯片电流突然增大时,旁路滤波电容放电以降低芯片的电压波动。旁路滤波电容通常选用10100nF的瓷片电容,瓷片电容的特点是:电感小,等效串联电阻低,用作旁路滤波电容非常合适。下载电路:ALTERA公司提供了多种编程下载电缆,如ByteBlasterMV、ByteBlaster 并行下载电缆,目前更好的选择是采用USB接口的USB

22、-Blaster下载电缆。USB-Blaster电缆与ALTERA器件的接口一般是10芯的接口,其信号定义见表3.1。表3.1 USB-Blaster电缆与ALTERA器件的接口信号定义:引脚12345678910JTAG模式TCKGNDTDOVCCTMSTDIGND图3.8 10芯接口引脚图下载电路原理图如图3.9所示。图3.9 下载电路时钟电路:CPLD的主时钟采用25MHZ有源晶振,电路图3.10如下。图3.10 时钟电路3.4 一体化红外接收头以前的红外接收头主要由CX20106、uPC1373等集成电路加电容元件、红外接收管、滤光片(防光干扰)、金属屏蔽罩(防电磁干扰)组成,体积较大

23、。这里我们使用HS0038A2接收头。图3.11是它的原理图。图3.11 一体化红外接收头原理图由图3.11可知,HS0038A2系列是红外线遥控系统的小型化接收器。它将接收头、输入给定信号、自动增益控制、控制电路、带通滤波器、解调器、三极管放置在金属屏蔽盒内。仅有电源、接地和输出三个管脚。它将红外接收电路简单化,使用也非常方便。仅将输出接到适当位置即可。电源与接地分别接到电源端与地端。当一体化红外接收头接收到红外信号,由接收头内部的自动增益控制器自动放大红外信号到一个信号范围内,使红外装置可以很容易的实现控制,再通过带通滤波电路,它的中心频率是38KHz,所以中心频率附近的频率将被保存。然后

24、再输出到三极管,由三极管判断输出高低电平。如果三极管基极为高电平,则输出的是低电平;反之,基极为低电平,则输出为高电平。3.5 红外遥控编码原理与设计由于EPM3128A芯片的宏单元数量的有限性,在编写红外编码发射电路时,不得不考虑芯片资源的节约问题,所以本设计编写的红外遥控编码原理与uPD6121稍微有所差别,uPD6121格式中数据码和用户码均为8bit,这样编码或者解码时会占用很多的寄存器,及占用CPLD内部很多的可编程触发器。而本文设计的遥控器只有16个按键,没有那么多种数据要编码发射,且EPM3128A芯片资源也是有限的,所以对用户码和数据码均设定义为4bit。本文设计的红外编码采用

25、PPM编码方式,下面是其编码信息。载波信号:f=38khz;占空比1/3;位定义:a为一个时间单位时间长度是38kHZ的16个时钟周期,即a=1÷38kHZ×16=0.421ms(这样有助于时钟分频,减少触发器使用的数量)图3.12 位定义数据格式:数据格式中包含了引导码、数据码、数据反码、用户码、用户码,除引导码外其余均为4bit,编码总占16bit。其中引导码的高电平6.74ms=16a,低电平3.37ms=8a。图3.13 编码前数据格式每按一次按键发送一帧数据图 3.14 编码后数据格式红外遥控编码的主要电路有,键盘扫描电路、PPM编码电路、时钟分频电路、以及调制电

26、路等组成。时钟分频电路:产生整个电路所需要的所有时钟频率;键盘扫描电路:产生4位键值信号;PPM编码电路:对要发送的数据进行编码后发送;调制电路:38kHZ的频率与PPM编码后的串行输出信号进行相与即可。很明显电路的关键是对要发送的数据进行PPM编码,为了充分利用EPM3128A有限的宏单元,选择一个良好的PPM编码的实现方式显的非常的重要。下面是两种PPM编码方式:有PPM编码的位定义可知,原码 11000 010方案1:首先在PPM编码过程中省去了引导码(方案2同样),只对要发送的数据进行PPM编码论述。由编码格式可知,要发送的数据的有效信号位数长短不一,不能用简单的逻辑变换将原信号转变为

27、要发送的PPM编码信号后再移位输出。数据必须按照顺序装载在移位寄存器的前半部分。将数据码、数据反码、用户码、用户码分别装入16位缓冲寄存器中,用38kHZ、占空比为1/3的频率(频率不固定,其周期最好大于时间a)对这16位缓冲寄存器进行逐位采样,当待译码为1时采样得到的信号为1000,当待译码为0时得到的信号10,并依次装入64位移位寄存器,移位寄存器若有空余位,则全部补零。当装载完成后,移位寄存器进行移位,在移位的过程中,需要对移位的位数进行计数,当移位寄存器寄满64位时停止移位。实际应用时最好在移位寄存器前加一个输出位。该方案的实现方法较为简单,但是会浪费系统很多的资源,仅仅这两个寄存器就

28、需占用80个可编程触发器,当要发送的数据过长,用这样的方法编码简直就是不切实际的。其逻辑框图如图3.15所示。图 3.15 方案1 编码原理框图方案2:当键盘扫描模块得到稳定键值数据时,将数据码、数据反码、用户码(用户码可以设定为4bit常量)分别装载于寄存器中。并且启动PPM编码发送电路。数据码、数据反码。用户码、用户码分时装载于缓冲寄存器(4bit)中,再由缓冲寄存器装载于移位寄存器(5bit、右移)的4个高位中,及移位寄存器的最低位(输出位)不装载。自由计数器是两位模值可控计数器,当移位寄存器的移出位是0时,自由计数器计数值由“00” “01” “00”变化,当移位寄存器输出位是1时,自

29、由计数器计数值由“00” “01” “10” “11” “00”变化。自由计数器每次清零时,产生移位时钟,以对移位寄存器中的数据进行移位。当移位满4位时,产生地址时钟信号,以对地址发生器做加1处理。地址发生器由两位计数器构成,地址时钟信号每来一次脉冲,计数器加1,四位地址分别为“00”“01”“10”“11”。分别对应数据码、数据反码、用户码、用户码。比较器的功能是,将自由计数器的输出值与“01”比较,当自由计数器输出“01”时,比较器输出为1,其余数值时比较器输出0。这样当移位寄存器的输出位是1时,比较器就按顺序输出1000,当移位寄存器输出位是0时,比较器就按顺序输出10。图 3.16方案

30、2 编码原理框图了解数据发送的基本结构后,在程序编写时,关键是在无“时间缝隙”的情况下,分别将数据调制发送出去,所以把握好整个电路中的每一个时钟的上升沿和下降沿显的非常的重要。方案2虽然在结构上貌似麻烦了一点,但是它可以节约芯片的资源,而且当数据量越大时效果越明显。无疑对于像触发器比较匮乏的MAX3000A系列的CPLD来实现类似于NEC的uPD6121的编码规则,是一个良好的实现方案。遥控器除了遥控编码当然还有键盘扫描电路。键盘是4*4键盘,行线接的电阻是上拉电阻,阻值一般为几个K,作用是限流。CPLD循环输出行信号(KX3.0)“1110”“1101”“1011”“0111”,当没有按键按

31、下时,CPLD的列输入信号(KY3.0)为“1111”。当有按键按下时,例如,按下1键,此时KX3.0行信号输出为“0111”,输入端KY3.0检测到的信号将是“0111”。可以在编写程序时,将输出信号KX3.0与输入信号KY3.0同时判断,如刚刚举的例子,可以认为当数据“KX&KY”为“01110111”时,可以译成数据1,同理可得其它按键的编码。键盘扫描程序设计思想:循环输出行信号“1110”“1101”“1011”“0111”。检测列信号输入,将行、列信号相并“K_CODE<=KX_TEMP&KY”。译键值,将行、列相并的信号“K_CODE”译成“0000”“000

32、1”“0010”“0011”“0100”“0101”“0110”“0111”“1000”“1001”“1010”“1011”“1100”“1101”“1110”“1111”,并且锁存。去抖动,在译每一个键值后,为了防止按键抖动,加了一个计数环节,一旦检测到列信号后就译码,紧跟着进入计数环节,此时键抖动不会进入其它环节,这样可以防止键的抖动。3.6红外遥控解码原理与设计红外接收器接收到的红外信号后,输出电平与信号的有无一般是反向的,但是在硬件电路连接时,在其输出脚接了PNP管,信号从三极管的集电极输出至CPLD。所以,CPLD需要解码的数据与其发射时数据的相位是同相的。一般文献在介绍红外解码时,

33、选用VHDL语言的有限状态机对红外信号进行解码,用有限状态机解码的优点有很多,本文不再冗述。本文主要是基于寄存器或者计数器的状态对整个电路的解码流程进行详细的数据流描述,这样可以更好了解电路的硬件结构以节约整个电路资源。下面就以其发射时的波形对红外解码电路进行阐述。图 3.17编码后数据格式解码流程结构图如图3.18所示。图3.18 红外解码流程结构图解码电路:输入信号 Din、时钟信号38khz和输出信号code7.0。流程1:当红外信号的第一个上升沿来临时,锁存器锁存输出至1,开始起始码解码过程,当起始码解码完成后,对输出标志位至1,启动数据码解码过程。(起始码电路后面详细阐述)流程2:当

34、红外信号的第二个上升沿来临时,位地址加1。流程3:当红外信号的第二个下降沿(及数据码的第一个下降沿),延时计数器复位,开始倒计时计数(实际为下降沿后一个很短的低电平信号对延时计数器复位)。流程4:延时计数器为模值为24的倒计时计数器,当计数器为1是,输出为1,即产生clk脉冲。延时计数器的模值计算:当数据码的下降沿来临时开始延时,延时的时间宽度最好在1.5a,a是数据码最小脉冲的宽度。也就是说,当下一位数据为0时,延时后的脉冲信号要对准下一位数据码的高电平的中间部分,这样即使编码器的晶振时钟与解码器的晶振时钟有所误差也不会产生解码错误。至于延时计数器的时钟频率,最好远远高于红外信号的数据传输速

35、率。当然,频率越高,计数器的模值就越大,适当就好。38k频率时钟的周期t=1/16a,所以选择了模值为24的倒计时计数器。流程5:clk时钟根据位地址将Din反向后装载于code7,上升沿触发.流程6:再重复整个数据解码过程7次,解出所有数据码及其反码。后八位在实际测试时未解码,读者可以适当修改电路后再解码。当完成整个解码过程后要产生一个使能信号,一个脉冲沿,还有四位有效数据。解起始码部分如图3.19所示。图3.19 起始码解码框图起始码部分由16a的高电平和8a的低电平组成,用38khz的频率对红外信号Din进行采样。起初,当采样信号为1时累加器1加一处理,如果其中有一次为0,则对累加器清零

36、。直到采满15次连续的1信号后,再对Din信号的低电平采样,同理采满连续7个0信号后,输出起始码有效信号。如果连续的0信号中出现一个或者多个高电平信号,则对累加器1和累加器2全部清零,恢复初始解码状态。比较器的大小并无固定的值,根据采样时钟而定,允许累加器的数值有所偏差,采样频率越高,越是能够采得比较精确的起始码,但频率越高,累加器位数也越多,适可而止即可。 第四章 HDL语言实现与仿真结果 本设计的软件实现平台使用的是Altera公司的MAX +PLUS II开发系统,它是一个完全集成化、易学易用的可编程逻辑设计环境,可以在多种平台上运行,它具有较高的灵活性和高效性。而AHDL是一种模块化的

37、硬件描述语言,它完全集成于MAX+PLUS II系统之中,特别适于描述复杂的组合逻辑、状态机和真值表。AHDL文件作为一种文本文件,它既可以用MAX+PLUS II提供的文本文件编辑器来建立文本(.TDF,AHDL Text Design File),也可以用其它文本编辑器建立文本文件,设计者可以方便地应用MAX +PLUS II对AHDL进行文本编辑、编译、调试等工作,尤其是在消息处理器中对错误自动定位的功能使调试十分方便。4.1 发射模块程序设计及仿真 因SM0038的红外接收频率为38KHz,所以载波信号应采用38KHz的矩形脉冲波,矩形波周期t=2 。载波信号的产生和采用不同脉宽编码调

38、制的AHDL语言实现程序如下:SUBDESIGN TRANSMIT(CLK,KO,K1:INPUT;-定义K0、K1开关脉冲输入信号,且为0有效OUT:OUTPUT;-定义OUT为脉冲调制输出信号)VARIABLEsa7.0,OD,ELA11.0,ELB11.0,RES:DFF;-定义内部寄存器BEGINOD.CLK :CLK;-给内部寄存器定义时钟SH.CLK = CLK;RES.CLK = CLK:ELA.CLK = CLK;ELB.CLK = CLK;IF(SH:= B“00011010”)THEN -产生38kHz的脉冲序列SH.D =0;OD.D = !OD.Q;ELSESH.D :

39、SH+1;OD.D = OD.Q;END IF;IF(!K0)THEN-开关K0控制程序段IF(ELA =H“1FF”)THEN-当KO为O输入时。调制脉宽ELA.D = 0;-为H“1FF”个基本时钟脉冲。记为ARES.D = !RES.Q;ELSEELA.D = ELA+1;RES.D = RES.Q;END IF;ELSERES.D = GND:END IF;IF(!K1)THEN -开关K1控制程序段IF(ELB = H“3FF”)THEN-当K1为O输入时,调制脉宽ELB.D =0;-为H“3FF”个时钟脉冲,记为BRES.D = !RES.Q;ELSEELB.D = ELB+1;R

40、ES.D = RES.Q;END IF;ELSERES.D = GND;END IF;OUT = RES&OD;-编码调制信号输出END ;其仿真图如图4-1所示。 图4.1红外遥控信号发射仿真图 在仿真图4-1中,K0为O有效,则端口OUT输出编码调制信号的脉宽为A。当K1为O有效。则端口OUT输出编码调制信号的脉宽为B。4.2 接收模块程序设计及仿真 我们可以简单的用两只发光二极管LED1和LED2来表示解码信号的识别,当K0为O有效时,端口LAMP1有编码脉冲信号输出,则LED1闪烁发光;当K1为O有效时,LAMP2闪烁发光。具体AHDL程序如下:SUBDESIGN RECEIV

41、E(CLRN,CLK :INPUT;LAMP1.LAMP2 :OUTPUT;)VARIABLECOU11.0,Q11.O,REG ,OUT1,OUT2 ,F,G:DFF;-定义内部寄存器BEGINCOU.CLRN =CLRN;COU.CLK =CLK;-给内部寄存器定义时钟F.CLK = CLK:G.CLK = CLK:REG.D = CLRN;REG.CLK = CLK;IF(REG.D =0)THENCOU= GND;ELSIF(REG.D = = 1)THENCOU.D =COU.Q+1;ELSIF(REG.Q :=0)THENCOU.D =COU;END IF;-脉冲计数Q.CLK =

42、CLK;Q=COU.Q;IF (Q = H“1FF”)AND(!CLK) AND(!CLRN)THENF = VCC;ELSIF (Q = = H“3FF”)AND(1CLK) AND(!CLRN)THENG = VCC;END IF;OUT1.CLK = F:OUT1.D = !OUT1.Q:LAMP1 = OUT1;LAMP2 = GND;OUT2.CLK = G:OUT2.D = !OUT2.Q;-脉宽解码识别LAMP2 = OUT2 ;LAMP1 = GND;-并用输出端口LAMP1,LAMP2标识END;其仿真图如图4-2所示。 图4.2 红外遥控信号接收仿真图图4-2仿真了发射部分

43、端口OUT输出编码调制信号的脉宽选择为A和B时,一体化红外接收头SM0038的端口3将解调后的信号输入到接收部分CPLD的端口CLRN,经解码识别后,输出端口LAMP1和LAMP2将会有相应的不同脉冲信号输出。 结语与展望 基于CPLD的红外遥控发射接收设计不仅具有结构简单、外围电路少、抗干扰能力强、功耗小、可靠性高、速度快、反应时间短等优点,而且由于采用了AHDL语言和EDA工具强大的仿真功能,使大部分的电路设计工作在计算机上完成,这样就大幅度地缩短了相应产品的开发时间,提高了工作效率。又由于CPLD的最大特点是可通过软件编程对器件的结构和工作方式进行重构,因此可随时进行设计调整而满足更多功

44、能的需要。2012年3月,我开始了我的毕业论文,时至今日,论文已经完成。从最初的茫然,再到对思路逐渐地清晰,整个写作过程难以用语言来表达。历经了几个月的奋战,紧张而又充实的毕业设计终于落下了帷幕。回想这段日子的经历和感受,我真是感慨万千,在这次毕业设计的过程中,也拥有了无数难忘的回忆和收获。从最初的课题选定,再到搜集相关的资料,撰写文献综述、开题报告,最后到毕业论文,期间遇到了很多的困难,在这儿我要感谢一下我的指导老师,都是因为在他的帮助下,我才能掌握各部分的重点和方法,并克服了一个个的困难。当我终于完成了所有打字、排版、校对的任务后整个人都很累,但同时看着电脑荧屏上的毕业设计稿件我的心里是甜

45、的,我觉得这一切都值了。这次毕业论文的制作过程是我的一次再学习,再提高的过程。在论文中我充分地运用了大学期间所学到的知识。我不会忘记这难忘的几个月的时间。毕业论文的制作给了我难忘的回忆。在我徜徉书海查找资料的日子里,面对无数书本的罗列,最难忘的是每次找到资料时的激动和兴奋;为了论文我曾赶稿到深夜,但看着亲手打出的一字一句,心里满满的只有喜悦毫无疲惫。这段旅程看似荆棘密布,实则蕴藏着无尽的宝藏。我从资料的收集中掌握了红外遥控器的知识,并且让我对当今红外遥控器的最新发展有所了解。在整个过程中,我学到了新知识,增长了见识。在今后的日子里,我仍然要不断地充实自己,争取在所学领域有所作为。脚踏实地,认真

46、严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。在此要感谢我的导师,是你的细心指导,使我能够顺利的完成毕业论文。老师的严谨治学态度、渊博的知识、无私的奉献精神使我深受启迪。从尊敬的导师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。在此我要向我的导师致以最衷心的感谢和深深的敬意。参考文献1 张毅.红外遥控编码的软件识别接收法J.重庆邮电学院学报,2001,6:8486.2 曾智刚,等.一种红外遥控信号的发送与接收J.国外电子元器件,2003,2:1719.

47、3 叶建国,谢康林.红外遥控接收器的研制J.上海交通大学学报,2001,6:115119.4 宋万杰,罗丰.CPLD技术及其应用M.西安:西安电子科技大学出版社,1999.5 廖裕评,陆瑞强.CPLD数字电路设计M.北京:清华大学出版社,2001.6 丁跃华,陈艳峰. 基于EDA技术的红外遥控系统设计J.电子元器件应用,2006,9:78-80.7 钱敏.基于FPGA/HDL 的红外遥控接收信号解码器设计J.通信技术,2009,42(08):219-224.8 黄如建.红外遥控器解码设计J. 电子元器件应用,2006(07):90-92.9 曾智刚,贾东耀,等.一种红外遥控信号的发送与接收J.国外电子元器件,2003,2:1719.10 廖超平.EDA 技术与VHDL 实用教程M. 北京:高等教育出版社,2007.11 廖裕评,陆瑞强.CPLD数字电路设计M.北京:清华大学出版社,200112 向燕 余炳雄 智能红外遥控开关原理及设计J.现代电子技术,2010,15:163-165.13 凌志斌,邓超平,等.红外遥控技术及其解码方案J.微处理机,2003,6:59-6214 李勇,郭清华.基于单片机的红外遥控解码滤波模块设计J.计算机光盘软件与应用.2011(1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论