新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于凌阳SP-CEA061A单片机的频率计设计方案

基于凌阳SP-CEA061A单片机的频率计设计方案

作者:时间:2010-09-28来源:网络收藏

1 引言

是反映信号特性的基本参量之一,测量在应用电子技术领域有着重要的地位,数字化处理技术使得测量仪器设备功能完美,但数字处理的实时性受到处理速度的限制,实时测量对电路的处理速度要求越来越高,目前的微控处理芯片发展速度,出现诸如DSP,FPJA等不同领域的应用芯片。

本文引用地址:http://www.eepw.com.cn/article/173200.htm

作为主要应用于数字语音领域的,有着丰富的硬件资源、可低于3V的工作电压、较低的功耗和高达约50MHz的时钟工作,相对于通用的51系列、96系列等,无疑有更佳的性能。特别是SPCE061A内置32k字FLASH存储器、多时基选择定时器、两路D/A转换器和一路A/D转换器,使他在便携式测量仪器中应用更有前景。

2 硬件资源配置

该频率计能测量1Hz-20MHz以上频率的脉冲信号,具有较宽的测量范围,最高输出4位有效显示值,采用4位BCD七段显示码动态扫描输出。其工作框图见图1。图中显示部分采用数码管需增加驱动电路扩大驱动电流,用以保护SPCEA061A。



设置SPCEA061A的工作时钟频率fCPU=fOC=24.576MHz为。利用定时器B(TimerB)定时时间作为频率测量的时基,定时1S,100ms,10ms,1ms,0.1ms五档的脉冲计数时间,定时器B的时钟源和预置寄存器载入数据见标表1,考虑程序工作存在延时存在计数误差,高档位的预置寄存器数据应根据实际情况适当调整校准。定时器A(TimerA)10ms、作为频率测量计数器,被测信号从SPCEA061A的I/O端口B口的IOB2输入。TimerA和TimerB采用FIQ中断工作模式。

设置I/O端口A口的低7位IOA0-IOA6输出BCD七段显示码,IOA7输出小数点。IOA8-IOA10分别输出Hz,kHz,MHz测量单位指示。IOA12-IOA15为动态扫描输出端口,循环选择4位数码管,此时A口的低8位IOA0-IOA7输出对应数字的BCD七段显示码。显示码输出采用中断



3 测量处理流程

频率测量的控制和数据处理由SPCE061A通过程序完成,图2为主程序的流程图。



进行初始化开始频率测量,首先对测量结果进行判断当前的测量量程是否合适;4位显示数据范围是1000-9999,大于9999判断为超量程,而小于1000为欠量程;根据测量结果的判断依次增加(超量程)和减少(欠量程)测量时间档位,并设置数据相应的小数点位置和单位。对量程合适(1000-9999范围)的结果进行二进制到十进制的转换并译码成七段显示码,加入小数点显示位和单位指示位形成显示码。

显示数据刷新时间是显示结果更新的时间间隔。为了能较好地观测到稳定的显示数据,一般设为0.5s左右更新显示数据。通过对IRQ4的1024Hz中断响应进行计数5000次可获得约0.5s的显示数据刷新时间。在内部RAM中开辟两个显示码存储缓冲区,一个用于存储当前正在译码的显示码,一个用于存储正在输出的显示码。查询显示数据刷新时间寄存计数器,当刷新时间到时,只要互换2个显示码存储缓冲区的首地址就能达到1个指令就能更换多个数据的目的,避免由于中断而造成显示数据出现不一致的状况。更换完显示数据后接着启动计数器TimerA和TimerB进行下一次的测量,频率计每约0.5s测量一次,避免在高频测量时由于测量时间短而造成TimerA和TimerB频率中断占用系统资源。TimerA和TimerB在FIQ中断处理程序中,自动设置停止计数,等待启动状态。

SPCE061A有丰富的中断源,本系统使用了3个中断源:FIQ_TMA,FIQ_TMB和_IRQ4。FIQ用于频率测量,_IRQ4用于动态扫描显示。

图3所示为频率计数测量FIQ中断处理程序流程图。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