基于单片机和CPLD的等精度测频系统.pdf
《基于单片机和CPLD的等精度测频系统.pdf》由会员分享,可在线阅读,更多相关《基于单片机和CPLD的等精度测频系统.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电子测量技术E I E C T R()N I CM E A S U R E M E N TT E C H N O I。()(;Y第3 2 卷第8 期2 0 0 9 年8 月基于单片机和C P L D 的等精度测频系统张瑾刘海燕李泽光(大连大学信息工程学院大连1 1 6 6 2 2)摘要:基于C H。D 芯片与单片机A T 8 9 C 5 1、A T 8 9 C 2 0 5 1,采用闸门测量技术实现等精度测频。C P L D 的结构与功能由V H D L 语言描述;单片机的控制与数据计算、处理采用C 语言编程实现。利用单片机内部计数器产生闸门脉冲,控制C P I D 对标准频率与待测频率的计数,
2、计数值与实际待测频率值的转换和计算的结果用8 位静态数码管显示。单片机与C P I D 硬件接口采用独立工作方式。经实践验证,系统测频范围在1 0 0k H z 4M H z 之间,测频精度可达0 1,系统运行正常,控制效果达到预期目标。关键词:等精度测频;C P I);单片机;E D A中图分类号:T P 3 6文献标识码:AI d e n t i c a lp r e c i s i o nf r e q u e n c ym e a s u r e m e n ts y s t e mb a s e dO RM C Ua n dC P L DZ h a n gJ i nI A uH a
3、i y a nI AZ e g u a n g(C o l l e g eo fI n f o r m a t i o nE n g i n e e r i n g,D a l i a nU n i v e r s i t y D a l i a n11 6 6 2 2)A b s t r a c t:T h ed e s i g nw h i c hi sb a s e do nt h eC P I。Dc h i pa n ds i n g l e-c h i pm i c r o c o m p u t e rA T 8 9 C 5 1,A T 8 9 C 2 0 5 1,a d o p
4、t ss t r o b em e a s u r e m e n tt e c h n i q u et Oa c h i e v ec y m o m e t e rw i t he q u a lp r e c i s i o n T h es t r u c t u r ea n df u n c t i o n so fC P I。Di sd e s c r i b e db yt h eV H D I。l a n g u a g e;Cl a n g u a g ep r o g r a m m i n gi su s e dt Oa c t u a l i z et h ec o
5、 n t r o lo fs i n g l e-c h i pm i c r o c o m p u t e ra n dt h ec a l c u l a t i o na n dp r o c e s s i n go fd a t a T h eg a t ep u l s e sg e n e r a t e db yt h ei n t e r n a lc o u n t e ro fs i n g l e-c h i pc o n t r o lC P L Dt Oc o u n tt h es t a n d a r df r e q u e n c ya n db e i
6、 n gm e a s u r e df r e q u e n c y T h er e s u l to fc o n v e r s i o na n dc a l c u l a t i o nb e t w e e na c t u a In u m e r i c a lv a l u ea n dt h eb e i n gm e a s u r e df r e q u e n c y sv a l u ei sd i s p l a y e dw i t h8-b i ts t a t i cd i g i t a lt u b e T h eh a r d w a r ei
7、 n t e d a c eo fM C Ua n dC P L Du s e st h ei n d e p e n d e n tf)l r;l l i o nm o d e P r a c t i c eh a sp r o v e dt h a tt h es y s t e mo p e r a t e sn o r m a l l ya n dc a na c h i e v et h ed e s i r e dc o n t r o lo b j e c t i v e s、i t hi t sm e a s u r a b l ef r e q u e n c yr a n
8、g i n gf r o m1 0 0k H zt o4M H z,a n da tt h es a m et i m et h em e a s u r e m e n ta c c u r a c ym e e t i n g0 1 K e y w o r d s:i d e n t i e a lp r e c i s i o nf r e q u e n c ym e a s u r e m e n t;c o m p l e xp r o g r a m m a b l el o g i cd e v i c e;m i e r o c o n t r o l l e r u n i
9、 t;e l e c t r o n i cd e s i g na u t o m a t i o n0 引言测量与仪器是一个专业面很宽的多学科结合的行业,它在科技和工业等不同的领域起到了技术基础保证的作用。数字测频仪器是常用的物理工具,工程中很多物理量的测量,如周期测量、速度测量、振弦式方法测力等,都可转化为频率测量,高精度频率测量技术已经成为计算机、通讯设备、音频、视频等科研生产领域不可缺少的技术。目前,许多高精度的数字测频仪器都采用单片机加上外部的高速计数器来实现,然而单片机的工作频率不高从而限制了产品的工作频率的提高,而且测量精度也受到芯片本身的限制 2 。E D A 技术作为新一代
10、电子设计技术已J“泛地应用于电子产品的设计巾,在电子系统设计中,将单片机较强的逻辑控制、数据处理、良好的人机对话功能8 8 和C P L D F P G A 的高集成度、高速、高可靠性相结合,使现代电子系统设计在智能化应用水平上发生了质的飞跃 3 。1 等精度测频方案J 1 等精度测频原理传统的频率测量方法有两种。一种是测频法,在一定时间间隔T 内测m 待测信号重复则变化的次数N,被测信号的频率为:一N T。另一种方法是测周法,在被测信号的一个周期内,测H 标准高频信号,:的个数N,则被测频率:厂,一,N。测频法对高频信号有较高的测量精度,而测周法对低频信号的测量精度较高。在对测量精度要求高的
11、情况下,两种方法的频率测量范围受到很大限制J。与传统的测频方法相比,等精度测频法的实际闸门时间不是固定的值而是待测频率的整周期数倍,即与待测频率信号同步。万方数据张瑾等:基于单片机和C P L D 的等精度测频系统箜!塑等精度测频系统的测量精度与预置门宽度和标准频率有关,而与被测信号的频率无关睛J。因此。消除了对待测频率计数所产生的1 个字误差,并且达到了在整个测试频段的等精度测量。其原理图如图1 所示。图1 等精度测频法原理图在等精度测频方法中,实际闸门时间为M 正。如果令标准频率为工,则闸门时间可以近似表示为N,六,则有:等一净f 一等N f,sJ1|1、Js1 2 等精度测频方案(1)在
12、等精度测量过程中,采用同步方法实现对待测信号的无误差计数。系统框图如2 所示。其中单片机完成整个测量电路的测试控制、数据处理和显示输出;C P I,D 完成对标准频率信号和待测频率信号的脉冲计数。因为C P L D可工作在较高频率,所以也适合于测量较高频率,在单芯片上容易做到较大的测试范围 7 。计数所用的闸门信号由单片机控制产生。单片机G A=r EC L RS E L lS E L OP OP控制器G =r EF X C L KF S C L K计数器2C L KC L RS E L lQS E L 0计数器lC L KC L RS E L IQS E L 08 位静态显示8 位数据图2
13、等精度测频系统框图首先,单片机从C P L D 读回数据并进行运算,然后向显示电路输出测量结果。显示电路采用七段数码管静态显示,由8 个芯片C D 4 5 1 1 1 3(2 分别驱动8 个数码管。设计的难点在于解决单片机与C P I D 接口的逻辑设计。要解决这个问题要求设计者必须对两者的工作时序有深刻的了解。C P I。D 的T 作要求有严格的逻辑时序来控制,而单片机则要求有控制其工作的相应的工作命令。所以,在单片机内部需要产生控制C P I。D 工作的实时时钟信号,其中包括时钟信号c l k、数据选择信号A B 等。在C P L D 内部要有通知单片机做什么工作的相应命令发出,其中主要是
14、读写C P L D 信号r d w r。1 3 系统的基本工作方式F x:待测频率信号,在实验测量中可通过信号发生器输入。F S:标准频率信号,采用G W 4 8E D A 实验开发系统上的C L K 时钟信号来输入。F 煳K、F 鲫K:实际闸门信号内的待测频率信号和标准频率信号,通过软件编程在C P I D 内部通过计数得到。G A T E:C P L D 的预置闸门信号输入,采用A T M E L 公司的A T B 9 C 2 0 5 1 单片机通过内部定时计数器的计数方式来实现,通过P 1 7 端口来输出。C I 瓜:清零信号,通过A T 8 9 C 2 0 5 1 的P 1 4 端口来
15、输入。C L R 一1,清零计数器。S E L l、S E L 0:C P L D 数据输出选择信号,采用A T M E L公司的A T 8 9 C 5 1 系列单片机的P 2 6、P 2 5 端口来输出,S E L l、S E L 0 从o 3 分别对应选择计数器1 与计数器2 的高、低8 位数据输出。Q:C P L D 计数输出,通过S E I。1、S E L 0 选择两个1 6 位二进制数分四次输出到A T 8 9 C 5 1 的P 1 口。2 系统设计2 1 控制模块2 1 1A T 8 9 C 5 1主要用来完成数据的读取、计算与显示功能。通过P 3 6、P 3 5 的数据选择端来选
16、择C P L D 数据的输出,在内部通过软件编程来得到二进制的1 6 位计数值。根据计数值通过式(1)就能得到待测信号的频率值。计算得到的频率值由A T 8 9 C 5 1 通过P o、P 3 端口来控制显示模块,通过8位七段数码管静态显示出来。2 1 2A T 8 9 C 2 0 5 1A T 8 9 C 2 0 5 1 负责完成预置闸门信号与清零信号的输出。预置闸门信号通过其内部的1 6 位定时计数器得到持续时间为一个周期的定时信号。当清零信号为零时通知C P L D 开始进行频率的测量,并输出计数值N。、N。当需要测量下一路信号的频率值时则需要重新复位来对C P L D 进行清零并输出新
17、的闸门信号。由于没有此闸门信号,C P I。D 将处于等待的过程中,所以,此时对闸门信号可以不进行锁存。两个单片机的主要任务是控制C P I。D,在其与C P L D之间提供相应的控制时序以便正确有效地读取数据。在程序设计上,A T 8 9 C 5 1 通过数据选择信号的选择读回C P L D 分4 次输出的两个1 6 位二进制数据,程序流程图如图3 所示。8 9万方数据第3 2 卷电子测量技术短示1 2 3 4 5 6 7 8p 一进入死循环陵取数据+赋值数据选择信号S E L lS E L O+渎取低8 位数据并转化为2 的O。7 次幂相J$1J f l J整数图3 选择数据在渎人数据后怎
18、么把两个8 位二进制数转化为一个1 6 位二进制数是数据处理的一个重点。在程序设计中采用计算机数值计算中常用的二进制到十进制转化的方法来做,同时,考虑到数据处理的实时性问题,采用数据累加的方法。具体程序流程图如图4 所示。图4 转换数据部分程序代码如下:c e s h i 8 一 0 x 0 1,0 x 0 2,0 x 0 4,0 x 0 8,0 x 1 0,O x 2 0。0 x 4 0,0 x 8 0 ;c a r r y -1 6 一 1,2,4,8,1 6,3 2,6 4,1 2 8,2 5 6,5 1 2。1 0 2 4,2 0 4 8,4 0 9 6,8 1 9 2,1 6 3 8
19、 4,3 2 7 6 8 ;f o r(i=0;i 8;i+)d a t a _ i n i =a&c e s h i i :i f(d a t a _ i n i !一o)d a t a a=d a t a a J r-c a r r y i ;9 0。其中a 为读人的数据;c e s h i i 是一个只有一位是“1”的二进制数;c a r r y i 表示2 的i 次方。对于预置闸门信号的产生,为了达到控制简便同时又不影响数据的处理与显示,在设计中用一个成本低而且控制。方便的A T 8 9 C 2 0 5 1 利用其内部定时计数器来实现,程序流程图如图5 所示。r开始、I 定时器初始化定
20、时t m slI 在不同的时问l 问隔对p 1 7 取I 反得预置|甲J 门信号+r结束图5 闸门信号的产生2 2 频率计数与控制输出模块该模块采用可编程器件C P I。D 用V H D I。语言进行硬件描述来设计完成。在系统设计中用到了两个1 6 位计数器。计数器1 用来完成对标准频率的计数。计数器2 用来完成对待测频率信号的同步计数。由于待测频率信号与实际闸门信号是同时动作的,因此实际闸门时间是待测频率信号周期的整数倍,即对待测信号的计数值没有误差。控制器主要负责完成对两个计数器计数脉冲的控制:当预置门控信号G A T E 为高电平时实际闸门没有立即开启,而是要等到待测频率信号F。的上升沿
21、到来时才开启;而当预置门控信号为低电平时也没有立即关闭,而是要等到待测频率的上升沿到来时才关闭,这样就做到了实际闸门与待测频率的同步,达到了等精度的目的。3 系统仿真与验证3 1C P L D 的验证在验证过程中本设计选择G W 4 8 系列S O P C E D A 实验开发系统卜的模式6 来完成频率测量的验证。具体的接口选择如下:键8:预置闸门G 人T E 信号。每按两次产生一定周期的方波信号,两次间隔应尽可能短。键7、键6:数据输出选择信号S E I,1、S E I。0。对应二极管点亮代表“1”,熄灭代表“0”。键5:清零信号,高电平(二极管点亮)有效。C L K 0:标准频率信号,可选
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 CPLD 精度 系统
限制150内