数字频率计设计

电子实验

54人已加入

描述

数字频率计设计

一、实验目的                                                                     

1.熟悉CPLD的开发软件的基本使用。
2.理解频率计的测量原理。
3.掌握CPLD逻辑电路设计方法。
4.掌握虚拟数字频率计的软件设计。

二、实验任务和内容
1. 在CPLD中设计一个数字频率计电路,设计要求为: 测量范围:1Hz~1MHz, 分辨率<10-4>, 数码管动态扫描显示电路的CPLD下载与实现。
2.使用LabVIEW进行虚拟频率计的软件设计。要求设计软件界面,闸门时间为4档,1s,100ms,10ms,1ms,频率数字显示。
3.使用设计虚拟逻辑分析仪软件和CPLD电路,进行软硬件调试和测试
三、实验器材
1. SJ-8002B电子测量实验箱  1台
2.计算机(具有运行windows2000和图形化控件的能力)  1台
3.函数发生器  1台
4.SJ-7002 CPLD实验板 1块
5.短接线若干

四、实验原理
4.1.测频原理
    所谓“频率”,就是周期性信号在单位时间变化的次数。电子计数器是严格按照f=N/T的定义进行测频,其对应的测频原理方框图和工作时间波形如图1 所示。从图中可以看出测量过程:输入待测信号经过脉冲形成电路形成计数的窄脉冲,时基信号发生器产生计数闸门信号,待测信号通过闸门进入计数器计数,即可得到其频率。若闸门开启时间为T、待测信号频率为fx,在闸门时间T内计数器计数值为N,则待测频率为
fx = N/T   (1)
    若假设闸门时间为1s,计数器的值为1000,则待测信号频率应为1000Hz或1.000kHz,此时,测频分辨力为1Hz。
    本实验的闸门时间分为为4档:1s,100ms,10ms,1ms。

 频率计

                              图1 测频原理框图和时间波形

4.2 数字频率计组成

    本实验要求的数字频率计组成如图2所示,频率计的硬件电路(图1所示)在CPLD芯片中实现,测量结果通过实验箱提供的EPP通信接口送给计算机,频率计的软件和人机界面由计算机完成,同时计算机还可输出清零和闸门选择的控制信号给电路。
    本实验的任务一是在提供的CPLD实验板上设计和实现频率计测量电路,二是在计算机上使用LabVIEW软件设计频率计界面和程序。


频率计


                                       图2 数字频率计组成框图

4.3 CPLD特点和设计流程

    CPLD器件是由用户配置以完成某种逻辑功能的电路,本CPLD实验电路板选用ALTERA公司的EPM7128SLC84器件,其特点为:84引脚Pin,内部有128个宏单元、2500个等效逻辑门、15ns的速度、PLCC84封装形式。除电源引脚、地线引脚、全局控制引脚和JTAG引脚外,共提供了64个可用I/O脚,这些引脚可以任意配置为输入、输出和双向方式。

   CPLD的设计流程如图3所示,本实验采用的设计软件为ALTERA公司的Quartus Ⅱ,下载方式采用的是并口电缆ByteBlaster。下载时的硬件设置操作如图4所示。

       频率计    频率计

               图3 CPLD设计流程和并行电缆下载示意图


 

 

 

 

 

 

                         图4 下载时的硬件设置选ByteBlaster

4.4 CPLD实验电路板

   1)数字信号输入:8个ON~OFF(K1~K8)开关
   2) 数字信号输出(显示):8个LED灯(LED1~LED8),低电平点亮
   3) 6个LED 7段数码管,采用动态扫描方式,L1、L2、L3为位选信号,低有效,A、B、……、G为7段码,DP为小数点,均为低有效。
   4) 时钟晶振:频率为1MHz,已连接到CPLD的时钟引脚
   注:使用CPLD板的1.000MHz的晶振时钟,需放置CPLD板上S1短路块位置在右面。


                        

                            频率计

 

 

 

 

 

 

                        图5 CPLD实验板电路板照片和组成框图

