红外遥控解码电路的的CPLD设计方案.docx

上传人:b****1 文档编号:14537087 上传时间:2023-06-24 格式:DOCX 页数:33 大小:400.76KB
下载 相关 举报
红外遥控解码电路的的CPLD设计方案.docx_第1页
第1页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第2页
第2页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第3页
第3页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第4页
第4页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第5页
第5页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第6页
第6页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第7页
第7页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第8页
第8页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第9页
第9页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第10页
第10页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第11页
第11页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第12页
第12页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第13页
第13页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第14页
第14页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第15页
第15页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第16页
第16页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第17页
第17页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第18页
第18页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第19页
第19页 / 共33页
红外遥控解码电路的的CPLD设计方案.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

红外遥控解码电路的的CPLD设计方案.docx

《红外遥控解码电路的的CPLD设计方案.docx》由会员分享,可在线阅读,更多相关《红外遥控解码电路的的CPLD设计方案.docx(33页珍藏版)》请在冰点文库上搜索。

红外遥控解码电路的的CPLD设计方案.docx

红外遥控解码电路的的CPLD设计方案

保密类别     编号     

 

武汉大学珞珈学院

毕业论文

红外遥控解码电路的CPLD设计

系别电子信息科学系

专业电子信息工程

年级2008级

学号20080506024

姓名张宇

指导教师曹华伟

武汉大学珞珈学院

2018年5月20日

摘要

该文在CPLD红外遥控原理的基础上,详细介绍了在MAX+PLUSII的可编程逻辑设计环境下,用AHDL语言设计与仿真CPLD红外遥控发射接收硬件电路的方法。

文中给出了利用AHDL语言分别实现红外遥控发射模块的信号调制以及接收模块的信号解码或识别的程序设计,并对结果进行了仿真。

通过仿真结果,可以看出利用CPLD器件完全可以实现红外遥控电路的发射与接收功能。

因此,CPLD器件在红外遥控系统中具有重要的实用价值。

关键词:

复杂可编程逻辑器件。

红外遥控。

调制。

解码

 

InfraredremotecontroldecodingcircuitdesignofCPLD

ABSTRACT

Thispaperanalyzesthetheoryofinfraredremote—controlbasedonCPLD,themethodisintroducedindetail,whichusesAHDLlanguagetodesignandsimulatehardwarecircuitofsendingandreceivingforinfraredremote—controlbasedonCPLD.TheprogramdesignthatutilizesAHDLlanguagetoachievemodulatingofsendingmoduleanddecodingoridentificationofreceivingmoduleforinfraredremote—controlisgivenandtheresultissimulated.TheresultofsimulationprovesthatCPLDcanachievefunctionofsendingandreceivingforinfraredremote—controlcircuittotally.SoCPLDhasanimportantpracticalvalueininfraredremote—controlsystem.

 

Keywords:

CPLDInfraredremote—controlModulatingDecoding

目录

第一章绪论

1.1课题研究的背景和意义1

1.2本课题研究的热点及发展现状1

第二章总体设计方案

2.1总体设计思路3

2.2CPLD红外遥控原理3

2.3硬件系统结构4

2.4EPM3128ATC100-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课题研究的背景和意义

随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域的电子系统设计工作中,EDA技术的含量正以惊人的速度上升,它己成为当今电子技术发展的前沿之一。

EDA(ElectronicsDesignAutomation>即电子设计自动化技术,是指以计算机为基本工作平台,融合应用电子技术、计算机技术、智能化技术的最新成果而研制成的一整套软件工具,主要能辅助进行三方面的设计工作:

IC设计,电子电路设计,PCB设计。

没有EDA技术的支持,想要完成一些超大规模集成电路的设计制造是不可想象的。

大规模可编程逻辑器件CPLD

此外,可编程逻辑器件还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,这样就极大的提高了电子系统设计的灵活性和通用性。

目前,红外遥控的发射与接收一般都是靠单片机来实现的,但它的有外围电路一般比较复杂、编程控制不方便和时序不精确等缺点。

而基于CPLD的红外遥控发射接收设计,克服了一般的基于单片机的红外遥控发射接收系统的诸多缺点,具有结构简单、编程控制简易、可靠性强、时序逻辑精确、容易扩充新的功能等特点。

1.2本课题研究的热点及发展现状

PLD生产厂商众多,有Xilinx、Altera、Actel、Lattic、Atmel等,其中以Xilinx和Altera的产品较有代表性,Xilinx的产品称为FPGA,Altera的产品称为CPLD,他们各有特点:

1.同样藉由EPROM和SRAM的结构。

2.AlteraCPLD适合完成各类算法和组合逻辑,而XilinxFPGA更适合于完成时序较多的逻辑电路。

3.对于SRAM结构的产品,Altera公司的PLD的输出电流可达25mA,而Xilinx的FPGA只有16mA。

4.Altera公司的PLD延时时间可预测,弥补了FPGA的缺点。

5.Altera公司的FLEX10K10E系列的产品具有更大的集成度。

CPLD器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能。

基于PLD的设计,有一下几种较为成熟的设计方法:

1.原理图设计

2.程序设计方

3.状态机设计

4.功能模块输入法

5.IP模块使用

6.基于平台的设计方法

其中,最为广泛普遍应用的为程序设计方法。

程序设计是使用硬件描述语言<简称HDL),在EDA软件提供的设计向导或语言助手的支持之下进行设计。

