频率计全国大学生电子设计竞赛F组Word格式文档下载.docx
《频率计全国大学生电子设计竞赛F组Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《频率计全国大学生电子设计竞赛F组Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
该方案很好的结合了FPGA芯片的可编程性和STM32的高速性。
但对两者的通信设计要求有较高的要求。
系统实现结果虽然精度高,但复杂性也高,实现难度大。
方案三:
基于单片机STC12C5a60S2作为设计核心的数字频率计,辅以数字译码和显示电路单元构成整个工作系统。
对不同频率范围物理信号进行频率测定。
单片机具有更为灵活和便于调试编程程序且引脚多。
STC12C5a60S2是一种集合于CPu、RAM、ROM、定时器、计数器以及多功能1/0端口等多种元件,拥有40种引脚、32种外部输人喻出1/0端口、2种外中断口、2个16进制可编制程序语音的定时计数器和2个全双工串行通讯端口。
运行效率高,其金振频率可达24兆赫兹,运作周期则为500毫秒。
单片机频率计不仅反应快,精度高,操作也非常人性化,而且应用范围大&
带宽大以及成本低廉、小巧方便。
它可以用来测量一定电压范围内正弦波、三角波及方波。
本设计是基于单片机为主控制电路,配合着一定的外围芯片及电路而设计的一款处理数字信号的高频频率计,测量范围能达到,其新颖之处在于运用了简单高效的测频方法,采用自动分频的方式使基于单片机的频率计能够在低成本的前提下完成较高精度的高频数字信号的频率测量。
综合以上三种方案,选择方案三。
2系统理论分析与计算
2.1频率和周期测量的分析与计算
2.1.1频率的定义
据频率的定义,某一信号在T秒内重复变化N次,则该信号的频率F
为:
F
=N/T
2.1.2频率的测量方法分析
根据2.1.1的公式,我们可以得到频率计算的几种方法。
电子计数式方法主要包括脉冲数定时测频法(M法)、脉冲周期测频法(T法)、脉冲数倍频测频法(AM法)、脉冲数分频测频法(AT法),脉冲平均周期测频法(M汀法)和多周期同步测频法等。
(1)脉冲数定时测频法(M法):
记录时间(TC)内确定被测物理信号的脉冲数量(Mx),则频率值F
=M/TC。
(2)脉冲周期测频法(T法):
物理信号在一个运行周期T
以内,记录频率信号的变化次数M
,则频率值F
为F
=M
/T
(3)脉冲数倍频测频法(AM法):
本方法是为解决脉冲数定时测频法(M法)在测定低频物理量精度低问题中总结出来的。
利用A倍频将被测物流信号频率放大至原来的A倍,则频率值F
A/To
(4)脉冲数分频测频法(AT法):
本方法是为解决脉冲周期测频法,在测定高频物理量精度问题中总结出来的。
利用A分频将被测物理信号的周期延长至原来的A倍,则频率值(F
)为
=A
M
。
(5)脉冲平均周期测频法(M/T法):
本方法以Tc表示闸门时间,利用两个计数仪表分开记录被测物理信号的脉冲数量F
和标准物理信号的脉冲数量(M),则频率值F
=F
M
/M
(6)多周期同步测频法:
本方法同样以TC表示闸门时间,以Td表示同步门控时间,利用计数仪表实现对物理信号频率值的测定,频率值(Fx)为F
=F
2.1.3采用脉冲分频测频法测量频率
综合考虑以上计算方法,采用(4)的脉冲分频测频法(AT法)来解决频率的测量问题。
对高频部分采取外部分频的方法,将频率用外部分频电路将频率降低到单片机能处理的频率,以1s为阀值时间,对正弦信号频率的变换次数进行计数。
按方法(4)的公式算出信号的频率。
2.2时间间隔测量的分析与计算
2.2.1时间间隔
根据题目是的说明,题目的时间间隔是指A、B两路同频信号之间的时间间隔T
2.2.2时间间隔测量的分析与计算
将两路同频周期方波信号A和B进行异或,得到一个方波的波形,对所得波形进行低通滤波,整流后达到一条与时间间隔在数值上成正比的直流信号。
对信号进行24位AD采集,这里的AD采集芯片为24位的HX711芯片。
采样后把数据输送到单片机,进行处理后在显示器上输出。
即可达到问题所需的测量结果。
2.3脉冲信号占空比测量的分析与计算
2.3.1脉冲信号占空比测量的分析与计算
通过单片机对信号进行周期的初次测量,判断频率是否超过200KHz,如果没有超出范围,则由单片机直接进行脉宽测量,并计算占空比。
否则,需对信号进行低通滤波,通过HX711芯片进行24位AD采集,采集的数据将与原信号的占空比成正比,最后由单片机对采集数据进行数据处理,并把结果在5110液晶显示屏上显示。
至此,问题的脉冲信号占空比测量即可完成。
3电路与程序设计
3.1电路的设计
3.1.1系统总体框图
图3-1-1系统总体框图
系统总体框图描述:
以上基本设计原理图就是以STC12C5A单片机为设计核心的高精度频率计设计系统总体框图。
将被测物理量信号进人到频率测量模块,此模块功能主要为完成题目所需的测量要求服务。
然后将处理的信号进人到单片机的计数器和定时器,并对被测物理量信号频率进行计数。
以预先已编好程序实现单片机自动调制测定的量程显示出测定频率,并将数据结果于数字显示电路当中显示,这里采取5110液晶芯片进行显示。
据此原理分析,该系统的设计核心基础为单片机,系统具有所应用的元件较少且电路设计简便的优点,最后的调制过程只需将程序设定编程稍作修改即可实现对不同频率范围内的物理信号频率测定和输出显示的过程。
完全可以满足题目的设计要求。
3.1.2频率测量模块子系统框图与电路原理图
1、频率测量模块子系统框图
图3-1-2频率测量模块子系统框图
2、频率测量模块1——频率和周期测量电路
图3-1-3频率和周期测量系统电路图
3、频率测量模块2——时间间隔测量系统电路
图3-1-4时间间隔测量系统电路图
4、频率测量模块3——脉冲信号占空比测量系统电路
图3-1-5脉冲信号占空比测量系统电路图
3.1.3控制器模块子系统框图与电路原理图
1、控制器模块子系统框图
图3-1-6控制器模块子系统框图
2、控制器模块子系统电路
图3-1-7控制器模块子子系统电路图
3.1.4电源模块
电源由变压部分、滤波部分、稳压部分组成。
为整个系统提供
5V或者
3.3电压,确保电路的正常稳定工作。
这部分电路比较简单,采用稳压芯片即可实现。
图3-1-8电源模块子子系统电路图
3.2程序的设计
3.2.1程序功能描述与设计思路
1、程序功能描述:
根据题目要求软件部分主要实现数据的采集和显示。
(1)数据采集功能:
对电路对信号的频率和周期的测量结果采集到单片机。
(2)显示部分:
显示信号的频率。
2、程序设计思路:
程序设计主要分为三部分,数据采集,数据处理和结果显示。
数据的采集分为直接输入和AD采集两种。
在频率周期测量部分,采取直接把经过分频的方波信号输入到单片机进行处理,而时间间隔测量则采用AD转换来获得。
数据处理则把采集回来的数据经过运算得出题目所需要的结果。
显示模块块即把经过处理后显示的结果在液晶版上显示出来。
3.2.2程序流程图
1、主程序流程图
图3-2-1主程序流程图
2、频率和周期测量子程序流程图
图3-2-2频率和周期测量子程序流程图
3、时间间隔测量子程序流程图
图3-2-2时间间隔测量子程序流程图
4、脉冲信号占空比测量子程序流程图
4测试方案与测试结果
4.1测试方案
(1)软件仿真:
图4-1-1频率和周期测量仿真图
图4-1-2时间间隔测量仿真图
(2)软硬件联合调试方案过程图片:
图4-1-3软硬件联合调试过程图
4.2测试条件与仪器
测试条件:
检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
测试仪器:
高精度的数字毫伏表,模拟示波器,数字示波器,数字万用表,指针式万用表,信号发生器。
4.3测试结果及分析
4.3.1测试结果(数据)
表格1频率测量数据记录表
实际值
峰峰值
1Hz
500Hz
100KHz
500KHz
1MHz
20MHz
20mV
6Hz
510Hz
1000014Hz
4999987Hz
9999932Hz
20000256Hz
50mV
4Hz
523Hz
1000017Hz
4999993Hz
10000064Hz
20000000Hz
250mV
517Hz
5000023Hz
500mV
3Hz
1000002Hz
5000017Hz
750mV
1000004Hz
5000014Hz
1000mV
1000000Hz
4999994Hz
4.3.2测试分析与结论
根据上述测试数据,,由此可以得出以下结论:
1、在低频部分,频率测量误差较大。
由于阀值时间设计为1秒,在低频部分时,会对采集计数产生较大的误差。
2、在中高频部分,频率测量值稳定,且精度达到
,满足设计要求。
3、在输入信号峰峰值较小时,信号的测量值误差较大,这是由于测量信号幅值小对测量产生较大误差。
综上所述,本设计达到设计要求。
5参考文献
[1]李全利.单片机原理及接口技术.第二版高等教育出版社.2009
[2]郭天祥.51单片机C语言教程.北京工业出版社.2009
[3]李群芳.单片微型计算机与接口技术.电子工业出版社.2007
[4]周航慈.单片机程序设计基础.北京航空航天大学出版社.2001
6心得与体会
本次比赛过程是难忘的,在不断的调试当中,你会发现电子真是一件有趣的事情。
当然,在比赛过程中收获最大的还是队友间的合作精神。
这次的电子设计大赛,我们选着的题目是数字频率计,对电路的要求非常高,所以负责调试的队友的任务异常艰巨。
每天晚上都需要调试到深夜,但我们依然没有放弃比赛,在一次一次的相互鼓励和支持下,坚持到比赛结束,完成了比赛。
希望本次的作品能获得好成绩!
附录1:
电路原理图
附录2:
源程序
/*程序1部分代码*/
#include"
stc12c5a.h"
#include"
nokia_5110.h"
bmp_pixel.h"
#definedelay_time25767
sbits2=P1^2;
sbits1=P1^1;
sbits0=P1^0;
sbitzm1=P1^5;
unsignedcharfp;
unsignedintzmshijian=0,jishu=0;
unsignedcharge1,shi1,bai1,qian1,wan1,shiwan1,baiwan1,qianwan1,wanwan1;
bita=1;
unsignedlongpl=0;
unsignedcharcodeshu[]={16,17,18,19,20,21,22,23,24,25};
voidmain()
{
zm1=1;
LCD_init();
//初始化液晶
LCD_clear();
s2=1;
s1=1;
s0=1;
TMOD=0x25;
//定时器t1:
8位自动重装,计数器t0:
16位
TH1=0x38;
TL1=0x38;
TH0=0;
TL0=0;
EA=1;
ET1=1;
ET0=1;
while
(1)
{LCD_write_chinese_string(2,1,12,6,11,2);
ge1=pl%10;
shi1=pl%100/10;
bai1=pl%1000/100;
qian1=pl%10000/1000;
wan1=pl%100000/10000;
shiwan1=pl/100000%10;
baiwan1=pl/1000000%10;
qianwan1=pl/10000000%10;
wanwan1=pl/100000000;
pl=0;
}
/*程序2部分代码*/
sbitdt=P1^4;
sbitsck=P1^5;
sbitzm2=P1^6;
unsignedlongaddat=0;
unsignedcharge2,shi2,bai2,qian2,wan2,shiwan2,baiwan2,qianwan2;
voidinitad()
unsignedcharj=0,i=0;
dt=1;
sck=0;
while(dt);
for(;
i<
26;
i++)
{
sck=1;
j++;
j++;
}
附录3:
主要元件清单
序号
名称
数量
备注
1
电压比较器
MAX961
5
进行电压比较
2
计数器
74LVC161
计数
3
数据选择器
74LS151
数据选择
4
异或门
74LS86
构建与非门
二极管
6
整形、稳压
低功耗肖特基的TTL非门
74HC04
7
24位A/D转换器
HX711
模数转换