ABOUT RELY-MEASURE
您的当前位置:主页 > 使用说明 >

基于单片机的等精度数字测频

发布时间:2020-10-30 18:14 作者:人生就是博尊龙

  基于单片机的等精度数字测频_物理_自然科学_专业资料。基于单片机的等精度数字测频 在电子技术领域内,频率是一个最基本的参数,频率与其他许多电参量的测 量方案,测量后果都有十分密切的关系。因此,频率的测量就显得更为重要,而 且,目前在电子测量中,频率的测量

  基于单片机的等精度数字测频 在电子技术领域内,频率是一个最基本的参数,频率与其他许多电参量的测 量方案,测量后果都有十分密切的关系。因此,频率的测量就显得更为重要,而 且,目前在电子测量中,频率的测量精确度最高。 由于数字电路的飞速发展和数字集成电路的普及,电子计数器已成为近代测 量的重要手段。它可严格按照式 f=N/T 所表达的频率的定义进行测频,原理方框 图如图 1 所示。 fx 放大整形 闸门 计数译码显示 门控信号 石英 振荡器 放大整形 分频 图 1:电子计数器测频原理方框图 控制电源 首先,被测信号通过放大整形,形成幅度一致,形状一致是计数脉冲。然后, M 将它加到闸门的一个输入端,闸门由门控信号来控制其关闭时间。计得的脉冲 送至译码,再送显示器显示出来。而由晶振产生的 1MHz 的振荡信号经放大整形, 形成方波,经多个 10 分频 10s,1s,0.1s,0.01s,1ms,那么有 fx=N/T 符合测频定 义。根据 f=N/T,不难看出,采用计数器测频的测量误差,一方面决定于闸门时 间 T 准不准确,即由晶振提供的标准频率的准确度ΔT/T=-(Δfo/fo);另一方面 决定于计数器计得的数准不准,即“±1 误差”,ΔN/N=±1/N=±(1/T*fx)。所 以,计数器直接测频的误差主要有两项,即±1 误差和标准频率误差。测低频时, 由于±1 误差产生的测频误差大得惊人,所以不宜采用直接测频方法。由于 fx 较低时,利用计数器直接测频,由±1 误差所引起的测频误差将会大的不可允许 的程度。所以,为了提高测量低频时的准确度,即减少±1 误差的影响,可改成 先测周期 Tx,然后计算 fx=1/Tx。 测量原理:首先 Tx 经放大整形控制双稳态触发器形成门控信号,控制闸门 的开闭;然后晶振产生的 1MHz 的振荡信号,经放大整形形成方波,产生幅度一 致,形状一致是计数脉冲。当闸门打开时,对计数脉冲进行计数;闸门关闭时, 停止计数。计得的脉冲送译码,送显示。 石英 振荡器 放大整形 闸门 门控信号 计数译码显示 Tx 放大整形 分频 图 2:电子计数器测周期原理图 8XX51 单片机的定时器 T1 由 TH1,TL1 组成,定时器 T0 由 TH0,TL0 组成。 它们均为八位寄存器,映射在特殊功能寄存器中,占地址 8AH~8DH。它们用于存 放定时或计数的初始值。此外,内部还有一个八位的方式寄存器 TMOD 和一个八 位的控制寄存器 TCON,用于选择定时器的工作方式,如计数还是定时(C/?T), 启动的方式(GATE)及发启动控制信号 TRx。 OSC ÷12 Ta 脚 TR & TL(8 位)THx(8 位) TFx 控制 GATE 1 ≥ 1 INTx 脚 图 3:定时器工作原理图 定时和计数实质都是对脉冲的计数,只是被计的脉冲的来源不同,定时方式 的计数初值和被计脉冲的周期有关,而计数方式的计数初值只和被计脉冲的个数 有关(计由高到低的边沿数)。 (以 8031 为例)8031 单片机内含有两个 16 位可编程定时/计数器。均可编 程对内部机器周期计数(定时方式),或对外部引脚输入的脉冲进行计数(计数 方式)。CPU 工作于 12MHz 主频时,外部最高计数频率 500KHz,内部时钟计数频 率达 1MHz。定时器的基准定时脉冲周期为 1μs,当采用测频方式时,T/C0 编程 为计数方式,对被测信号频率计数,产生欲置的检测时间。由于定时器最长的定 时时间为 65535s,欲产生更长的检测时间需使用软件计数器,中断多次即可获 得所需检测时间。被测频率较低时,则选用测周方式;T/C1 编程为定时方式, 用来对 m 个输入脉冲周期所经历的时间计时。 微处理器的主要优点之一是可以利用微处理器的数据处理能力,减小测量过 程中产生的随机误差和系统误差,从而提高测量精度,所以往往把单片机运用在 电子测量过程中,来提高测量精度。 预置输入 测量时间 Fx 控制门 预置门 同步门 计数器 Nx 计数器 No 频 率 计 输出 数 时标 Fo 图 4:等精度测量原理框图 实现等精度测量原理,关键是使 Nx 不产生误差,而 No 不超过±1 误差。利 用 PC 机总线技术,设计了相应的控制门电路,实现对被测频率信号的计数及相 应的精确闸门时间,并使闸门的开启与关闭和被测信号的有效跳变同步。 预置门的打开和关闭由被测信号和预置的测量时间控制,计数器 Nx 在预置 门的控制下对被测信号频率计数,控制门根据预置门产生一个与被测信号同步的 同步门;计数器 No 在同步门的控制下对时标计数,得到精确的闸门时间 Tg。设 时标周期为 To,则被测频率 Fx=Nx/NoTo。 单片机采用定时 1 秒的测频法先对信号进行预测,软件根据频率高低自动选 择检测时间或周期扩展倍数,以保证各档都有较高测量精度。当输入信号频率超 过 100kHz 时,信号经扩展计数器分频后送入 8031 按测频法测量,频率检测时间 设有三档,分别为 0.01s、0.1s、1s。在转入周期测量后,信号直接送入单片机, 周期扩展倍数有 104、103、102、10、1 五档。 由于单片机的最高计数频率为 500kHz,限制了测频范围,必须对高频进行 分频。扩展 n 分频器后,将会产生分频误差。这个 n 分频最大将导致(n-1)个待 测频率周期的分频误差。该误差量级与“±1”误差相当,甚至更大。为了提高 测频分辨率,我们采用了硬件同步分频技术,即在闸门开启的有效上升沿时刻, 对 74LS591 分频器清零。在闸门关闭时刻,将分频状态打入总线 通过缓冲器读出其值,从而消除了“分频误差”。 在本系统中,T/C1 编程为定时方式时,在 12MHz 晶振下其最大定时时间只 有 65.536ms,需采用软件来扩展计数器的容量。即计数器每溢出中断一次,片内 RAM 的内容加一计数,这样大大扩大了单片机的计数范围。但同时也引入了中断 响应的时间误差,我们称之为“软件误差”。频率计的核心是时间基准的正确性, 因此在中断后重置定时器时间常数时,不能简单地采用重置办法。从单片机的中 断响应系统及其响应过程可知:(1)定时器每次溢出中断时,WAIT 语句必须执行 完才能响应,该条指令的执行时间为 2μs,我们取其平均延迟时间为 1μs; (2)CPU 响应中断到执行中断服务程序首条指令至少需 3 个完整的机器周期,即 延 3μs;(3)中断服务程序中实际的定时时间是在执行完时间常数的装载指令后 才开始,两条装载指令占用 4μs。根据以上分析。每次中断后,将延迟约 8μs 后才开始定时。实际获得的定时时间必须考虑到 8μs 的延迟,该频率计采用软 件补偿的处理方法来降低其影响。由于软件修正相当方便在仪器调试中可作进一 步的调整,因此基本上可消除软件误差。 频率计根据被测信号频率的大小,软件控制自动切换频率检测时间,或自动 转换为周期测量,选择适当的周期扩展倍数。其软件设计采用模块化结构设计, 程序设计与调试都很方便,功能扩充也很灵活。单片机上电复位后,首先执行主 程序,完成有关芯片和定时器的初始化,设置数据缓冲区、显示方式、数据计数 器初值及频率初测方式等。开中断后,随时检测外部中断和定时器所发出的中断 请求信号,一旦有则转入相应的中断服务程序,否则返回显示程序,显示所测的 频率值。 参考文献: [1]蒋焕文 孙续,《电子测量》,中国计量出版社,1988 年 [2]杨光友 朱宏辉等,《单片微型计算机原理及接口技术》,中国水利水电出版社, 2002 年 [3]夏雪生,《微机化仪器设计》,科学出版社,1988 年 [4]夏雪生,《微处理机测试装置》,上海科学技术文献出版社,1988 年 [5] 马炫,《等精度频率脉冲信号采集测试系统》,西安理工大学, 1997.11(3).50-52. 单片机在等精度测频中的应用- 频率检测是电子测量领域的最基本测量之一,它与许多电气参数的测量都有着十分密切 的关系。单片机具有控制灵活、性价比高的特点,为了充分挖掘其测频潜力,我们设计了一种 由 8031 单片机控制的自动频率计。 1 测量原理 8031 单片机内含两个 16 位可编程定时/计数器,均可编程对内部机器周期计 数(定时方式),或对外部引脚输入的脉冲进行计数(计数方式)。CPU 工作于 12MHz 主频时,外 部最高计数频率 500kHz,内部时钟计数频率达 1MHz,定时器的基准定时脉冲周期为 1μs,因 而选用 8031 构成频率计是比较理想的。当采用测频方式时,T/C0 编程为计数方式,对被测信 号频率计数。T/C1 编程为定时方式,对内部时钟脉冲计数,产生预置的检测时间。由于定时器 最长的定时时间为 65535s,欲产生更长的检测时间需使用软件计数器,中断多次即可获得所需 检测时间。被测频率较低时,则选用测周方式。T/C1 仍编程为定时方式,用来对 m 个输入脉 冲周期所经历的时间计时。 为提高测量精度,输入脉冲同时也被引到 INT0 脚,在脉冲的下跳沿产生一个中断请 求,CPU 在两种情况下响应这个中断请求:(1)每次采样开始时,响应这个中断请求,启动定时器 开始计时,保证了与输入信号同步,从而使计数误差由±1 个减小到±0.5 个,(2)在转入周期测 量后,响应这个中断请求,关闭 T/C1 的计时,将 T/C1 的计数值乘以机器周期便得到 m 个输入 信号的周期。除了以上两种情况,INT0 的中断请求是被屏蔽的。 2 硬件设计我们只用很少的硬件和一些价格低廉的器件就构成了一台中高精度的自动 频率计(最大允许误差为 10-5 数量级)。它主要由单片机最小系统、放大整形电路、分频电路 等组成。2.1 单片机最小系统及 LED 显示电路频率计采用控制灵活、性价比高的 8031 单 片机做主机,与 4k 程序存贮器 EPROM2732、地址锁存器 74LS373 构成单片机最小系统。由 于 8031 的两个定时/计数器已全部用于频率检测,难以用于实现动态扫描所需的定时功能,故 本系统采用静态显示方式。因此,软件设计简单,不需 CPU 不停地扫描,节省 CPU 时间。本系 统 LED 的驱动电流由 6 片串入并出移位寄存器 74LS164 提供,74LS164 串级后与 8031 的串 行口相连,串行口工作于操作模式 0,即作同步移位寄存器用。 2.2 放大整形电路频率计作为一种通用测试仪表,输入信号幅值变化较大。图 1 所示电 路就是对幅值过大或过小的信号均能自动进行调节,并用隔直电容滤掉信号的直流成分,信号 的交变成分通过比较器 A2 整形,使其整形为符合 TTL 电平规范的数字信号波形。4051 多路 模拟开关和输入宽带运放 A1 构成一比例系数可调的放大器。8031 单片机通过 P1.4、P1.5、 P1.6 三位来选通不同的反馈电阻(分别为 2k、10k、50k、250k、1M、5M、25M、100M),使 之对信号有不同的放大(或衰减)倍数。比较器 A3 用于判断信号的幅值是否达到 2.5 伏,8031 通过查询 P1.7 的状态来判断信号幅值是否达到 2.5 伏,如果不够 2.5 伏,则继续增大比例系数。 程序初始化时,8031 控制 P1.4、P1.5、P1.6 三位均输出低电平,4051 多路模拟开关选通 X=X0, 反馈电阻为 2k,比例系数=1/250,被测信号衰减 250 倍。然后,8031 通过判断 P1.7 的状态来不 断增大比例系数,直到信号的幅值达到所要求的范围。 2.3 扩展计数器(分频器)8031 最高计数频率有 500kHz(12MHz/24)。如图 2 所示,为了提 高频率检测上限,我们扩展了一片八位二进制计数器 74LS591。74LS591 只用于高频信号的 频率测量,其最高响应频率为 120MHz。74LS591 与 8031 的 T0 串接,构成 24 位二进制计数 器,8031 通过总线 来读取扩展计数器的计数值。 3 提高测量精度的措施 3.1 等精度测量 单片机采用定时 1 秒的测频法先对信号进行预测,软件根据频率高低自动选择检测 时间或周期扩展倍数,以保证各档都有较高测量精度。当输入信号频率超过 100kHz 时,信号经扩展计数器分频后送入 8031 按测频法测量,频率检测时间设有三档,分别 为 0.01s、0.1s、1s。在转入周期测量后,信号直接送入单片机,周期扩展倍数有 104、 103、102、10、1 五档。 3.2 分频误差 由于单片机的最高计数频率为 500kHz,限制了测频范围,必须对高频进行分频。扩展 n 分频器后,将会产生分频误差。这个 n 分频最大将导致(n-1)个待测频率周期的分频 误差。该误差量级与“±1”误差相当,甚至更大。为了提高测频分辨率,我们采用了 硬件同步分频技术,即在闸门开启的有效上升沿时刻,对 74LS591 分频器清零。在闸 门关闭时刻,将分频状态打入总线 通过缓冲器读出其值,从而消 除了“分频误差”。 3.3 软件误差 在 本系 统中 ,T/C1 编 程为 定时 方式 时 ,在 12MHz 晶 振下其 最大 定时 时间 只有 65.536ms,需采用软件来扩展计数器的容量。即计数器每溢出中断一次,片内 RAM 的 内容加一计数,这样大大扩大了单片机的计数范围。但同时也引入了中断响应的时间 误差,我们称之为“软件误差”。频率计的核心是时间基准的正确性,因此在中断后重 置定时器时间常数时,不能简单地采用重置办法。从单片机的中断响应系统及其响应 过程可知:(1)定时器每次溢出中断时,WAIT 语句必须执行完才能响应,该条指令的执 行时间为 2μs,我们取其平均延迟时间为 1μs;(2)CPU 响应中断到执行中断服务程序 首条指令至少需 3 个完整的机器周期,即延迟 3μs;(3)中断服务程序中实际的定时时 间是在执行完时间常数的装载指令后才开始,两条装载指令占用了 4μs。根据以上分 析,每次中断后,将延迟约 8μs 后才开始定时。实际获得的定时时间必须考虑到 8μs 的延迟,该频率计采用软件补偿的处理方法来降低其影响。由于软件修正相当方便, 在仪器调试中可作进一步的调整,因此基本上可消除软件误差。 4 软件设计 频率计根据被测信号频率的大小,软件控制自动切换频率检测时间,或自动转换为周 期测量,选择适当的周期扩展倍数。其软件设计采用模块化结构设计,程序设计与调 试都很方便,功能扩充也很灵活。单片机上电复位后,首先执行主程序,完成有关芯片 和定时器的初始化,设置数据缓冲区、显示方式、数据计数器初值及频率初测方式等。 开中断后,随时检测外部中断和定时器所发出的中断请求信号,一旦有则转入相应的 中断服务程序,否则返回显示程序,显示所测的频率值。频率/周期测量流程图如图 3 所示。 测 量 原 理 1 直接测频法直接测频法就是在确定的门时间内,通过计数器对输入脉冲 个数计数,根据频率定义计算被测信号的频率 Fx=Nx/Tg。由于闸门的启闭与输入信号不同步, 存在着±1 个数误差。相对计数误差γ=ΔNx/Nx,由于ΔΝx=±1,所以γ=±1/FxTg×100%。 由此可见,直接测频法存在以下缺点:第一,相对计数误差随输入信号频率变化,为了保证测量 闸门时间 Tg 的前后沿由被测信号 Fx 的有效计数跳变产生,并与 Fx 的有效跳变同步。设 被测频率计数值为 Nx,时标频率计数值为 No,则被测频率为 Fx=Nx/NoFo,测量的最大相对量 化误差为γ2=±1/FoTg×100%[1]。显然,γ2 与被测频率无关,只与时标频率和闸门时间有关, 即消除了被测频率的固有量化误差,而仅存在时标频率的固有误差。由于频标 Fo 很高,No 基 数很大,所以量化误差很小,相对于被测频率 Fx 可以认为是一个常数。这样,在同一闸门时间 内,就能保证在整个测量 图 3 中,从 A 点输入被测频率信号,输出端接计数器 Nx,第二与门的输出端接计数器 No,A、B、C、D、E 各点波形如图 4 所示。8254 计数器有三个独立的 16 位减法计数器,计 数器频率可达 10MHz。每个计数器有三条 I/O 线,时钟输入 CLK,作为计数脉冲输入端,计数 器输出 OUT,当计数器为零时输出相应信号,门控端用于启闭计数器。每个计数器有 6 种工作 方式,可以通过


人生就是博尊龙
Copyright © 2018 人生就是博尊龙 All Rights Reservrd 版权所有 技术支持:捷搜网络 琼ICP备16000871号-1
网站部分图片来自互联网,如有侵权,请及时通知,我们会及时更换!