基于fpga数字式频率计设计内容摘要:
xf ,其显示的位数由分频系数 n10 而定。 将公式 (49)代入公式 (48)可得 附录 14 ncxf ffN 10 (410) 从公式 (410)可见 ,主门 II 和计数器 II 实际上工作在测频模 式,其输入频率就是xf (注意:由于测周期模式计得的数 N 本身存在 1 误差,故严格来讲输入频率并非准确地等于 xf ),且工作在同步计数方式 ,即加到主门 II 的 xf 和 cf 同步。 由于同步计数不会产生1 误差,所以,倒数计数器的误差与测周模式误差相同。 等精度测 量 目前,有三种常用的数字频率的测量方法 :直接测频法 (以下简称 M 法 ),直接测周法 (以下简称 T 法 )和综合测量法 (即相结合的方法,以下简称为 M/T 法 )。 前两种测量法的原理,在上面的实验原理里面已经详细的讨论了,不再累述。 这两种方法由误差分析可知,其精度都与被测信号的有关,因而它们是非等精度测量法。 而 M/T 法它通过测量被测信号数个周期的时间,然后换算得出被测信号的频率,克服了测量精度对被测信号的依赖性。 M/T 法的核心思想是通过闸门信号与被测信号同步,将闸门时间τ控制为被测信号周期长度的整数倍。 测量时,先打开预置 闸门,当检测到被测信号脉冲沿到达时,标准信号时钟开始计数。 预置闸门关闭时,标准信号并不立即停止计数,而是等检测到被测信号脉冲沿到达时才停止,完成被测信号整数个周期的测量。 测量的实际闸门时间可能会与预置闸门时间不完全相同,但最大差值不会超过被测信号的一个周期。 M/T 法测量原理如下图所示。 图 47 同步计数 不如令实际闸门时间为τ,被测信号周期数为 xN ,标准信号频率为 cf ,计数值为 cN ,则被测信号的频率值为: 附录 15 ccxx fNNf 39。 (411) 由于实际闸门时间τ是由被测信号同步过的,因此在此期间测得的被测信号周期的整数倍 xN 是准确的,不存在 1 误差。 而标准信号的计数值 cN 则存在 1 误差。 用 cN 来表则标准信号计数的真实值为 xN + cN。 由此可知被测信号的频率真实值为: ccc xx fNN Nf (412) 若不计标准信号时钟的误差,则测量的相对误差为: cccxxx fNNf ff 1%1 0 039。 (415) 可以看出,在 M/T 法中,相对误差与被测信号本身的频率特性 无关,即对整个测量域而言,测量精度相等,因而称之为 “ 等精度测量 ”。 标准信号的计数值 cN 越大则测量相对误差越小,即提高门限时间τ和标准信号频率 cf 可以提高测量精度。 在精度不变的情况下,提高标准信号频率可以缩短门限时间,提高测量速度。 原理图如下: 图 48 同等度测量的原理图 计数控制器将标准信号分频为预置信号,预置闸门信号与被测信号作用同步 之后输出实际闸门信号,作为周期计数器和脉冲计数器的计数使能信号。 同时在实际闸门信号关断的时间里,计数控制器产生一个清数脉冲,用以清除计数器内的计数值,以备下一次计数,该清零脉冲同时还作为一次计数结束后,将计数值进行计算,译码显示的锁存信号,不然,数码管的显示将因为数值的不停跳动而无法看清楚。 附录 16 运算器则通过不停地做除法运算实现被测信号频率值的计算,显示译码器在收到被测信号频率值后,将该值转换为七段码数据显示的形式,并按照动态扫描方式依次定时先通各个显示管,将显示数值送出 ,由于人眼的暂留效应,就可以看到稳定的输 出值了。 3 原理框图 图 49 原理框图 第三章 频率计的单元电路设计 各模块的功能及实现 晶体振荡电路 本设计采用晶体振荡器提供系统时钟,并做为频率测试的基准时间。 石英晶体振荡器具有精度高,功耗低等特点,特别适合为各种电路提供精确的时钟。 其驱动电路如下所示: 图 4- 10 晶体振荡器驱动电路 附录 17 分频器 分频器的功能是提供标准闸门时间控制信号以精确控制计数器的开闭。 由于闸门时间只有 1S, , 三档,由于本设计将下载到 SpartanII 上,其提供的标准时间是32MHz, 为此,我们想到了计数器。 对一个两位的二进制计数器,当输入两个脉冲时,其输出进位脉冲为 1 个,即入 /出之比为 2比 1。 如此下推,对输出为 2 位、 3 位、 4 位、 5 位的二进制计数则其输入 /输出为 1﹕ 4, 1﹕ 8, 1﹕ 16, 1﹕ 32„„。 但十进制例外,输出虽为四位,但输入 /输出比为 1﹕ 10。 这是因为在此,计数器到 9 时,但产生了进位。 如果我们采用一个 32 进制的计数器和六个十进制计数器串行连接,那么,我们在最后的三级上,可分别获得 100Hz, 10Hz、 1Hz、其闸门时间分别为 、 、 1s 的控制信号。 生成的分频器模块如下图所示: 图 410 分频器模块 程序中使用了隶属函数 generic, Generic ( rate : integer :=10 );定义了一个整形变量 rate,通过修改这个整形变量 rate 的值,可以实现分频器分频数的改变。 这样做可以实现程序的调用,只需要修改少量的地方就可以实现不同的分频需要。 图 410 分频器模块 源程序如下: library IEEE。 use。 use。 use。 entity fdiv is Generic ( rate : integer :=10 )。 Port ( f_in : In std_logic。 附录 18 f_out : Out std_logic )。 end。 architecture behavioral of fdiv is signal t : integer range 0 to rate := 0。 signal clk : std_logic:=39。 039。 begin process (f_in) begin if f_in39。 event and f_in = 39。 139。 then if t /= rate then t = t + 1。 else t = 1。 clk=not clk。 end if。 end if。 end process。 f_out = clk。 end behavioral。 仿真图如下所示: 图 411 分频器模块仿真图 运用 ponent 函数对上面程序的调用,即可很轻松的实现几个分频器,而不用再写类似的程序。 生成的模块如图所示: 图 412 多输出的分频器 附录 19 这个模块即实现了把 32MHz 的时基信号分成了我们需要的四个信号 1Hz, 10Hz,100Hz, 1KHz。 其源程序如下: library IEEE。 use。 use。 use。 entity Fdiv3 is Port ( clkin : in std_logic。 clkout1 : out std_logic。 clkout10 : out std_logic。 clkout100 : out std_logic。 clkout1k : out std_logic)。 end Fdiv3。 architecture structure of Fdiv3 is ponent fdiv is Generic ( rate : integer :=10 )。 Port ( f_in : In std_logic。 f_out : Out std_logic )。 end ponent fdiv。 signal carry1,carry2,carry3:std_logic。 begin U1:fdiv generic map(rate=16000) port map (f_in=clkin,f_out=carry1)。 U2:fdiv generic map(rate=5) port map (f_in=carry1,f_out=carry2)。 U3:fdiv generic map(rate=5) port map (f_in=carry2,f_out=carry3)。 U4:fdiv generic map(rate=5) port map (f_in=carry3,f_out=clkout1)。 clkout1K = carry1。 clkout100 = carry2。 clkout10=carry3。 end structure。 这个模块即实现了把 32MHz的时基信号分成了我们需要的四个信号 1Hz, 10Hz, 100Hz, 1KHz。 波形整形电路 由外部输入的可能是各种波形的信号,为了使频率计能够正常的工作,需要对输入信号进行整形,将其调整为 TTL 信号。 波形整形电路如下所示: 附录 20 图 4- 12 波形整形电路 闸门选择器 该模块的功能是实现对输入的几个闸门信号的手动选择,并输出被选中的闸门信号以及小数点的控制信号 DP1, DP2, DP3。 生成的模块如下图所示: 图 413 闸门选择器 该模块有六个输入端口,其中 se1,se10,se100 为选择使能端, f1hz,f10hz,f100hz 为被选时基信号输入端。 当 se1 为 1 时, f1hz 的输入时基信号被选中,被赋值给输出端口 fref输出,此时 DP1 有效, DP2 和 DP3 无效,点亮 DP1 连接的小数点;当 se1 为 0,se10 为 1 时,f10hz 时基信号被选中, DP2 有效, DP1和 DP3 无效,点亮由 DP2 连接的小数点;最后当 se1和 se10 都无效时,即都为 0 时, se100为 1 时, f100hz 端口的输入信号被选中作为输出,DP3 有效, DP1 和 DP2 无效,点亮由 DP3 连接的小数点。 本模块的源程序如下: library IEEE。 use。 use。 use。 entity sele is port(se1,se10,se100: in std_logic。 f1hz,f10hz,f100hz: in std_logic。 附录 21 fref: out std_logic。 dp1,dp2,dp3: out std_logic)。 end sele。 architecture Behavioral of sele is begin process (se1,se10,se100,f1hz,f10hz,f100hz) begin fref = 39。 039。 dp1 = 39。 039。 dp2 = 39。 039。 dp3 = 39。 039。 if se1 = 39。 139。 then fref = f1hz。 dp1= 39。 139。 elsif se10 = 39。 139。 then fref = f10hz。 dp2 = 39。 139。 elsif se100 = 39。 139。 then fref = f100hz。 dp3 =39。 139。 end if。 end process。 end Behavioral。 仿真图如下所示: 图 414 闸门选择器仿真图 测频控制器 测频控制器是控制整个频率计各模块进行时序工作的 控制装置,它对输入的标准时钟信号进行变换,产生我们所需要的三个信号闸门信号 GATE,锁存信号 LATCH 以及清零信号CLEAR。 如使用一个低触发器处理 1Hz 的时钟信号,其 Q 端输出,即是 脉宽 1S 计数器使能端的控制信号,而 Q 输出即为脉宽 1S 的锁存器使能信号。 计数清零信号也由测频控制器变换后输出,控制整个电路。 其生成的元件符号如下图所示: 附录 22 图 415 测频控制器 测频控制信号发生器设计要求:频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。 这就要。基于fpga数字式频率计设计
相关推荐
,即现场可编程门阵列,它是在 PAL、 GAL、 CPLD 等可编程器件的基础上进一步发展的产物。 它是作为 专用集成电路 ( ASIC) 领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 目前以硬件描述语言( VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧写至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。
处理概述 所谓城市污水,就是指生活污水和生产污水的混合污水。 这些污水不仅含有碳水化合物、各种氨基酸、动植物脂肪、尿素、蛋白质和合成洗涤剂等物质,还含有各种使人致病甚至丧命的微生物。 经过处理后的污水,最后出路有三种:排放;灌溉田地;循环利用。 水处理的目的有三种 [1]: (1)去除水中的杂质以及污泥,这是最主要的内容。 (2)为了满足用水的 要求,在水中加入新的成分以改变水的化学性质。
接连接,用户可以根据需要方便地进行配置,组成实用、紧凑的控制 系统。 ,调试维修方便 PLC 的接线极其方便,只需将产生输入信号的设备(按钮、开关等)与 PLC 的输入端子连接,将接收输出信号的被控设备(如接触器、电磁阀等)与的输出端子连接,仅用螺丝刀即可完成全部接线工作。 PLC 的用户程序可在实验室摸拟调试,输入信号用开关来摸拟,输出信号可以观察 PLC 的发光二极管。 调试后再将 PLC
x。 )))((( 87165143121 !8!6!4!21)c o s (22228642xxxxxxxxx 3 第 3 章 硬件 设计 硬件 组成 基于 DSP 的信号发生器的硬件结构图如图 所示,它主要由 DSP 主控制器,输出 D/A 通道和人机界面等几个主要部分组成。 图 基于 DSP 的信号发生器系统框图 控制器 部分 本系统采用 TI 公司的
CD1602 芯片简介 在单片机系统中应用晶液显示器作为输出器件有以 下几个优点: 显示质量高 由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器( CRT)那样需要不断刷新新亮点。 因此,液晶显示器画质高且不会闪烁。 数字式接口 液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。 体积小、重量轻
下功能 :对各种输入信号进行逻辑综合,为驱动电路提供各种控制信号。 产生 PWM脉宽调制信号,实现电机的调速。 实现短路、过流、欠压等故障保护功能。 控制 器是电动自行车的驱动系统,它是电动自行车的大脑。 其主要作用是在保证电动自行车正常工作的前提下,提高电机和蓄电池的效率、节省能源、保护电机及蓄电池,以及降低电动自行车在受到破坏时的损伤程度。 目前