文档库 最新最全的文档下载
当前位置:文档库 › CPLD考试整理

CPLD考试整理

CPLD考试整理
CPLD考试整理

第一章 电子系统设计概论 1、数字系统与数字器件;

数字器件:即数字IC 芯片。是构成数字系统的基本部件。数字电子系统:是可以完成某种(或多种)特定的、功能不单一的一种电子系统。一般应包含某种控制器及受控单元。

2、SOC 和 SOPC 近来人们已经能够在单一半导体芯片上设计、制造百万个以上的晶体管,这种高集成度的IC 芯片已经开始具备以往一个数字系统的全部特性与功能,这就产生了现代所谓的“单片 系统”(SOC ,即System On a Chip )和SOPC 。

3、构建数字系统的方法以及他们的特点; [1]标准化的中、小规模数字集成电路

特点:简单易用、价格低廉,应用广泛,集成度较低,功能受限。致使系统构成复杂、功耗高、可靠性偏低。 [2].基于LSI (大规模集成电路)或VLSI 的微处理器

特点:CPU 、MCU 、DSP 依靠执行指令(软件)可以方便的实现几乎任意的数字逻辑功能,其应用灵活性极强。

[3].基于LSI 或VLSI 的专用集成电路ASIC (Application Specific Integrated Circuits )

特点:需要专门设计、定制、大规模集成、性能强、功耗低、工作可靠性高、保密性高、大批量应用时成本也较低;

使用。

较高的开发费用、设计与制造周期也较长。只适合在大批量工业应用的场合中使用。 [4].基于LSI/VLSI 的可编程逻辑器件

PLD

4、PLD 数字系统的特点;

由用户自定义器件的功能、大规模集成。

设计周期短、设计风险低、应用灵活、系统功能强大、功耗低。

用PLD 来进行数字系统的开发与设计已成为现代电子设计的一种方向与潮流。

5、可编程逻辑器件PLD (什么是PLD 、为什么会发展PLD 、PLD 器件的优点、PLD 的发展趋势);

[1].可编程器件(PLD)[2]. 现有方法背景:理论和器件的局限性;生产技术背景:VLSI 开发技术背景:EDA ,自上而下;市场需求背景:客户需求

[3].1)PLD 集成度高 2)降低功耗,提高可靠性 3)完善先进的EDA 开发工具 4)提供语言、图形、波形等设计方法,灵活、方便 5)通过仿真工具来验证设计的正确性,提高设计的成功率6)可以反复地擦除、编程配置,方便进行设计修改和升级7)灵活地定义管脚功能,简化应用8)减轻设计工作量,缩短系统开发时间9)保密性好。

[4].向高集成度、高速度方向进一步发展; 向SOPC 方向发展; 向低电压和低功耗方向发展;内嵌多种功能模块;向数、模混合可编程方向发展; IP 内核得到不断发展 6、PLD 与MCU 的区别;

MCU 是通过软件(指令)来实现预期的功能;

PLD 是通过内部硬件布线、以硬件来实现预期的功能。所以PLD 完成逻辑功能的工作速度比MCU 要快得多。 7、EDA 的含义、EDA 设计方法、EDA 应用 [1].电子设计自动化EDA (Electronic Design Automation )是以电子计算机为设计工具和设计平台、以电子线路硬件描述语言HDL 为主要系统描述手段,综合现代CAD (计算机辅助设计)、CAT (计算机辅助测试)、CAE (计算机辅助工程)技术,自动、高速的完成系统电路逻辑编译、逻辑化简、逻辑综 合、逻辑仿真、逻辑优化直至逻辑芯片版图实现,是一种自动化电子系统与IC 设计的技术和设计工具。 [2] 以电子线路硬件设计软件化的方法

[3] 1)电子线路设计 2)PCB 设计 3)IC 设计

8、用EDA 开发PLD 时的设计输入、设计处理、设计验证包含哪些内容。 原理图输入:HDL 语言输入;波形输入;状态图输入

设计处理:优化和综合;映射;布局与布线;生成编程文件 .设计验证:功能仿真; 时序仿真;在线验证 第二章 可编程逻辑器件基础

1、阵列型简单PLD 器件的种类及结构组成; 按集成度分:低密度(SPLD )高密度(CPLD ) 按结构特点分:阵列型;单元型

按编程次数分:多次可编程;一次可编程

按编程和配置特性分:非易失性器件;易失性器件

大类型:

PAL 与GAL 不同:用可编程的OLMC 代替固定连接的或阵列

OLMC 结构:1、一个或门2、一个异或门3、一个D 触发器4、四个可控多路选择器(2个2选1选择器2个4选1选择器)5、一个具有三态功能的非门。 2、现代PLD 使用的内部编程元件种类;

(1)一次性编程的熔丝(Fuse)或反熔丝(Antifuse)开关;(2)基于浮栅技术的存储器。包括紫外线擦除电编程和电擦除电编程的EPROM 、E2PROM 与Flash Memory(闪速存储器,简称为闪存);

(3)允许无限次编程使用的静态存储器SRAM 。 3、PAL 器件的结构和输出类型;

[1].是一种与阵列可编程、或阵列固定的器件。

[2].1)专用输出基本门阵列结构 2)可控极性输出结构3)可编程输入/输出结构4)寄存器输出结构

4、简述GAL 器件的基本结构、特点和工作原理。GAL16V8的组成,GAL 的输出逻辑宏单元OLMC 的几种组态和特点。 [1]结构:一个可编程与阵列和一个固定的或门阵列 [2]特点:有一个输出逻辑宏单元

[3]原理:通过编程写入用户可将逻辑宏单元设置为不同的工作状态,从而具备了PAL的四种输出模式及输出类型。

[4] GAL16V8的组成:1个可编程的与阵列;8个输入缓冲器;8个输出/反馈缓冲器;8个三态输出缓冲器;8个输出逻辑宏单元OLMC;1个时钟输入CLK 缓冲器;1个输出使能缓冲器 [5]. a)专用输入模式

在专用输入模式下,引脚I/O只能作为输入使用,连接到I/O上的输入信号作用于相邻的OLMC,来自邻级输出的信号接到与逻辑阵列的输入上。

b)专用组合输出模式

这时输出三态缓冲器处于连通(工作)状态,异或门的输出经过OMUX 送到输出三态缓冲器。

c)反馈组合输入/输出模式

在反馈组合输出模式下,三态缓冲器由第1乘积项选通的,且输出信号经过FMUX又反送到与逻辑阵列的输入线上。

d)时序电路中的组合输出模式

TSMUX 选择第一与项;三态缓冲器受第一与项控制;OMUX选择异或门输出;FMUX选择本级输出信号反馈或本端口输入信号。

d)时序电路中的组合输出模式

这时GALl6V8构成一个时序逻辑电路,这个OLMC是该时序

逻辑电路中的组合逻辑部分的输出。相邻的OLMC中至少会有一个是寄存器输出模式。在这种工作模式下,异或门的输出不经过触发器而直接送到输出端。

e)寄存器输出模式

这时异或门的输出连接到触发器的D输入端,触发器的Q端经三态缓冲器送到输出端,同时/Q端又经过互补输出的缓冲器反馈到了与逻辑阵列的输入端。输出三态缓冲器由外加的OE信号控制。

时钟信号由引脚1输入,11号引脚接三态控制信号。时钟信号CLK和控制信号是给工作在寄存器输出模式下的那些OLMC共同使用。

第三章CPLD/FPGA基础

1、Altera 公司,主要的CPLD生产厂商

2、Xilinx 公司,主要的FPGA生产厂商

3、Lattice公司,著名的CPLD生产厂商

4、ACTEL公司,著名的CPLD生产厂商

1、CPLD/FPGA的中英文全称、CPLD/FPGA 的主要特点、SPLD和CPLD/FPGA的划分、

[1].CPLD(Complex Programable Logic Device)复杂可编程逻辑器件;FPGA(Field Programable Gate Array)现场可编程门阵列[2]. 1)芯片规模不断增大,能实现的功能不断增强,2)利用CPLD \FPGA试制样片,能够以最短的时间占有市场,3)资金投入少,节省了许多潜在的花费。[3].单片集成度的高低来划分它们,一般集成度在1000逻辑门以下为SPLD否则为CPLD\FPGA, 2、CPLD的组成及各部分的作用、CPLD的性能特点。Altera公司CPLD器件可编程内连线PI的特点。

[1] CPLD结构:(1)逻辑宏单元:这种结构可提高内部资源利用率。(2)可编程内连线:PI负责信号传递,连接所有的逻辑宏单元,或I/O与宏单元的连接。(3)可编程的I/O控制块:I/O单元分布于器件的四周,提供器件外部引脚与内部逻辑之间的连接。

[2]. CPLD的性能特点可多次编程、改写和擦除;具有高密度、高速度、高可靠性和低功耗;集成度远远高于 PAL和GAL;有灵活多样的逻辑结构,可满足各种数字电路系统设计的需要;内部时间延迟与器件结构及逻辑连接等无关,可预测,易消除竞争冒险;有多位加密位,因此可杜绝编程数据的非法抄袭。

[3]. 1)在各个逻辑宏单元之间以及逻辑宏单元与I/O单元之间提供可编程的信号连接网络;2)分为基于阵列的内连线和基于多路选择器内连线;3)CPLD中一般采用固定长度的线段来进行连接,因此信号传输的延时是固定的,使得信号传输时间延时能够预测。

3、FPGA的组成及各部分作用、查找表LUT作用和工作原理、FPGA的性能特点。Xilinx 公司的FPGA器件可编程互连线的种类与作用。

[1].<1>.可编程逻辑块CLB组成了 FPGA的核心门阵列,能完成用户指定的逻辑功能<2>.可编程输入输出块(IOB)位于芯片内部四周,在内部逻辑阵列与外部芯片封装引脚之间提供一个可编程接口。<3>.可编程连线资源PIR位于芯片内部的逻辑块之间,经编程后形成连线网络,用于芯片内部逻辑间的相互连接,并在它们之间传递逻辑信息。

