版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . . . 摘要采用自上向下的设计方法,设计了基于复杂可编程逻辑器件的数字频率计。以AT89C51单片机作为系统的主控部件,完成电路的测试信号控制、数据运算处理、键盘扫描和控制数码管显示。用VHDL语言编程,由CPLD(Complex Programmable Logic Device)完成各种时序控制与计数功能。该系统具有结构紧凑、可靠性高、测频围宽和精度高等特点。关键词 可编程逻辑器件 CPLD 等精度测量法 单片机 VHDLAbstactWith the adoption of the top-down design method and AT89C51 SCMC (Single Ch
2、ip Mico Computer) as the master control component of the system,the circuit test signalcontrolling,data operation processing,keyboard scanning,and nixie tube display as well were completed by the digital cymometer.A CPLD programmed by VHDL,realized various sequence control and count functions.The sy
3、stem is characterized by impact structure,high reliability,high precision,and wide frequency-test-range. Key Wordsprogrammable logic component CPLD measures mensurationsingle chip mico computer VHDL目录摘要.英文摘要.绪论.第一章 设计方案选择.11.1 频率测量模块11.2 周期测量模块31.3 脉冲宽度测量模块41.4 占空比测量模块41.5 标准频率发生电路41.6 小信号处理部分4第二章 基
4、本测量原理与理论误差分析.62.1 等精度频率/周期测量技术.62.2 预置门时间信号与闸门时间信号72.3 高精度恒误差周期测量法72.4 脉冲宽度测量理论误差分析72.5 周期脉冲信号占空比测量误差分析7第三章 方案的实现.93.1 稳压电源设计93.2 测量控制电路93.3 输入信号处理部分.103.4 小信号处理部分.103.5 标准频率方波发生电路.103.6 显示器电路.113.7 实际数字测量部分.14第四章 单片机控制与运算程序的设计.184.1 主流程图.184.2 VHDL源程序19第五章 结束语.25致.26参考文献.27绪论数字频率计是数字电路中的一个典型应用,是计算机
5、、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言,将使整个系统大大简化, 提高整体的性能和可靠性。采用VDHL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分以外,其余全部在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。本文用VH
6、DL在CPLD器件上实现一种8b数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。具有体积小、可靠性高、功耗低的特点。CPLD是一种新兴的高密度大规模可编程逻辑器件,它具有门阵列的高密度和PLD器件的灵活性和易用性,目前已成为一类主要的可编程器件。可编程器件的最大特点是可通过软件编程对其器件的结构和工作方式进行重构,能随时进行设计调整而满足产品升级。使得硬件的设计可以如软件设计一样方便快捷,从而改变了传统数字系统与用单片机构成的数字系统的设计方法、设计过程与设计概念,使电子设计的技术操作和系统构成在整体上发生
7、了质的飞跃。采用CPLD可编程器件,可利用计算机软件的方式对目标期进行设计,而以硬件的形式实现。既定的系统功能,在设计过程中,可根据需要随时改变器件的部逻辑功能和管脚的信号方式,借助于大规模集成的CPLD和高效的设计软件,用户不仅可通过直接对芯片结构的设计实现多种数字逻辑系统功能,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量与难度,同时,这种基于可编程芯片的数量,缩小了系统的体积,提高了系统的可靠性。EDA(电子设计自动化)技术就是以计算机为工具,在EDA软件平台上,对硬件语言HDL为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑综合与优化、逻辑仿真,
8、直至对特定目标芯片的适配编译、逻辑映射和编程下载等工作(文本选用的开发工具为Altera公司的MAX+PLUSII)。EDA的仿真测试技术只需要通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,大大提高了大规模系统电子设计的自动化程度。设计者的工作仅限于利用软件方式,即利用硬件描述语言(如VHDL)来完成对系统硬件功能的描述。 VHDL(VeryHigh Speed Integrated Circuit HardwareDetionLanguage,超高速集成电路硬件描述语言)诞生于1982年,是由美国国防部开发的一种快速设计电路的工具,目前已经成为I
9、EEE(TheInstituteof ElectricalandElectronicsEngineers)的一种工业标准硬件描述语言。相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(ToptoDown)和基于库(LibraryBased)的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去,从而实现可编程的专用集成电路(ASIC)的设计。第1章
10、设计方案的选择根据频率计的设计要求,电路系统可划分为几个基本模块,如图1.1所示: 波形整形电路 前置放大电路 频率, 周期测量电路 标准频率信号发生电路占空比测量 电路脉冲宽度测量电路脉冲信号处理电路 稳压电源 显示电路 控制与数据 处理电路被测信号输入预置门控信号图1.1 频率计组成模块框图1.1 频率测量模块1.1.1 直接测量法大家都知道,如果根据基本原理实现对频率的数字化测量,是一种直接测量的手段,这种方法比较简单,如果能满足设计要求的话,应该作为首要的选择方案。下面我们简单分析一下使用该方法是否能满足设计要求,把被测频率信号经脉冲整形电路处理后加到闸门的一个输入端,只有在闸门开通时
11、间T(以秒计),被计数的脉冲送到十进制计数器进行计数。设计数器的值为N,则可以得到被测信号频率为f = N / T,经过对照数字化直接测量频率的原理我们可以发现,本测量在低频率段的相对测量误差较大,即在低频率段不能满足本设计的要求。1.1.2 组合测频法是指在高频时采用直接测量法,低频时采用直接测量周期法测信号的周期,然后换算成频率。这种方法可以在一定程度上弥补方法(1)的不足,但是难以确定最佳分测点,而且电路实现比较复杂。1.1.3 倍频法是指把频率测量围分成多个频率段,使用倍频技术,根据频率段设置倍频系数,将经过整形的低频信号进行倍频后再进行测量,对高频率段则直接进行测量,倍频法比较难以实
12、现。1.1.4 等精度测频法通过对传统的测量方法的分析与研究,结合高精度恒误差测量原理,我们设计了一种测量精度与被测频率无关的硬件测频电路。本方法立足于快速的宽位数高精度浮点数字运算。其实现方式可以用图1.2来说明。图中,预置门控制信号是宽度为Tpr的一个脉冲,CNT1和CNT2是两个可控计数器。标准频率信号从CNT1的时钟输入端CLK输入,其频率为fs,经过整形后的被测信号从CNT2的时钟输入端CLK输入,设其实际频率为fx,当预置门信号为高电平时,经过整形后的被测信号的上升沿通过D触发器的Q端同时启动计数器CNT1和CNT2。CNT1和CNT2分别对被测信号和标准频率信号同时计数。当预置门
13、信号为低电平时,随后而至的被测信号的上升沿将使两个计数器同时关闭。CLKENCLK CNT2 OUT2CLRCLKENCLK CNT1 OUT1CLRD Q预置门控信号标准频率信号被测信号清零信号图1.2 等精度测频法原理框图设在一次预置门时间Tpr对被测信号的计数为Nx,对标准的计数值为Nx,则下式成立: fx / Nx = fs / Ns -(式1.1) 由此可推得 fx = fs Nx / Ns -(式1.2)相对误差公式 = ( 2 / Ns + fs / fs ) -(式1.3)从误差分析中可以看出来, 它的测量精度与Ns和标准频率精确度有关, 而与被测频率无关. 显然, Ns决定于
14、预置门时间和标准频率信号的频率, 其关系式如下: Ns = Tpr fs -(式1.4)如果采用频率为50MHz的晶体震荡器, 则有: | 1 / Ns -(式1.5)如果预置门时间Tpr = 0.1s, 则: Ns = 0.1 60 000 000 = 6 000 000, | 1.5 10-6以上四种方法中, 倍频法虽然在理论上可以达到很高的精度, 但是在低频段, 就目前常规的锁相器件而言, 锁相电路工作性能不理想, 频率小于100Hz时甚至不能工作.前三种方法本质上都是立足于频率基本定义, 没有摆脱传统的测量方法的局限, 从下文的详细论述中可以看出, 用方法(4)可以用单片机程序方便地完
15、成宽位浮点数的数学运算, 实现高精度测量.基于上述论证以与第二部分中详细的理论分析, 我们准备选择方法(4). 1.2 周期测量模块1.2.1 直接周期测量法用被测信号经过放大整形后形成的方波信号直接控制计数门控电路, 使主门开放时间等于信号周期Tx, 时标为Ts的脉冲在主门开放时间进入计数器. 设在Tx期间计数值为N, 可以根据以下公式来算得被测信号周期: Tx = NTs -(式1.6)经过误差分析, 可以得出结论: 用该测量法测量的时候, 被测信号的频率越高, 测量误差越大.1.2.2 等精度周期测量法该方法在测量电路和测量精度上与等精度频率测量完全一样, 只是在进行计算时所用的公式不同
16、, 用周期1/T代换频率f就可以了, 它的计算公式是: Tx = TsNs / Nx -(式1.7)从降低电路的复杂度以与提高精度(特别是高频)上考虑, 本设计将要采用方法(2)测量被测信号的周期.1.3 脉冲宽度测量模块在进行脉冲宽度的测量时, 首先经过信号处理电路进行处理, 限制只有信号的50%幅度以与其以上部分才能输入数字测量部分. 脉冲边沿被处理得非常陡峭, 然后送入测量计数器进行测量. 测量电路在检测到脉冲信号的上升沿的时候打开计数器, 并且在检测到下降沿的时候关闭计数器, 设脉冲宽度为Twx, 计算公式为: Twx = Nx / fs -(式1.8)1.4 占空比测量模块测量一次脉
17、冲信号的脉冲宽度, 记录下它的值为Twx1, 然后将信号反相, 再测量一次脉冲宽度并且记录下它的值为Twx2, 通过下面的公式计算占空比:占空比 = Twx1100% / (Twx1 + Twx2) -(式1.9)1.5 标准频率发生电路本模块采用高频率稳定度和高精度的可微调晶体振荡器作为标准频率发生器.1.6 小信号处理部分小信号处理部分受限于宽带放大器的性能, 放大器电路需要附有高速整形电路. 有以下几种方案:1.6.1 采用分立元件使用场效应管做输入极, 以提高输入阻抗. 用截止频率1 000MHz的三极管9018做放大极. 由于电路复杂, 需要调节的部分较多, 而且一致性差, 所以不予
18、采用.1.6.2 采用运算放大器电路简洁, 但是因为与TTL电平接口而另外需要电平移位电路. 并且需要使用运算放大器做一高速宽带放大器, 市场上难以买到高速运算放大器, 其应用因此受到限制.1.6.3 直接采用比较器采用比较器可以简单的完成设计. 采用高速比较器LM361可以处理高达10MHz的输入信号. LM361有低输入失调电压和电压围灵活等特点, 响应时间最大仅20ns, 输出电平可与TTL电平相匹配.综合考虑, 本部分电路采用方案(3). 比较器输入容易受到干扰, 因此电路上采用净化电源并且需要合理安排地线. 经过最后的实际测量, 输入灵敏度4mV左右, 完全满足小信号测量的需要.第2
19、章基本测量原理与理论误差分析2.1 等精度频率/周期测量技术2.1.1量化误差若所测频率值为fx, 被测频率的真实值为fxe, 标准频率为fs, 在一次测量中, 预置门时间为Tpr, 被测信号技数值为Nx, 标准频率信号计数值为Nx. 由于fx计数的起停时间都是由该信号的上升沿触发的, 因此在Tpr时间对fx的计数Nx无误差, 在此时间的计数Ns最多相差一个脉冲, 即et 1, 则下式成立: fx / Nx = fs / Ns -(式2.1) fxe / Nx = fs / ( Ns + et ) -(式2.2)可以分别推得 fx = fs Nx / Ns -(式2.3) fxe = fs N
20、x / ( Ns + et ) -(式2.4)根据相对误差公式有 | = fxe / fxe = ( fxe - fx ) / fxe -(式2.5)经过整理可以得到 fxe / fxe = et / Ns -(式2.6)因为et 1, 故et / Ns 1 / Ns, 即 et / Ns 1 / NsNs = Tpr fs -(式2.7)根据以上分析, 可以知道等精度测频法具有三个特点: 相对测量误差与被测频率的高低无关; 增大Tpr或fs可以增大Ns, 减少测量误差, 提高测量精度; 测量精度与预置门宽度和标准频率有关, 与被测信号的频率无关, 在预置门和常规测频闸门时间一样而被测信号频率
21、不同的情况下, 等精度测量法的测量精度不变.2.1.2 标准频率误差标准频率误差为fs / fs, 因为晶体的稳定度很高, 标准频率误差可以进行校准, 相对于量化误差, 校准后的标准频率误差可以忽略。2.2 预置门时间信号与闸门时间信号预置门的概念与传统的闸门的概念是不同的. 预置门是指同时启动或同时停止标准频率信号计数器和被测信号计数器的门控信号. 预置门的概念用于高精度恒定误差测频/周期方法中, 并且称预置门的时间宽度为预置门时间.高精度恒定误差测频方法测量精度与预置门时间和标准频率有关, 与被测信号的频率无关. 在预置门时间和闸门时间一样而被测信号频率不同的情况下, 高精度恒定误差频率测
22、量法的测量精度不变, 而直接测频法的精度随着被测信号的增加而接近线性的增大.2.3 高精度恒误差周期测量方法分析思路和结果均对高精度恒误差频率测量相似或一样.2.4 脉冲宽度测量理论误差分析根据方案中的脉冲宽度测量方法, 分析脉冲宽度测量误差.设被测信号的脉冲宽度为Twxe, 标准频率信号频率为fs, 则脉冲宽度的测量值为: Twx = Nx / fs -(式2.8)在一次测量中, 对标准频率信号的计数值Nx可能产生1个标准频率信号周期的计数误差, 则脉冲宽度测量相对误差为: |Twx / Twx| = ( 1 fs ) / ( Nx fs ) = 1 / Nx -(式2.9)其中Nx = T
23、wx fs. 可以看出, 在fs一定的时候, 脉冲宽度越小, 误差越大.当Twx = 100s, fs = 60MHz时, Nx = 6 000, 则有: |Twx / Twx| = 1 / 6 000 = 0.017%2.5 周期脉冲信号占空比测量误差分析使用第一部分中所述的占空比方法, 根据误差合成原理, 周期测量相对误差最大值等于脉冲宽度测量相对误差.在标准频率为60MHz, 被测频率1kHz(即周期为0.001s)的时候, 设其占空比为10%, 则由脉冲宽度测量相对误差公式计算出的相对误差应该小于1 / ( 0.001 10% 60 106 ) = 1 / 6000 = 0.017%第
24、3章方案的实现3.1 稳压电源设计本项设计要求的电源有: +12V, -12V, +5V的稳压电源. 在进行电源设计时, 功率交流输入端加一级电源滤波器, 以降低工频频率干扰.3.2 测量控制电路本电路采用单片机和CPLD/FPGA的结合来实现. 单片机(AT89C51)完成整个测量电路的控制, 数据处理和显示输出, CPLD/FPGA完成计数器的功能. 键盘信号由AT89C51单片机进行处理. AT89C51从CPLD/FPGA读回计数数据并进行高精度浮点运算, 并且向显示电路输出测量结果. 电路系统原理框图如图3.1所示: 电源 晶振信号放大与整形 电路数码显示LED8 显示驱动74LS1
25、648 P0P3.0P3.1 P2 RSETP1.0P1.3 P1.0P1.3 TCLK CPLD/FPGA BCLK 占脉周频复图3.1 等精度数字频率计电路系统原理框图3.3 输入信号处理部分为测量小信号,需要在输入端加前置信号处理电路,将小信号放大后送入整形电路。3.4 小信号处理部分电路如图3.2:图3.2 小信号处理部分电路在调试中发现LM361的输出在零瞬间有毛刺, 在输出与地间并联一个100pF的瓷片电容后消除了毛刺, 而且处理后的波形仍然比较陡峭, 本部分电路的抗干扰能力也很强.3.5 标准频率方波发生电路本设计采用60MHz的晶体震荡器产生标准频率方波信号(频标)供数字测量电
26、路使用。晶体震荡器采用恒温晶体震荡器,稳定度为: 2.010-7 / 24小时。晶体震荡器主要由晶体震荡电路和缓冲放大电路组成。如下图所示:图3.3 60MHz的晶体震荡电路工作原理:如图3.3所示。晶体三极管VT1为60MHz的晶体震荡器,震荡器的输出送至晶体三级管VT2的缓冲放大器进行信号放大,它的反射级有较大的反馈, 使得震荡器更加稳定。电阻R5,R6为偏置,R7为负载电阻,信号通过电容C6耦合输出60MHz的高频信号。其中,VT1集电极回路由电感L1以与电容C4,C5组成并联谐振回路,调节空气可变电容C4,使得回路谐振在震荡频率60MHz上,电感L3和电容C7组成去耦电路,其作用在于滤
27、除电源中的高次谐波,以保证频率波形的纯度。3.6 显示器电路LCD(Liquid Crystal Diodes)是液晶显示器的简称。LED显示块是由发光二极管显示字段的显示器件。在本设计的系统中采用的是七段LED。这种显示块有阴极与共阳极两种,如图3.4所示。 (a)共阴极 (b)共阳极 (c)管脚配置图3.4 七段LED显示块七段显示块与微机接口非常容易。如表3.1所示。表3.1七段LED的段选码在微机应用系统中使用LED显示块构成N位LED显示器。图3.5是N位显示器的构成原理。图3.5 N位LED显示器因为本设计用高精度恒误差的频率和周期测试方法, 预置门时间为1.5s, 在标准频率信号
28、为50MHz的情况下, 根据上文讨论的高精度恒误差的频率和周期测试方法相对误差计算公式可以算出测量精度为: 1 / ( 1.550106 ) = 1.310-8即能够显示接近8位有效数字, 所以电路采用了8位LED显示器. 如图3.6所示。图3.6 八位LED动态显示器电路 本系统的LED的驱动电流由7片串级的串入并出的移位寄存器74LS164提供,基本可以保证LED的亮度,由工作于同步位移寄存器0模式的串行口输出显示数据,用一片74LS164作为显示单位以与工作状态的指示,数据与7位显示串联,即第8位显示数据。图3.7 采用74LS164的动态驱动3.7 实际数字测量部分本设计要求测量功能模
29、块较多, 设计要求的被测信号以与标准频率信号为1MHz, 高频信号之间的信号干扰非常的强. 在方案实现过程中要求处处考虑到干扰问题, 减少布线的复杂程度.各模块的电路详细设计如下:3.71 频率测量与周期测量电路因为本设计采用高精度恒误差频率测量法与高精度恒误差周期测量法, 这两种方法使用的电路完全一样, 所以在方案实现中, 频率测量与周期测量使用同一电路, 只是单片机运算不同.频率测量与周期测量电路由显示在图3.3中的控制信号以与以下三个子模块构成: CONTRL- 本模块的控制部分, 主要接收单片机的指令, 控制计数器CONT1和CONT2. CONT1- 对由被测信号整形后形成的脉冲进行
30、计数. CONT2- 对标准频率信号进行计数.根据高精度恒误差频率和周期测量原理, 本模块电路按以下方式进行工作: 经过整形后的被测信号脉冲从CONTRL的FIN端输入, 标准频率信号从CONTRL的FSD端输入, CONTRL的输入端是本模块电路的工作初始化信号输入端. 在进行频率或周期测量时, 进行以下几步:在CONTRL的CLR端加一正脉冲信号以完成测试电路状态的初始化;由预置门控信号将CONTRL的START端置高电平, 预置门开始定时. 同时由被测信号的上升沿打开计数器CONT1, 并使标准频率信号被关断.预置门定时结束信号把CONTRL的START端置为低电平. 这使在被测信号的下
31、一个脉冲的上升沿到来时, CONT1停止计数, 同时输入CONT2的标准频率信号被关断.控制部分CONTRL的EEND端输出低电平来指示测量计数结束. 单片机读回CONT1和CONT2的计数值, 根据高精度恒误差测量公式进行浮点运算, 计算出被测信号的频率或周期值.3.7.2 控制部分设计图3.8 测频模块原理逻辑图控制部分原理图如图3.9所示。当D触发器的输入端START为高电平时, 在FIN端来一个上升沿时, Q端为高电平, 导通FIN-CLK1和FSD-CLK2, 同时EEND被置为高电平; 在D触发器的输入端START为低电平时, 当FIN端输入一个脉冲上升沿, FIN-CLK1和FS
32、D-CLK2的信号通道被切断.图3.8中的计数器CONT1是用8个四位并行二进制计数器按行波计数器原理所构成的32位二进制计数器, 输出8位数据总线, 分4次将32位数据全部读出. CONT1的设计是用VHDL语言实现的.我们在EDA设计中严格采用模块设计法, 总体设计采用原理图输入方式, 每个子模块都采用VHDL语言描述.3.7.3 脉冲宽度测量和占空比测量电路图3.9 测频率与测周期部分控制电路本模块的电路设计根据第二部分所述的脉冲宽度测量原理, 设计如图3.5的电路原理图.输入到本模块的被测量信号是经过信号处理电路处理过后的被测信号, 该信号的上升沿和下降沿信号对应于未经处理时的被测信号
33、的50%幅度时上升沿和下降沿信号.信号从FIN端输入, CLR为本模块电路的工作初始化信号输入端. START为本电路的工作使能端, PUL端输出如图3.8中所示GATE的输入端PUL.测量脉冲宽度采用以下几步:向CONTRL2的CLR端输送一个脉冲以进行电路的工作状态初始化.将图3.8中GATE的CNT端置为高电平, 表示进入脉冲宽度测量, 这时CONT2的输入信号为PUL&FSD.在经过处理后的被测信号的上升沿到来之时, CONTRL2的PUL端输出高电平, 标准频率信号进入计数器CONT2.在经过处理后的被测信号的下降沿到来之时, CONTRL2的PUL端输出低电平, 计数器CONT2被
34、关断.单片机读计数器CONT2的结果, 通过所述的测量原理公式(2.8)计算得出脉冲宽度.占空比的测量方法是通过测量脉冲宽度记录CONT2的计数值Twx1, 然后将输入信号反相, 再测量其脉冲宽度, 测得CONT2计数值Twx2, 则可以计算出占空比 = Twx1100% / (Twx1+Twx2)图3.10 脉冲测量模块逻辑原理图第4章单片机控制与运算程序的设计4.1 单片机控制与运算的主流程图调测脉宽子程序置标志位 有键按下吗?清标志位调测周期子程序置标志位 有键按下吗?调测频子程序是测占空比键吗? 是测脉宽键吗? 是测周期键吗? 开始 清内存SP 60HP2 0 是测频键吗? 有键按下吗
35、?调显示子程序CHOICE 1 11 清显示缓冲区, 送初始显示内容 清标志位 有键按下吗?置标志位测占空比子程序清标志位有键按下吗?图4.1 单片机控制与运算主流程图4.2 VHDL源程序-CNT10.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY CNT10 IS PORT (CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; ENA:IN STD_LOGIC; CQ:OUT INTEGER RANGE 0 TO 15; CARRY_OUT:OUT STD_LOGIC); END ENTITY CNT10;ARCH
36、ITECTURE ART OF CNT10 IS SIGNAL CQI :INTEGER RANGE 0 TO 15;BEGINPROCESS(CLK,CLR,ENA) ISBEGINIF CLR=1 THEN CQI=0; ELSIF CLKEVENT AND CLK=1 THEN IF ENA=1 THEN IF CQI9 THEN CQI=CQI+1; ELSE CQI=0; END IF; END IF;END IF;END PROCESS;PROCESS (CQI) ISBEGINIF CQI=9 THEN CARRY_OUT=1; ELSE CARRY_OUT=0;END IF;E
37、ND PROCESS; CQ=CQI;END ARCHITECTURE ART;-REG32B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG32B IS PORT(LOAD:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END ENTITY REG32B;ARCHITECTURE ART OF REG32B IS BEGINPROCESS(LOAD,DIN)ISBEGINIF LOADEVENT
38、AND LOAD=1 THEN DOUT=DIN; END IF;END PROCESS;END ARCHITECTURE ART;-TESTCTL.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TESTCTL IS PORT (CLK:IN STD_LOGIC; TSTEN:OUT STD_LOGIC; CLR_CNT:OUT STD_LOGIC; LOAD:OUT STD_LOGIC); END ENTITY TESTCTL;ARCHITECTURE ART OF TE
39、STCTL IS SIGNAL DIV2CLK: STD_LOGIC;BEGINPROCESS(CLK)ISBEGIN IF CLKEVENT AND CLK= 1 THEN DIV2CLK=NOT DIV2CLK; END IF ;END PROCESS;PROCESS(CLK,DIV2CLK) ISBEGIN IF CLK=0 AND DIV2CLK=0 THEN CLR_CNT=1; ELSE CLR_CNT=0; END IF;END PROCESS; LOAD=NOT DIV2CLK; TSTEN=DIV2CLK;END ARCHITECTURE ART;-display.vhdli
40、brary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity display isport(clk:in std_logic; dout:in std_logic_vector(31 downto 0); :out std_logic_vector(2 downto 0); seg:out std_logic_vector(7 downto 0);end entity display;architecture art of display is signalt:std_logic_vector(2 d
41、ownto 0); signal bcd:std_logic_vector(3 downto 0); beginprocess(clk) begin if clkevent and clk=1 then ift=111 then t=000; else t=cnt+1; end if; end if;end process; bcdbcdbcdbcdbcdbcdbcdbcdbcdsegsegsegsegsegsegsegsegsegsegsegsegsegsegsegsegsegCLK,TSTEN=SE,CLR_CNT=SC,LOAD=SL);U1:CNT10 PORT MAP(CLK=FSI
42、N,CLR=SC,ENA=SE,CQ=SD(3 DOWNTO 0),CARRY_OUT=S1); U2:CNT10 PORT MAP(CLK=S1,CLR=SC,ENA=SE,CQ=SD(7 DOWNTO 4),CARRY_OUT=S2);U3:CNT10 PORT MAP(S2,SC,SE,SD(11 DOWNTO 8 ),S3);U4:CNT10 PORT MAP(S3,SC,SE,SD(15 DOWNTO 12),S4);U5:CNT10 PORT MAP(S4,SC,SE,SD(19 DOWNTO 16),S5);U6:CNT10 PORT MAP(S5,SC,SE,SD(23 DOWNTO 20),S6);U7:CNT10 PORT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 4706.123-2024家用和类似用途电器的安全第123部分:电动晾衣机的特殊要求
- 护理吸痰法操作规程
- 植树节班会教育活动
- 内镜治疗后患者并发症
- 春季安全生产管理工作
- 3.3.1盐类的水解原理 课件 高二上学期化学人教版(2019)选择性必修1
- DB5323T 115-2024魔芋林下栽培技术规范
- 数据中心能源管理的可持续发展
- 高端白酒行业发展趋势
- 糖尿病预防与治理方案
- 信息网络传播权的侵权认定及其保护
- DL-T 1071-2023 电力大件运输规范
- GB/T 44143-2024科技人才评价规范
- 专题03正比例函数和反比例函数(原卷版+解析)
- DL-T956-2017火力发电厂停(备)用热力设备防锈蚀导则
- 危险货物道路运输规则第5部分:托运要求(JTT617.5-2018)
- 保密工作流程管理制度
- DZ/T 0462.1-2023 矿产资源“三率”指标要求 第1部分:煤(正式版)
- 全面推进依法治国的总目标和原则教学设计
- 爬爬赛活动策划方案(5篇)
- 呕血窒息的护理查房
评论
0/150
提交评论