基于DSP2812设计的简易数字频率计

发布者:数字火花最新更新时间:2012-06-27 来源: 21ic 关键字:数字频率计  等精度测量  DSP 手机看文章 扫描二维码
随时随地手机看文章

  采用TMS320F2812 DSP芯片为控制单元,在无需任何门控器件控制的情况下,利用DSP 2812丰富的软件资源实现了等精度测量。根据每个门闸时间内高频标准脉冲的个数与已知被测信号的个数,求得被测信号频率,再通过多次平均得到最终结果。

  * 本作品获得2008年德州仪器(TI) C2000 DSP大奖赛命题组一等奖,并得到合肥工业大学2008年大学生创新性实验计划项目的资助

  作品的意义与概况

  随着微电子技术和计算机技术的飞速发展, 各种电子测量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化, 特别是DSP技术诞生以后,电子测量技术更是迈进了一个全新的时代。近年来,DSP逐渐成为各种电子器件的基础器件,逐渐成为21世纪最具发展潜力的朝阳行业,甚至被誉为信息化数字化时代革命旗手。在电子测量技术中,频率是最基本的参数之一,它与许多电参量和非电量的测量都有着十分密切的关系。例如,许多传感器就是将一些非电量转换成频率来进行测量的,因此频率的测量就显得更为重要。数字频率计是用数字来显示被测信号频率的仪器,被测信号可以是正弦波、方波或其它周期性变化的信号。

  数字频率计广泛采用了高速集成电路和大规模集成电路,使得仪器的体积更小、耗电更少、精度和可靠性更高。而传统的频率计测量误差较大,范围也较窄,因此逐渐被新型的数字频率计所代替。基于DSP的等精度频率计以其测量准确、精度高、方便、价格便宜等优势将得到广泛的应用。

  我们设计的简易数字频率计在未采用任何门控器件控制的情况下,在很宽的范围内实现了等精度频率测量,0.5Hz~10MHz的范围内测量方波的最大相对误差小于2e-6,测量正弦波的最大相对误差小于3.5e-5;结果通过RS232通讯显示在计算机上,可以很方便地监测数据。

  方案设计

  总体介绍

  传统的等精度测频法使用门控器件产生门控信号,从而实现实际门闸信号与被测信号同步,消除对被测信号计数产生的一个脉冲的误差,其原理图如图1所示。

传统的等精度测量原理

图1 传统的等精度测量原理

  由硬件控制计数的门闸时间,当预置们信号(即定闸门信号)为高电平时,基准信号计数器CNT1和被测信号计数器CNT2并不启动,而是等被测信号的上升沿来到时才同时开始计数;当预置们信号为低电平时,两个计数器并不马上关闭,同样要等到被测信号上升沿来到后再关闭;于是,实际闸门时间就是被测信号周期的整数倍,从而实现了闸门与被测信号的同步。但是,实际的门闸时间并不固定,与被测信号的频率有关。此外,无论是采用计数器还是单片机,在实现等精度测量时总是离不开门控器件。

  本设计基于DSP丰富的软件资源,经过判断和处理,完成了对被测信号频率的等精度测量。硬件上无需任何门控器件,简化了电路。系统框图如图2所示,信号处理部分以TMS320F2812 DSP芯片作为控制和测量的核心;信号调理部分主要是完成对信号的放大、整形和限幅;标准频率信号由30MHz有源晶振产生,作为高频标准填充脉冲;通过DSP的SCI模块与上位机实现通信,结果显示在上位机上。

图2 系统框图

图2 系统框图

  频率/周期测量

  在对被测信号频率和周期的测量中,等精度测量是基于DSP比较匹配时T1PWM引脚输出电平的跳变作为门闸信号的开启和关闭,由于比较匹配发生在被测信号的上升沿,从而实现了门闸时间与被测信号的同步。原理图如图3所示。[page]

图3 本等精度频率测量原理

