FPGA实验仪指导书13章加附录.docx

上传人:b****1 文档编号:2469040 上传时间:2023-05-03 格式:DOCX 页数:117 大小:1.55MB
下载 相关 举报
FPGA实验仪指导书13章加附录.docx_第1页
第1页 / 共117页
FPGA实验仪指导书13章加附录.docx_第2页
第2页 / 共117页
FPGA实验仪指导书13章加附录.docx_第3页
第3页 / 共117页
FPGA实验仪指导书13章加附录.docx_第4页
第4页 / 共117页
FPGA实验仪指导书13章加附录.docx_第5页
第5页 / 共117页
FPGA实验仪指导书13章加附录.docx_第6页
第6页 / 共117页
FPGA实验仪指导书13章加附录.docx_第7页
第7页 / 共117页
FPGA实验仪指导书13章加附录.docx_第8页
第8页 / 共117页
FPGA实验仪指导书13章加附录.docx_第9页
第9页 / 共117页
FPGA实验仪指导书13章加附录.docx_第10页
第10页 / 共117页
FPGA实验仪指导书13章加附录.docx_第11页
第11页 / 共117页
FPGA实验仪指导书13章加附录.docx_第12页
第12页 / 共117页
FPGA实验仪指导书13章加附录.docx_第13页
第13页 / 共117页
FPGA实验仪指导书13章加附录.docx_第14页
第14页 / 共117页
FPGA实验仪指导书13章加附录.docx_第15页
第15页 / 共117页
FPGA实验仪指导书13章加附录.docx_第16页
第16页 / 共117页
FPGA实验仪指导书13章加附录.docx_第17页
第17页 / 共117页
FPGA实验仪指导书13章加附录.docx_第18页
第18页 / 共117页
FPGA实验仪指导书13章加附录.docx_第19页
第19页 / 共117页
FPGA实验仪指导书13章加附录.docx_第20页
第20页 / 共117页
亲,该文档总共117页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

FPGA实验仪指导书13章加附录.docx

《FPGA实验仪指导书13章加附录.docx》由会员分享,可在线阅读,更多相关《FPGA实验仪指导书13章加附录.docx(117页珍藏版)》请在冰点文库上搜索。

FPGA实验仪指导书13章加附录.docx

FPGA实验仪指导书13章加附录

第一章概述

YD-FPGA实验仪是由湖南远达电子有限公司设计的YD系列FPGA实验仪之一,是一种功能强大的现场可编程逻辑器件应用技术学习、开发工具,为电子爱好者进入可编程逻辑器件应用设计领域铺造了一条捷径。

YD-FPGA实验仪为用户提供了一个对可编程逻辑器件进行学习的好平台,实验仪除了用Xilinx公司的SpartanII系列的XC2S100E的FPGA芯片制作成子板作为实验仪的控制核心,还设计了母板向用户提供了外围器件和设备接口,可使用户快速掌握FPGA的原理及其实用接口技术。

一、YD-FPGA实验仪

1.1功能特点

(1)YD-FPGA实验仪编程简单,程序仿真和下载也十分方便,特别是对设计者来说缩短了设计周期,提高了设计的灵活性和产品的精度。

(2)板上集成众多常用接口电路:

2KSRAM芯片24C02、8个LED显示、8个按键,4个8段数码管与8键拨盘开关组成的键盘/显示电路;RS232串行通讯接口电路(MAX232);串行I2C总线接口电路(24C02);8位串行A/D转换电路(TLC549);8位串行D/A转换器(DAC0832);字符液晶显示屏接口电路;无源蜂鸣器电路(BUZZER);这些实用接口电路能够提供用户领先的应用设计方法;

(3)提供实验电路的各部分原理图,提供各个实验课题的程序源代码,浅显易懂,使用户快速掌握FPGA器件的设计方法;

(4)利用YD-FPGA实验仪引出的信号,可以连接自己的实际应用系统。

(5)YD-FPGA实验仪分子板和母板,子板可以解下来直接作为产品的设计核心。

(6)本实验仪配置了E2PROM芯片XC18V02,实验仪可以掉电脱机运行。

1.2实验课题

YD-FPGA实验仪集成有易用的软件资源和丰富的硬件资源,可向使用者提供多种实验课题:

(1)设有2位独立按键、8个LED,实现I/O接口实验;

(2)设有4个8段数码管,8个拨盘按键,实现键盘控制实验;

(3)串口扩展RS232通讯电路,实现PC与FPGA的通讯实验;

(4)扩展I2C接口的2KRAM芯片24C02,实现I2C接口实验和外部存储器实验;

(5)扩展8位串行A/D转换电路TLC549,实现A/D转换实验;

(6)扩展8位串行D/A转换电路DAC0832,实现D/A转换实验;

(7)扩展字符液晶显示屏接口,实现液晶显示实验;

(8)扩展1个无源蜂鸣器BUZZER,实现音乐输出、PWM输出实验;

(9)FPGA实验仪资源丰富,利用它可以模拟实际运行目标,实现各系统的功能设计。

例如:

交通灯的设计、电子琴的设计、自动售货机的设计、微型计算器的设计等等。

第二章硬件原理分析

理论联系实际,这是当今教学中最流行的口号了。

我们所设计的YD-FPGA实验仪正是秉着这样的宗旨来设计的。

人们把书本上所学的理论知识在我们所开发的YD-FPGA实验仪上很好的运用,可以随心所欲设计自己喜欢的东西。

我们在进行软件设计之前必须对实验仪的外围和基本的硬件原理做一些较深入的了解。

下面为大家介绍YD-FPGA实验仪功能模块的工作原理。

(完整的电路原理图在光盘的附图中)

一.电路外观

YD-FPGA实验仪的主要电路布局如图2.1所示

图2.1电路布局

电路主要器件说明如表2.1所示

表2.1主要器件列表

标号

型号

功能说明

J2

9V电源插口

+9V电源的输入端口

J4

5V电源输出端口

+5V电源的输出端口

J7

背光接口

使具有背光功能的LCD显示器显示更加清晰明亮

J9

选择跳转端口

跳帽选择电压端口,即通过跳帽来选择我们想要的电压

J10

九针串口

作为串行通讯的接口

J12

扩展端口

为用户预留的输入/输出I/O口

J16

12V电源输入

12V电源的输入端口 

J17

D/A转换模拟电压输出端口

输出0~5V或-12V~+12V范围的模拟电压

J18

液晶显示器接口

可接16×2、8×2的字符型液晶显示器

S12

拨盘开关

八位一体的拨盘开关

S2

开关

控制+9V电源是否输入

D2

电源指示灯

LED发光二极管实现电源指示

D1

桥堆

对+9V输入电源进行整流

U2

LM7805

5伏端集成稳压芯片

R75

可调电位器

可调整电压从0~5V变化,作为A/D转换器的模拟电压输入

U4

MAX232

RS-232的PC~TTL电平转换芯片

U20

蜂鸣器

产生音频信号

U9

FPGA芯片小板插槽

连接FPGA芯片的插槽

U16

DAC0832

8位串行D/A转换器

U1

LM324

集成运放芯片

U19

PCF8563

时钟芯片

U18

24C02

2K容量的E2PROM存储器

U17

TLC549

8位串行A/D转换器

JP2

数码管

四位一体LED数码管

U14,U10

74HC573

两个锁存器,为提高驱动电流而设计的

D3~D10

发光二极管

8个LED发光二极管

S3,S4,S5~S11

按键

数据设置输入

二.功能电路分析

2.1稳压源电路(+5V)

YD-FPGA实验仪的+5V稳压电路如图2.2所示。

该电路主要由桥堆D1和5V三端集成稳压芯片U2(LM7805)组成。

+9V电压由J2这个接口输入,经过桥堆进行整流滤波,得到的直流输入电压Ui接在输入端和公共端之间,经U2之后可以得到稳定的输出电压Uo。

为了改善纹波电压,常在输入端接入电容C4、C5。

同时,在输出端接上电容C47、C6,以改善负载的瞬态响应。

这些电容直接接在稳压管的引脚处。

图中的开关S2控制+9V电源的输入,发光二极管D2是电源指示灯,打开电源时D2亮,J4为+5V电压的输出端口。

图2.2稳压电路(+5V)

2.2串口电平转换电路(MAX232)