[2]查找表(LUT)就是一个有N根(一般是4根)地址线的16x1的RAM存储器。N个输入的逻辑函数,需要2的N次方的容量的SRAM来实现.一个LUT无法完成的N>4的多输入电路,就需要通过进位逻辑和级连的方法将多个LUT单元相连,这样FPGA就可以实现复杂的逻辑。作用:<1>.实现组合逻辑函数<2>.查找表级联可以实现复杂的逻辑。

[3].工作原理:当用户通过原理图或HDL 语言描述了一个4输入的逻辑电路后,EDA软件就会按设计要求自动计算逻辑电路的所有可能的结果,并把该结果事先写入这个RAM 存储器。这样,当输入变量作为RAM的地址信号输入时,预期的结果(输出逻辑函数)就作为RAM的存储数据输出了。

[4].特点:1)采用SRAM编程技术,具有高密度、高速度、高可靠性和低功耗;集成度远远高于PAL和GAL;结构灵活,内部的CLB、IOB和PI均可编程;强有力的组合逻辑函数发生器,可实现多个变量的任意逻辑。可满足各种数字电路系统设计的需要。2)某些FPGA还提供片内高速RAM,可用于FIFO等的设计。3)每次上电时需进行数据配置;断电后,配置数据自动丢失。4)内部时间延迟与器件结构及逻辑连接等有关,故信号传输时延不可预测。——缺点。

[5]. <1>.单长线:可控制开关矩阵将CLB与CLB,或者CLB 与I/OB连在一起。<2>.双长线:利用双长线可以使两个相隔(非相邻)的CLB连接。<3>.长线:主要用于长距离或多分支信号(如控制、时钟信号)的传送。

CPLD与FPGA相同与区别:

相同:(组成结构相同)

1二维逻辑块阵列。器件的逻辑组成核心。

2连接二维逻辑块的互联资源,有各种长度的连接。通常用

来连接逻辑块之间和逻辑块和IO之间的连线。

3输入输出单元,提供端口多种输出特性。

注:由于FPGA非连续性布线,每次编程即使实现相同功能,内部走线未必相同。

CPLD命名规则:

EPM7128SLC84-10

EPM7:产品系列为EPM7000系列

128:128个宏单元;

S:电压为5V,AE为3.3V,B为2.5V

L:封装为PLCC,Q代表PQFP等

C:C:商业级(Commercial)0~70度,

I:工业级(Industry),-40~85度

M:军品级(Military),-55~125度

84:管脚数目

10:10nS信号延时,速度级别

FPGA命名规则:

EPF10K 10LC84-3

EPF10K:产品为10K的FPGA产品

10:10K个逻辑门;

L:封装为PLCC,Q:PQFP

84:管脚数目

3:3ns延时,速度

第四章ALTERA的CPLD与FPGA器件

1、ALTERA 产品系列、Altera 器件性能特点;

所有的Altera器件系列均采用CMOS工艺,

(1) MAX系列:Classic,MAX 3000A MAX 5000,MAX 7000,MAX 7000S MAX 7000A,MAX 7000B MAX 9000,MAX ⅡFLEX系列:FLEX 6000,FLEX 8000,FLEX 10K, FLEX 10KA ,FLEX 10KB ,FLEX 10KV,FLEX 10KEAPEX系列:APEX 20K, APEX 20KE ,APEX Ⅱ Cyclone系列:Cyclone,Cyclone ⅡStratix系列:Stratix,Stratix GX, Stratix ⅡACEX系列:ACEX 1K, ACEX 2K

(2)Altera 器件性能特点:<1> 高性能<2>高密度逻辑集成<3> 较短的开发周期<4>高性能价格比<5> 丰富的优化宏函数<6>在系统可编程(ISP)

EPM7128STC100-7

EPM = 家族标识 (可擦除可编程MAX器件)

7128S = 器件类型 (128 = 单元数量)

T = 封装类型 (L = PLCC, T = TQFP...)

C= 使用环境 (商业Commercial,工业Industrial)

100= 引脚数量 (number of pins on the package)

-7= 速度级别( ns )

速度级别后可能还有后缀 (作为特殊器件的特征)

2、Altera MAX 7000 结构、MAX 7000利用什么技术实现复杂逻辑函数、MAX 7000宏单元的组成。Altera公司MAX7000器件扩展乘积项的种类和作用。

(1) MAX7000:逻辑阵列块(LAB);可编程连线阵列(PIA);I/O控制块(I/O)

(2)乘积项(Product-Term)结构

(3)组成:逻辑阵列、乘积项选择矩阵、可编程触发器

(4)并联扩展项:实现高速复杂的逻辑功能。共享扩展项:每个LAB有多达16个共享扩展项。共享扩展项就是由每个宏单元提供一个未投入使用的乘机项,将它们反相后,反馈到逻辑阵列,便于集中使用。

3、FLEX 10K组成、特点,什么是嵌入式阵列EAB、作用。FLEX 10K利用什么技术实现复杂逻辑函数,FLEX 10K器件LE的组成。

(1)主要由嵌入式阵列EAB、逻辑阵列块LAB、快速布线互连Fast Track和I/O单元等四部分组成。

(2) FLEX 10K器件主要性能特点:具有实现宏函数的嵌入式阵列,能实现高效存储器和特殊的逻辑功能;具有实现普通功能的逻辑阵列;高密度;低功耗;灵活的内部连接;功能强大的I/O引脚;多样的封装形式;多种配置方式;支持多功能电压I/O接口

(3) 嵌入式阵列EAB (EAB : embedded array block):EAB是在PLD中嵌入的一大块RAM;

(4) EAB的作用:实现RAM、ROM功能;查找表;实现FIFO功能

(5) 逻辑单元(LE)是FLEX10K结构中的最小单元,它以紧凑的尺寸提供高效的逻辑功能。每个LE含有一个4输入查找表(LUT)、一个带有同步使能的可编程触发器、一个进位链和一个级联链。

4、FLEX10K器件提供了两种类型的专用高速数据通道:进位链和级联链它们连接相邻LE,但没有使用互连通道。进位链支持高速计数器和加法器。级联链可以在最小的延时情况下实现多输入逻辑。进位链和级联链连接到同行中所有LAB及LAB中的所有LE。

大量使用进位链和级联链会降低布局布线的多样性,因此,使用进位链和级联链限于对速度有要求的关键部分的设计。

5MAX与FLEX10K器件的相同点:

1、都是LSI器件;

2、可按用户要求编程使用;

3、需在计算机上借助开发系统予以设计、使用;

4、芯片功能强大,价廉物美。应用广泛。

不同点:

MAX7000 FLEX10K

1、是与或阵列型结构;属LUT结构;

2、编程单元是EEPROM 编程单元是SRAM

3、无需外部配置,为非易失性器件;为易失性器件断电后芯片功能消失

4、集成度相对较低;集成度相对较高,可达10万门级

6、什么是边界扫描测试、边界扫描测试的作用。标准的边界扫描测试用信号线。JTAG的全称(Joint Test Action Group)

(1) 什么是边界扫描测试?

边界扫描测试(简称为BST,Boundary Scan Testing),是为了有效的进行大规模集成电路的在板测试而由联合测试行动组织(JTAG,Joint Test Action Group) 提出来的一种新型测试技术。

(2) 边界扫描测试的作用:BST结构不需要使用外部的物理测试探针就能获得器件的功能数据,它可以在器件正常工作时进行。强行加入的测试数据串行地移入边界扫描单

元,捕获的数据串行移出并在器件外部同预期的结果进行比较,人们就能得出该器件是否存在内部损坏的结论。

(3)标准的边界扫描测试需要五根信号线,对电路板上:TDI--测试数据输入,TDO--测试数据输出,TMS--测试模式选择,TCK--测试时钟输入

第五章AHDL硬件描述语言

1、AHDL的英文全称――Altera Hardware Description Language (AHDL)

2、MAX+PLUS的英文全称:MAX+PLUS II Altera’s Multiple Array MatriX Programmable Logic User System.

3、什么是硬件描述语言HDL;

HDL(Hardware DescriptionLanguage)是一种用形式化方法来描述数字电路和系统的语言,也是电子设计人员和电子设计自动化(EDA)工具之间的界面。

AHDL语言AHDL是一种模块化的高级语言,并行执行语言,完全集成于MAX+PLUSSII系统。

1用“--”注释一行,用“%….%”注释一段。

2不区分大小写

3描述内容等效为一个数字电路

4并发执行,不依赖描述的前后顺序

5只支持加减运算,不支持乘除运算

描述一个组合逻辑电路至少要:子设计段、逻辑段

描述一个时序逻辑电路至少要:子设计段、变量段、逻辑段

保留字关键字和保留标识符区别:当关键字被括在单引号中可当作符号名使用而保留标识符则不能。保留关键字和保留标识符都可以在注释中任意使用。

AHDL数字:二进制(B)八进制(Q)十进制(无前缀)十六进制(H)

(数值不能赋给节点,必须用VCC或GND)

二元运算符:

1、(a,b,c)#(d,e,f)会被解释为(a#d,b#e,c#f)

2、a & b[4..1]被解释为(a&b4,a&b3,a&b2,a&b1)