HDL设计是目前工程设计最重要的设计方法。

程序设计的语言种类较多,近年来广泛使用的有AHDL、VHDL和VerilogHDL语言。

本次设计,主要采用AHDL语言设计。

AHDL语言是随着集成电路系统化和高集成化发展起来的,是一种用于数字系统的设计和测试方法的描述语言。

CPLD/FPGA的发展已经非常普及,在各个行业及领域都有广泛的应用,包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。

2008年6月24日,北京——Altrea公司宣布,深圳华禹高科技有限公司在其新的携式手持机中选用了MAX@IIZCPLD。

之所以选用AlteraMAXIIZCPLD,是因为它不但可以迅速安全地实现新特性和功能,而且还具有最低的功耗和最小的电路板面积。

另外,EDA软件的功能日益强大,原来功能比较单一的软件,现在增加了很多新用途。

 

第二章总体设计方案

2.1总体设计思路

主要研究基于CPLD的红外遥控解码电路设计,解码电路采用AHDL语言编程设计来描述和实现,通过综合验证来讨论红外遥控通过CPLD来实现的精确性、简易性与先进性等。

主要内容工作内容是对红外遥控解码电路的深入研究,包括采用可编程逻辑器件的开发语言AHDL语言设计红外遥控解码器并实现在CPLD芯片上的硬件测试。

论文还在CPLD红外遥控原理的基础上,介绍了用AHDL语言设计与仿真CPLD红外遥控发射接收硬件电路的方法,并进行了仿真。

通过仿真结果,分析基于CPLD的红外遥控发射接收设计的优劣性。

2.2CPLD红外遥控原理

CPLD是新型的复杂可编程逻辑器件,由于它集成度高、工作速度快,加上编程方便、可靠性强、价格较低,因而在工程设计中得到了广泛的应用。

红外遥控有发射和接收两个组成部分。

红外发射部分采用CPLD器件将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。

红外接收部分采用价格便宜,性能可靠的一体化红外接收头SM0038接收和解调发射脉冲调制信号,再送给接收部分CPLD,经解码或识别后去控制相关对象,如图2.1所示。

图2.1CPLD红外遥控过程

发射部分CPLD芯片可以实现以不同的脉宽宽度进行二进制信号的编码、调制,它把编码后的二进制信号调制成频率为38KHz的间断脉冲串,即相当于用二进制信号的码乘以频率为38KHz的脉冲信号得到的间断脉冲串,用于红外发射二极管D的发送信号。

一体化红外接收头SM0038完成对红外信号的接收以及对所接收调制脉冲信号的解调。

它对接收到的信号进行放大、检波、整形,得到TTL电平的编码信号,经处理后可将信号解调复原,它接收信号频率为38KHz,周期约26us。

SM0038的解调过程简单的可理解为:

在输入有脉冲串时,输出端输出低电平,否则输出高电平。

接收部分CPLD芯片完成对二进制信号的解码或识别,它把红外接收头送来的二进制编码波形通过解码还原出发送端发送的数据,或者是通过软件方法来识别不同的编码信号。

2.3硬件系统结构

在硬件电路设计中,CPLD器件选用EPM3128ATC100-10,它是一颗可擦写的可编程逻辑器件,属于Altera公司的MAX3000A系列器件,它有2500个可用门,包括128个宏单元和8个逻辑阵列块,最大用户I/O可达100个。

选用的晶振频率为2MHz。