图2.3是YD-FPGA实验仪进行串口通信的电路图,RS232串口通信的硬件电路其实很简单,就是一个MAX232芯片和一个串行输出接口。

我们用到的只有两根信号线,一根是TXD(发送端)另一根是RXD(接收端),但在没有用的两个输入端口(I1IN和R1IN)均接地处理,其他电路连接是为满足该芯片的工作条件而设置的。

至于RS232串行通信的原理以及编程实现在以后章节中再做详细介绍。

图2.3串口电平转换电路(MAX232)

2.3拨盘开关

如图2.4所示,电路很简单就是一个6位一体的拨盘开关,和一个上拉排阻,且上拉排阻直接与FPGA芯片相连。

图2.4拨盘开关电路图

2.4发光二极管LED显示电路

发光二极管是一种将电能转换为光能的半导体器件,是一种特殊的二极管。

当发光二极管两端加上一定的正向电压,使之流过一定的工作电流时,会发出可见光。

根据使用的材料不同,发光二极管有红、黄、绿等几种。

而发光的亮度与正向工作电流成正比,即工作电流越大亮度越强。

一般来讲正常工作电流为5~20mA,压降为1.5~2.0V之间。

在使用发光二极管时,限流电阻的选择尤为重要,阻值过大或过小二极管都将不能正常发光,甚至烧毁器件。

限流电阻R应满足如下条件:

R二极管=(Vcc-VD)/ID

其中:

Vcc—电源电压;

VD一发光二极管工作时的管压降电压值;

ID—发光二极管工作电流。

这样在5V电源电压下,限流电阻R,的取值范围是:

(5.0V—2.0V)/20mA

即,R二极管应取值为150Ω~700Ω之间,一般来说建议使用470Ω。

在YD-FPGA实验仪中发光二极管电路电路是由FPGA发出的信号通过74HC573锁存器然后驱动发光二极管LED工作。

当74HC573输出端(如:

1Q、2Q、3Q…)为低电平时使得发光二极管两端正向电压大于发光二极管的导通电压,发光二极管发光。

图2.5发光二极管LED显示电路

2.5按键电路

YD-FPGA实验仪为用户提供了8个独立按键,用户可以通过按键向FPGA芯片输入二进制数据。

电路图中的R26是上拉排阻。

图2.6按键电路

2.6LCD液晶显示接口

YD-FPGA实验仪上有一标准的LCD液晶显示器接口J6,该接口共有16个引脚,其中P15,P16为背光源输入,其引脚及功能如表2.2所示,接口原理图如图2.7所示。

由图可以看出,该接口的7—14引脚经过上拉电阻直接与FPGA的I/O口相连,由FPGA直接控制读写信号及其他控制信号。

图2.7液晶显示接口电路

表2.2液晶功能引脚表

引脚

符号

输入输出

功能说明

1

Vss

电源地:

0V

2

Vdd

电源:

5V

3

V1~V5

LCD驱动电压:

0V-5V

4

RS

输入

寄存器选择:

“o”指令寄存器;“1”数据寄存器

5

R/W

输入

“1”读操作:

“0”写操作

6

E

输入

使能信号:

R/W=“0”,E下降沿有效:

R/W=“0”,E高电子有效

7~10

D0-D3

输入/输出

数据总线的低4位,与4位MCU连接时不用

11~14

D4-D7

输入/输出

数据总线的高4位

15

LIGHT+

输入

背光源的输入端口

16

LIGHT-

输入

背光源的输入端口

2.7数码管显示电路

YD-FPGA实验仪为用户准备了一个四位一体的共阳LED数码管JP2显示器,其电路原理图如图2.8所示。

图中KBIT1~KBIT4是数码管的位选控制信号(简称位选信号)。

当控制数码管显示时,KBIT1~KBIT4控制四个数码管的位码,KBIT1~KBIT4为低电平时,三极管Q1~Q4导通,数码管点亮,显示段码的数据。

从FPGA芯片输出的显示数据经过锁存器74HC573之后再驱动数码管显示。

锁存器在此的作用是提高驱动功率。

需注意的是:

发光二极管和数码管显示共用数据输出总线,为了区分各设计一片选信号,共用数据输出总线简化了电路板线路的设计。

