完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,因此测频计常受到人们的青睐。目前许多高精度的数字频率计都采用单片机加上外部的高速计数器来实现,然而单片机的时钟频率不高导致测频速度比较慢,并且在这种设计中,由于PCB版的集成度不高,导致PCB板走线长,因此难以提高计数器的工作频率。为了克服这种缺点,大大提高测量精度和速度,我们可以设计一种可编程逻辑器件来实现数字频率计。EDA技术是以大规模可编程逻辑器件为设计载体,以硬件语言为系统逻辑描述的主要方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件设计的电子系统到硬件系统的设计,最终形成集成电子系统或专用集成芯片的一门新技术。其设计的灵活性使得EDA技术得以快速发展和广泛应用。
以Max+PlusⅡ软件为设计平台,采用VHDL语言实现数字频率计的整体设计。伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。电子设计自动化是一种实现电子系统或电子产品自动化设计的技术,它与电子技术,微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。EDA的一个重要特征就是使用硬件描述语言(HDL)来完成的设计文件,VHDL语言是经IEEE确认的标准硬件语言,在电子设计领域受到了广泛的接受。 ·测频法 测频法的基本思想是让计数器在闸门信号的控制下计数1秒时间,计数结果是1秒内被测信号的周期数,即被测信号的频率。若被测信号不是矩形脉冲,则应先变换成同频率的矩形脉冲。测频法的原理框图如图3-1所示。 图中,秒脉冲作为闸门信号,当其为高电平时,计数器计数;低电平时,计数器停止计数。显然,在同样的闸门信号作用下,被测信号的频率越高,测量误差越小。当被测频率一定时,闸门信号高电平的时间越长,测量误差越小。但是闸门信号周期越长,测量的响应时间也越长。例如,闸门信号高电平时间为1秒,被测信号频率的真值为2Hz,如图3-2所示。 在闸门信号相同时,测频法的相对误差与被测信号的频率成反比。因此测频法适合于测量频率较高的信号。 ·测周法 当被测信号频率较低时,为保证测量精度,常采用测周法。即先测出被测信号的周期,再换算成频率。测周法的实质是把被测信号作为闸门信号,在它的高电平的时间内,用一个标准频率的信号源作为计数器的时钟脉冲。若计数结果为N,标准信号频率为f1,则被测信号的周期为 T = T1·N 被测信号的频率为 f = 1/T1·N = f1/N 利用测周法所产生的最大绝对误差,显然也等于±1个标准信号周期。如果被测信号周期的真值为T真= T1·N,则T测= T1·(N±1) σmax= (f测-f真)/ f真= T真/T测 – 1=±1/(N±1) 由上式可知,对于一定的被测信号,标准信号的频率越高,则N的值越大,因而相对误差越小。 ·控制信号模块 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY TESTCTL IS PORT(CLKK: IN STD_LOGIC; CNT_EN,RST_CNT,LOAD:OUT STD_LOGIC); END TESTCTL; ARCHITECTURE BEHAVIOR OF TESTCTL IS SIGNAL div2clk:STD_LOGIC; BEGIN PROCESS(CLKK) BEGIN IF CLKK‘EVENT AND CLKK=’1‘ THEN div2clk《=NOT div2clk; END IF; END PROCESS; PROCESS(CLKK,div2clk) BEGIN IF (CLKK=’0‘ AND div2clk=’0‘) THEN RST_CNT《=’1‘; ELSE RST_CNT《=’0‘; END IF; END PROCESS; LOAD《=NOT div2clk;CNT_EN《=div2clk; END BEHAVIOR; 其仿真波形如下所示: 图5-3 控制模块信号仿真 ·计数器模块 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT10 IS PORT(CLK,RST,ENA:IN STD_LOGIC; OUTY:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT:OUT STD_LOGIC); END CNT10; ARCHITECTURE JISHU OF CNT10 IS SIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK,RST,ENA) BEGIN IF(RST=’1‘) THEN CQI《=(OTHERS=》’0‘); ELSIF(CLK’EVENT AND CLK=‘1’) THEN IF(ENA=‘1’) THEN IF(CQ) THEN CQI《 COUT《=‘1’; ELSE CQI《=CQI+1; COUT《=‘0’; END IF; END IF; END IF; END PROCESS; OUTY《=CQI; END JISHU; 其仿真如下所示: 图5-4 计数器仿真模块 ·锁存器模块设计 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG4B IS PORT(LOAD:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END REG4B; ARCHITECTURE XIANSHI OF REG4B IS BEGIN PROCESS(LOAD,DIN) BEGIN IF(LOAD‘EVENT AND LOAD=’1‘) THEN DOUT《=DIN; END IF; END PROCESS; END XIANSHI; 其仿真波形如下所示: 图5-5 锁存器仿真 本系统,我们将利用原理图的方式完成系统顶层设计。我们对每个模块生产原理图,如下所示: 图5-6 系统原理图 下面我们对几个模块进行搭建。可以得到如下的结果。 图5-7 系统总体原理框图 5.3 系统仿真 图5-8 1hz信号 图5-9 10hz信号 图5-9 1Khz信号 |
|
|
|
只有小组成员才能发言,加入小组>>
4508个成员聚集在这个小组
加入小组3334 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4262 浏览 1 评论
4289 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 14:17 , Processed in 0.813889 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号