#《VHDL实用教程》完整版_第1页
#《VHDL实用教程》完整版_第2页
#《VHDL实用教程》完整版_第3页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、第14章电子设计竞赛实例介绍本章首先介绍97年全国大学生电子设计竞赛赛题之一.数字频率计的设计示例.主要基于杭州电子工业学院获得一等奖的设计方案本项设计比较能反映设计者的电子技术基础理论软硬件设计知识和EDA技术的使用能力等方面的基本技能然后介绍和之相关的通用开发板§14.1多功能等精度频率计基于传统测频原理的频率计的测量精度将随被测信号频率的下降而降低,在实用中有较大的局限性而等精度频率计不但具有较高的测量精度而且在整个频率区域保持恒定的测试精度 本项设计的基本指标为(1) 频率测试功能测频范围0.1Hz -70MHz .测频精度测频全域相对误差恒为百 万分之一周期测试功能信号测试

2、范围和精度要求和测频功能相同脉宽测试功能测试范围0.1 s 1s .测试精度0.01 s 占空比测试功能测试精度1 U 99 .11测频原理Fxe 测量频率为Fx施VMM号信号待信号图14-1 基于ispLSI的等精度测频法原理框图等精度测频的实现方式可以简 化为图14-1来说明图中预置门控信号是宽度为 Tpr的一个脉冲. CNT1和CNT2是两个可控计数器 标准频率信号从CNT1的时钟输入端CLK输入.其频率为Fs 经整 形后的被测信号从 CNT2的时钟输 入端CLK输入,设其真实频率值为当预置门控信号为高电平时经整形后的被测信号的上沿通过D触发器的Q端同时启动计数器CNT1和CNT2 CN

3、T1 CNT2分别对被测信号频率为Fx 和标准频率信号频率为Fs 同时计数 当预置门信号为低电平时,随后而至的被测信号的上沿将使这两个计数器同时关闭 设在一次预置门时间 Tpr中对被测信号计数值为Nx .对标准频率信号的计数值为Ns .则下式成立由此可推得.其误差分析如下 若设所测频率值为Fx / Nx = Fs / Ns Fx = ( Fs / Ns )Fx .其真实值为数的起停时间都是由该信号的上跳沿触发的 时间内Fs的计数Ns最多相差一个脉冲Fx/Nx = Fs / NsFxe / Nx = Fs / (Ns+ 由此可分别推得. Fx = (Fs / Ns)Fxe = Fs / (Ns+

4、FxeFxe根据相对误差公式有(14-1)(14-2)Fxc .标准频率为Fs 在一次测量中Fx的计数Nx则下式成立在Tpr | et |et) Nxet )|Fxe-Fx|Fxe时间内对1.由于Fx无误差:在* Nx(14-3)(14-4)(14-5)(14-6)(14-7)(14-8)(14-9)(14-10)(14-11)提高测量精度标准频率误差可以进行校准*和被测信号的频率无关C.等精度测量法的测 测试电路可采用<1将式(14-5)(14-6) 代入式 14-7Fxe _ | et|Fxe = NsJ ' | et |1 丄| et| NsNsFxe1即11 =花厂Ns由

5、上式可以得出以下结论Ns= TprFs(1) 相对测量误差和频率无关(2) 增大Tpr或提高Fs .可以增大Ns .减少测量误差(3) 标准频率误差为Fs/Fs 由于晶体的稳定度很高(4) 等精度测频方法测量精度和预置门宽度和标准频率有关在预置门时间和常规测频闸门时间相同而被测信号频率不同的情况下 量精度不变,而常规的直接测频法精度随着被测信号频率的下降而下降 高频率稳定度和高精度的恒温可微调的晶体振荡器作标准频率发生电路测频专用模块工作原理和设计根据以上给出的等精度测频原理利用VHDL设计的测频模块逻辑结构如图14-2所示.各模块功能和工作步骤如下1.测频/测周期实现被测信号脉冲从 CONT

6、RL模块的FIN端输入,标准频率信号从 CONTRL的FSD端输入. CONTRL的CLR是此模块电路的工作初始化信号输入端在进行频率或周期测量时,完成如下步骤(1) 令TF=0 选择等精度测频,然后在CONTRL的CLR端加一正脉冲信号以完成测 试电路状态的初始化(2) 由预置门控信号将 CONTRL的START端置高电平预置门开始定时此时由被测信号的上沿打开计数器 CONT1 .进行计数.同时使标准频率信号进入计数器CONT2(3) 预置门定时结束信号把 CONTRL的START端置为低电平由单片机来完成在.单片机得 并根据等精度被测信号的下一个脉冲的上沿到来时CONT1停止计数 同时关断