图2.8数码管显示电路

2.8D/A转换电路

D/A转换电路如图2.9所示,数字信号是从FPGA芯片输入的,经8位串行D/A转换器U16(DAC0832)转换后,由于此时信号比较弱,因此在D/A转换器后接入一个集成放大器U1(LM324),对U16输出的模拟信号进行放大处理。

电路中J16是+12V/-12V电压输入端口,J17是模拟电压输出端口,J49是选择模拟电压输出范围的一个跳帽,可以选择J17的输出模拟电压的范围是0V~+5V,也可以选择输出模拟电压的范围是-12V~+12V。

例如:

当一个八位的二进制数输入芯片U16,经过芯片的转换将输出同样大小的模拟电压,在模拟电压之后接一个放大器起到隔离缓冲的作用;接下来当J9选择接通1和2时,输出将在0V~+5V之间变化,当J9选择接通3和2时,输出将在-12V~+12V之间变化(该处放大器的放大倍数参考模拟电子技术)。

图2.9D/A转换电路

2.9A/D转换电路

YD-FPGA实验仪为用户提供了一个8位串行的A/D转换,TLC549均有片内系统时钟,该时钟与I/OCLOCK是独立工作的,无须特殊的速度或相位匹配。

如图2.10所示,TLC549共有8个引脚,其中4、8脚为电源输入和接地,2脚为采样电压输入,1、3脚为参考电压输入,5脚为片选信号,在实验仪中直接接到地,保持一直处于工作状态。

7脚为时钟信号的输入,6脚为转换后的串行数据输出。

图2.10A/D转换电路

2.10E2PROM

E2PROM存储器电路图如图2.11所示,它使用串行I2C总线,用户只需要使用串行数据线SDA和串行时钟线SCL即可完成对串行E2PROM芯片CAT24WC02的读写操作。

通过学习、实验可以体会I2C总线的强大功能和独特优点,了解并掌握12C通信协议。

关于I2C总线协议将在以后章节会介绍。

图2.11E2PROM存储器电路图

2.11时钟芯片电路

YD-FPGA实验仪采用了外挂时钟计数器的设计模式。

PCF8563是Philips公司推出的一款带I2C总线具有极低功耗的多功能时钟/日历芯片,具有四种报警功能和定时功能;内部时钟电路、内部振荡电路、内部低电压检测以两线制I2C总线通信方式,不但使用外围电路简洁,而且增加了芯片的可靠性。

PCF8563的SCL为时钟输入端,数据随时钟信号同步输入器件或从器件输出;SDA为双向引脚,用于串行数据的输入输出;INT是中断信号输出端,可通过设置报警寄存器按指定时间在该脚产生报警信号,低电平有效;SDA、SCL、INT均为漏极开路,必须上拉电阻(此处上拉电阻的原理图接在FPGA芯片上);OSC1、OSC2分别为反相放大器的输入、输出端;可在OSC1、OSC2两端接入32.768kHz的石英晶振Y1,配置成片内振荡器。

本系统PCF8563与FPGA芯片接口采用图2.12所示接口电路。

图2.12中,在OSC1、OSC2端接入32.768kHz的石英晶振,将时钟源配置为片内振荡器。

VCC直接接在电源VCC上,但VCC与地之间接入了电容供电维持时钟芯片,锂电池(3.6V)同时开始工作,给时钟芯片供电,使时钟芯片工作不受影响。

PCF8563与FPGA芯片接口采用4根信号线,FPGA芯片通过这四根信号线读取PCF8563的基准时间。

图2.12时钟芯片电路

2.12蜂鸣器

由于蜂鸣器具有控制简单、声响悦耳动听,在工程项目中常用作人机接口的重要输出设备,用以发出语音提示信息。

YD-FPGA实验仪采用交流蜂鸣器,输入的声音信号的频率和音长是用户可控的,因此输出的声响将更逼真、更悦耳。

由于一般I/O口的驱动能力有限,在此采用了三极管Q2来驱动蜂鸣器,其硬件原理图如图2.13所示。

Buzzer与FPGA的I/O口相连,此处用的蜂鸣器是交流蜂鸣器,所以当BUZZER输出一直为高电平或低电平时蜂鸣器不响,而当BUZZER输出一定频率变化的波形时蜂鸣器发出响声。