图3 本等精度频率测量原理

  通用定时器T1时钟输入选择外部定时器时钟,此处用调理后的被测信号作为定时器T1的时钟输入,定时器T2时钟输入选择内部CPU时钟,用来产生高频标准填充脉冲。F2812片上EVA中通用定时器T1在发生比较匹配事件时,其比较输出引脚T1CMP输出信号会自动改变电平状态,产生PWM波。捕获单元CAP1设置为上升沿捕获,T1PWM输出的PWM波上升沿被CAP1捕获到,读取此时定时器T2的计数值,同理在下一次比较匹配时再次读取定时器T2的计数值。通过两次T2CNT值的相减,即可获得该门闸时间内标准填充脉冲的个数,然后求出被测信号频率。

 

   基于DSP比较匹配时T1PWM引脚输出电平的跳变作为门闸信号的开启和关闭,由于比较匹配发生在被测信号的上升沿,从而实现了门闸时间与被测信号的同步。两个相邻的比较匹配产生的PWM波的上升沿分别作为门闸信号的开启和关闭信号,其中被测信号的个数为整数,并且是由我们自己任意设定的。定时器T2时钟输入选择内部CPU时钟,用来产生标准填充脉冲。设定捕获单元CAP1为上升沿捕获,当其捕获到上升沿时读取堆栈CAPFIFO内的值,在下一次捕获到时再读堆栈内的值,计算出标准填充脉冲的个数Ny,保证Ny的个数不小于一定的值,即可保证门闸时间大于一定的值。假设现在希望一个门闸时间内高频填充脉冲的总数不小于n,当Ny>n时,就增大定时器T1的定时周期,即增大定时器T1周期寄存器TIPR的值。存在公式T1PR+1=n/Ny,由于n/Ny不一定为整数,假a

  周期测量与频率测量的基本原理完全相同,测出信号频率,根据公T=1/f即可得出被测信号的周期。

  误差分析

  定时器T1计数的启停时间都是由该信号的上升沿触发的,在一次测量时间内对被测信号的计数无误差;在此时间内标准频率脉冲的计数个数Ny,最多相差一个脉冲,故理论误差为:

  |d|≤1/Ny

  显然,测量精度仅仅与Ny有关,只要Ny值足够大,就能保证精度。

  硬件设计

  如图4所示,将被测信号经过高速运放OPA2690进行放大,在经过高速比较器TL3016进行整形[3],由于比较器在对低频正弦波信号进行整形时,输出波形的边沿有比较严重的抖动,影响测量。解决办法是对比较器加入正反馈,加速信号边沿,同时形成滞环,可有效消除抖动。整形后的信号经过高速施密特触发SN74LVC1G14进行限幅和进一步整形。测量部分主要使用DSP2812芯片上定时器T1的时钟输入引脚TCLKINA、定时器T1的比较输出引脚T1PWM和捕获单元CAP1的输入引脚CAP1,即可完成频率测量。通讯部分选择MAX3221作为RS-232电平转换器件,通过9芯标准RS-232口与上位机进行串行通信。主要使用了DSP的串行通信发送引脚SCIRXD和串行通信接收引脚SCITXD。

图4  硬件电路连接图

图4  硬件电路连接图

  软件设计

  软件设计部分主要包括以下四部分:

·初始化:对变量参数、系统时钟、PIE、EV、Flash、GPIO等进行配置。
·中断模块:SCI中断和定时器T2、T3上溢中断。
·数据处理模块:分段+取算术平均值。
·输出操作模块:数据经RS-232传给上位机。[page]

  图5为测频率、周期软件流程图,图6为定时器2的溢出中断流程图。

图5  测频率、周期流程图

图5  测频率、周期流程图

 定时器T2溢出中断流程图