7、CONT2对Fs的计数A6A7l_32AB START end END CLR D I 4OO4A4OO5A5OO6OO7CHKFC0NTRL2PUL(4) 计数结束后 CONTRL的EEND端将输出低电平来指示测量计数结束 到此信号后即可利用ADRB ADRA分别读回CONT1和CONT2的计数值. 测量公式进行运算 计算出被测信号的频率或周期值图14-2测频模块逻辑图I 31控制部件设计2如图14-3所示,当D触发器的输入端 START为高电平时若FIN端来一个上沿则Q端变为高电平,导通FIN C CLK1和FSDC CLK2 同时EEND被置为高电平作为状态标 志 在D触发器的输入端 S

8、TART为低电平时 当FIN端输入一个脉冲上沿 FIN C CLK1 和FSD C CLK2的信号通道被切断3计数部件设计*图14-2中的计数器 CONT1/CONT2是32位二进制计数器.输出8位数据总线.单片 机可分4次将32位数据全部读出4脉冲宽度测量和占空比测量模块设计根据上述脉宽测量原理设计如图14-4 (CONTRL2)的电路原理示意图该信号的上沿和下沿信号对应于未经处理时的被测信号的50 %幅度时上沿和下沿信号被测信号从FIN端输入.CLR为初始化信号.START为工作使能信号图14-4中CONTRL2的PUL端和GATE的输入端PUL相连其测量脉冲宽度的工作步骤是(1)(2)为

9、FSD(3) 的PUL向CONTRL2的CLR端送一个脉冲以便进行电路的工作状态初始化将GATE的CNL端置高电平表示开始脉冲宽度测量这时CONT2的输入信号在被测脉冲的上沿到来时 CONTRL2 端输出高电平标准频率信号进入计CONTRLHN>数器CONT2(4) 在被测脉冲的下沿到来时 .CONTRL2 的PUL端输出低电平.计数器CONT2被关断(5) 由单片机读出 CONT2中的结果并 通过上述测量原理公式计算出脉冲宽度CONTRL2子模块的主要特点是 电路的 设计保证了只有 CONTRL2被初始化过后才能工作 测到上沿后 PUL才为高电平,然后在检测到下沿时 平以便通知单片机测

10、量计数已经结束START /|EEND>CUg>|clr>CLRC>图14-3测频和测周期控制部分电路.否则PUL输出始终为零 只有在先检 .PUL输出为低电平ENDD输出高电如果先检测到下沿.PUL并无变化在检测到上沿占空比的测量方并紧接一个下沿后CONTRL2不再发生变化直到下一个初始化信号到来法是通过测量脉冲 宽度记录 CONT2 的计数值 N1 ,然 后将输入信号反 相,再测量其脉冲 宽度测得CONT2 计数值N2 .则可 以计算出CONTRL214-4脉冲 宽度 测量 原理 图N1 100%N1+N2频率计功能模块的VHDL描述基于以上的测试原理和各模块的功能

11、描述以下给出相应的 VHDL逻辑描述【程序13-1】 模块CNT1或CNT2 .文件名 counter.vhd占空比LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT ISPORT (A, B, CLK, CLR: IN STD_LOGIC;OO: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);Q: OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END CNT;ARCHITECTURE behav OF CNT ISSIGNAL CNT

12、: STD_LOGIC_VECTOR(31 DOWNTO 0);SIGNAL SEL : STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINPROCESS(CLK, CLR)BEGINIF CLR = '1' THEN CNT <= (OTHERS =>'0');ELSIF CLK'EVENT AND CLK = '1' THEN CNT <= CNT + 1;END IF;END PROCESS;PROCESS(A, B)BEGINSEL(0) <= A;SEL(1) <= B;IF SE

13、L = "00" THENELSIF SEL = "01" THENELSIF SEL = "10" THENELSIF SEL = "11" THENELSEEND PROCESS;Q <= CNT;END behav;【程序13-2】 模块FCH .文件名LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FIN ISOO <= CNT(7 DOWNTO 0);OO <= CNT(15 DOWNTO 8);OO <= CNT(23 DOWNTO

14、 16);OO <= CNT(31 DOWNTO 24);OO <= "00000000"END IF;FIN.vhdPORT ( CHKF, FIN, CHOIS : IN STD_LOGIC;FOUT : OUT STD_LOGIC );END FIN;ARCHITECTURE rtl OF FIN ISBEGINFOUT <= (FIN AND CHOIS) OR (CHKF AND NOT CHOIS);END rtl;【程序13-3】 模块CONTRL 文件名 CONTRL.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1

