搜索
您的当前位置:首页正文

基于STC15单片机的高精度频率计设计

来源:易榕旅网
2017年

第38卷 第12期 软 件

COMPUTER ENGINEERING & SOFTWARE 2017, Vol. 38, No. 12 国际IT传媒品牌

基于STC15单片机的高精度频率计设计

齐 宣,李一民,邵玉斌,龙 华,杨道福

(昆明理工大学 信息工程与自动化学院,云南 昆明 650504)

摘 要: 本文提出一种基于STC15W4K48S4单片机的高精度数字频率计的设计方法,内部软件设计采用多周

期同步测量法实现,设计中对测量的数据进行相应的调整减少误差。由于采用了32 MHz的晶振,测量范围可在1 Hz ~ 10 MHz,并且在高频下误差相对很小。本次设计给出的频率计的设计方案,不但切实可行,而且设计简单、成本低、可测频带宽,大大降低了设计成本和实现复杂度。

关键词: 精度; 单片机; 频率计

中图分类号: TP368 文献标识码: B DOI:10.3969/j.issn.1003-6970.2017.12.043

本文著录格式:齐宣,邵玉斌,杨道福. 基于STC15单片机的高精度频率计设计[J]. 软件,2017,38(12):220222

Design of High Precision Frequency Meter with STC15

QI Xuan, LI Yi-min, SHAO Yu-bin, LONG Hua, YANG Dao-fu

(College of Information Engineering and Automation , Kunming University of Science and Technology , Kunming 650504, China)

【Abstract】: This article presents a high-precision digital frequency meter design method based on sigle chip computer STC15W4K48S4, the mater adopts the method called ‘Mutli-Period Synchronism’to realize the design, and adjust the measured data accordingly to reduce the error. As a result of the use of 32 MHz crystal,the meter can measure the frequency from 1 Hz to 10 MHz, and the error is relatively small at high frequencies. The design given in this article, not only pracyical, but also simple, and wide frequency range can be measured. It has a cer-tain application.

【Key words】: Precision, MCU, Frequency meter

0 引言

频率是电子技术中最基本的参数之一,并且与其它许多电参数的测量方案和测量结果都有密切的关系,因此频率的测量显得非常重要[1]。而现在的单片机设计的频率计测量频率低,精度差。目前在频率测量领域中,对于高频率信号高精度测量大都使用ARM FPGA等高速处理器加专用计数芯片来完成[2]。这种方法不仅编程复杂,而且成本高,在一些小型的设备中并不适用。

本文提出的基于STC15单片机的频率计的设计方法,以STC15W4K48S4单片机为控制芯片,充分采用内部的软硬件资源,采用同步测量法控制单片机内部的定时器/计数器,并控制LCD显示。该方

法充分发挥了STC15系列单片机在高频晶振下计数的特点,实验测量中也表现出较高的准确度。

1 功能需求与系统方案论证

为达到监播机的系统使用需要。设计的频率计需要具有以下的技术要求:

1. 频率计的计数范围为1 Hz-5 MHz,且对超出频域的部分也能显示。

2. 频率计有动态显示,显示实时的测量频率,且更新速度不低于2秒/次。

3. 频率计部分可单独工作,不影响其它模块中断的响应。

为实现实验要求并达到预期效果,需对硬件系统与软件系统进行设计,其理由是1. 普通单片机无

作者简介: 齐宣,硕士研究生,研究方向为:通信信号处理技术;邵玉斌,硕士,教授,硕士生导师,研究方向为:移动通信和个人通信系统;杨道福,硕士研究生,研究方向为通信信号处理技术。

齐 宣等:基于STC15单片机的高精度频率计设计

法达到需要的频率要求;2. 数字频率计软件中涉及数学运算,并要保存大量信息。对测量结果要驱动LCD显示屏显示,作为系统的一部分要有多个定时器/计数器和中断,以此选用增强型的STC15系列单片机。

1.1 系统结构框图

系统总体框图如图1所示。电路以STC15W-4K48S4单片机为核心,来完成它待测信号的计数、运算、显示的控制。由于单片机对测量的波形有要求,所以必须将要测量的信号信号或者外接信号(包括方波、三角波、正弦波)转换为单片机可以接受的CMOS方波信号[3]才能输入单片机的计数引脚(P3.4)。