CPLD红外遥控发射接收硬件电路如图2.2所示。

 

图2.2CPLD红外遥控发射接收硬件电路图

在图2.2(a>中,可通过两个开关电路控制K0,K1来选择不同脉宽宽度的编码信号进行调制,当开关断开时,K0、K1端口的输入为1,闭合时输入为0。

SE303是红外发射二极管,当端口OUT有编码调制脉冲输出时,SE303通电发射红外线,实际上发射的是频率为38KHz的脉冲串。

图2.2(b>中,一体化红外接收头SM0038的圆形面为红外接收面,它与SE303红外发射管的有效收发直射距离可达35M,在接收电路的输出端连有两只发光二极管LED1和LED2,以便于直观的识别开关电路所选择的不同脉宽的调制脉冲。

2.4EPM3128ATC100-10复杂可编程逻辑器件芯片介绍

EPM3128ATC100-10是ALTERA公司MAX3000ACPLD系列中的一种。

MAX3000A系列的CPLD采用成本优化的0.3um,四层金属生产工艺,提供32到512个宏单元。

3.3V的MAX3000ACPLD系列提供商业级和工业级常用的速度等级和封装,是那些对成本敏感,大批量应用的企业的理想选择方案。

MAX3000A系列产品的特性:

表2.1MAX3000a系列产品特性

 

EPM3128ATC100-10特点:

 

逻辑门:

2500

逻辑阵列块

8

宏单元

128

用户IO口:

76

非用户IO口:

20

JTAG下载口:

4

合计:

100

封装:

TQFP

图2.3EPM3128ATC100-10封装

 

芯片中包含四个专用输入口>,分别为是全局时钟、全局使能、全局清零、全局时钟/使能信号,这几个信号有专用的连线与CPLD内部的每个宏单元相连,信号到每个宏单元的延时相同且延时最短,如果不用这些引脚可以将其接地。

第三章红外遥控器的硬件结构及设计

3.1红外遥控电路的工作原理

红外遥控作为一种单向红外通讯技术,因其具有性能稳定、使用方便以及成本低

廉等特点,已经在消费电器中得到了普遍的应用。

随着对电器产品智能化和使用便利

性要求的进一步提高,红外遥控的应用已经从传统家电领域向智能设备等新领域扩展。

由于集成电路制造工艺的设计水平的不断提高,将此类分立电路功能集成到嵌入式系

统中已成为可能。

本文设计脉冲信号调制采用了PPM方式,红外遥控系统采用了AHDL语言编写,来实现该电路的功能。

市场上的红外遥控器种类繁多,一般有这些类型uPD6121、TC9012、M50560-001、SA3010等等

不管遥控器的种类如何,其编码方式大多类似,本文以比较典型的uPD6121为例,要想用可编程逻辑器件编写其内部电路模块,首先得了解整个电路的工作原理,

以下是uPD6121红外遥控器的主要原理。

载波波形如图3.1所示。

图3.1红外载波波形

使用455kHZ晶体,经内部分频电路、信号被调制在37.91kHZ的频率上,占空比为:

1/3,1/3的占空比有助于提高红外线的发射效率。

数据格式:

数据格式包括了引导码、用户码、数据码和数据反码,编码总占32位。

数据反码是数据码反向后的编码,编码时可用于对数据纠错。

<注:

第二段用户码也可以在遥控应用电路中被设置成第一段用户码的反码。

图3.2uPD6121编码前数据格式

使用455kHZ晶体时各代码所占用的时间

 

图3.3uPD6121编码后数据格式

位定义:

用户码或者数据码中的每一位可以是位‘0’,也可以是位‘1’。

区分‘0’和‘1’是利用脉冲的时间间隔来区分,这种编码方式称为脉冲位置调制方式,英文简称PPM。

图3.4uPD6121的位定义

uPD6121G按键输出波形有两种方式:

一种是每次按键都输出完整的一帧数据;另一种是按键按下相同的按键后每发送完整的一帧数据后,再发送重复码,直到按键松开。

重复码波形如图3.5所示。

图3.5uPD6121重复码波形

 

单一按键波形如图3.6所示。

图3.6uPD6121单一按键波形

连续按键波形如图3.7所示。

图3.7uPD6121连续按键波形

3.2红外遥控器模块的原理图

红外遥控模块的硬件部分原理图较为简单,该电路主要由键盘扫描电路和红外发射部分组成,而编码调制部分由软件部分负责。

图3.7红外遥控发射电路图

由于ALTERA公司的3.3V/2.5V的MAX3000A芯片的IO脚兼容5V,所以键盘扫描电路的上拉电阻可以接5V电源。

D1为红外发射管,D2为红外发射指示灯。

3.3主控制板每个模块功能介绍

主控制板电路除了CPLD的最小系统之外,主要有双门限电压比较电路、数码管扫描显示电路、按键脉冲发生电路、红外接收电路以及一些接插件等。

CPLD的最小系统主要是电源电路、程序的下载电路以及时钟输入电路<作为纯组合逻辑时可不接)几部分组成。

电源电路如图3.8。

采用5V电源适配器供电经AMS1117稳压后产生3.3V电压给CPLD供电。

CPLD的每个电源引脚均要接滤波电容,典型值0.1uF。

图3.8电源部分

电容C5~C12为芯片的每个电源引脚的旁路滤波电容,起电荷池作用,以平滑电流变化引起的电源电压的波动,当芯片电流突然增大时,旁路滤波电容放电以降低芯片的电压波动。

旁路滤波电容通常选用10~100nF的瓷片电容,瓷片电容的特点是:

电感小,等效串联电阻低,用作旁路滤波电容非常合适。

下载电路:

ALTERA公司提供了多种编程下载电缆,如ByteBlasterMV、ByteBlasterⅡ并行下载电缆,目前更好的选择是采用USB接口的USB-Blaster下载电缆。

USB-Blaster电缆与ALTERA器件的接口一般是10芯的接口,其信号定义见表3.1。

表3.1USB-Blaster电缆与ALTERA器件的接口信号定义:

引脚

1

2

3

4

5

6

7

8

9

10

JTAG模式

TCK

GND

TDO

VCC

TMS

TDI

GND

图3.810芯接口引脚图

下载电路原理图如图3.9所示。

图3.9下载电路

时钟电路:

CPLD的主时钟采用25MHZ有源晶振,电路图3.10如下。

图3.10时钟电路

3.4一体化红外接收头

以前的红外接收头主要由CX20186、uPC1373等集成电路加电容元件、红外接收管、滤光片<防光干扰)、金属屏蔽罩<防电磁干扰)组成,体积较大。