15、164.ALL;ENTITY CONTRL ISPORT ( FIN, START, CLR, FSD : IN STD_LOGIC;);CLK1, EEND, CLK2, CLRC : OUT STD_LOGICEND CONTRL;ARCHITECTURE mix OF CONTRL ISSIGNAL QQ1 : STD_LOGIC;BEGINPROCESS(FIN, CLR, START)BEGINIF CLR = '1' THENQ1 <= 'O'ELSIF FIN'EVENT AND FIN = '1' THENQQ1 &

16、lt;= START;END IF;END PROCESS;CLRC <= CLR; EEND <= QQ1;CLK1 <= FIN AND QQ1;CLK2 <= FSD AND QQ1;END mix;【程序 13-4 】CONTRL2 文件名 CONTRL2.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CONTRL2 ISPORT ( FIN, START, CLR : IN STD_LOGIC;ENDD, PUL : OUT STD_LOGI

17、C );END CONTRL2;ARCHITECTURE behav OF CONTRL2 ISSIGNAL QQ : STD_LOGIC_VECTOR(3 DOWNTO 1);SIGNAL A0, B0, C0, F2 : STD_LOGIC;SIGNAL S : STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINS(0) <= QQ(3);S(1) <= QQ(2);PROCESS(START, S)BEGINIF START = '1' THENF2 <= FIN;ELSE F2 <= NOT FIN;END IF;IF S =

18、2 THENPUL <= '1'ELSE PUL <= '0'END IF;IF S = 3 THENENDD <= '1'ELSE ENDD <= '0'END IF;END PROCESS;A0 <= F2 AND QQ(1);B0 <= NOT A0;C0 <= NOT F2;PROCESS(C0, CLR)BEGINIF CLR = '1'THENKONXIN杭州康芯电子有限公司KONXIN第14章电子设计竞赛实例介绍'O'QQ(1)ELSIF CO

19、'EVENT AND CO = '1' THENEND IF;END PROCESS;PROCESS(AO, CLR)BEGIN<=QQ(1) <= '1'IF CLR = '1' THENQQ(2)ELSIF AO'EVENT AND AO = '1' THENEND IF;END PROCESS;PROCESS(BO, CLR)BEGIN<='O'QQ(2) <= '1'IF CLR = '1' THENQQ(3)ELSIF BO'

20、EVENT AND BO = '1' THEN<='O'QQ(3) <= '1'END IF;END PROCESS;END behav;【程序13-5 模块GATE .文件名 GATE.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY GATE ISPORT (CLK2, FSD, CNL, PUL : IN STD_LOGIC;CLKOUT : OUT STD LOGIC);END GATE;ARCHITECTURE behav OF GATE ISBEGINPROCESS(CL

21、K2, PUL, FSD, CNL)BEGINIF CNL = 'O' THENELSECLKOUT <= CLK2;CLKOUT <= PUL AND FSD;END IF;END PROCESS;END behav;根据图14-2的接口方式在一个顶层设计中将以上各模块通过元件例化连接成一个完整的设计实体最后进行综合适配下载和测试顶层文件的设计留给读者测频主系统实现测频主系统原理如图 14-5所示由单片机89C51完成整个测量电路的测试控制数31片324VHDL实用教程据处理和显示输出一片ispLSI1032E完成各种测试功能键盘信号由89C51进行处理.它从10

22、32E读回计数数据进行运算并向显示电路输出测量结果 显示器电路采用7段LED 显示器 在标准信号频率为 60MHz的情况下.其测量精度可达 1.110-8 .即能够显示近8位有效数字系统的基本工作方式如下(1) 图14-5中的7PIN座为数显和键控信号接口原理图略去由8片4094完成串行显示,其中89C51的P1.0接8个4094的输出使能端 PIN15 P1.1接第一片的串行数据输入端 PIN2 P1.2接时钟端 PIN3系统设置8个键下调 上调时间 自校 占空比 脉宽 周期 频率.其中、时间键选定后可通过“下调和上调键对预置门时间进行调节通过一片4014将键控信息串行读入单片机<14

23、3-为测频标准频率60MHz信号输入端为被AMPL模块放大整形后的被测信号待测信号由FIN 输入为自校频率发生模块 CHEKF为自校频率输入端 FSTD(3) FINPUT(4) STADFP10P11P12 'P13-P16P17VCC P33P32-P35-1c2345678 AT89C5113121514C2 33pT eaX1X2 RSTP37P363119189171612MHz C0k33pR1E1 + RSTP00A0P01A1P02A2P03A3P04A4P05A5P06A6P07A7P20B0P21B1P22B2P23B361CHEP24B430P25B531P26B