图2 多周期同步测频原理

Fig.2 Multi-cycle synchronous frequency

measurement principle

由于计数器1与计数器2是同时开始与停止的,所以是经过了相同的时间T,所以被测频率为:

fx

Nx

f0 N0

(1)

由于在计数过程中,同步控制使得fx的计数为寄存器的整数倍,也不存在±1误差,所以误差与

fx无关。外部晶振采用32 MHz的有源晶振,保证晶振的稳定,所以误差极小控制在106范围内。

图1 系统结构图

Fig.1 System structure diagram

被整形后的信号送入单片机端口,利用其内部的定时/计数器完成待测信号周期/频率的测量。单片机STC15W4K48S4内部具有5个定时/计数器,本设计中选用T0,T1两个定时/计数器,并由编程来实现定时、计数的模式和产生计数溢出时中断内部的功能。

2 硬件电路设计

数字频率计的设计原则主要是缩小系统体积降低作品硬件成本,提高系统的可靠性和使用便捷性等,而在监播机系统中对硬件的体积要求尽可能小,同时不能干扰放大电路、检测电路等,因此在单片机的选型及封装,LCD液晶屏,电路等方面要求在满足功能要求的同时减少空间的占用。

1.2 多周期同步测频的原理

同步测频法是为了提高周期测量法的精度而对其进行改进的方法,其核心是使标准高频信号的采样与待测信号同步,并确保测量时间为整数个待测信号,从而使得该测量方法的原理误差不超过一个标准高频信号周期,大大提高了测量精度[4]。采用同步测频法对被测信号进行测量要求使用两个计数器,分别对被测量信号和晶振信号同时计数,以被测量信号为标准对其计数,使被测量信号计数器溢出的次数为整数倍,而这时另一个计数器对晶振的计数次数就是时间,通过计算便可得出被测信号的频率[4,5]。

其测量原理如图2所示,fx为被测信号频率,fosc

为晶振产生的标准频率;当计数器1(T0)对fx计数并且控制它计满整数n个溢出次数时,计数器2(T1)的溢出次数为nosc,则T0对fx的计数次数为Nx=n×65536次,而T1对fosc的计数次数为Nosc= nosc×65536+TH1×256+TL1,TH1与TL1是T1寄存器中的数值。

221

2.1 单片机最小系统

本设计采用的是STC15W4K48S4系列芯片,为宏晶公司生产的高性能单片机,封装格式为SOP28。复位电路和时钟电路是维持单片机最小系统运行的基本模块。为防止系统在运行过程中出现程序跑飞的情况,需要设置系统复位按钮。

高频的时钟信号可以加快单片机的运行速度,同时实现对高频信号的采样。STC15提供了可达1T的主频速度和高分辨率的定时器,因此才可以实现高精度和更款范围的测量。本次设计采用32 MHz的有源晶振。P3.4脚为被测频率的输入引脚,P3.5为外部晶振的输入引脚。由于单片机内部采样原理的限制,理论上可以实现16 MHz信号的采样,但由于误差的影响,频率越高时误差会越大。

2.2 LCD显示模块

显示电路设计的关键问题是显示器件的选择,对于本产品设计的频率计为系统的必要模块,需要与主板一起装置在已提供好的功能箱中。可供选择

《软件》杂志欢迎推荐投稿:cosoft@vip.163.com

第38卷 第12期 软 件

的器件有 LED 数码显示器和 LCD 显示器,其中LED适用于室内,比较醒目;LCD 比较精细,显示信息多。本作品采用LCD1602型字符显示器,它可以显示2行各16个字符的各种ASCII码字符,因此只要设计合理,就可以将要显示的内容提示,结果信息等全部显示出来,比一般的数码管更直观、更有效[6]。

本次设计采用1602LCD显示模块,由于单片机封装形式为SOP28,考虑到引脚较少的问题采用四线制驱动LCD1602以减少引脚的占用。

编号 符号 引脚说明

地 正极 背光调节 读/写选择 使能信号 总线端口

1 VSS 2 VDD 3 VL 5 R/W 6 E 7-14 D0-D7