图6  定时器T2溢出中断流程图

  在该部分初始化时,要进行以下配置:通用定时器T1时钟输入为外部定时器时钟,通用定时器T2时钟输入为内部时钟输入,用来对标准脉冲进行计数,该标准脉冲由外部30MHz的有源晶振提供;捕获单元1设置为上升沿捕获,用来捕获T1PWM引脚输出PWM波的上升沿,在每次比较匹配时读取定时器T2的计数值T2CNT,该值保存在CAP1FIFO内。初始化时要将捕获单元1的状态寄存器中的FIFO堆栈状态设置成空堆栈;将定时器T1的定时周期设置为4个被测信号的周期长度,通过测得的定时器T1的一个定时周期内的标准脉冲的个数,计算出被测信号频率,然后对被测信号进行分段,分别为低频段(小于46.875Hz),中频段(大于46.875Hz,小于2343.75KHz),以及高频段(大于2343.75 KHz),其中分段的依据是定时器的计数饱和值为65536和计数个数应大于等于1。若信号频率为中高频段则重新配置定时器T1,定时器T2的寄存器,来改变定时周期以及每个门闸时间内的高频填充脉冲的个数。在定时器T1的下一个定时周期内计算出频率和周期。另外,定时器T2的溢出次数要在第一次发生比较匹配时清零,而是否是第一次发生比较匹配则通过设置一个标志来判断。当溢出次数清零后才开始记溢出次数,直到第二次发生比较匹配。

  下一步改进意见

  该方法的测量误差主要来自硬件部分,整形电路的优劣直接关系到测量精度的高低。所以我们下一步的工作就是改进整形电路的整形效果和抗干扰性能,尽最大可能减小信号整形带来的误差。

  由于DSP定时器在计数时存在计数饱和的情况,因此在实现该等精度测量时存在上限,即当被测信号频率高于高频填充脉冲的频率时,该方法就不能实现等精度了。可以在该方案的基础上进行以下处理:选择定时器T1定时周期内被测信号的个数固定,可设置T1PR为65529,同时将定时器T2的时钟修改为75MHz,这样就能保证每个门闸时间内高频填充脉冲的个数,从而在对高频信号实现频率和周期测量时保证了精度。

  但选择定时器T1时钟输入为外部时钟时对被测信号的输入范围存在限制,如果要进一步提高测量的信号的范围,使得范围达到上百兆或上G赫兹,可以考虑相位测量的方法,将被测信号设为360度,根据被测信号与标准信号之间的X度相位差,计算被测信号频率。

关键字:数字频率计  等精度测量  DSP 引用地址:基于DSP2812设计的简易数字频率计

上一篇:控制步进电机正反转的实际应用程序
下一篇:基于MSP430单片机的虚拟I2C总线软件包VIIC_M1.0

推荐阅读最新更新时间:2024-03-16 13:02

基于DSP和CPLD的宽带信号源的设计
   1 引言   信号源是雷达系统的重要组成部分。雷达系统常常要求信号源稳定、可靠、易于实现、具有预失真功能,信号的产生及信号参数的改变简单、灵活。本文采用DSP和CPLD来设计信号源的控制部分,一方面能利用DSP软件控制的灵活性,另一方面又能利用CPLD硬件上的高速、高集成度和可编程性。使用这种方法可以充分利用软件支持来生成和加载任意波形数据,并能方便地实现对信号参数的控制和对波形数据的随意修改,同时又能保证信号产生的高速、灵活可控。       2 系统结构   采用波形存储直读法,即通过对存储的波形采样数据进行数模变换,直接生成模拟信号的一种方法。图1为信号源的系统结构。本信号源可工作于联机和脱机两种方式。联机工作
[嵌入式]
ASIC、DSP、FPGA大比拼
ASIC DSP FPGA 概念 ASIC ( Application Specific Integrated Circuits )即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。按用户需求而设计制作的集成电路 (ASIC) 应运而生。 数字信号处理器是在模拟信号变换成数字信号以后进行高速实时处理的专用处理器 FPGA 是英文 Field Programmable Gate Array (现场可编程门阵列)的缩写,它是在 PAL 、 GAL 、 PLD 等可编程器件
[新品]
基于DSP的主动磁轴承数字控制器的设计与实现
    摘要: 介绍了基于DSP的径向四自由度磁轴承数字控制器的总体结构,A/D和D/A转换电路,PID控制算法和控制软件的结构,调试方法和实验结果。实验表明:设计的数字控制器硬件和软件系统,参数实调试方便,工作性能稳定可靠,满足了磁轴承控制性能要求。研究结果对开发数控磁轴承系统具有参考和应用价值。     关键词: 磁轴承 控制器 数字信号处理器(DSP)硬件 软件 主动磁悬浮轴承(简称磁轴承)系统主要由被悬浮物体(即转子)、位移传感器、控制器和功率放大器等组成。位移传感器检测转子偏移参考点(平衡位置)的位移量,控制器将检测到的位移变换成控制信号,功率放大器将控制信号转换成控制电流,控制电流在执行磁铁中产生