3、在表达式(3#8)中,3和8分别被转换为二进制数B“0011”和B“l000”,该表达式的最终结果为B“1011”!

4、(a,b,c)&1= (a,b,c)&(0,0,1)= (0,0,c)

5、(a,b,c)&Vcc=(a,b,c)

布尔等式:

1如果等式左右两侧组的长度不同,那么左侧组的位数一定要能被右侧组的位数整除

2如果等式左侧位数多于右侧,则左侧各位将按顺序映射到右侧

a[4..1]=b[2..1]中a4=b2,a3=b1,a2=b2,a1=b1;

3如果一个数被赋给一个组,那么这个数值将被截断或带符号扩展至与那个组的长度相同

(a,b)=1;即a=0;b=1;

4、集成电路的层次化设计;

(1)系统级(2)行为级(3)寄存器传输级(RTL级) (4)逻辑门级(门级) (5)电路级(6)版图级

5、软核、固核、硬核;

(1)“虚拟器件”在EDA技术领域中,把用HDL语言建立、功能经过验证、可以综合实现、电路集成总门数在5000门以上的HDL模型称之为“软核”,而把由软核构成的器件称为“虚拟器件”。

(2)“固核”(Firm Core):通常是指已在某一CPLD或FPGA器件上实现、经证明是正确的总门数在5000门以上电路结构编码文件。

(3)“硬核”(Hard Core):已在某一种专用集成电路(ASIC)器件上实现、经证明是正确的总门数在5000门以上的电路结构版图的掩膜。

6、用HDL设计PLD数字系统的步骤;用HDL进行CPLD设计的优点

(1) 用HDL语言开发CPLD/FPGA的完整流程主要包括6个步骤:

<1>文本编辑<2>编译<3>功能仿真:(前仿真)<4>时序仿真(后仿真)<5>芯片配置下载:<6>实际工程测试与验证

(2) 用HDL进行CPLD/FPGA设计的优点:<1>较容易进行复杂的设计<2>显著提高设计效率<3>改善设计质量<4>设计与器件/工艺无关<5>便于设计交流和设计的再利用<6>支持并行设计

第六章CPLD/FPGA的配置与下载

1、什么是配置与下载、器件编程下载的分类、CPLD/FPGA器件的工作状态;

(1) 把CPLD/FPGA设计代码送入芯片的过程称为对CPLD/FPGA器件的配置,也称为下载。

(2)分类:<1>按使用计算机的通讯接口划分:串口下载;并口下载;USB接口下载<2>若按使用的CPLD/FPGA器件划分:CPLD编程;FPGA下载<3>按CPLD/FPGA器件在编程下载过程中的状态划分:主动配置方式;被动配置方式

(3) CPLD/FPGA器件按照正常使用和下载的三

种状态

<1>配置状态(Configuration mode )<2>初始化状态(Initialization)<3>用户状态

2、用ByteBlaster配置的两种模式。

1)被动串行模式(PS)配置--常用来配置FLEX10K、FLEX 8000、FLEX 6000 和ACEX1K系列器件。

2)边界扫描模式(JTAG)配置--对具有边界扫描电路的器件进行配置重构或在线编程。常用来对MAX系列器件进行编程配置。

3、FLEXl0K系列器件的四种配置方式、工作原理、步骤。

[1]主动串行配置方式:

[2]被动串行配置(PS)方式1)BitBlaster下载电缆控制主机:2)外接微处理器 [3]被动并行同步配置(PPS)方式

[4]被动并行异步(PPA)配置方式:

4. MAX系列非易失性器件的下载配置:对于编程元件为E2PROM或闪存的CPLD器件(如MAX系列器件等),只需简单的利用专门的编程下载电缆(名为ByteBlaster或BitBlaster,可由用户自制)将编程配置数据下载到芯片中去即

了解FPGA器件的几种配置方法:

1使用JTAG下载方法进行配置(调电后丢失);②使用PS下载方法进行配置(调电后丢失);③使用EPC器件进行配置;(非易失性配置,在产品中多使用)

(用编程器将代码下载到EPC器件中,非易失性配置)

④使用单片机和EEPROM作为通讯/下载接口;

(需要自己去设计串行通讯硬件电路及通讯收发软件)

2、掌握CPLD/FPGA器件FLEX器件的基本配置引脚。

MAX器件的JTAG配置引脚:TCK/TDI/TDO/TMS

TCK: 1; TDI: 9 Vcc: 4

TDO: 3; TMS: 5 GND: 2,10

FLEX器件的PS配置引脚:

DCLK: 1 DATA0: 9 Vcc: 4

CONFIG_DONE: 3 NSTATUS: 7 GND: 2,10

5、ALTERA的编程文件;

① SRAM Object格式(.sof)② Programming Object格式(.pof)③ Serial Bittream格式(.sbf)④十六进制格式(.hex)⑤ ASCII码文本格式(.ttf)⑥二进制格式(.rbf)

例1:组合逻辑电路设计

subdesign YMQ

(a0,a1,b,d: input ;

out1,out2: output ;

)

variable

temp: node ;

begin

temp=a0 & !a1 ; out1=temp & b ; out2=temp & d ;

end ;

例3:4位BCD计数器设计

subdesign BCDCNT (inclk : input ;

out[3..0]: output ;

)

variable

count[3..0]:dff ; begin

count[ ].clk=inclk ;

if count[ ]==9 then count[ ]=0 ;

else

count[ ]=count[ ]+1 ; end if ;

out[ ]=count[ ] ;

end ;

例3:8位比较器设计

subdesign cmp8

(a[7..0],b[7..0] :input; dy,xy,equ :output;

)

begin

if (a[ ]>b[ ]) then dy=Vcc;

elsif a[]==b[ ] then equ=Vcc;

else xy=vcc;

end if;

end;

例4:优先权编码器的AHDL程序SUBDESIGN Priority (low,middle,high : INPUT;

hightest_level[1..0] : OUTPUT;

) BEGIN

IF high THEN hightest_level[ ] =3;ELSIF middle THEN hightest_level[ ] =2;ELSIF low THEN hightest_level[ ] =1;ELSE hightest_level[ ] =0;

END IF;

END;

例5: 五人表决器设计

SUBDESIGN VOTE5 (a[4..0] : INPUT;out : OUTPUT;) variable

m[2..0]:node; BEGIN

m[]=(0,a4)+(0,a3)+(0,a2)+(0,a1)+(0,a0);

k=(m[]>=3);

END;

例6:BCD 七段译码

器设计

SUBDESIGN

BCDYMQ

(in[3..0] :input;

ot[6..0] :output;

)

BEGIN

TABLE

in[]=>ot6,ot5,ot4,ot3,

ot2,ot1,ot0;

END TABLE;

END;

例7:根据输入来选取

五个ASCⅡ代码中的

一个代码。

SUBDESIGN

default1

(i[3..0]:INPUT;

ascii_code[7..0]:

OUTPUT;

) BEGIN

DEFAULTS

ascii_code[]=B

“00111111”;%“?”

的ASCⅡ码=3FH%

END DEFAULTS;

TABLE

i[3..0] =>

ascii_code[ ];

B“1000”=> B

“01100001”;% “a”

=61H%

B“0100”=> B

“01100010”;% “b”

=62H%

B“0010”=> B

“01100011”;% “c”

=63H%

B“0001”=> B

“01100100”;% “d”

=64H%

END TABLE;END;

例9: 分频计数器

subdesign fp

(inclk:input;

outputf:output;)

variable

fp[23..0]:dff;

f :dff;

begin

fp[].clk=inclk;f.clk=incl

k;

if fp[]==19999999

then

fp[]=0;

f=!f;

else

fp[]=fp[]+1;

f=f;

end if;

outputf=f;

end;

例10: 4乘4

Subdesign 44mult

(a[3..0],b[3..0]:input;

C[7..0]: output; )

Begin

C[]=(0,a[]&b0)+(0,a[]

&b1,0)+(0,a[]&b2,0,0

)+(0,a[]&b3,0,0,0);

End;

例11: 四位全加器

Subdesign fulladd4

(a[3..0],b[3..0],ci:inpu

t;

C[3..0],co :

output; )

Begin

(co,c[])=(0,a[])+(0,b[])

+(0,ci);

End;

带进位输出的2位

BCD计数器设计

SUBDESIGN BCDCNT

(inclk:INPUT;

b[3..0],a[3..0],CYY:OU

TPUT;

)

VARIABLE

b[3..0],a[3..0]:dff ;

BEGIN

(b[],a[]).clk=inclk;

if(b[]==5)and(a[]==9)t

hen

b[]=0;a[]=0;cyy=gnd;

elsifa[]==9 then

a[]=0;b[]=b[]+1;cyy=v

cc;

else a[]=a[]+1;b[]=b[];

cyy=vcc;

endif;

END;

8 位串入串出移位

寄存器设计

该移位寄存器具有

公共时钟输入端

SUBDESIGN shift8

( in,inclk :INPUT;

out[7..0],q7:

OUTPUT;

)

VARIABLE a[7..O]:

DFF;

BEGIN

a[].clk=inclk;

a0.d=in;

a[7..1].d=a[6..0].q;

q7=a7.q

out[]=a[].q

END;

带预置端的8位锁存

器设计:

要求当输入端load

电平为高时,在时钟

信号的上升沿把输

入端d的数据锁存到

输出端q。

SUBDESIGN latch

( clk,load,d[7..0]:INPU

T;

q[7..0]:OUTPUT;

)

VARIABLE

ff[7..0]: DFFE;

BEGIN

ff[].clk=clk;

ff[].ena=load;

ff[].d=d[];

q[]=ff[];

END;

带使能端的16位计

数器:

SUBDESlGN cnt16

(clk,load,ena,clr,d[15..

0]:INPUT;

q[15..0]:OUTPUT;

)

VARIABLE

count[15..0]:DFFE;

BEGlN

count[].clk=clk;

count[].clrn=!clr;

IF load THEN

count[]=d[];

ELSIF ena THEN

count[]=

count[]+1;

ELSE

count[]=count[];

END IF;

q[]=count[];

END;

subdesignmealy

(clk,reset,y:input;

z:output;)variable

ss:machine wth

states(s0,s1,s2,s3);

begin ss.clk=clk;

ss.reset=reset;

table ss,y=>z,s;

s0,0=>0,s0;

s0,1=>1,s1

s1,0=>1,s1;

s1,1=>0,s2;

s2,0=>0,s2;s2,1=>1,s3

;

s3,0=>0,s3;s3,1=>1,s0

;

endtable;end;

30%占空比脉冲

subdesign zkb

(inclk:input;

out:output;)

variable

a[3..0]:dff;

ot:dff;

begin

a[3..0].clk=inclk;

ot.clk=inclk;

if a[]==9 then