数值调整的部分程序:

If(flag=1){

CallFrecency();

//将每次计算的Nx值放入数组 Result_num[flag_10]=Nx; Flag_10++; …

For(i=0;i<10;i++){

Sum_result+=result_num[i]; }

ave_result=sum_result/10;

… }

4 RS 数据/命令选择

15 BLA 背光源正极 16 BLK 背光源负极

3 软件设计

频率计的软件设计工具选用Keil Vision5,使用C语言设计,整体采用模块化设计方法,整个软件部分由初始化模块、定时器设置模块,计算模块、显示模块组成。系统结构图如图3所示。上电后对单片机初始化,然后分别对T0、T1设置;设置T0为16位计数器,T0对时钟信号进行12分频(此时AUXR=0X40);T1为16位定时器,对时钟信号进行计数。

被测量的频率信号由单片机的P3.4脚输入,当T0溢出满10次后,分别对T0和T1的计数次数进行求和,得出Nx和Nosc,然后求出被测频率。

求出被测频率的主要程序:

void CallFrecency(){ unsigned long int sum_T0=0; unsigned long int sum_T1=0; double a_adjust=0.0;

sum_T0=10*65536;//计算T0计数值 sum_T1=(cycle2*65536)+TH1*256+TL1; Nx_adjust=(a0+0.0)/(a1+0.0); Nx=FOSC*a_adjust; cycle1=0; cycle2=0; }

为了减少每次的误差,对测量结果调整,每测量10次取平均值。

图3 软件流程设计 Fig.3 Software process design

4 测量结果

实验测量中采用32 MHz外部有源晶振作为时钟,在正常室温条件下对信号发生器产生的方波信号进行测频,结果如下表。

从实验结果可以看出,在1 MHz内测量精度很高,在5 MHz内会出现极小误差,范围控制再0.1‰内。与普通单片机实现的频率计设计相比较,能达到较大的量程且在10 M内的误差很小,采用本设计方法能达到较高的精度要求。

表1 测量结果 Tab.1 Measurement results

被测信号(Hz)显示结果(Hz)被测信号(Hz)显示结果(Hz)

1 1 1 M1 M

100 100 5 M 4999967.4

100 k 100 k 10 M 99999886.2

500 k500 k

(下转第261页)

222

《软件》杂志欢迎推荐投稿:cosoft@vip.163.com

杨栋枢等:企业数据标准及其管理体系研究

(3)阶段三:形成数据标准服务能力 本阶段需要完成的工作为:组织常态开展数据标准应用、维护,并根据业务需要持续优化数据标准内容;通过外部引入、培养等方式持续提升数据标准支撑团队能力;持续优化《企业数据标准管理办法》。

5 结束语

在未来的企业竞争中,数据将被视为企业的核心资产,在企业的数据管理工作中,数据标准将在规范数据生成、促进数据融合和应用等方面发挥越来越重要的作用。

本课题初步提出企业数据标准及管理体系构建思路,旨在指导企业数据标准制定、应用和维护工作开展。在企业后续数据标准实践过程中,应对该体系进行持续修正和改进,以提高数据标准的适用性,充分发挥数据标准作用。

参考文献

[1] David Loshin. Master data management[M]. Netherlands:

Elsevier, 2010: 56-78.

[2] April Reeve. Managing data in motion[M]. Netherlands:

Elsevier, 2014: 32-90.

[3] 王飞. 数据架构与商业智能[M]. 北京: 机械工业出版社,

2014: 131.

Wang Fei. Data architecture and business intelligence[M]. Beijing: China Machine Press, 2014: 131.

[4] 陆顾新, 陈石军, 王立等. 银行数据治理[M]. 北京: 机械

工业出版社, 2016: 78-80.

Lu Gu-xin, Chen Shi-jun, Wang Li. Bank data governance [M]. Beijing, China Machine Press, 2016: 78-80. [5] DAMA International. DAMA数据管理知识体系指南[M].

北京: 清华大学出版社, 2012: 35.

DAMA International. DAMA data management knowledge system guide[M]. Beijing: Tsinghua University Press, 2012: 35. [6] Ching-Heng Lin, Nai-Yuan Wu, Der-Ming Liou. A multi-te-chnique approach to bridge electronic case report form de-sign and data standard adoption[J]. Journal of Biomedical Informatics, 2015, 53(2): 49-57.

[7] 杨海鹏, 戴波. 数据采集与监控系统在石油化工企业中的

应用[J]. 新型工业化, 2014, 4(3): 44-51.

Yang Hai-peng, Dai Bo. Applications of the System of Su-pervisory Control and Data Acquisition in Petrochemical Enterprise[J]. The Journal of New Industrialization, 2014, 4(3): 44-51.

[8] WEN Bi-long, ZHANG Li. Defining semantics for data ele-ment with semantic tree[C]//IEEE. 2008 International Sym-posium on Information Science and Engineering. Shanghai: IEEE, 2008: 524-527.

[9] 邹谊, 汤汉伊, 李锐等. 基于IMS行政交换网的国家电网

财务数据集中管理系统的设计与实现[J]. 新型工业化, 2017, 17(4): 49-54.

ZOU Yi, TANG Han-yi, LI Rui, ZHANG Lei. Design and Implementation of Financial Data Management System Based on IMS in Administrative Exchange Network[J]. The Journal of New Industrialization, 2017, 17(4): 49-54.

(上接第222页) [5] [6] [7] [8] [9]

廖 磊, 梁文海, 蒋涛. 一种多周期同步测频的改进方法及误差分析[J]. 乐山师范学院学报 2011(12): 15-17. 应朝龙, 李 超, 刘春霞, 赵瑞青. 基于单片机的实用数字信号源与频率计设计[J]. 电子设计工程 2015(20): 141- 147. 张志成 基于 STM32 单片机的频率计的设计[J]. 电子制作. 2013(20): 1, 9.

李莉, 熊晶 基于CPLD和单片机的等精度数字频率计设计[J]. 现代电子技术. 2015. 38(10): 118-120.

胡学武 用AT89C52 实现智能型频率计[J]. 苏州大学学报(工科版), 2009. 29(4): 33-35.

5 结语

数字频率计作为一种基本的测量仪器,在多种场合中都有应用;而单片机具有体积小,较强的功能和低廉的价格。本文给出的频率计的设计方法,可以在保持较高精度的情况下测量高达10 MHZ高频信号。在不增加外部器件的情况下通过软件的设计达到目的要求。本设计简单,稳定性高,可以极好的满足在广播监播机中的频率和精度要求。

[10] 凌振宝, 叶剑峰, 孙正光 多功能数字频率计的设计与研

究[J]. 吉林大学学报(信息科学版), 2011(4): 376-381. [11] 姚永平. STC15数据手册[DB/CD], 2013.

[12] 杨春兰. 基于单片机的多功能数字频率计的设计[J]. 怀化

学院学报. 2016. 35(5): 64-67.

[13] 冯宴铭, 陆小龙, 赵世平. 基于C8051F020单片机的高精

度测频计数和计时模块设计[J]. 电子测量技术. 2014(4): 72-75.

[14] 姜志健, 庄建军等 基于FPGA的高精度频率计的设计与实

现[J]. 电子测量技术. 2017. 40(5): 41-46.

[15] 王少军, 张启荣, 彭宇, 等. 一种新型的高精度数字频率

计设计[J]. 仪器仪表学报. 2014. 35(6): 1206-1209. [16] 刘传朋, 杨翡. 基于STC12C5A60S2单片机频率计的设计

与实现[J]. 电子技术与软件工程. 2015(2): 260-261.

参考文献

[1] [2] [3] [4]

肖春芳, 韩绪鹏 基于单片机控制的数字频率计设计[J]. 电子设计工程. 2012, 20(1): 140-143.

张粮雨 基于51单片机的高频频率计设计 [J]. 电子科技. 2014, 27(2): 82-84.

夏禹 基于单片机的数字频率计及信号发生器 [J]. 电子世 界. 2012.

瓮巍巍, 丁天怀. 同步测频法的误差分析及其在单片机测量系统中的实现[J]. 电测与仪表2002(1): 13-16.

261 《软件》杂志欢迎推荐投稿:cosoft@vip.163.com

因篇幅问题不能全部显示,请点此查看更多更全内容

Top