[嵌入式]
基于DSP的SPWM变频电源数字控制
   摘要: 介绍了基于DSP的变频电源数字控制系统,详细讨论了利用DSP TMS320LF2407产生频率幅值可按需要改变的SPWM波的程序设计策略和算法。实验效果很好,满足了变频器在线调试的要求。    关键词: 变频电源;正弦脉宽调制;数字信号处理器    0 引言   数字信号处理器(DSP)已广泛应用在高频开关电源的控制,采取DSP作为变频电源的控制核心,可以用最少的软硬件实现灵活、准确的在线控制。数字信号处理器TMS320LF2407既有一般DSP芯片的特点,还在片内集成了许多外设电路,使其可以很方便地实现变频电源控制。本文中,控制系统采用了工程应用较多的正弦脉宽凋制技术,该技术具有算法简单,硬件实现容易,谐波较
[嵌入式]
基于DSP和PCI总线的通信数据采集系统
    摘要: 介绍一种基于DSP和PCI总线的移动通信数据采集系统。提出了一种双映射方式,成功地解决了DSP的主机通信接口(host port interface,简称HPI口)和PCI9052之间的通信连接。     关键词: 数字信号处理器 数据采集 PCI总线 随着移动通信突飞猛进的发展,移动通信的数据业务量急剧上升,监控大容量的移动数据业务成了电信运营商刻不容缓的需求。而移动通信数据的传输一般都是基于E1链路。因此从E1链路上采集通信数据成了移动数据业务监控最基础的一部分。 数字信号处理器能够高速地处理数据并具有强大的数字吞吐能力,在数据采集领域获得了广播的应用。而PCI总线也因为极高
[工业控制]
基于DSP的磁存储设备抗冲击技术控制系统设计
1 引 言 对数据存储业来说,磁盘驱动器生产商通过增加磁道密度(以每英寸的磁道数为单位)和磁盘转速(以每分钟转数为单位)来扩大计算机硬盘驱动器的容量和改善其性能。随着磁密度的增加,两相邻磁道间的距离变小了。因此,所允许的读/写头和磁道的偏离误差,即磁盘驱动器业内所说的误定位,也相应的降低了,这样硬盘很容易受到伤害。他的工作原理决定其必须使用抗恶劣环境加固技术,而且主要针对机械物理环境和气候环境实施加固。对磁盘存储设备来说,机械物理环境中最为恶劣的是振动、冲击环境。本文采用了外加固主动控制理论与技术,将电磁主动控制技术用于计算机外部设备( 微型盘 )的振动冲击外加固,并且构建了以 DSP 为硬件平台的数字主动控制系
[嵌入式]
基于<font color='red'>DSP</font>的磁存储设备抗冲击技术控制系统设计
基于DSP/BIOS在电能质量监测终端中的应用
  DSP (数字信号处理器)在现今的工程应用中使用越来越频繁。其原因主要有三点:第一,它具有强大的运算能力,能够胜任FFT、数字滤波等各种数字信号处理算法;第二,各大 DSP 厂商都为自己的产品设计了相关的IDE(集成开发环境),使得 DSP 应用程序的开发如虎添翼;第三,具有高性价比,相对于它强大的性能,不高的价格有着绝对的竞争力。   TI为本公司的DSP设计了集成可视化开发环境CCS(Code Composer Studio),而DSP/ BIOS 是CCS的重要组成部分。它实质上是一种基于TMS320系列DSP平台的实时操作系统内核,也是TI公司实时软件技术 eXpress DSP技术的核心部分。DSP/
[嵌入式]
基于<font color='red'>DSP</font>/BIOS在电能质量监测终端中的应用
一种基于CAN总线的DSP程序加载技术
摘要:为灵活方便地调试磁悬浮列车上众多基于DSP芯片的控制系统,介绍了一种基于CAN总线的DSP程序加载技术。该技术使对DSP芯片程序的加载可以脱离仿真器而直接受控于列车的主控机。该技术可靠性高、使用灵活方便,具有很强的实用性。 关键词:CAN总线 单片机 DSP HPI ISA 磁悬浮列车上有很多基于DSP芯片的模块和系统。目前, DSP芯片程序的加载与运行都主要依赖于仿真器,而DSP仿真器价格高、体积大,这使得磁悬浮列车系统的调试很不灵活方便;且这些基于DSP芯片的系统一旦脱离仿真器就只能运行事前载入的单一的程序,也使系统的灵活性受到了很大的限制。 本文研究了DSP芯片程序加载的基本原理,并根据这些原理,基于CAN总线,实现了
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved