CY8C29666芯片的高精度频率测量系统设计

2015-06-12 09:19:56   来源:21ic   

关键字: PSoC  频率测量  同步测频法

引言

在电工技术领域内,频率是一个最基本的参数,频率与其他许多电参量的测量方案、测量结果都有十分密切的关系。随着航天军事科学技术的发展,对时间及频率的测量精度有了更高的要求。但是在现有基于单片机、CPLD等的测频设备中,在高频率的工作条件下工作不够稳定,电路板的设计比较困难,测量精度达不到系统要求的数量级。因此,研究测量精度更高的测量设备具有重大意义。

PSoC(Programmable System on Chip)是Cypress公司推出的一款基于通用IP模块,并且具有真正混合信号处理能力的可编程片上系统芯片。在PSoC芯片的设计中,设计者可以根据不同设计要求调用不同的数字和模拟模块,完成芯片内部的功能设计。使用一块芯片就可以配置成具有多种不同外围元器件的微控制器,以实现从确定系统功能开始,到软硬件划分,并完成设计的整个过程。因此,PSoC能够满足非常复杂的实时控制需求,使用它进行产品开发可以大大提高开发效率,降低系统开发的复杂性和费用,同时增强系统的可靠性和抗干扰能力。因此,PSoC特别适用于各种控制和自动化领域。

1 测量原理

频率测量主要有测频法和测周法两种。测频法就是在确定的闸门时间Tw内,记录被测信号的变化周期数(或脉冲个数)Nx,则被测信号的频率为fx=Nx/Tw。测周法需要有标准频率的信号fs,在待测信号的一个周期Tx内,记录标准频率信号的周期数Ns,则被测信号的频率为fx=fs/Ns;在多个周期内,记录被测频率的变化周期数(或脉冲个数)Nx,则被测频率为fx=fs×Nx/Ns。这两种方法的计数值会产生±1个脉冲误差,并且测试精度与计数器中记录的数值Nx或Ns有关。

本设计采用多周期同步测频法:首先通过对定时器的设定来预置闸门时间。将标准频率信号和被测频率信号分别输入两个计数器进行多个周期的同步计数。预置闸门时间结束时,两个计数器并不停止计数,而是等到被测频率信号下一个同相位触发沿到来之后才关闭同步门并停止计数。因此,测量结果的精度仅与闸门时间和标准频率有关,误差由被测频率的±1个脉冲减少到标准频率信号的±1个脉冲,测量精度有显著提高。多周期同步测频法原理图如图1所示。

CY8C29666芯片的高精度频率测量系统设计

2 系统设计

2.1 硬件设计

由原理分析可知,采用多周期同步测频法测量单路信号频率时,至少需要一个能提供闸门信号的定时器,一个控制实际闸门信号在被测信号上升沿处启停的同步控制模块,以及两个分别对实际闸门内的被测频率信号和标准频率信号进行计数的计数器。由运算器对计数器的结果进行运算,求出被测频率值,最后通过显示模块显示测量结果。

在两路信号频率测量中,不同信号的闸门信号产生电路和计数器都是彼此独立的,但其控制运算部分都由CPU来完成。基于对PsoC内部资源上的考虑,本设计采用1片PSoC芯片CY8C29666作为频率测量系统的主体部分,每个PsoC芯片内部至少需要配置2个定时器功能模块和4个计数器功能模块。各计数器的计数结果输入到CPU中进行计算,得到的被测信号频率值并输出到显示部分。

PSoC芯片是整个频率测量系统的核心,其配置方式的可行性和合理性直接关系到系统功能能否顺利实现。本设计中使用PSoC Designer软件中的器件编辑器对CY8C29666内部的全局资源、用户模块、连接关系以及芯片引脚进行配置,在此基础上添加外部器件,即可完成系统的硬件平台的搭建。本设计中,两路信号对应的处理部分将系统资源一分为二,即定时器模块均为8位,两个被测频率计数器均为16位,两个标准频率计数器均为32位。

定时器的配置方式是关键的环节。定时器模块是由1个周期寄存器、1个同步递减计数器和1个捕获比较寄存器组成。周期寄存器和捕获比较寄存器中要分别存放两个值,即Period和CompareValue,这两项值决定着闸门时间的长短。定时器模块共有两项输出:比较输出和最终计数输出。其中比较输出连到同步控制模块,用于产生同步使能信号;最终计数输出端接到指定的GPIO引脚,用来判断何时读取计数器的计数值及重写计数器的初值。

开启定时器后,递减计数器由Period值开始递减,同时两个输出端均输出低电平。当计数值等于Compare Value时,在下一个系统时钟上升沿,比较输出端输出高电平,直至计数值递减到零时,比较输出跳低——这样就产生了定闸门信号。定闸门信号进入同步控制模块,产生与被测信号上升沿同步的使能信号。两个计数器在使能信号为高时开始递减计数。当使能信号跳低后,计数器暂停计数。读取当前计数值,即可计算出测量结果。系统结构框图如图2所示。

CY8C29666芯片的高精度频率测量系统设计

2.2 软件设计

该系统的程序设计主要由主程序、中断服务子程序和显示子程序构成。为了使设计出来的软件功能明确,便于调试、扩展和移植,采用结构化的程序设计方法。主程序如图3所示。

[1] [2]
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

推荐阅读

编辑:什么鱼
本文引用地址: http://www.eeworld.com.cn/Test_and_measurement/2015/0612/article_11948.html
[发表评论]
[加入收藏]
[打印本页]
[关闭窗口]
[返回顶部]
[RSS订阅]
小广播
每日新闻
最热点击
本周热门资源推荐
EEWORLD独家
论坛精华
精选博文