这里我们使用HS0038A2接收头。

图3.11是它的原理图。

图3.11一体化红外接收头原理图

由图3.11可知,HS0038A2系列是红外线遥控系统的小型化接收器。

它将接收头、输入给定信号、自动增益控制、控制电路、带通滤波器、解调器、三极管放置在金属屏蔽盒内。

仅有电源、接地和输出三个管脚。

它将红外接收电路简单化,使用也非常方便。

仅将输出接到适当位置即可。

电源与接地分别接到电源端与地端。

当一体化红外接收头接收到红外信号,由接收头内部的自动增益控制器自动放大红外信号到一个信号范围内,使红外装置可以很容易的实现控制,再通过带通滤波电路,它的中心频率是38KHz,所以中心频率附近的频率将被保存。

然后再输出到三极管,由三极管判断输出高低电平。

如果三极管基极为高电平,则输出的是低电平;反之,基极为低电平,则输出为高电平。

3.5红外遥控编码原理与设计

由于EPM3128A芯片的宏单元数量的有限性,在编写红外编码发射电路时,不得不考虑芯片资源的节约问题,所以本设计编写的红外遥控编码原理与uPD6121稍微有所差别,uPD6121格式中数据码和用户码均为8bit,这样编码或者解码时会占用很多的寄存器,及占用CPLD内部很多的可编程触发器。

而本文设计的遥控器只有16个按键,没有那么多种数据要编码发射,且EPM3128A芯片资源也是有限的,所以对用户码和数据码均设定义为4bit。

本文设计的红外编码采用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编码电路、时钟分频电路、以及调制电路等组成。

时钟分频电路:

产生整个电路所需要的所有时钟频率;

键盘扫描电路:

产生4位键值信号;

PPM编码电路:

对要发送的数据进行编码后发送;

调制电路:

38kHZ的频率与PPM编码后的串行输出信号进行相与即可。

很明显电路的关键是对要发送的数据进行PPM编码,为了充分利用EPM3128A有限的宏单元,选择一个良好的PPM编码的实现方式显的非常的重要。

下面是两种PPM编码方式:

有PPM编码的位定义可知,

原码1—〉1000

0—〉10

方案1:

首先在PPM编码过程中省去了引导码<方案2同样),只对要发送的数据进行PPM编码论述。

