1、 数数 字字 频频 率率 计计 内容摘要 : 频率测量在科技研究和实际应用中的作用日益重要。传统的频率计通采用组合电路和时序电路等大量的 硬件 电路构成,产品不但体积较大,运行速度慢,而且测量低频信号时不宜直接使用。 在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。测量频率的方法有多种 ,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。本文阐述了用 ATmega16 单片机与相关硬件和软件 设计了一个简单的数字频率计的过程。 引 言 频率测量方法的优化
2、越来越受到重视 . 频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为 1 秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长则没测一次频率的间隔就越长。闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。本文。数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件 等等。因此,数字频率计是一种应用很广泛的仪器 本 设设 计计
3、基基 本本 要要 求求 是是 : (1)可可 以以 选选 择择 不不 同同 的的 频频 率率 范范 围围 . (2)测测 量量 波波 形形 为为 三三 角角 波波 或或 矩矩 形形 波波 . (3)测测 量量 波波 形形 频频 率率 范范 围围 为为 0100HZ,幅幅 值值 为为 TTL 电电 平平 . (4)使使 用用 数数 码码 管管 显显 示示 出出 实实 时时 频频 率率 值值 . . 发发 挥挥 部部 分分 : (1)测测 量量 范范 围围 可可 扩扩 展展 到到 4MHZ, 或或 者者 更更 高高 . (2)测测 量量 波波 形形 可可 为为 任任 意意 波波 形形 . (3)测
4、测 量量 波波 形形 的的 幅幅 值值 为为 15V 峰峰 峰峰 值值 . (4)自自 动动 切切 换换 档档 位位 . 方案设计与论证 数字频率计是数字 电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着复杂可编程逻辑器件的广泛应用, 用 C语言 编程到 ATmega16, 将使整个系统大大简化。提高整体的性能和可靠性。 ATmega16是基于增强的 AVR RISC结构的低功耗 8 位 CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间, ATmega16 的数据吞吐率高达 1 MIPS/MHz,从而可以缓减系
5、统在功耗和处理速度之间的矛盾。 1方案设计与初步论证: ( 1) 频率测量方法概述 频率测量方法 模拟法 数字法 直读法 比较法 电容充放电式 电子计数式 电桥法 谐振法 差频法 示波法 拍频法 李沙育图形法 测周期法 表 1 频率测量方法 直读法又称无源网络频率特性测量法 ;比较法是将被测频率信号与已知频率信号相比较 ,通过观、听比较结果 ,获得被测信号的频率 ;电容充放电式计数法是利用电子电路控制电容器充放电的次数 ,再用电磁式仪表测量充放电电流的大小 ,从而测出被测信号的频率值 ;电子计数法是根据频率定义进行测量的一种方法 ,它是用电子计数器显示单位时间内通过被测信号的周期个数来实现频率
6、的测量。 利用电子计数式测量频率具有精度高、测量范围宽、显示醒目直观、测量迅速 ,以及便于实现测量过程自动化等一系列优点 ,所以下面将重点介绍电子计数式测量频率的几种方法。 (1) 脉冲数定时测频法 (M 法 ) : 此法是记录在确定时间 Tc 内待测信号的脉冲个数 Mx ,则待测频率为 : Fx= Mx/ Tc 显然 ,时间 Tc 为准确值 ,测量的精度主要取决于计数 Mx 的误差。其特点在于 :测量方法简单 ;测量精度与待测信号频率和门控时间有关 ,当待测信号频率较低时 ,误差较大。 脉冲周期测频法 (T 法 ) : 此法是在待测信号的一个周期 Tx 内 ,记录标准频率信号变化次数 Mo。
7、这种方 法测出的频率是 : Fx = Mo/ Tx 此法的特点是低频检测时精度高 ,但当高频检测时误差较大。 脉冲数倍频测频法 (AM 法 ) : 此法是为克服 M 法在低频测量时精度不高的缺陷发展起来的。通过 A 倍频 ,把待测信号频率放大 A 倍 ,以提高测量精度。其待测频率为 : Fx= Mx/ ATo 其特点是待测信号脉冲间隔减小 ,间隔误差降低 ;精度比 M 法高 A 倍 ,但控制电路较复杂。 脉冲数分频测频法 (AT 法 ) : 此法是为了提高 T 法高频测量时的精度形成的。由于 T法测量时要求待测信号的周期不能太短 ,所以可通过 A 分频使待测信号的周期扩大 A 倍 ,所测频率为
8、 : Fx = AMo/ Tx 其特点是高频测量精度比 T 法高 A 倍 ;但控制电路也较复杂。 脉冲平均周期测频法 (M/ T法 ) : 此法是在闸门时间 Tc 内 ,同时用两个计数器分别记录待测信号的脉冲数 Mx 和 标准信号的脉冲数 Mo 。若标准信号的频率为 Fo ,则待测信号频率为 : Fx = FoMx/ Mo M/ T 法在测高频时精度较高 ;但在测低频时精度较低。 多周期同步测频法 : 是由闸门时间 Tc 与同步门控时间 Td 共同控制计数器计数的一种测量方法 ,待测信号频率与 M/ T 法相同。此法的优点是 ,闸门时间与被测信号同步 ,消除了对被测信号计数产生的 1个字误差
9、, 测量精度大大提高 ,且测量精度与待测信号的频率无关 ,达到了在整个测量频段等精度测量。 3 确定实验方案 3 1 可用实验方案介绍 3.1.1 方案 1 采用频率计模块 (如 ICM7216)构成 。特点是结构简单 ,量程可以自动切换。 ICM7216 内部带有放大整形电路 ,可以直接输入模拟信号。外部振荡部分选用一块高精度晶振体和两个低温系数电容构成 10MHz 并联振荡电路。用转换开关选择 10ms ,0. 1s ,1s ,10s 四种闸门时间 ,同时量程自动切换。 缓冲电路是为了让频率计采用记忆方式 ,即 计数过程中不显示数据 ,待计数过程结束后 ,显示测频结束 ,并将此显示结果保持
10、到下一次计数结果 ,显示时间不小于 1s ,小数点位置随量程自动移动。芯片驱动电路输出 15mA 35mA 的峰值电流 ,所以在 5V 电源下可直接点亮 LED。 3.1.2 方案 2: 系统采用可编程逻辑器件 (PLD,如 ATV 2500)作为信号处理及系统控制核心,完成包括计数、门控、显示等一系列工作。 该方案利用了 PLD 的可编程和大规模集成的特点,使电路大为简化,但此题使用 PLD 则不能充分发挥其特点及优势,并且测量精度不够高 ,导致系统性能价格比降低、系统功能扩展受到限制。 方案 3: 系统采用 ATmega16 单片机,门控信号由 T0 内部的计数定时器产生,单位为 1 s。
11、由于单片机的计数频率上限较低,所以需对高频被测信号进行硬件欲分频处理, 最后使整个电路完成运算、控制及显示功能。由于使用了单片机,使整个系统具有极为灵活的可编程性,能方便地对系统进行功能扩展与改进。 3.2 方案比较及确定 以上方案均需使用小信号放大、整形通道电路来提高系统的测量精度和灵敏度。 方案比较及选用依据: 显然方案二要比方案一简洁、新颖,但从系统设计的 指标要求上看,要实现频率的测量范围0 1Hz-10MHz。以频率下限 0.1Hz 比来说,要达到误差 0 01的目的,必须显示 5 位的有效数字,而使用直接测频的方法,要达到达个测量精度,需要主门连续开启 1000S,由此可见,直接测
12、频方法对低频测量是不现实的,而采用带有运算器的单片机则可以很容易地解决这个问题,实现课题要求。也就是采用先测信号的周期,然后再通过单片机求周期的倒数的方法,从而得到我们所需要的低频信号的测量精度。另外由于使用了功能较强的 ATmega16 芯片,使本系统可以通过对软件改进而扩展功能,提高 测量精度。因此我们选择采用方案三作为具体实施的方案 方框图 : PB0 (XCK/T0)1PB1 (T1)2PB2 (AIN0/INT2)3PB3 (AIN1/OC0)4PB4 (SS)5PB5 (MOSI)6PB6 (MISO)7PB7 (SCK)8RESET9PD0 (RXD)14PD1 (TXD)15P
13、D2 (INT0)16PD3 (INT1)17PD4 (OC1B)18PD5 (OC1A)19PD6 (ICP)20PD7 (OC2)21XTAL212XTAL113GND11PC0 (SCL)22PC1 (SDA)23PC2 (TCK)24PC3 (TMS)25PC4 (TDO)26PC5 (TDI)27PC6 (TOSC1)28PC7 (TOSC2)29AREF32AVCC30GND31PA7 (ADC7)33PA6 (ADC6)34PA5 (ADC5)35PA4 (ADC4)36PA3 (ADC3)37PA2 (ADC2)38PA1 (ADC1)39PA0 (ADC0)40VCC10U1
14、ATmega1612Y18.000M22pFC122pFC222uFC31KR101kR1110KR15S1S2S3A1f2g3e4d5A6c8DP7b9a10D4A1f2g3e4d5A6c8DP7b9a10D3A1f2g3e4d5A6c8DP7b9a10D2A1f2g3e4d5A6c8DP7b9a10D1VCCVCCa1a2a3a4a5a6a7a8a1a2a3a4a5a6a7a8a1a2a3a4a5a6a7a8a1a2a3a4a5a6a7a8a1a2a3a4a5a6a7a8k1k2k3k4k1k2k3k4VCCVCC1KR31KR4LEDLEDVCCVCC1 2U2A74LS14各各 部部
15、分分 功功 能能 说说 明明 ATmega16是一个基于增强地 AVR RISC结构的低功耗 8 位 CMOS微控制器。由于其具有先进的指令集以及单时钟周期指令执行时间,所以 ATmega16 的数据吞吐率高达 1 MIPS /MHZ , 从而可以缓减系统在功耗和处理速度之间的矛盾。 AVR 内核具有丰富的指令集和 32 个通用工作寄存器。所有的寄存器都直接与算逻单元 (ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大 提高了代码效率,并且具有比普通的 CISC 微控制器最高至 10 倍的数据吞吐率。 ATmega16 有如下特点 :16K字节的系统内可
16、编 程的 Flash(具有同时读写的能力,即RWW), 512 字节 EEPROM, 1K 字节 SRAM, 32 个通用 I/O 口线, 32 个通用工作寄存器,用于边界扫描的 JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器 / 计数器 (T/C),片内 /外中 断,可编程串行 USART,有起始条件检测器的通用串行接口, 8路 10位具有可选差分输入级可编程增益 (TQFP 封装 ) 的 ADC ,具有片内振荡器的可编程看门狗定时器,一个 SPI 串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时 CPU 停止工作,而 USART、两线接口、 A/D 转
17、换器、 SRAM、 T/C、 SPI 端口以及中断系统继续工作;掉电 模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止 作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终 CPU 和除了异步定时器与 ADC 以外所有I/O 模块的工作,以降低 ADC 转换时的开关噪声 ; Standby 模式下只有晶体或谐 振振荡器运行,其余功能模块处于休眠 态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展 Standby 模式下则允许振荡器和异步定时器继续工作。 本芯片是以 Atmel 高密度非易失性存储器技术生产的。
18、片内 ISP Flash 允许程序存储器通过 ISP 串行接口,或者通用编程器进行编程,也可以通过运行于 AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用 Flash存储区 (Application Flash Memory)。在更新应用 Flash存储区时引导 Flash区 (Boot Flash Memory)的程序继续运行,实现了 RWW 操作。 通过将 8 位 RISC CPU 与系统内可编程的 Flash 集成在一个芯片内, ATmega16 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。 ATmega16 具有一整套的编
19、程与系统开发工具,包括: C 语言 编译器、宏汇编、 程序调试 。 ATmega16 的引脚 VCC 数字电路的电源 GND 地 端口 A(PA7.PA0) 端口 A 做为 A/D 转换器的模拟输入端。端口 A 为 8 位双向 I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口 A 处于高阻状态。 端口 B(PB7.PB0) 端口 B 为 8 位双向 I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为
20、输入使用时,若内部上拉电阻使能,端口被外部电路 拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口 B 处于高阻状态。 端口 C(PC7.PC0) 端口 C 为 8 位双向 I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口 C 处于高阻状态。如果 JTAG接口使能,即使复位出现引脚 PC5(TDI)、 PC3(TMS)与 PC2(TCK)的上拉电阻被激活。 端口 D(PD7.PD0) 端口 D 为 8 位双向 I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还