a[]=0; else a[]=a[]+1;

if (a[]>=4 and a[]<=7)

then

ot=vcc; else ot=gnd;

end if;

end if;

out=ot;end;

串行扫描电路

subdesign 7countx

(inclk:input;

outa[6..0],outb[6..0],

bitout[5..0],g:output;

)

variable

a[3..0],b[3..0],c[3..0],

d[3..0],e[3..0],f[3..0]:

dff;

mda[12..0],mdb[9..0]:

dff;

mseg[3..0],mseh[3..0]

,bitout[5..0]:dff;

st[2..0]:dff;

fpa,fpb:dff;

begin

fpa.clk=inclk;

fpb.clk=fpa;

mseg[].clk=fpa;

mseh[].clk=fpa;

(a[],b[],c[],d[],e[],f[]).

clk=fpb;

mdb[].clk=fpa;

st[].clk=fpa;

mda[].clk=inclk;

bitout[].clk=fpa;

if mda[]==1999

then

mda[]=0;

fpa=!fpa;

else

mda[]=mda[]+1;

fpa=fpa;

end if;

if mdb[]==499

then

mdb[]=0;

fpb=!fpb;

else

mdb[]=mdb[]+1;

fpb=fpb;

end if;

if a[]==9 then

a[]=0;

if b[]==5 then

b[]=0;

if c[]==9

then

c[]=0;

if

d[]==5 then

d[]=0;

if

e[]==2&f[]==1 then

e[]=1;f[]=0;

elsif e[]==9 then

e[]=0;f[]=f[]+1;

else

e[]=e[]+1;f[]=f[];

end if;

else

d[]=d[]+1;e[]=e[];f[]=f

[];

end if;

else

c[]=c[]+1;d[]=d[];e[]=

e[];f[]=f[];

end if;

else

b[]=b[]+1;c[]=c[];d[]=

d[];e[]=e[];f[]=f[];

end if;

else

a[]=a[]+1;b[]=b[];c[]=

c[];d[]=d[];e[]=e[];f[]=

f[];

end if;

g=GND;

if

a[]==0&b[]==0&c[]==

0&d[]==0 then

g=VCC;

end if;

case st[] is

when 0=>

mseg[]=a[];

bitout[]=1;

st[]=1;

when 1=>

mseg[]=b[];

bitout[]=2;

st[]=2;

when 2=>

mseg[]=c[];

bitout[]=4;

st[]=3;

when 3=>

mseg[]=d[];

bitout[]=8;

st[]=4;

when 4=>

mseh[]=e[];

bitout[]=16;

st[]=5;

when 5=>

mseh[]=f[];

bitout[]=32;

st[]=0;

end case;

Table

mseg[3..0]=>outa[6..

0];

h"0" =>h"3f" h"1"

=>h"06";

h"2" =>h"5b";

h"3" =>h"4f";

h"4" =>h"66";

h"5" =>h"6d";

h"6" =>h"7d";

h"7" =>h"07";

h"8" =>h"7f"; h"9"

=>h"6f";

end table;

8位2进制转换为3

位BCD码

subdesign bcdzh

(ibd[7..0],inclk:input;

odd[20..0],selbit:outp

ut;

)

variable

mh[3..0],mm[3..0],ml

[3..0]:dff;

mrd[7..0],st[1..0],fpq[

8..0],fp:dff;

mhr[3..0],mmr[3..0],

mlr[3..0]:dff;

begin

selbit=vcc;

(fpq[],fp).clk=inclk;

if fpq[]==249 then

fp=!fp;fpq[]=0;

else

fp=fp;fpq[]=fpq[]+1;

end if;

st[].clk=fp;(mh[],mm[

],ml[],mrd[]).clk=inclk

;

(mhr[],mmr[],mlr[]).cl

k=inclk;

case st[] is

when 0 =>

mrd[]=ibd[];st[]=1;

mmr[]=mmr[];mhr[]=

mhr[];mlr[]=mlr[];

when 1=>

if mrd[]==0 then

mhr[]=mh[];mlr[]=ml;

mmr[]=mm[];mm[]=

mm[];mh[]=mh[];ml[]

=ml[];

st[]=0;

else

mmr[]=mmr[];mhr[]=

mhr[];mlr[]=mlr[];

mrd[]=mrd[]-1;

st[]=1;

if ml[]==9 then

ml[]=0;

if mm[]==9 then

mh[]=0;

if mh[]==9 then

mh[]=0;

else mh[]=mh[]+1;

end if;

else

mm[]=mm[]+1;mh[]=

mh[];

end if;

else

ml[]=ml[]+1;mm[]=m

m[];mh[]=mh[];

end if;

end if;

end case;

table

mlr[] =>odd[6..0];

end table;table

mmr[] =>odd[13..7];

end table;table

mhr[] =>odd[20..14];

end table;end;

简答题

GAL的OLMC和CPLD 宏单元区别

CPLD的逻辑宏单元主要包括与或阵列、触发器和多路选择器的电路,能独立的配置为组合或时序工作方式。

GAL器件的逻辑宏单元与I/O单元做在一起,成为输出逻辑宏单元(OLMC);CPLD的逻辑宏单元都做在内部,称为内部逻辑宏单元。CPLD的逻辑宏单元与GAL的OLMC结构非常类似,但逻辑宏单元结构比GAL有所改进。1、乘积项共享结构,提高了各单元或门的使用效率,可实现较复杂的逻辑功能。2.多触发器和隐埋触发器结构,可提高内部资源利用率。3.触发器类型可编程结构,它们与逻辑宏单元相配合,可实现多种逻辑电路结构。

硬件描述语言与计算机语言的区别

HDL(Hardware Description Language)是一种用形式化方法来描述数字电路和系统的语言,也是电子设计人员和电子设计自动化(EDA)工具之间的界面。

VHDL 是针对硬件电路设计的描述语言且描述的对象始终是客观的电路系统。利用VHDL 进行大系统的设计, 可以在脱离具体目标器件的情况下进行, 但在具体的工程设计中, 必须清楚软件程序和硬件构成之间的关系, 在考虑语句所能实现的功能的同时, 必须考虑实现这些功能可能付出的硬件代价, 要对这一程序可能耗费的硬件资源有一明确的估计。一项成功的VHDL工程设计, 除了满足功能的要求、速度的要求和可靠性要求等项指标外, 还必须占用尽可能少的硬件资源。所以VHDL 数据类型在定义和使用上与高级语言有所差别, 即尽可能声明变量的具体取值范围, 以节省电路结构, 这是VHDL 数据类型定义时的最显著的一个特点。

动态扫描电路原理

所谓数码管的动态驱动,就是把每个数码管的“段”对应并联,这样所有数码管的“段驱动”只使用7根驱动线;同时用输出扫描脉冲控制每个数码管的COM端,在一个瞬时只让一个数码管被点亮且每个数码管被轮流点亮。(一个数码管一般点亮为1~5mS)。如此循环不断。由于人眼有视觉残留效应,若各数码管循环点亮的速度足够快,则人眼看到的是多个数码管都被点亮了起来。这就是数码管的动态扫描驱动显示工作原理。

数码管动态驱动电路图如见下:

称驱动数码管的“段”信号为“字形码”,控制数码管COM端的信号为“字位码”。

对下图而言,使用的字位码中“1”的个数只有1个(使用了反相器)

动态驱动的优点:使用较少的引脚,电路功耗较低。

动态驱动的缺点:驱动电路较复杂、数码管数量多时显示亮度降低。

静态驱动的优点:驱动电路简单,显示亮度较高

静态驱动的缺点:占用较多引脚、电路功耗较高

基于CPLD的七段显示译码器设计实验说明

基于CPLD的七段显示译码器设计 1.新建工程。 ①为便于工程管理在桌面新建文件夹。 双击桌面Quartus Ⅱ图标,点击Greate a New Project—>Next—>弹出窗口 ②new of project:seg7_4 ③entity name:seg7_4(软件默认与上述new of project一致) ④next—>弹出“目标器件设置”窗口 Family:MAXⅡ(MAX7000S) 器件型号:EPM240T100C5 (EPM7128SLC84-15) ⑤next—>next—>finish 或者进入主界面,File—>New Project Wizard—>Next—>弹出窗口重复上述②③④⑤。 2.编辑七段显示译码器的VHDL文件。 主菜单File—>New—>选择VHDL File —>OK—>进入VHDL文本编辑窗,在其中键入下列设计文件(Copy即可)。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; Entity seg7_4 is PORT ( BCD_in : IN STD_LOGIC_VECTOR(3 DOWNTO 0); --输入四位BCD码 SG_out : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); --输出七位字形码 END; ARCHITECTURE one OF seg7_4 IS BEGIN PROCESS(BCD_in) BEGIN CASE BCD_in IS WHEN "0000" => SG_out <= "0111111"; WHEN "0001" => SG_out <= "0000110"; WHEN "0010" => SG_out <= "1011011"; WHEN "0011" => SG_out <= "1001111"; WHEN "0100" => SG_out <= "1100110"; WHEN "0101" => SG_out <= "1101101"; WHEN "0110" => SG_out <= "1111101";

CPLD可编程数字信号发生器实验

课程: 通信原理 CPLD可编程数字信号发生器实验报告 系电子信息与计算机科学系 专业电子信息科学与技术 班级 姓名 学号 指导教师 实验地点 学年学期

一、实验目的 1、熟悉各种时钟信号的特点及波形。 2、熟悉各种数字信号的特点及波形。 二、实验内容 1、熟悉CPLD可编程信号发生器各测量点波形。 2、测量并分析各测量点波形及数据。 三、实验模块 1、通信原理0 号模块一块 2、示波器一台 四、实验原理 CPLD可编程模块用来产生实验系统所需要的各种时钟信号和各种数字信号。它由CPLD可编程器件ALTERA公司的EPM240T100C5、下载接口电路和一块晶振组成。晶振JZ1用来产生系统内的32.768MHz主时钟。本实验要求参加实验者了解这些信号的产生方法、工作原理以及测量方法,才可通过CPLD可编程器件的二次开发生成这些信号,理论联系实验,提高实际操作能力。 1、CPLD数字信号发生器,包括以下五个部分: ①时钟信号产生电路; ②伪随机码产生电路; ③帧同步信号产生电路; ④NRZ码复用电路及码选信号产生电路; ⑤终端接收解复用电路。 2、24位NRZ码产生电路 本单元产生NRZ信号,信号速率可根据输入时钟不同自行选择,帧结构如下图所示。帧长为24位,其中首位无定义,第2位到第8位是帧同步码(7位巴克码1110010),另外16路为2路数据信号,每路8位。此NRZ信号为集中插入帧同步码时分复用信号。LED亮状态表示1码,熄状态表示0码。 五、实验步骤 1、观测时钟信号输出波形。 信号源输出两组时钟信号,对应输出点为“CLK1”和“CLK2”,拨码开关S4的作用是改变第一组时钟“CLK1”的输出频率,拨码开关S5的作用是改变第二组时钟“CLK2”的输出频率。拨码开关拨上为1,拨下为0,拨码开关和时钟的对应关系如下表所示拨码开关时钟拨码开关时钟 000032.768M1000128K 000116.384M100164K 00108.192M101032K 0011 4.096M101116K

计算机组成原理实验报告

实验报告书 实验名称:计算机组成原理实验 专业班级:113030701 学号:113030701 姓名: 联系电话: 指导老师:张光建 实验时间:2015.4.30-2015.6.25

实验二基本运算器实验 一、实验内容 1、根据原理图连接实验电路

3、比较实验结果与手工运算结果,如有错误,分析原因。 二、实验原理 运算器可以完成算术,逻辑,移位运算,数据来自暂存器A和B,运算方式由S3-S0以及CN来控制。运算器由一片CPLD来实现。ALU的输入和输出通过三态门74LS245连接到CPU内总线上。另外还有指示灯进位标志位FC和零标志位FZ。 运算器原理图: 运算器原理图 暂存器A和暂存器B的数据能在LED灯上实时显示。进位进位标志FC、零标志FZ 和数据总线D7…D0 的显示原理也是如此。 ALU和外围电路连接原理图:

ALU和外围电路连接原理图运算器逻辑功能表:

三、实验步骤 1、按照下图的接线图,连接电路。 2、将时序与操作台单元的开关KK2 置为‘单拍’档,开关KK1、KK3 置为‘运行’档。 3、打开电源开关,如果听到有‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。然后按动CON 单元的CLR 按钮,将运算器的A、B 和FC、FZ 清零。 4、用输入开关向暂存器A 置数。 ①拨动CON 单元的SD27…SD20 数据开关,形成二进制数01100101 (或其它数值),数据显示亮为‘1’,灭为‘0’。 ②置LDA=1,LDB=0,连续按动时序单元的ST 按钮,产生一个T4 上沿,则将二进制数01100101 置入暂存器A 中,暂存器A 的值通过ALU 单元的 A7…A0 八位LED 灯显示。 5、用输入开关向暂存器B 置数。 ①拨动CON 单元的SD27…SD20 数据开关,形成二进制数10100111 (或其它数值)。 ②置LDA=0,LDB=1,连续按动时序单元的ST 按钮,产生一个T4 上沿,则将二进制数10100111 置入暂存器B 中,暂存器B 的值通过ALU 单元的 B7…B0 八位LED 灯显示。 6、改变运算器的功能设置,观察运算器的输出。置ALU_B=0 、LDA=0、LDB=0,然后按表2-2-1 置S3、S2、S1、S0 和Cn的数值,并观察数据总线LED 显示灯显示的结果。如置S3、S2、S1、S0 为0010 ,运算器作逻辑与运算,置S3、S2、

(解密)TDN CM++ CPLD实验资料2

P24:2.2 并行加法器设计实验 一.实验目的 1. 掌握并行加法器的原理及其设计方法。 2. 熟悉CPLD应用设计及EDA软件的使用。 二.实验设备 1. TDN-CM+或TDN-CM++教学实验系统一套。 2. PC微机一台。 三.实验原理 本节实验使用大规模可编程逻辑器件MAXII EPM570T100C5来设计实现一个4位的并行进位加法器。传统的数字系统设计只能是通过设计电路板来实现系统功能,而采用可编程逻辑器件,则可以通过设计芯片来实现系统功能。从而有效地增强了设计的灵活性,提高了工作效率。并能够缩小系统体积,降低能耗,提高系统的性能和可靠性。 对该器件的逻辑系统设计是通过使用硬件描述语言或原理图输入来实现的,硬件描述语言有ABEL、VHDL等多种语言,本节实验是使用原理图输入来进行编程的。 下面是一个用原理图输入设计一个四位并行加法器加法器的例子。该加法器采用并行进位,有两组四位加数A3~A0、B3~B0输入,四位本地和F3~F0输出,一个低位进位C0输入及一个本地进位CY输出。 系统采用Quartus II软件来对可编程逻辑器件MAXII EPM570T100C5进行编程设计实验。Quartus II可采用原理图或硬件描述语言来进行设计输入,并能对所设计的数字电子系统进行功能仿真和时序仿真。其编译器是此软件的核心,它能进行逻辑优化,并将逻辑映射到器件中去,自动完成布局与布线并生成编程所需要的熔丝图文件。该软件支持多种可编程逻辑器件。 四.实验步骤 1.如图 2.2-1所示,运行Quartus II软件。 2.选择菜单File?New Project Wizard,如图2.2-2所示,建立一个新工程。出现如图 2.2-3所示New Project Wizard对话框界面。 3.点击“Next”出现如图2.2-4所示的ADDERFILE对话框界面,在FILE NAME 栏 中输入“ADDER”。 4.点击“Next”出现如图2.2-5所示的器件设置对话框界面,选择CPLD开发板使用的 MAXII系列EPM570T100C5芯片,一直点击“Next”按钮,完成新工程的建立。 5.建立新工程后,选择菜单File?New,弹出如图2.2-6所示的新建设计文件选择窗口。 创建图形设计文件,选择图2.2-6所示对话框中的“Device Design Files”页下的“Block Diagram/Schematic File”;若要创建VHDL描述语言设计文件则可选择图2.2-6所示

CPLD课程实验报告

CPLD课程学习报告 八周的CPLD及电子CAD实验结束了,回忆着过去八周的学习,收获很多。这八周的学习,是我从一个对CPLD完全没有概念的人变得能完成数字时钟及其扩展,其中虽然遇到了很多困难,但当困难被克服,实验结果出来是的喜悦是难以言状的。下面,分别讲述这八次课的收获和心得。 学习上,学到了知识,肯定是不小的收获,但在学习之外,我也收获了很多,首先,做实验的时候是既有分组又有合作的的,说道合作,我们了解了一个团队协作的重要性,开始的时候,由于和搭档不认识,出现过一些矛盾,但后来,我们明白了,只有协作,才能更好的完成一项工作。所以,这是我的一个很重要的收获。 回归正题,讲讲学习的收获。 首先,实验所使用的软件是:MAX+PLUSII,共完成了数字时钟及其调时,整点报时,秒表和闹钟的应用等,分别应用了文字及图形的编程方法,将所设计的电路功能下载到EPIK30TC144-1器件,以实现我们所需要的功能。 数字时钟可实现的功能 1、时、分、秒六位数码管显示(标准时间23点59分59秒); 2、具有小时、分钟校准功能; 整点报时:55,56,57,58,59低音响,整点高音,间断振铃(嘟--嘟--嘟--嘟--嘟--嘀)。

3、跑表:最大计时99秒99毫秒。独立的跑表功能,不影响数字钟正常工作。 4、定时闹钟:可在00:01到23:59之间由用户设定任一时间,到时报警。 第一课:10进制、6进制计数器 对于以上计数器,采用VHDL代码书写,(截屏如下) 图一:10进制VHDL文本 在书写VHDL文本时,应当注意文字的准确性和无错误,最值得注意的是:保存文本时应注意其文件扩展名一定要为VHD,且要注意前后文件明要保持一致。文本通过调试无错误后,接着要分配管脚, 启动MAX+PLUS~Floorplan Editor菜单命令,分别通过老师所给的管

CPLD实验报告计数器及时序电路

内蒙古工业大学信息工程学院实验报告 课程名称: CPLD/FPGA 应用开发技术 实验名称:组合逻辑电路的设计 实验类型:验证性□ 综合性□ 设计性■ 实验室名称:信息学院机房 班级:电子09-1班学号:200920203061 姓名:张佳兴组别: 同组人:成绩: 实验日期: 2012年5月2日

预习报告成绩:指导教师审核(签名):年月日 预习报告 实验二计数器及时序电路 一、实验目的: 1、了解时序电路的VHDL语言设计方法。 2、了解同步计数器的使用方法。 3、理解时序电路和同步计数器加译码电路的联系,设计任意编码计数器。 二、实验设备: 1、PC机 2、EDA实验箱(主芯片是ALTERA EPM7128SLC84-15)。 三、实验内容: 1、用VHDL语言输入法设计一个同步四位二进制加法计数器和六进制同步计 数器。 2、用74LS161两个宏连接成八位二进制同步计数器。 3、用74LS161宏,同时采用清零和置数法组成六进制和十二进制计数器。 四、实验步骤: 1、采用文本编辑器输入VHDL语言源程序,或采用原理图输入法从MF库中 调用器件74161,生成原理图,之后建立工程。 2、编译。 3、仿真。 4、对芯片进行编程。 5、根据管脚分配情况连线。 (1)根据芯片特点,管脚分配时一般将时钟信号分配给83脚,复位信号分配给1脚。若有使能信号,使能信号分配给84脚。 (2)时钟信号的连接:将实验板上提供的时钟与芯片的83脚相连。 (3)复位信号的连接:将实验板上的某按键开关输出与芯片的1脚相连。 (4)将计数器的输出端分别与LED灯相连。 6、按动复位键,观察实验结果。 7、改变输入时钟信号的频率,观察实验结果。

