×
单片机 > 单片机程序设计 > 详情

C8051F041的高精度频率计设计

发布时间:2020-06-19 发布时间:
|
0  概述

频率测量是电子测量中最基本的测量之一。随着电子科学技术的发展,对信号频率测量的精度要求越来越高。目前采用的测频方法有直接测频法、直接测周法和等精度测频法。直接测频法在高频段的精度较高。但在低频段的精度较低;直接测周法则恰恰相反。而等精度测量法则可在整个频率测量范围内保持恒定的测量精度,且测量精度也较高。

C8051F单片机是SoC芯片,其内核是CIP-51微控制器。CIP-51采用流水线指令结构,指令集与标准8051指令集完全兼容。且不再区分系统时钟周期和机器周期,所有指令时序都以时钟周期计算,大部分指令只需1~2个系统时钟即可完成。因而其运算速度明显高于传统8051单片机。为此,本文给出了基于C8051F单片机和一些外围电路的等精度频率计的设计方案。

1 等精度频率测量的基本原理

等精度频率测量又叫多周期同步测量,它是将待测信号和标准信号分别输入到两个计数器.它的实际闸门时间不是固定值,而是待测信号周期的整数倍,故可消除对待测信号计数时产生的量化误差(±1误差),其精度仅与闸门时间和标准频率有关。等精度测频系统主要由待测信号计数器、标准信号计数器、同步闸门控制器、预置时间控制器以及运算单元等组成。测量的基本流程是在发出测量触发信号后,由同步闸门控制器在预置时间控制器产生预选闸门控制信号,再由待测信号触发同步,以形成真正的预置测量时间,然后同时控制两个计数器,并分别对待测信号和标准信号进行计数。等精度测量频率的原理如图1所示。其待测信号频率可由下式计算:



式中:Nx为待测信号计数值,N0为参考信号计数值,fx为待测信号频率值,f0为参考信号频率值。

2 频率计硬件电路设计

本设计将待测信号、标准信号的计数及产生预置时间、计算频率值等功能完全用C8051F04l单片机来实现,因而简化了测量电路。整个频率测量系统包括放大整形、LCD液晶显示、键盘控制和串口RS232通信电路等。系统选用高精度的标准10MHz石英晶振作为标准信号源,以保证测频精度。图2所示是系统的总体硬件设计框图。



2.1  C8051F041单片机

本系统中的C8051F041单片机是一款全集成的混合信号片上系统型MCU,具有32个数字I/O引脚和高精度可编程的24.5 MHz内部振荡器,以及64 KB在片FLASH存储器,同时片内还集成了一个CAN2.0B控制器、5个通用16位定时器、真正12位100 ksps的ADC、两个12位DAC以及硬件实现的SPI、SMBus/I2C和两个UART串行接口。

2.2 硬件电路

系统硬件主要由放大整形电路、键盘电路、LCD显示电路、RS232串口等部分组成。放大整形电路主要对待测信号(如正弦波、三角波、锯齿波、方波等)进行幅值放大,施密特整形为TTL电平的矩形波,同时去除噪声干扰。键盘电路采用独立键盘,可控制测频的启停和数据是否上传等。液晶显示电路采用16×2字符的LCD1602液晶显示,可配置成8位接口方式,以对测量频率进行同步显示。测量数据可通过RS232串口上传至上位机,并在上位机软件中保存。这种方式特别适用于长时间多次测量频率值的场合。

3 软件设计及调试

本系统的软件部分包括C8051F041单片机的主控程序和上位机软件。

3.1 C8051F041主控程序

主控程序可用C语言编写,采用定时器T2作为预置门控制器时间,定时器T1用于串口通信,计数器C3作为待测信号计数器,计数器C4作为基准频率计数器。在主控程序中,可将标准信号计数值N0定义为unsigned long int型变量,其计数范围为0~(232-1),即0~4.294967295×109。图3所示是其主程序流程图。



3.2 上位机VB软件

为了提高测量频率值的可分析性,本系统利用VB6.0提供的、用于RS232串行通信的MSCOMM.OCX控件来编写上位机串口数据的采集和测频值的保存软件。软件可实时读取单片机测得的频率值,并在PC机显示。同时该软件还可将测量数据与系统时间共同保存,以便于多次测量时对数据的记录和分析计算。

4 结束语

本频率计在0~10 MHz的频率范围内具有相同的测量精度。考虑到测频的精度和稳定性,标准信号源应选用精度为10-8的10 MHz标准石英晶振,以提高测频精度,同时也可缩短测频时间。此外,利用C8051F单片机的性能优势,将等精度测频系统的主要部分用C8051F041实现。也简化了电路结构,缩短了测频时间,提高了系统设计的可靠性,具有较高的实用价值。
关键字:C8051F041  高精度  频率计

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C51 特殊功能寄存器SFR的名称和地址