由编码格式可知,要发送的数据的有效信号位数长短不一,不能用简单的逻辑变换将原信号转变为要发送的PPM编码信号后再移位输出。

数据必须按照顺序装载在移位寄存器的前半部分。

将数据码、数据反码、用户码、用户码分别装入16位缓冲寄存器中,用38kHZ、占空比为1/3的频率<频率不固定,其周期最好大于时间a)对这16位缓冲寄存器进行逐位采样,当待译码为1时采样得到的信号为1000,当待译码为0时得到的信号10,并依次装入64位移位寄存器,移位寄存器若有空余位,则全部补零。

当装载完成后,移位寄存器进行移位,在移位的过程中,需要对移位的位数进行计数,当移位寄存器寄满64位时停止移位。

实际应用时最好在移位寄存器前加一个输出位。

该方案的实现方法较为简单,但是会浪费系统很多的资源,仅仅这两个寄存器就需占用80个可编程触发器,当要发送的数据过长,用这样的方法编码简直就是不切实际的。

其逻辑框图如图3.15所示。

图3.15方案1编码原理框图

方案2:

当键盘扫描模块得到稳定键值数据时,将数据码、数据反码、用户码<用户码可以设定为4bit常量)分别装载于寄存器中。

并且启动PPM编码发送电路。

数据码、数据反码。

用户码、用户码分时装载于缓冲寄存器<4bit)中,再由缓冲寄存器装载于移位寄存器<5bit、右移)的4个高位中,及移位寄存器的最低位<输出位)不装载。

自由计数器是两位模值可控计数器,当移位寄存器的移出位是‘0’时,自由计数器计数值由“00”―〉“01”―〉“00”变化,当移位寄存器输出位是‘1’时,自由计数器计数值由“00”―〉“01”―〉“10”―〉“11”―〉“00”变化。

自由计数器每次清零时,产生移位时钟,以对移位寄存器中的数据进行移位。

当移位满4位时,产生地址时钟信号,以对地址发生器做加1处理。

地址发生器由两位计数器构成,地址时钟信号每来一次脉冲,计数器加1,四位地址分别为“00”“01”“10”“11”。

分别对应数据码、数据反码、用户码、用户码。

比较器的功能是,将自由计数器的输出值与“01”比较,当自由计数器输出“01”时,比较器输出为‘1’,其余数值时比较器输出‘0’。

这样当移位寄存器的输出位是‘1’时,比较器就按顺序输出‘1’‘0’‘0’‘0’,当移位寄存器输出位是‘0’时,比较器就按顺序输出‘1’‘0’。

图3.16方案2编码原理框图

了解数据发送的基本结构后,在程序编写时,关键是在无“时间缝隙”的情况下,分别将数据调制发送出去,所以把握好整个电路中的每一个时钟的上升沿和下降沿显的非常的重要。

方案2虽然在结构上貌似麻烦了一点,但是它可以节约芯片的资源,而且当数据量越大时效果越明显。

无疑对于像触发器比较匮乏的MAX3000A系列的CPLD来实现类似于NEC的uPD6121的编码规则,是一个良好的实现方案。

遥控器除了遥控编码当然还有键盘扫描电路。

键盘是4*4键盘,行线接的电阻是上拉电阻,阻值一般为几个K,作用是限流。

CPLD循环输出行信号为“1111”。

当有按键按下时,例如,按下1键,此时KX[3..0]行信号输出为“0111”,输入端KY[3..0]检测到的信号将是“0111”。

可以在编写程序时,将输出信号KX[3..0]与输入信号KY[3..0]同时判断,如刚刚举的例子,可以认为当数据“KX&KY”为“01110111”时,可以译成数据1,同理可得其它按键的编码。

键盘扫描程序设计思想:

循环输出行信号“1110”“1101”“1011”“0111”。

检测列信号输入,将行、列信号相并“K_CODE<=KX_TEMP&KY”。

译键值,将行、列相并的信号“K_CODE”译成“0000”“0001”“0010”“0011”“0100”“0101”“0110”“0111”“1000”“1001”“1010”“1011”“1100”“1101”“1110”“1111”,并且锁存。

去抖动,在译每一个键值后,为了防止按键抖动,加了一个计数环节,一旦检测到列信号后就译码,紧跟着进入计数环节,此时键抖动不会进入其它环节,这样可以防止键的抖动。

3.6红外遥

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2