实验九 QPSK调制与解调实验报告

实验九QPSK/OQPSK 调制与解调实验 一、实验目的 1、了解用CPLD 进行电路设计的基本方法。 2、掌握QPSK 调制与解调的原理。 3、通过本实验掌握星座图的概念、星座图的产生原理及方法,了解星座图的作用及工程上的作用。 二、实验内容 1、观察QPSK 调制的各种波形。 2、观察QPSK 解调的各种波形。 三、实验器材 1、信号源模块 一块 2、⑤号模块 一块 3、20M 双踪示波器 一台 4、 连接线 若干 四、实验原理 (一)QPSK 调制解调原理 1、QPSK 调制 QPSK 信号的产生方法可分为调相法和相位选择法。 用调相法产生QPSK 信号的组成方框图如图12-1(a )所示。图中,串/并变换器将输入的二进制序列依次分为两个并行的双极性序列。设两个序列中的二进制数字分别为a 和b ,每一对ab 称为一个双比特码元。双极性的a 和b 脉冲通过两个平衡调制器分别对同相载波及正交载波进行二相调制,得到图12-1(b )中虚线矢量。将两路输出叠加,即得如图12-1(b )中实线所示的四相移相信号,其相位编码逻辑关系如表12-1所示。 (a ) a(0)b(0) b(1) a(1) (b ) 图12-1 QPSK 调制 /并变换。串/并变换器将输入的二进制序列分为两个并行的双极性序列110010*********和

111101*********。双极性的a 和b 脉冲通过两个平衡调制器分别对同相载波及正交载波进行二相调制,然后将两路输出叠加,即得到QPSK 调制信号。 2、QPSK 解调 图12-2 QPSK 相干解调器 由于四相绝对移相信号可以看作是两个正交2PSK 信号的合成,故它可以采用与2PSK 信号类似的解调方法进行解调,即由两个2PSK 信号相干解调器构成,其组成方框图如图12-2所示。图中的并/串变换器的作用与调制器中的串/并变换器相反,它是用来将上、下支路所得到的并行数据恢复成串行数据的。 (二)OQPSK 调制解调原理 OQPSK 又叫偏移四相相移键控,它是基于QPSK 的改进型,为了克服QPSK 中过零点的相位跃变特性,以及由此带来的幅度起伏不恒定和频带的展宽(通过带限系统后)等一系列问题。若将QPSK 中并行的I ,Q 两路码元错开时间(如半个码元),称这类QPSK 为偏移QPSK 或OQPSK 。通过I ,Q 路码元错开半个码元调制之后的波形,其载波相位跃变由180°降至90°,避免了过零点,从而大大降低了峰平比和频带的展宽。 下面通过一个具体的例子说明某个带宽波形序列的I 路,Q 路波形,以及经载波调制以后相位变化情况。 若给定基带信号序列为1 -1 -1 1 1 1 1 -1 -1 1 1 -1 对应的QPSK 与OQPSK 发送波形如图12-3所示。 1-1-11111-1-111-1111-11-111-11-1-111-11-1 基基基基I 基基Q P S K ,O Q P S K Q 基基 Q P S K Q 基基O Q P S K -1 图12-3 QPSK,OQPSK 发送信号波形 图12-3中,I 信道为U (t )的奇数数据单元,Q 信道为U (t )的偶数数据单元,而OQPSK 的Q 信道与其I 信道错开(延时)半个码元。 QPSK ,OQPSK 载波相位变化公式为 {}()33arctan ,,,()44 44j i j i Q t I t ππ?ππ? ????? =--???? ?????? ?@ QPSK 数据码元对应的相位变化如图12-4所示,OQPSK 数据码元对应相位变化如图 12-5所示

CPLD入门教程

目录 前言 (2) 第一章 MAX+plusII 软件和license的获得 (6) 第二章 MAX+plusII 软件的安装和license及驱动的设置 2.1 MAX+plusII 软件的安装 (7) 2.2 MAX+plusII 软件的license设置 (8) 2.3 MAX+plusII 软件的驱动设置 (12) 第三章用VHDL语言设计三人表决器 3.1打开MAX+plusII (22) 3.2新建VHDL文档 (23) 3.3输入设计文件 (24) 3.4保存文件 (25) 3.5检查编译 (27) 3.6创建symbol (32) 3.7波形防真 (33) 3.8下载验证 (40) 第四章用原理图输入的方式设计三人表决器 (47) 第五章用verilog-HDL语言设计三人表决器 (51)

前言 编写本入门教程(V1.2)的目点是为了让FPGA/CPLD初学者快速地入门。该教程的特点是通过基本概念讲解和实际的例子来让初学者迅速了解FPGA/CPLD。该教程是共享文件,可以复制、下载、转载,如果转载该文章请注明出处:https://www.wendangku.net/doc/0c7444232.html,;该教程未经许可,不得用于商业用途。 FPGA/CPLD是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。 FPGA/CPLD的基本知识: 1.什么是FPGA/CPLD FPGA (Field Programmable Gate Array)是现场可编程门阵列,CPLD是复杂的可编程逻辑器件(Complex Programmable Logic Device)的简称,不同厂家有不同的称呼,Xilinx把SRAM工艺,要外挂配置用的EEPROM的PLD叫FPGA,把Flash工艺(类似EEPROM工艺),乘积项结构的PLD叫CPLD; Altera把自己的PLD产品MAX系列(EEPROM工艺),FLEX/ACEX/APEX系列(SRAM工艺)都叫作CPLD,即复杂PLD(Complex PLD),由于FLEX/ACEX/APEX系列也是SRAM工艺,要外挂配置用的EPROM,用法和Xilinx的FPGA一样,所以很多人把Altera的FELX/ACEX/APEX系列产品也叫做FPGA. 但由于FPGA和CPLD功能基本相同,只是工艺和实现形式不同,所以初学者可以不要详细区分,我们可以统称为FPGA/CPLD。 2.FPGA/CPLD的用途:

实验九QPSK调制与解调实验报告

实验九Q P S K/O Q P S K调制与解调实验 一、实验目的 1、了解用CPLD进行电路设计的基本方法。 2、掌握QPSK调制与解调的原理。 3、通过本实验掌握星座图的概念、星座图的产生原理及方法,了解星座图的作用及工程上的作用。 二、实验内容 1、观察QPSK调制的各种波形。 2、观察QPSK解调的各种波形。 三、实验器材 1、信号源模块一块 2、⑤号模块一块 3、20M双踪示波器一台 4、连接线若干 四、实验原理 (一)QPSK调制解调原理 1、QPSK调制 QPSK信号的产生方法可分为调相法和相位选择法。 用调相法产生QPSK信号的组成方框图如图12-1(a)所示。图中,串/并变换器将输入的二进制序列依次分为两个并行的双极性序列。设两个序列中的二进制数字分别为a和b,每一对ab称为一个双比特码元。双极性的a和b脉冲通过两个平衡调制器分别对同相载波及正交载波进行二相调制,得到图12-1(b)中虚线矢量。将两路输出叠加,即得如图12-1(b)中实线所示的四相移相信号,其相位编码逻辑关系如表12-1所示。 (a) (b) 图12-1 QPSK调制 2、QPSK解调 图12-2 QPSK相干解调器 由于四相绝对移相信号可以看作是两个正交2PSK信号的合成,故它可以采用与2PSK信号类似的解调方法进行解调,即由两个2PSK信号相干解调器构成,其组成方框图如图12-2所示。图中的并/串变换器的作用与调制器中的串/并变换器相反,它是用来将上、下支路所得到的并行数据恢复成串行数据的。(二)OQPSK调制解调原理 OQPSK又叫偏移四相相移键控,它是基于QPSK的改进型,为了克服QPSK中过零点的相位跃变特性,以及由此带来的幅度起伏不恒定和频带的展宽(通过带限系统后)等一系列问题。若将QPSK中并行的I,Q两路码元错开时间(如半个码元),称这类QPSK为偏移QPSK或OQPSK。通过I,Q路码元错开半个码元调制之后的波形,其载波相位跃变由180°降至90°,避免了过零点,从而大大降低了峰平比和频带的展宽。 下面通过一个具体的例子说明某个带宽波形序列的I路,Q路波形,以及经载波调制以后相位变化情况。 若给定基带信号序列为1 -1 -1 1 1 1 1 -1 -1 1 1 -1 对应的QPSK与OQPSK发送波形如图12-3所示。 图12-3 QPSK,OQPSK发送信号波形 图12-3中,I信道为U(t)的奇数数据单元,Q信道为U(t)的偶数数据单元,而OQPSK的Q信道

选做实验(CPLD)

实验十、总线控制实验(选做) 一、实验目的: 1. 了解总线的概念及其特性。 2. 掌握总线的传输控制特性。 二、实验连线 见连线图。(连线时应按如下方法:对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上) 三、实验说明 在本实验中,挂接在数据总线上的有输入设备、输出设备、存储器和堆寄存器。为了使它们的输出互不干扰,就需要这些设备都有三态输出控制,且任意两个输出控制信号不能同时有效。本实验的流程为: 1、输入设备将一个数打入R0寄存器。 2、输入设备将另一个数打入地址寄存器。 3、将R0寄存器中的数写入当前地址的存储器中。

4、将当前地址的存储器中的数用数码管显示出来。 四、实验步骤 1、按照上图所示将所有连线接好。 2、总线初始化。关闭所有三态门置控制开关PC-G=1(寄存器堆控制信号), CA1=1(显示输出),CA2=1(数据输入),CE=1(存储器片选)。其它控制信号为LOAD=0,LAR=0,C=1,WE=1,A=1,B=1。 3、将D15—D8拨至“11110000”,置CA2=0,LOAD=1,然后置LOAD=0,将 “11110000”打入R0寄存器。 4、将D15—D8拨至“00000001”,置LAR=1,然后置LAR=0,将“00000001”打 入地址寄存器。 5、置CA2=1,PC-G=0,CE=0,WE=0,将R0寄存器中的数写入当前地址的存储 器中。然后置WE=1,CE=1。 6、置PC-G=1,CE=0,CA1=0,C=0,将当前地址的存储器中的数输出至数码管, 然后置C=1,CE=1,CA1=1。 五、实验结果 照以上六步操作完成后,输出显示电路LED的低8位显示“F0”。