24、6P27B7RXDP30ETXDP31Un.ALEP321 D21222324P33I25262728101130111213141516171839oo38373635343332VCCP34P35P36P37LATTICEISPLSI1032EPLCC84678426272829KF2MHz晶振STADF4 5 翳 8 3 4 1大和 整电路34?0MHz晶振vCCnFINpUT2入 输 率 频P10_ T P11 F P12C HOICESTARTP13VCC P14CLR/TRIGEENDADRBADRA14-5测频主系统原理图控 键 和 示 显 码 数,当 TF = 1 时 CLR/

25、TRIG计数结束测频,CHOICE = 0 自校,门宽可通过键盘由单片机控14.1.5专用模块测试控制信号说明(1) TF ' P31 I TF = 0 时等精度测频,TF = 1时测脉宽(2) CLR/TRIG P34丨当TF = 0 时系统全清零功能 的上跳沿将启动CONT2进行脉宽测试计数(3) END ' P3.0 脉宽计数结束状态信号 -END = 1(4) CHOICE ' P3.2 I 自校 / 测频选择 CHOICE = 1(5) START ' P3.3 当TF = 0 时.作为预置门闸制,START=1时预置门打开 当TF = 1 时,STA

26、RT有第二功能此时,当START=0时测负脉宽当START=1时测正脉宽利用此功能可分别获得脉宽和占空比数据(6) EEND P3.5 I丨等精度测频计数结束状态信号,EEND = 0 时计数结束(7) ADRA . ADRB -计数值读出选通控制若令AD = ADRB . ADRA.则当AD=0123时可从P0和P2 口由低8位至高8位分别读出两组 4个8位计数值§4.2电子设计竞赛开发板如果希望方便地实现上节介绍的多功能频率计的设计VHDL程序的调试及系统测试比较快捷的方法就是利用本节介绍的电子设计开发板图14-6 通常电子设计竞赛中需开发的主控模块多为数字系统和模拟系统相结合的

27、综合电子系统系统多包括单片机最小系统基于EDA开发的FPGA或CPLD可编程高速系统数码显示系统键控系统ROM/RAM 存储系统高频时钟系统 A/D 转换系统和D/A转换系统等 当所有这些系统连成一协调的 主控系统时.连线极为复杂 高速通道的连线技术以及数模混合系统的抗干扰和单点接 地要求很高且焊成后根据实P3.0 际需要变更系统通道结构的灵 活性要求较高 特别是为了适 应不同的设计目的系统要求能方便地更换不同规模的FPGA/CPLD 芯片1 GWDVP板使用特点 GWDVP 板须和 GW48-CK系统配合使用1 必须利用 GW48-CK提供的 10芯在系 统下载接口和通信线进行下50MHz1

28、2MHZGWDVPCON1载 2 GWDVP板和 GW48-CK 上的FPGA/CPLD 目标芯片板 相互间完全兼容因此可以使用GW48-CK系统所有可配的目标芯片.所以在利用 GWDVP板开发时,便没有逻辑资源不 够用的问题也没有对使用FPGA/CPLD型号的限制3 GWDVP板的FPGA/CPLD目标芯片板上的引脚定义和使用情况和GW48-CK相同2 图14-6说明-1 89C51单片机系统-通过改变FPGA/CPLD中的逻辑结构和跳线可使其上的单KEY2DKEY3KEY4KEY5KEY6KEY7P3.1KEY1DD 6CD4i FPGA/CCD4053D3L5P2X X X X X 1T

29、 5 5 5 5 5 m c 3 3 3 3 3 匸 c clocyoalAX527C512/62256AD574J图14-6电子设计竞赛开发板 GWDVPooooooooCD4052326VHDL实用教程片机系统和 ROM/RAM构成单片机总线工作系 统 单片机最小系统,参见第13章13.17 节 单片机独立工作系统如可和A/D结合可构成类似于DMA的高速数据采集系统“2)显示系统:它们由8个数码显示器和 8个发光管构成的具有独立电源驱动的串行 静态显示系统静态显示系统的优点是.显示亮度好显示稳定 占用单片机端口少 P3.0和P3.1 此2 口都为输入方式.可复用串行静态显示系统很容易构成具有独立电源驱动的系统这对提高主系统的工作稳定性减少干扰及提高系统中的A/D和D/A的工作精度尤为重要(3)ROM/RAM系统.通过GWDVP板上的跳线设置和 4053构成的电子开关系统.可 构成不同的工作

温馨提示

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

最新文档

评论

0/150

提交评论