我们只要控制BUZZER输出高低电平的时间和变化频率,就可以让蜂鸣器发出悦耳的音乐。

2.13蜂鸣器

第三章软件的使用

YD-FPGA实验仪的开发环境为Xinlix公司的ISE5.2,使用的调试仿真工具是与之相配套的ModelsimXE.用户可以自己编程并在YD-FPGA实验仪上实现各功能。

YD-FPGA实验仪不但帮助广大用户学会了FPGA芯片的开发的过程、步骤和方法,而且还把教学中的理论和实践有机的结合起来了。

本章主要介绍如何安装ISE5.2和ModelsimXE仿真软件,Modelsim仿真工具的使用和FPGA设计全过程的基本流程。

一.软件的安装

3.1ISE5.2的安装

安装ISE5.2时只需根据所选的版本是在PC或工作站上,然后根据软件的提示安装即

可,这里不再赘述;对于ModelsimXE的安装可根据ModelsimXE光盘中的提示(readme)进行安装,但需要注意安装后ModelsimXE的链接。

Modelsim的链接:

启动ISE,选中Edit\preference…左击打开,弹出如图3.1.1所示的Preference窗口,再在ParterTools中设定ModelsimXE中的Win32xoem文件夹中的Modelsim文件(即指定modelsim的路径)。

图3.1.1modelsim的路径设定

二.Modelsim仿真工具使用

仿真有两种不同级别的仿真,分别是功能仿真(FunctionSimulation)和时序仿真(TimingSimulation)。

1.功能仿真

功能仿真是直接对VHDL、原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求的过程,仿真过程不涉及任何具体器件的硬件特性。

不经历ImplementDesign阶段,在设计项目编辑编译后即可进入门级仿真器进行模拟测试。

直接进行功能仿真的好处是设计耗时短,对硬件库、综合器等没有任何要求。

对于规模比较大的设计项目,ImplementDesign在计算机上的耗时是十分可观的,如果每一次修改后的模拟都必须进行时序仿真,显然会极大地降低开发效率。

因此,通常的做法是,首先进行功能仿真,待确认设计文件所表达的功能满足设计者原有意图时,即逻辑功能满足要求后,再进行ImplementDesign和时序仿真,以便把握设计项目在硬件条件下的运行情况。

2.时序仿真

时序仿真就是接近真实器件运行特性的仿真,仿真文件中己包含了器件硬件特性参数,因而,仿真精度高。

但时序仿真的仿真文件必须来自针对具体器件的综合器与适配器。

综合后所得的EDIF等网表文件通常作为FPGA适配器的输入文件,产生的仿真网表文件中包含了精确的硬件延迟信息。

以上是功能仿真和时序仿真区别与联系。

ModelSim主要有SE、EE、XE等版本类型。

ModelSimXE是针对Xilinx公司系列器件的专用仿真工具,因此在对Xilinx公司系列器件进行仿真时,不需要预先编辑Xilinx本地库。

甚至无需激活ModelSimXE仿真窗口。

下面介绍如何使用ModelSimXE软件对我们所编写的VHDL程序进行仿真。

这里主要介绍它的使用步骤和某些参数的设定及中间信号的仿真。

1.功能仿真(FunctionSimulation)

下面这个程序是对一个七段数码显示译码器的VHDL语言描述。

我们以这个简单的例子来对功能仿真步骤进行简述。

【例1】

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;

useIEEE.STD_LOGIC_UNSIGNED.ALL;

entitydecoder_yesis

Port(in1:

instd_logic_vector(3downto0);

out1:

outstd_logic_vector(6downto0));

enddecoder_yes;

architectureBehavioralofdecoder_yesis

begin

within1select

out1<="1000000"when"0000";--0

"1111001"when"0001";--1

"0100100"when"0010";--2

"0110000"when"0011";--3

"0011001"when"0100";--4

"0010010"when"0101";--5

"0000010"when"0110";--6

"1111000"when"0111";--7

"0000000"when"1000;,--8

"0010000"when"1001";--9

"1111111"whenothers;--Nosignal;

endBehavioral;

第一步:

对所要仿真的模块进行综合,综合通过之后右击该模块,然后选择“NewSource”,如图2.2.1所示.

图2.2.1建立NewSource

第二步:

右击NewSource,弹出对话框New,然后选择对话框中的TestBenchWaveform选项,并在文件名File中任意填写一个文件名,但不能和模块的名称相同,如图2.2.2所示。

这里我们写的是decodert,然后点击“下一步”。

图2.2.2New窗口

第三步:

如图2.2.3所示,当弹出选择对话框Select时,选中你所仿真的模块,然后点击下一步。

在这里由于只有一个模块,而且在一开始进入NewSource时已经选中了所需仿真的模块,因此直接点击“下一步”即可。

Select对话框的含意是联合所要仿真的源程序。

图2.2.3Select窗口

第四步:

第三步之后还会出现两个对话框,直接点击“完成”和“ok”就可以进入如图2.2.4所示的仿真参数设置对话框。

设置好参数之后,存储并关闭进入工程主页。

图2.2.4功能仿真窗口

第五步:

如图2.2.5所示,选中仿真模块“decodert.tbw”,对话框如下图所示。

在Processesforcurrentsource中出现ModelsimSimulator,双击第一个子菜单(SimulateBehavioralVHDLModel)或双击第二个子菜单(GenerateExpectedSimulationResults)均可看到仿真结果。

这里以双击第一个子菜单(SimulateBehavioralVHDLModel)出现的结果为例进行说明。

因为采用SimulateBehavioralVHDLModel进行仿真的话,可以对仿真参数进行改变,在分析仿真波形的时候还可以调出中间变量进行分析。

图2.2.5选择仿真形式

第六步:

双击第一个子菜单(SimulateBehavioralVHDLModel)之后将弹出九个窗口,其中有一个是波形仿真窗口:

wave–default,如图2.2.6所示。

该窗口主要是验证功能仿真的结果是否正确。

从图中可以看到七段数码管显示器译码器的功能仿真结果是正确的。

图2.2.6Wave窗口

到此为止,功能仿真的基本步骤内容已经介绍完毕。

对于时序仿真以及仿真中的一些信号的调出和设置等,用户可以查阅相关资料。

三.FPGA设计全过程

本书介绍的FPGA是spartan2E系列的xc2s100e-6pq208的现场可编程器件,FPGA设计的第一步是设计输入(DesignEntry),设计输入完成对一个功能的描述。

Xilinx公司的ISE5.x为FPGA设计者提供了原理图(schematic)输入、VHDL/Verilog语言描述、状态图输入、IP核复用等输入方法VHDL/Verilog语言输入是FPGA设计输入的主要手段,本书主要介绍以VHDL语言输入形式进行现场可编程器件的编程。

VHDL语言设计编程的主要结构:

VHDL语言库的调用,实体(ENTITY)的设计,结构体(ARCHITECTURE)的设计。

进行系统设计时,我们需要设计VHDL顶层文件,把各功能模块联接起来。

以一个简单的D触发器为例来对VHDL语言输入和下载过程进行学习。

第一步:

设计输入

1.新建一个VHDL语言输入的工程

在ISE5.2启动后,选择FileNewProject,跳出NewProject对话框,在对话框中输入工程名vhdl,在DesignFlow(设计流程)栏的下拉菜单中选择XSTVHDL(XilinxSynthesizeToolVHDL),如图3.3.1所示。

如果选择XSTVerilog,设计输入将是Verilog语言。

这里以VHDL输入为例进行介绍,Verilog输入与VHDL输入十分相似,读者自行尝试。

图3.3.1新建VHDL设计工程

2.新建工程设计文件

单击OK选择ProjectNewsource,或者在SourcesinProject窗口中单击鼠标右键,选择Newsource,跳出“新建工程设计文件”对话框。

如图3.3.2所示选择VHDLModule,然后在File中键入D_FF,设计一个D触发器。

图3.3.2“新建工程设计文件”对话框

3.定义端口

单击下一步。

如图3.3.3所示。

在图3.3.3中可以看到EntityName(实体名)缺省为D_FF,Architecture(结构体)缺省为Behavioral,这些

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

当前位置:首页 > PPT模板 > 可爱清新

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

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