光纤通信实验报告

一、实验目的 1.了解数字光发端机平均输出光功率的指标要求 2.掌握数字光发端机平均输出光功率的测试方法 3.了解数字光发端机的消光比的指标要求 4.掌握数字光发端机的消光比的测试方法 二、实验仪器 1.ZYE4301G型光纤通信原理实验箱1台 2.光功率计1台 3.FC/PC-FC/PC单模光跳线1根 4.示波器1台 5.850nm光发端机1个 6.ST/PC-FC/PC多模光跳线1根 三、实验原理 四、实验内容 1.测试数字光发端机的平均光功率 2.测试数字光发端机的消光比 3.比较驱动电流的不同对平均光功率和消光比的影响 五、实验步骤 A、1550nm数字光发端机平均光功率及消光比测试 1.伪随机码的产生:伪随机码由CPLD下载模块产生,请参看系统简介中的CPLD下载模块。将PCM编译码模块的4.096MH Z时钟信号输出端T661与CPLD下载模块的NRZ信号产生电路的信号输入端T983连接,NRZ信号输出端T980将产生4M速率24-1位的伪随机信号,用示波器观测此信号。将此信号与1550nm光发模块输入端T151连接,作为信号源接入1550nm光发端机。 2.用FC-FC光纤跳线将光发端机的输出端1550T与光功率计连接,形成平均光功率测试系统,调整光功率计,使适合测1550nm信号。 3.用K60、K90和K15接通PCM编译码模块、CPLD模块和光发模块的电源。 4.用光功率计测量此时光发端机的光功率,即为光发端机的平均光功率。 5.测消光比用数字信号源模块输出的NRZ码作为信号源。用K60接通电源,用用示波器从T504观测此信号,将K511接1、2或2、3可观测到速率的变化,将此信号接到T151,作为伪随机信号接入光发端机。 6.用数字信号源模块的K501、K502、K503将数字信号拨为全“1”,测得此时光功率为P1,将数字信号拨为全“0”,测得此时光功率为P0。 7.将P1,P0代入公式2-1式即得1550nm数字光纤传输系统消光比。 B、1310nm数字发端机平均光功率及消光比测试 8.信号源仍用4M速率24-1位的伪随机信号,与1310nm光发模块输入端T101连接。 9.用FC-FC光纤跳线将1310nm光发模块输出端1310T与光功率计连接,形成平均光功率测试系统,调整光功率计,使适合测1310nm信号。 10.将BM1拨至数字,BM2拨至1310nm。 11.接通PCM编译码模块、CPLD模块和1310nm光发模块(用K10)的电源。 12.用万用表在T103和T104监控R110(阻值为1Ω)两端电压,调节电位器W101,使半导体激光器驱动电流为额定值25mA。 13.用光功率计测量此时光发端机的光功率,即为光发端机的平均光功率。 14.测消光比用数字信号源模块输出的NRZ码作为信号源,请参看系统简介中的数字信号源模块部分。用示波器从T504观测此信号,连接T504与T101,将数字信号拨为全“1”,测得此时光功率为P1,将数字信号拨为全“0”,测得此时光功率为P0。

可编程逻辑器件、FPGA、CPLD实验报告1

CPLD/FPGA 设计实验报告 实验名称: 组合电路设计基础 实验目的: 掌握Quartus II 软件的基本使用方法,完成基本组合电路设计 学生姓名: 学号: 实验内容: 实验一 半加器 一、 创建工程 工程名称:add_half 顶层实体文件名:add_half 器件:EPM7032SLC44-10 二、 创建文件 创建Block Diagram/Schematic 文件,实现一个半加器功能电路。 三、 编译工程 报告中下列数据是多少 total macrocells:2 total pins:8 装 订 线

四、仿真电路 1、创建VWF文件 2、设定“End Time”为20us 3、在VWF文件中添加Node OR Bus 4、编辑波形 5、仿真 6、画出仿真结果 实验二全加器 一、创建工程 工程名称:add_all 顶层实体文件名:add_all 器件:EPM7032SLC44-10 二、创建文件 创建Block Diagram/Schematic文件,实现一个全加器功能电路。

三、编译工程 报告中下列数据是多少 total macrocells:2 total pins:9 四、仿真电路 1.创建VWF文件 2.设定“End Time”为20us 3.在VWF文件中添加Node OR Bus 4.编辑波形 5.仿真 6.画出仿真结果 实验三模十计数器 一、创建工程 工程名称:count10 顶层实体文件名:count10 器件:EP1C3T100C8 二、创建文件 创建Block Diagram/Schematic文件,实现一个模十计数器功能电路。

实验报告 (1)

题目:避障小车系统设计 院系名称:自动化学院 学生姓名:焦静(11)杨靖(19)谭俊龙(23)专业名称:测控技术与仪器 班级:测控1101 时间:2013年 11月18 日至 11月 29日

题目:避障小车系统设计 一.实验目的 本课题是基于AT89C52单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶,在遇到障碍物时可以自主进行识别并选择避让。小车系统以 AT89S52 单片机为系统控制处理器;采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。此外,通过对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。 二.设计要求 1.小车在指定路线上行驶 2.遇到障碍物时可避让并继续行驶 注意:小车驱动芯片LM298N的使用,红外传感器ST188,单片机控制程序的设计。 三.设计器材

四.设计方案及分析(包含设计电路图) 1.任务 设计一个基于直流电机的自动寻迹小车,使小车能够自动检测地面黑色轨迹,并沿着黑色车轨迹行驶。系统方案方框图如图1-1所示。 图1-1 系统方案方框图 2.系统设计方案 2.1小车循迹原理 这里的循迹是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。通常采取的方法是红外探测法。红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限, 2.2控制系统总体设计 自动循迹小车控制系统由主控制电路模块、稳压电源模块、红外检测模块、电机及驱动模块等部分组成,控制系统的结构框图如图2-1 所示。

实验三 CPLD的ROM、RAM使用

实验三 CPLD的ROM/RAM使用 一、实验目的 1、学会使用LPM参数化模块库进行CPLD的ROM设计。 2、学会使用LPM参数化模块库进行CPLD的RAM设计。 3、学会用QuartusII进行波形仿真,验证设计的ROM/RAM是不是正确。 4、了解所选器件的逻辑单元结构 二、实验原理 以用LPM参数化模块库设计一个8k的rom为例,选择器件为EPF10K20TC144-3。 1、打开QuartusII,新建一个工程rom8k。 2、新建一个图形输入文件.bdf 3、打开symbol tool,选择megafunctions/storage下的lpm_rom,点击OK或者点击MegaWizard Plug_in Manager… 或者

4、该宏函数输出的形式及存放目录和名称 5、选择器件及ROM的容量(输出数据宽度和地址宽度,MAX系列只有RAM),cyclone和stratix 系列可以是单时钟 6、选择输入输出端口(如果输出端口不选择,则只需要一个时钟信号,即输出是组合电路输出)。

7、加载ROM中要存放的文件。 8、创建ROM中要存放的文件,打开file/new/others下的memory initialization file 9、选择存放的内容容量 10,填写存放内容后保存

11、加到前面设计的ROM中去。 12、完成设计,点击ok 13、加入输入输出引脚 14、保存.bdf文件(注意文件名不能跟创建的rom文件名一致),建立波形文件,进行仿真。 三、实验内容 1、用LPM参数模块化设计方法设计一个容量为16K(数据位宽为8bit)RAM 2、选择合适器件,并进行引脚分配 3、查看器件内部资源使用情况,并对引脚重新进行合理分配 4、建立波形文件,进行时序仿真,学会时序分析。 四、实验报告 对设计过程通过截图来进行说明,附上仿真结果。

FPGA 实验报告

FPGA 实验任务书—实验一 课程名称FPGA 适用专业微电子、通信 实验项目FPGA 最小系统—认识D E2 开发板实验课时 2 实验地点6505 实验时间11 周周四7、8 节一、实验目的: 1.认识F PGA 芯片,熟悉其外围接口、连接方式及其功能。 2.利用控制面板测试D E2 开发板,进一步熟悉F PGA 功能。 二、实验内容: 1.认识D E2 开发板中F PGA 芯片和所有外围接口。 1)请在板子上找出以下内容: 2)打开电源,观察板子的反应,与接电源之前有何不同? 答:所有LED都在闪烁,7段数码管显示数字0到F。 2.运行DE2的控制面板,对DE2进行测试。测试内容包括:7-SEG、PS/2、LED、LCD、SDRAM/SRAM/FLASH、VGA、LINE OUT。 三、实验步骤: 1. 打开实验板包装,逐一认识各个接口、电路和芯片。 2. 将实验板连接入P C,上电。观察实验板的反应。

3.打开Q uartus II,运行第一个程序。打开控制面板,逐一对主要外围接口进行测试,并记录。 4.运行 DE2_control_panel 目录下的 DE2_Control_Panel.exe,Open->Open_USB_port, 下面即可对开发板进行测试了; 图 2- 4 DE2 Control Panel 5.PS2 和 7-SEG 的测试。在开发板的插上键盘,输入字符即可显示在上图文本框中;设置HEX0 到 HEX7 的数字,点击 Set,开发板上相应位置的数码管显示相应数字。 6.LED 和 LCD 的测试。如同上一步。 7.VGA 测试。将一台显示器数据线连接到开发板的 VGA 口上。选择 SRAM,将 File Length 单选框选中。点击下面的 Write a File to SRAM,打开 DE2_demonstration\pictures\picture.dat;100%完成。如下图示选 VGA 项。去掉 Default Image 前面的√。 图 2- 5 VGA 测试 选择 TOOLS 项,选择 SRAM Multiplexer->Asynchronous1 选项,点 configure 按钮。此时可看到显示器上显示图片如下 图2-6 图片

