参考]基于单片机与cpld的等精度数字频率计设计内容摘要:

及引脚概述、 FPGA/CPLD 模块概述、 Quartus II 简单介绍、 Verilog HDL 硬件描述语言、系统的电路设计,包括顶层电路设计、前端信号放大整形电路设计、单片机与 CPLD 接口电路设计、单片机主模块设计、单片机外围电路设计等,最后论述了软件部分设计与仿真包括单片机部分汇编语言编写与调试、东北大学本科毕业设计(论文) 第一章 绪论 3 CPLD 部分用 Verilog HDL 语言实现的频率、脉宽计数器设计、仿真与分析等。 通过本系统的研究,可以熟悉可编程逻辑器件开发原理及步骤以及基 于 Quartus II 和 Verilog的自顶向下模块化数字系统设计方法、掌握可编程逻辑器件与单片机的协作开发技术。 本文主要做了一下几项工作: (1) 电路设计。 此部分包括待测信号的前端放大与整形电路设计、单片机主模块电 路设计、单片机外围电路设计等,其中放大与整形电路通过在 Proteus 下的仿真调试。 (2) 单片机汇编语言编写、调试与仿真测试。 此模块为整个系统的主要部分,汇编 语言在 Keil μ vision 2 环境下编写与调试,同时部分模块采用 Keil μ vision 2 与Proteus 联合调试的方法,这大大提高了系 统开发的速度。 (3) CPLD 部分 Verilog HDL 代码编写与测试、仿真。 此部分在 Quartus II 环 境下完成,并通过 ModelsimAltera 进行时序仿真。 东北大学本科毕业设计(论文) 第二章 系统设计相关理论及知识 4 第二章 系统设计相关理论及知识 常用的数字频率测量方法 频率计最基本的工作原理为:当被测信号在特定时间段 t 内的周期个数为 n时,则被测信号的频率 t/nf  (如图 所示)。 在一个测量周期过程中,被测周期信号在输入电路中经过放大、整形之后形成特定周期的窄 脉冲,送到主门的一个输入端。 主门的另外一个输入端为时基电路产生电路产生的闸门脉冲。 在闸门脉冲开启主门的期间,特定周期的窄脉冲才能通过主门,从而进入计数器进行计数,计数器的显示电路则用来显示被测信号的频率值,内部控制电路则用来完成各种测量功能之间的切换并实现测量设置。 周期 t 总时间 t n 次重复 图 频率测量基本原理 直接测频法 直接测频法是最简单的,也是最基本的频率测量方法,在测量过程中,依据信号频率高低的不同,测量方法也可以分为两种 [5]: (1) 被测信号频率较 高时 (M 法 ) 通常选用一个频率较低的标准频率信号作为闸门信号,而将被测信号作为 填 充脉冲,在固定闸门时间内对其计数。 设闸门宽度为 t,计数值为 n,则这种测量方法的频率测量值为: tnfx () 测量误差主要决定于闸门时间 t 和计数和计数器计得 的数的准确度,因此 , 总误差可以采用分项误差绝对值线性相加来表示,即:   |f| |f|tfffxx 000 1  () 东北大学本科毕业设计(论文) 第二章 系统设计相关理论及知识 5 其中,xtf1 是最大量化误差的相对值,xtfnnn 11  , nn 的产生是由于测频时,闸门的 开 启时刻与计数脉冲之 间的时间 关系不相关造成的,即在相同的主门 开 启时间内,计数器所得的数并不一定相同。 当主门 开 启 时间 t 接近甚至等于被测信号周期 t 的整数倍时,量化误差最大,最大量化误差为 1n 个数。 |f|/|f| 00 为标准频率的准确度,在数值上石英晶体振荡器所提供的标准频率的准确度等于闸门 时间 的相对 误差t/t 的准确度,即: 00fftt   () 式中负号表示由 0f 引起的闸门时间的误差为 0t。 通常,对标准频率的准确度 |f| 0 / || 0f 的要求是根据所要求的测频准确度而提出来的。 因此,为了使标准频率误差不对测量结果产生影响,标准频率的准确度应高于被测信号准确度至少 1 个数量级。 因此,测量较高的信号频率时,若 0f 一定,闸门时间 t 越长,测量准确度越高,当 t 选 定后, 0f 越高, 177。 1 个数字误差对测量结果影响减小,测量准确度越高。 (2) 被测信号频率较低时 (T 法 ) 通常被测信号被选作闸门信号,而将频率较高的标频信号作为填充脉冲,进行计数,设计数值为 n,标准频率信号的频率为 0f ,周期为 0t ,则有: 01ntfx () 使用这种方法测频的误差主要是对标频信号计数产生的 177。 1 个数字误差,在忽略标准频率信号自身误差的情况下,测量精度为: 02fff xx  () 由上可知:直接测频方法的优点是:测量方便,读数直 接,在比较宽的频率范围内能够获得较高的测量精度。 它的缺点是:由于被测信号 177。 1 个数字误差的存在,难以兼顾低频和高频实现等精度测量,所以测量精度较低。 等精度测频法 (1) 等精度测频原理 等精度 测频是在直接测频基础上发展起来的,在目前的测频系统中得到了越来越广东北大学本科毕业设计(论文) 第二章 系统设计相关理论及知识 6 泛的应用。 它在测频时,闸门时间不是固定的,而是被测信号的整数倍,即与被测信号保持同步,因此消除了对被测信号计数所产生的 177。 1 个数字误差,使测量精度大为提高,测量原理框图如图 所示 ,测量原理的波形如图 所示。 图 等精度测频原理框图 图 等精度测频波形图 测量时,首先预置闸门开启信号,此时计数器并不计数,等被测信号上升沿到来时,触发器输出计数允许信号 (实际闸门信号 ),计数器 l 对标准信号计数,计数器 2 对被测信号计数,预置闸门关闭时,计数器并不立即结束计数,而是等到被测信号上升沿到来时才停止计数,完成测量过程。 若计数器 1 对标准信号的计数值为 ,计数器 2 对被测信号的计数值 xn ,则被测信号频率为: ccxx fnnf  () 运算器对式 ()进行运算,由显示器显示运算结果,即为被测信号的频率值。 东北大学本科毕业设计(论文) 第二章 系统设计相关理论及知识 7 (2) 误差分析 由误差合成公式有: ccccxxxx ffnnnnff   () 在 ()中第一项为被测信号引起的量化误差,由于实际闸门与被测信号同步,所以xn =0,即消除了被测信号计数所产生的 177。 1 个字的量化误差,由此得到最大相对误差为:   |f| |f|tfffcccxx  1 () 式 ()说明频率测量的相对误差与被测信号的频率无关,其大小主要取决于闸门时间和标准信号频率,因而实现了频带内等精度、高精度的测量。 当合理选择闸门时间和标准信号频率,既可保证测量精度;又可提高测量速度,因此 等精度 测频法得到了广泛的应用。 而且由 ()式可知:闸门 时间 T 越长,时基频率越高,分辩率越高,误差愈小。 单片机模块理论及知识 8051 系列单片机简介 8051 单片机的基本组成结构如图 所示。 一个 8051 单片机包含下列部件 [6]: 一个 8 位微处理器 CPU。 片内数据存储器 RAM 和特殊功能寄存器 SFR。 片内程序存储器 ROM。 两个定时 /计数器 T0、 T1,可用作定时器,也可用以对外部脉冲进行计数。 四个 8 位可编程的并行 I/O 端口,每个端口既可作输入,也可作输出。 一个串行端口,用于数据的串行通信。 中断控制系统。 内部时钟电路。 图 8051 单片机的基本组成 东北大学本科毕业设计(论文) 第二章 系统设计相关理论及知识 8 AT89C51 功能及引脚概述 AT89C51 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机,片内含 4K bytes 的可反复擦写的只读程序存储器( PEROM)和 128 bytes 的随机存取数据存储器( RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS51指令系统,片内置通用 8 位中央处理器( CPU)和 Flash 存储单元,功能强大 AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。 主要性能参数: 4k 字节 可重复擦写 Flash 闪速存储器 、 1000 次擦写周期 、 全静态操作 : 0Hz24MHz、 128*8 字节内部 RAM、 32 个可编程 I/O 口线 、 2 个 16 位定时 /计数器 、6 个中断源 、 可编程串行 UART 通道 、 低功耗空闲和掉电模式 [7]。 图 AT89C51内部结构 AT89C51 有 40个引脚。 内部含有 32 个外部双向输入 /输出( I/O)端口。 引脚分布如图 所示。 东北大学本科毕业设计(论文) 第二章 系统设计相关理论及知识 9 图 AT89C51引脚分布 Keil μ vision 2 软件介绍 Keil Software 的 8051 开发工具提供以下程 序,可以用它们来编译 C 源码,来汇编汇编源程序,连接和重定位目标文件和库文件,创建 HEX 文件,调试目标程序 [8]。 软件开发流程: ( 1) 创建一个项目,从器件库中选择目标器件,配置工具设置。 ( 2) 用 C 语言或汇编语言创建源程序。 ( 3) 用项目管理器生成应用。 ( 4) 修改源程序中的错误。 ( 5) 测试,连接应用。 Keil uvision 可以选择与 Proteus 连调模式,如图 所示。 需要在 Keil 里面做如下设置: 复制 到 Keil 安装目录下的 BIN 文件夹中,修改 文件,然后在 Debug 选项卡的第二个 use 中选择如图选项,最后在 Proteus 软件中的调试菜单下选中“使用远程调试监控”即可。 东北大学本科毕业设计(论文) 第二章 系统设计相关理论及知识 10 图 Proteus与 Keil连调设置 另外,在本系统调试过程中要用到串口调试,调试窗口如图 所示。 图 Keil自带串口调试 Proteus 软件介绍 Proteus 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件。 它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。 它是目前最好的仿真单片机及外围器件的工具 [9]。 Proteus 组合了高级原理布图 、混合模式 SPICE 仿真, PCB 设计以及自动布线,是可以实现一个完整的电子设计的系统。 用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真,甚至可以实时采用诸如 LED/LCD、键盘、 RS232 终端等动态外设东北大学本科毕业设计(论文) 第二章 系统设计相关理论及知识 11 模型来对设计进行交互仿真。 同时,自动布置和自动布线工具使 PCB 设计尽可能的简便,复杂的工作都由计算机完成。 在传统的基于曲线图的电路仿真的基础上, Proteus VSM 提供了完全交互电路动画曲线。 用户能够用鼠标操作元件模型来控制设计,并能够从指示屏上观察到过程。 此外提供了很多虚拟仪器,如电压计、电流 计、示波器。 这些虚拟仪器使得电路仿真非常直观,如同在实际操作一样。 使用 Proteus 与 Keil 连调时,需做如下设置: 在菜单栏“ Peripherals”中进行选择,如图 所示。 图 Proteus中设置与 Keil连调 FPGA/CPLD 模块概述 CPLD(Complex Programmable Logic Device)复杂可编。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。