基于SPCE061A的多功能计数器设计
扫描二维码
随时随地手机看文章
0 引言
本设计为参加院电子制作比赛而做。其设计的基本要求是:制作一个简易多功能计数器,能够接收函数信号发生器产生的信号,实现周期测量、频率测量和时间间隔测量的功能。具体有以下3项要求。
(1)可以用键盘选择周期测量、频率测量和时间间隔测量;
(2)周期、时间间隔测量为0.1 ms~1 s,误差≤1%;
(3)频率测量为1 Hz~200 kHz,误差≤1%。
1 方案设计与论证
1.1 频率测量模块实现方法
方案一:直接测频法
直接测频法是把被测频率信号经脉冲形成电路后加到闸门的一个输入端,只有在闸门开通时间t(以秒计)内,被计数的脉冲送到十进制计数器进行计数。设计数器的值为N,由频率定义式可以计算得到被测信号频率为f=N/t。经分析,本测量在低频段的相对测量误差较大。增大t可以提高测量精度,但在低频段测量精度难以得到满意的结果。
方案二:高精度测频法
图1预置门控信号、基准信号Fs、待测信号将待测信号和基准信号分别看做被抽样信号及抽样脉冲,根据数字信号处理的理论,若对待测信号的观察时间tw加大可减少待测信号频域分析时高频分量的损失,可以更完整的重构信号。当提高基准信号的频率,即加大信号的观察时间,能够大大降低误差,对高频段信号比较适用。
以上2种方案中,方案一立足于频率基本定义,方案二可以用单片机软硬结合方便地完成浮点数的数学运算,实现高精度测量。故本设计选用方案一。
1.2 周期测量
由于周期为频率倒数,故测周期与测频率类似。
1.3 时间间隔测量
可利用单片机定时计算2次脉冲时间差。
2 系统硬件电路设计
2.1 电路方框图及说明
本设计采用模块化设计,电路构成如图2所示。主要包括:信号处理电路完成对被测信号的处理整形,控制电路完成对频率、周期、时间间隔测量的控制,整个系统采用凌阳单片机实现对被测信号和温度测量的控制,显示部分采用液晶显示,还具有发声功能。
2.2 单元电路设计
2.2.1 基准12 MHz信号源电路
采用12 MHz晶体振荡器及反相器构成,如图3所示。
2.2.2 计数器电源电路
电源电路采用LM7805构成,如图4所示。
2.2.3 频率测量电路
设测得频率为Fi,标准频率为Fs,在一次测量中预置门时间为tw,被测信号计数值为Ni,标推频率信号计数值为Ns,由于分频比相同,故:
显然只需利用单片机统计触发数目即可。
2.2.4 温度测量
本电路采用温度传感器DS18B20构成,如图5所示。DS18820自动将温度信号转换为电压信号,再送单片机处理。
2.2.5 按键及液晶显示电路
液晶采用凌阳501液晶,内置驱动。按键、液晶显示与单片机的连接见图6。
2.2.6 音频输出电路
由于凌阳单片机自带2路D/A转换通道,且最小系统板上集成了功放,故本方案直接利用软件控制发音转换电路。
3 软件设计
主程序流程图见图7。初始化后,先进行按键扫描,当功能选择确定时,即进行数据处理,并送LCD显示器显示。
4 系统测试及整机指标
测试条件:室温,实验室环境。
测试仪器:TFG2001B型数字合成信号发生器(0.4~40 MHz)。测试结果见表1~表3。
从测试结果可以看出,各项指标完全满足设计的要求。
5 结语
由于SPCE061A的时钟最高可达49 MHz,32个I/O口,而且具有一定的语音处理功能,这些都为实现电路提供了非常便利的条件:
(1)量程的切换,一般会采用模拟开关或继电器来控制,我们在这里只需要几个I/O口即可实现该功能不需要外加任何电路,控制简单、节省成本;
(2)SPCE061A有丰富的时基中断,我们可以采用4096Hz实现低频标准频率,程序简单而且精度高;
(3)SPCE061A定时器可以采用外部时钟源计数,则为计算振荡频率提供了便利,而且计算精度较高,控制简单;
(4)SPCE061A具有语音处理功能,可以非常轻松的加入语音播报功能,使整个设计更加智能。
本设计经过实验调试,取得了较好的效果,实现了规定的各项功能。