CPLD初学者入门知识

CPLD初学者入门知识 CPLD按英语说是复杂可编程逻辑器件,对于一个硬件工程师来说,能应用cpld技术是一个十分强大的能力。它的应用可在根本上解决许多数字电路设计的问题,能大幅度改变设计思想,大幅度提高工作效率,甚至可以把以前的数十颗普通分立芯片的功能用一个芯片实现。它还有一个十分优秀的优点,在硬件原理设计和布线的时候,不用考虑引脚的顺序,可从布线方便的角度安排需要的信号位置,使得布线难度大幅度降低。由于布线难度下降,直接带来布线优化的好处。本文就cpld初学者面对的问题做一个简单描述。希望对有志于学习cpld的硬件工程师有所启发。 我的老师大学毕业时,还没有cpld呢,可现在是他在指导我做fpga设计工作。 1:首先进行的准备是有针对性的学习cpld物理构造和资源 先不要着急去买开发板,不要着急写逻辑。了解硬件本身更加重要。Cpld是一个很大的范畴,初学者会淹没在众多厂家、众多资料的海洋中。针对这个问题,笔者建议大家有所针对的进行知识获取,推荐大家以altera的max ii系列cpld为突破口,首当其冲的就是emp240这颗芯片。把它吃透,则max ii系列的其它都很好理解了,构造都一样,只是资源增加而已。其它厂家的也好用了,因为它们都是大同小异的。之所以选择emp240是因为它应用已经很广泛,市场上容易买到,而且价格便宜,批量买只有8元/片左右。 Emp240顾名思义具有240个宏单元。简单理解就是有240个触发器,或者理解成240个bit的存储单元。这样都好理解,以后对工程应用就容易估算容量了。对于工程来说,一般这么做,首先依据需求设计引脚的数量,然后再在开发环境中进行逻辑编写、软仿真,这样,在硬件完全没有开始之前,就能把逻辑部分全部设计完,只差物理验证一步了。仿真分2布,写逻辑时用quartus自带的仿真即可。逻辑写完之后,最好用model sim。Model sim是专门的仿真软件,功能十分强大,但对初学者来说,最好先不要介入这个领域。先把cpld用上是最主要的。 好了,这样就把目标缩小到一个点上了。需要花功夫把240的相关资料吃透,把quartus用熟。到这里,一分钱都不用花。时间用在3个点上:1、240的构造和资源,2、quartus软件使用,3、verilog hdl 语言学习。 设计中,如果你的逻辑需要100个单元,编译后会发现用掉120个单元,这是cpld内部布线需要。作为实际应用,必须要留20%以上的富余量,比如编译结果指示用220个单元,这时就不要用240了,应该使用570,因为240的富余量不够。 一个小技巧,针对EPM240和570来说,常用的封装是T100的,就是TQFP100,这2个芯片的封装是向下兼容的,因此,设计时,即便决定使用240,也要按570去画板子。焊接是兼容的,同时万一240不够了,可以改焊570。 #p#向应用cpld走近一步,用开发板练习#e#2:向应用cpld走近一步,用开发板练习。 有了上面的基础,可以投资买开发板了,一般卖板子的都配套好软件和编程器了。针对240的开发板可能很少,可能570的好买。注意买cpld的开发板,不要急于用fpga的,学会cpld之后,再用fpga就容易多了。要一步一步来。570的开发板,带仿真器,带软件,带练习光盘,一整套下来估计200-300元人民币。这个资金对你要学会的技术来说,微不足道。

实验一 CPLD可编程数字信号发生器实验

实验三 抽样定理和PAM 调制解调实验 一、实验目的 1、 通过脉冲幅度调制实验,使学生能加深理解脉冲幅度调制的原理。 2、 通过对电路组成、波形和所测数据的分析,加深理解这种调制方式的优缺点。 二、实验内容 1、 观察模拟输入正弦波信号、抽样时钟的波形和脉冲幅度调制信号,并注意观察它们之 间的相互关系及特点。 2、 改变模拟输入信号或抽样时钟的频率,多次观察波形。 三、实验器材 1、 信号源模块 一块 2、 ①号模块 一块 3、 20M 双踪示波器 一台 4、 连接线 若干 四、实验原理 (一)基本原理 1、抽样定理 抽样定理表明:一个频带限制在(0,H f )内的时间连续信号()m t ,如果以T ≤H f 21 秒的间隔对它进行等间隔抽样,则()m t 将被所得到的抽样值完全确定。 假定将信号()m t 和周期为T 的冲激函数)t (T δ相乘,如图3-1所示。乘积便是均匀间隔为T 秒的冲激序列,这些冲激序列的强度等于相应瞬时上()m t 的值,它表示对函数()m t 的抽样。若用()m t s 表示此抽样函数,则有: ()()()s T m t m t t δ=

图3-1 抽样与恢复 假设()m t 、()T t δ和()s m t 的频谱分别为()M ω、()T δω和()s M ω。按照频率卷积定理,()m t ()T t δ的傅立叶变换是()M ω和()T δω的卷积: []1 ()()()2s T M M ωωδωπ = * 因为 2()T T s n n T πδδωω∞ =-∞ =-∑ T s π ω2= 所以 1()()()s T s n M M n T ωωδωω∞ =-∞?? =*-???? ∑ 由卷积关系,上式可写成 1()()s s n M M n T ωωω∞ =-∞ =-∑ 该式表明,已抽样信号()m t s 的频谱()M s ω是无穷多个间隔为ωs 的()M ω相迭加而成。这就意味着()M s ω中包含()M ω的全部信息。 需要注意,若抽样间隔T 变得大于 H f 21 ,则()M ω和()T δω的卷积在相邻的周期内存 在重叠(亦称混叠),因此不能由()M s ω恢复()M ω。可见,H f T 21 = 是抽样的最大间隔,它被称为奈奎斯特间隔。 上面讨论了低通型连续信号的抽样。如果连续信号的频带不是限于0与H f 之间,而是 限制在 L f (信号的最低频率)与H f (信号的最高频率)之间(带通型连续信号),那么, 其抽样频率s f 并不要求达到H f 2,而是达到2B 即可,即要求抽样频率为带通信号带宽的 两倍。

CPLD模块及接口说明

CPLD系统模块及接口说明 F.1 概述 模块结构框图如图F.1-1所示。CPLD采用Altera新一代的MAXII器件EPM570T100C5,配合QuartusII可以很容易实现CPLD的开发,模块具有4位键盘输入、4位开关量输入,8个动态LED显示,1个静态LED显示,8个发光管,1个蜂鸣器,用于完成实验,同时引出了3.3V的IO口,方便模块的扩展。 程序下载方法采用ByteBlaster,本模块下载时,插上跳线帽JP214~JP217;其他模块下载时拔下跳线帽JP214~JP217。 图F.1-1 CPLD系统模块框图

F.2 电路说明 F.2.1 ByteBlasterⅡ下载电路 本模块的ByteblasterII下载电路图如图F.2-1,通过25针计算机并口进行。整个实验箱系统共有3块FPGA/CPLD模块,均通过本模块ByteblasterII 口进行程序下载。 注意:本模块下载程序时,插上JP214~JP217跳线帽。其他模块通过本ByteblasterII口下载程序时,拔下JP214~JP217跳线帽。 图F.2-1 ByteblasterII下载电路图

F.2.2 数码管驱动缓冲电路 MAXII器件为低电压器件采用3.3V供电,一般采用一级缓冲和5V的外设相连接。图F.2-2给出数码管驱动缓冲电路。8位动态数码管的段由U202驱动,位由U203驱动。1位静态数码管由U204驱动。 图F.2-2数据缓冲电路

F.2.3 键盘、开关量输入及发光管显示 本模块设有4位键盘输入(也可由跳线JP206~JP209选择TP201~TP204输出,见表F.3-9),4位开关量输入及8位发光管输出。键盘输入为负脉冲。 图F.2-3键盘、开关量输入及发光管电路

嵌入式大型实验报告

嵌入式系统大型实验报告 嵌入式系统大型实验报告 (2014级) 实验题目电子广告牌的设计与实现 学生姓名 学生学号 指导教师 专业班级 所在学院 提交日期2017.6.9

电子广告牌的设计与实现 一、实验目的 通过实验掌握S3C2410X的中断控制寄存器的使用; 通过实验掌握S3C2410X处理器的中断响应过程; 通过实验掌握ARM处理器的中断方式和中断处理过程; 通过实验掌握ARM处理器中断处理的软件编程方法; 了解看门狗定时器的作用; 掌握S3C2410X看门狗定时器的计时和中断的使用; 初步掌握液晶屏的使用及其电路设计方法; 掌握S3C2410X处理器的LCD控制器的使用; 通过实验掌握液晶显示文及图形的方法与程序设计。 掌握S3C2410X芯片的I/O控制寄存器的配置; 了解ARM 芯片中复用I/O口的使用方法; 掌握矩阵LED的应用原理。 二、实验设备 硬件:EmbestEdu Kit-IV平台,ULINK2仿真器套件,PC机; 软件: μVision IDE for ARM集成开发环境,Windows 98/2000/NT/XP。 三、实验内容 1.编写液晶显示屏驱动程序和应用程序,要求能够显示ASCII码字符、汉字字符、简单图 形、彩色位图,用定时器控制某一元素显示的时间并周期性地发生变化。 2.编写点阵屏驱动程序和应用程序,设计字码库,要求能够显示ASCII码字符和汉字字符。 用按键控制点阵屏的向左、向右方向的滚动,以及字符的闪动。 四、实验原理 按键中断实验原理 主板上有两路按键,左边的KEY1按键,其导出了一个输出信号KEY0,信号KEY2对应了标号EXINT1。按键信号EXINT0直接输入到CPLD芯片。在实验平台中,EXINT0信号经过CPLD逻辑处理后,最终连接到CPU的中断引脚上。实验平台的CPLD内部逻辑如下图:

相关文档