4.5 CPLD实验电路板原理和与实验箱62芯插座连接关系

    图6 为CPLD板的详细电路图。
   CPLD可供用户自定义的引脚见表1,共有25个引脚,均可根据需要定义为输入或输出。
   CPLD与实验箱62芯插座定义表见表2,可使用3个8位的数字I/O口作为频率计的输入计数结果,1个5位的单向数据输出口为频率计的控制口。

                                   表1 用户可用的CPLD自定义I/O引脚


P4

P5

P6

P8

P9

P10

P11

P15

P16

P17

P18

P20

P21

P22

P24

P25

P27

P28

P29

P30

P31

P77

P79

P80

P81

                                   表2 CPLD和62芯插座连线引脚定义


引脚
名称

CPLD
芯片引脚

62芯插座引脚

说明

引脚
名称

CPLD
对应脚

62芯插座引脚

说明

DO0

P40

16

数字I/O口
地址为03H

DO24

P63

28

单向输出口
地址为06H

DO1

P36

48

DO25

P76

60

DO2

P41

17

DO26

P64

29

DO3

P44

49

DO27

P75

61

DO4

P45

18

DO28

P68

30

DO5

P46

50

VCC

P3,P13,
P26,P3
P43,P5,
P66,P78

31,62

+5V电源

DO6

P48

19

DO7

P49

51

DO8

P50

20

数字I/O口
地址为04H

DO9

P51

52

GND

P1,P7,
P19,P32,
P42,P47,
P59,P72,
P82,P84

13,44

电源地

DO10

P55

21

DO11

P52

53

DO12

P54

22

DO13

P65

54

DO14

P57

23

CPLD时钟源
sourceCLK

P83

45

由S1短路
选择接
CPLD-CLK1

DO15

P67

55

DO16

P56

24

数字I/O口
地址为05H

DO17

P69

56

DO18

P58

25

outsideclk

P39

15

选择接(P83)

DO19

P70

57

allCLR

P35

47

系统总清零

DO20

P61

26

outside_tri

P37

14

外部触发

DO21

P73

58

DO22

P60

27

DO23

P74

59

 

频率计

                                                              图6 CPLD实验板电路原理图

五、设计指导:

    分为CPLD硬件电路设计和虚拟频率计软件设计两部分

5.1 CPLD硬件电路设计

    CPLD设计和调试的过程是:①任务分析,层次分解,得到顶层设计框图,大致确定每个子模快(子电路)的功能、输入和输出;②子模快电路设计和软件仿真;③完成顶层电路设计,顶层仿真;④分配引脚,下载,连线和调试。

   5.1.1设计任务分析和顶层设计

   根据设计任务,可分为四大部分:
  (1)闸门时间和测量控制:闸门时间分别为1s,100ms,10ms,1ms,由1MHz的基准时钟分别产生1Hz,10Hz,100Hz,1kHz的时基信号作为闸门控制信号,同时控制测量结果的锁存。
   (2)多位计数器电路:根据闸门时间最长为1秒,被测信号频率最高为1MHz,所以选用6位十进制计数器,保证测量计数器不溢出。6位十进制的计数器对被测信号的脉冲进行计数,输出6位十进制计数值,每位都用4位BCD码表示,共有24根线。每次测量开始前清零计数值。
  (3)计数结果锁存和实验箱接口:在每次测量闸门时间到时使用锁存器锁存计数值(6位BCD码),供计算机读数。
  (4)计数结果6位数码管动态显示电路: 设计一个6位BCD选1的多路数据选择器,输出的一位BCD码(4根线)送给BCD-七段译码器译成段信号,从CPLD输出给数码管的7段。同时多路数据选择器的控制选通信号需要3根,必须与6位数码管的位选信号同步。位选信号来自电路板的时钟(1MHz)分频,在用译码器译码(每次只能选中一个数码管)。要保证多位显示均匀和不闪烁,请计算和设计分频的频率和电路。
    根据CPLD电路的层次化设计功能,设计出如图7所示的顶层设计框图。

      频率计

                                图7 频率计顶层设计框图
5.1.2 部分电路设计提示

    电路的设计均有原理图设计和HDL语言文本设计两种方法,根据电路的特点和各人的情况,自己选用。
对每个子模快进行软件仿真,先创建波形文件,设定时间间隔和解释时间,编辑输入波形,运行仿真,分析结果是否正确。若不正确,则修改设计,重新编译后,再仿真,直到正确为止。

   (1)闸门时间和测量控制: 闸门时间分别为1s,100ms,10ms,1ms,由1MHz的基准时钟分别产生1Hz,10Hz,100Hz,1kHz的时基信号作为闸门控制信号,使用CPLD实验板上的1MHz时钟信号,经过1000分频得到1kHz信号,在经过10分频得到100Hz信号,在经过10分频得到10Hz信号,在经过10分频得到1Hz信号。设计时,先设计一个10分频电路,级联3个,得到1000分频,级联一个,得到10分频。闸门时间选择共4档(1s,100ms,10ms,1ms),可采用数据选择器实现,需要2根从计算机来的控制信号。闸门时间产生电路,设计一个电平有效清零端,作为启动测量或停止测量,由计算机通过实验箱来控制。闸门时钟经过D触发器2分频,得到闸门时间内为高电平的信号,作为测量计数结果的锁存控制信号。闸门时钟和显示时钟产生测量计数器的清零信号。

    (2)多位十进制的计数器子模块设计:
    没有现成电路可用,所以必须自己设计。
    为什么不选用二进制计数器(从显示要求、二进制转换为BCD电路的难易等考虑)
    设计方法一:选用6个1位的可逆带清零十进制计数器级联得到。注意进位/借位信号的时序。
    设计方法二:使用HDL语言编程,注意同时满足十进制、加、减的进位和借位。

   (3)计数结果锁存和实验箱接口:
    在每次测量闸门时间到时使用锁存器锁存计数值(6位BCD码),供计算机读数。采用3个8位的锁存器74273,输入锁存由闸门时间控制,输出长选通,连接实验箱提供的3个数字I/O口,工作在输入方式。

  (4)计数结果6位数码管动态显示电路:
   由6位BCD选1电路、BCD-七段译码器、位选电路组成,其中为选电路又包括分频电路、为选控制和为选译码电路。

   ①6位BCD选1的多路数据选择器设计:
   没有现成电路可用,所以必须自己设计。
   可选用多个数据选择器来组合。要求控制选通信号需要3根,按000-001-010-011-100-101变化,只有6个状态。

   ②BCD-七段译码器设计:
   有现成电路选用,注意共阴和共阳数码管的区别。

   ③位选信号产生

  分频电路:位选信号来自电路板的时钟(1MHz)分频,要保证多位显示均匀和不闪烁,先计算分频电路要求的输出频率,再设计分频电路。可使用计数器分频。也可直接借用闸门时间电路的分频信号。

  位选控制:要求为6个状态,设计电路可采用状态机的方法,但仔细分析6个状态之间的关系后,可得出符合_________的计数器。

  设计方法:语言和图形均可。

  位选译码:每次选中一个,可选用什么译码器?注意位选电平是高电平有效还是低电平有效。

5.1.3 分配引脚和编译、下载

    用户可用引脚见表2,引脚分配要满足CPLD电路板上已有的连线情况,考虑芯片引脚和外围电路的位置,就近分配。如输入被测信号在右边,输出7段码和位选在左边。与计算机和实验箱的连接遵照表2的规定。
每次分配引脚后,需重新编译后,再下载。

5.2 虚拟频率计软件设计

5.2.1虚拟频率计界面设计

    软件界面上控制型控件有1个数字型旋钮用于选择闸门时间,分为1s,100ms,10ms,1ms 4档,两个按键,1个控制测量的启动/停止,1个控制整个程序退出。
指示型控件有3组,1个布尔型指示灯显示采样状态,1组显示测量的频率数值(十进制)和单位(字符串),单位有Hz和kHz两种,还有1组显示读取的3个字节的计数值(BCD码),由3个数字型控件组成。

           频率计

                                              图8 频率计界面

5.2.2程序流程图


                          频率计

                                    图9 程序流程图

5.2.3 实验箱EPP接口和编程

SJ8002B实验箱本实验使用EPP地址和意义


功能和设置

本实验中的设置

00H

D7-D0

全局清零信号(在读数、采集、启动信号源之前都必须)? (00H?00)

EPP初始化时发清零信号

01H

D2-D0

小板控制使能(U019,U020,U021片选),
0:禁止
1:使能

在本实验中需使能

02H

D2-D0

DO0-DO23数据方向控制
0:输入(外部à主板)
1:输出(主板à外部)

在本实验中都设为输入

03H

D7-D0

DO7-DO0数据

在本实验中作为计数值低字节

04H

D7-D0

DO15-DO8数据

在本实验中作为计数值中字节

05H

D7-D0

DO23-DO16数据

在本实验中作为计数值高字节

06H

D4-D0

DO28-DO24数据 (只有输出)

在本实验中作为测量控制和闸门选择
D25D24=00? 闸门时间为1ms
D25D24=01? 闸门时间为10ms
D25D24=10? 闸门时间为100ms
D25D24=11? 闸门时间为1s
D27=0? 停止测量
D27=1? 启动测量
其余未用

  对EPP接口的操作,调用以下3个子VI来完成:

 (1)EPP初始化: epp_init.vi 调用时无参数。
  (2) EPP写:epp_read_data.vi 调用是输入地址和数据,无输出参数
  (3) EPP读:epp_read_data.vi ,调用是输入地址,输出数据。

5.2.3 数据转换和显示

   测量计数值=高字节×10000+中字节×100+低字节
   测量结果=计数值/闸门时间
   编程时考虑不同档位时的数值、单位和有效位数。

六. 测试和调试

6.1 调试

  (1)实验硬件连接
   根据设计的频率计电路和分配的引脚连线,被测频率信号连接到函数发生器的TTL(CMOS)输出端。计数器的输出位选分别连接6个数码管的为选端L1~L6;注意左边的数码管为低位,7段信号分别连接。

               频率计

                                         图10 实验连线图

   (2) 检查动态扫描电路
    数码管7段信号全部直接接地,位选分别连接CPLD输出位信号,6个数码管稳定显示“888888”。

  (3)软硬件联调:

   允许虚拟频率计程序,输入信号的频率在10KHz,按下测量键,观察频率计的显示结果是否正确,如不正确,则检查程序,改正错误。
   改变闸门时间,观察有效位数的变化,闸门时间为1秒时,有效位数最多。
   改变输入信号的频率,继续测量和观察。

6.2 测试

 (1) 调节函数发生器输出信号的频率为200kHz,选择不同的闸门时间,进行测试,并且把测试结果填入表2。

                                表2 闸门时间不同时频率测试结果(信号频率200kHz)


  闸门时间信号频率

1ms

10ms

100ms

1s

测试频率

 

 

 

 

  (2)固定闸门时间1s,输入不同频率时,进行测试,把测试结果填入表3,并且计算测试误差。

                             表3 输入信号频率不同时测试结果(闸门时间为1秒)


信号频率

25Hz

0.25kHz

2kHz

20kHz

200kHz

900kHz

信号源实际
输出频率

 

 

 

 

 

 

测试频率

 

 

 

 

 

 

测试误差

 

 

 

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
米斯特为 2016-03-30
0 回复 举报
能帮我做个吗 收起回复
大番薯~ 2014-12-29
0 回复 举报
看不清图啊 收起回复
全部评论

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分