1、 中文摘要:本文主要介绍了以全数字结构化设计的方法来设计数字转速计的过程。首先介绍了数字化转速测量的概况,着重说明了编码器在转速测量中的应用。介 绍了转速测量的多种方案,重点阐述了在一片 FPGA 中集成一个 nios 处理器和等精度测频模块用于转速测量的详细设计过程,对 nios 和 FPGA 的性能及 特点也做了说明。重点讲述了以等精度测频方法进行转速测量的原理及详细实现过程,给出了等精度测频的 VHDL 代码和Modelsim 的仿真波形。文中也给 出了 nios 处理器与等精度测频模块、LCD 模块、键盘等的接口电路,同时提供了 nios 处理器及等精度测频模块的代码和调试过程。结合本
2、设计还介绍了 Quartus 项目一般开发过程。关键词:转速计;nios;等精度测频; Modlesim 仿真Abstract: This paper describes the process of structured design method to all-digital design digital tachometer. First an overview of the digitization speed measurement, highlighting the encoder speed measurement. Speed measurement of a variety
3、of programs, focusing on a Nios II processor in an FPGA integrated speed measurement and precision frequency measurement module for the detailed design process, the performance and features of the Nios and FPGA described. Focuses on precision frequency measurement method of speed measurement princip
4、les and detailed implementation process precision frequency measurement VHDL code and Modelsim simulation waveforms. This paper also gives the Nios II processor with precision frequency measurement module, LCD module, a keyboard interface circuit, while providing a Nios II processor and precision fr
5、equency measurement module of the program code and debugging process. Combined with the design also describes the Quartus general development process.Keywords: tachometer; nios II; precision frequency measurement; Modlesim simu目录一、前言 11、数字转速测量概况 12、本课题内容及任务要求 1(1)课题内容 1(2)课题任务要求 1二、数字转速计系统介绍 11、数字转速
6、计方案比较 22、数字转速计整体结构 23、FPGA 介绍 34、软件简介 4(1)quartus 介绍 4(2)编译环境 nios5(3)VHDL 语言介绍 5三、硬件设计 61、转速检测部分 62、显示部分 63、KX-7C5H 评估板 7四、主要模块电路设计 71.等精度测频模块设计 7(1)等精度测频原理 7(2)等精度测频模块设计 9(3)等精度测频仿真 122. nios 处理器模块设计 153、锁相环 PLL 模块 18五 转速测量原理 181、转速测量原理图 182、转速测量流程 19六、 系统设计 191、软件设计 19(1)程序流程图 19七、调试过程 221、方框图生成
7、222、整体编译 23八、设计结果分析 251、等精度测频模块对转速的影响 252.设计总结 26九 结束语 261.心得体会 262.致谢 27参考文献 27一、前言1、数字转速测量概况随 着社会科学技术的发展,微电子技术的进步,以及计算机技术成熟的,测量转速不再是以前的直接测量方法,而是以电子器件作为核心进行测量,这样的处理方法, 使测量转速的精度越来越高,目前要求的测量系统越简单越好,所以在设计转速系统时,要尽量做到减少电子器件,所以检测系统正逐渐向高精度、高智能化方面发 展。以单片机为核心的转速测量系统已经得到了广泛的应用,但是单片机能实现的功能相对简单,对有特殊要求的系统而言还无法满
8、足所有要求,FPGA 的出现就 解决了这一个问题。以 FPGA 来设计的数字转速计具有集成度高、精度高、速度快、体积小、稳定性高的特点。利用 FPGA 可以设计数字 转速计需要的各种电路,包括 nios 处理器。这样如果需要设计其他的电路,就可以把所需的电路一起集成到 FPGA 中,这样大大的简化了系统,设计效率得到 提高。这样测速系统得到了不断的发展与完善,功能更强大,利用计算机和各种测量手段的综合运用使测量准确度达到了很高的水平。2、本课题内容及任务要求(1)课题内容本 设计利用 FPGA 芯片的高速性能(信号速度可达数百 MHz,甚至更高) ,在一个高速 FPGA 芯片中配置一个 32
9、位 niosII 处理器和对代表转速的脉冲信 号进行测量所需的各种数字电路,在 32 位 niosII 处理器程序控制下对测量电路进行控制、读取转速测量数据,再用 32 位 niosII 处理器计算出转速。 最后利用 1602 液晶显示屏显示转速。(2)课题任务要求数字转速计要求测量的范围为:0-12000rpm ,测量精度不小于 1rpm。要求在全量程精度保持恒定。每转脉冲数可以由键盘设定。显示采用 1602 液晶模块,并且有键盘用于设置和功能切换。完成所有硬件、软件设计。并且能够进行软件调试。二、数字转速计系统介绍1、数字转速计方案比较方案一:采用分离器件构成数字转速计。数字转速计测量转速
10、部分采用编码器,采用各种分离的数字器件对脉冲信号进行计数。获取数据后,利用各种数字逻辑电路进行处理,比如乘除法器,数据储存器等,这样设计的话,增加了数字电路的设计,由于电路比较多,那么各器件之间的连线就比较复杂,这样就把处理器设计复杂化。而测量的精度也降低了。方案二:通用单片机加等精度测频电路,单片机有集成度高、功能强,较高的性能价格比,抗干扰能力强等特点,转速测量使用编码器,等精度测频电路由各种数字器件构成。利用单片机的计算能力对等精度模块采集到的信息进行计算来获得转速。采用这种方案能够较好的实现转速系统的测量,但是采用这种方案需要一个单片机的硬件电路包括液晶按键等,还有等精度测频的电路。但
11、是由于单片机和等精度测频都是独立的器件,器件较多,集成度不高。可靠性和抗干扰能力低。并且制作电路板时焊点和线路都会影响测量精度的稳定度和精确度。方 案三:在一片 FPGA 芯片内加入 nios 处理器、等精度测频电路和其他功能电路构成单芯片片上系统(SOPC) 。这种方案设计周期短,发开费用低,风险 小,并且功耗低,可以通过传统的原理图或者硬件描述语言来设计一个数字系统,这样设计 nios 处理器和等精度测频电路,就可以设计出具有 nios 处理器特 点的软核,而不需要设计实际的硬件电路,减少了因为设计实际电路所带来的影响,这样简化了整个系统。综合上面方案的优缺点,本设计选择方案三。2、数字转
12、速计整体结构数字转速计系统由转速测量部分、nios 处理器部分、LCD 液晶显示部分和键盘控制部分组成。系统方框图如下:图 1.1 系统方框图图 1.1 为系统方框图,工作流程为:首先被测转速信号输入系统,通过编码器转换为脉冲信号,脉冲信号进入等精度测频模块,等精度模块测出一个频率值,然后送 入 nios 处理器进行处理,根据频率与转速的关系,计算出转速值,在 LCD 液晶显示器上显示出来。按键用于功能的设置与转换,主要功能有,开始与停止转速 的测量,设置每转有多少脉冲数。被测得的转速信号可以由电动机产生,或者其它需要测量转速的装置。编码器作为转换器,将转速信号转换 为脉冲信号。等精度测频模块
13、将采集到的脉冲信号进行处理,测量出被测信号的频率。等精度测频模块由 nios 处理器控制,nios 处理器中加入了存储器模 块,用来存放数据和程序。将 nios 处理器,等精度测频模块集成到一块 FPGA 中作为主控芯片, FPGA 与键盘、LCD 液晶显示器、编码器相连接。键盘可以控制测量的开始与结束,还可以对每转的脉冲数进行设置,从而改变最终的转速显示值。LCD 液晶显示器对转速值进行显示。3、FPGA 介绍本文采用 FPGA 设计数字转速计。FPGA 为现场可编程门阵列,它一般由三个部分组成:组合逻辑、连线、I/O 引脚。 FPGA 利用小型查找表(161RAM)来实现组合逻辑,每个查找
14、表连接到一个 D 触发器的输入端,触发器再来驱动其他逻辑电路或驱动 I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到 I/O 模块。 FPGA 的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与 I/O 间的联接方式,并最终决定了 FPGA 所能实现的功能, FPGA 允许无限次的编程。FPGA 有以下的特点:1、FPGA 芯片的规模也越来越大2、开发过程投资小3、FPGA 一般可以反复的编程、擦除。4、保密性能好。5、FPGA 开发工具智能化,功能强大。6
15、、新型 FPGA 内嵌 CPU 核 DSP 内核,支持硬件协同设计,可以作为片上系统可编程系统的硬件平台。所以用 FPGA 在数字转速计设计中是最重要的部分。4、软件简介(1)quartus 介绍qartus II 是 Altem 提供的 FPGACPLD 开发集成环境,Altera 是世界最大的编程逻辑器件供应商之一。 在 Quarms II 上可以完成基于 EDA 技术的整个开发流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。Altera 的 Quartus II 提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC
16、)设计的综合性环境和 SOPC 开发的基本设计工具,并为 Altera DSP 开发包进行系统模型设计提供了集成综合环境。Quartus II 包括模块化的编译器。编译器包括的功能模块有分析综合器(Analysisuse ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;对函数库和程序包的调用说明entity cymometer isport(ref_clk:in std_logic;xclk:in std_logic;clr:in std_logic;gate:in std
17、_logic;sel:in std_logic;done:out std_logic;data_Bus:out std_logic_vector(31 downto 0);end cymometer;实体声明,描述了设计单元的输入输出信号或是引脚。这 里定义了输入信号:ref_clk 标准的时钟频率输入端信号,xclk 被测时钟频率输如端口信号,clr 清零输入端信号,gate 门控时间输入端信号,sel 为数据选择信号输入端信号,done 为结束标志输入端信号,data_Bus 为数据输出端信号。所以 实体就是定义我们需要输入输出信号端。architecture behave of cymo
18、meter issignal ref_CNT:std_logic_vector(31 downto 0);signal xclk_CNT:std_logic_vector(31 downto 0);signal enable_ref:std_logic;signal enable_xclk:std_logic;对结构体中信号的说明。begindata_bus0);elsif ref_clkevent and ref_clk=1 thenif enable_ref=1 thenref_CNT0);elsif xclkevent and xclk=1 thenif enable_xclk=1 th
19、enxclk_CNT1 且值不变的时候,Fx 直接影响转速,当 Fx 小于 0.01,那么转速小于6round/min。满足精度要求。由于测量精度只与标准频率和被测频率有关,所以被测信号的频率的最大值与标准频率有关。当每秒钟产生一个脉冲数即 K=1;被测信号的频率为 10M 时,那么转速测量可以达到 60000RPM。即大于 12000RPM 所以满足测量的范围。所以等精度直接影响转速的测量。2.设计总结这 次设计主要是设计了等精度测频模块,按键,显示。等精度测频其实是一个硬件电路,设计时用到了硬件描述语言 VHDL。用 VHDL 描述的等精度程序在 quartus 中编译。整个设计是利用了
20、quartus 中的原理图设计,因为原理图设计比较简单,如果用硬件描述,那么工程量就会很巨大。验证等精度模块 用到了 modelsim,通过验证等精度设计正确。Nios 处理器是一个非常实用的软件处理系统,通过对各个模块的合理组合,实现了实验要求。所以整个设 计满足设计要求,设计正确。九 结束语1.心得体会为期三个月的毕业设计已经进入尾声, 在这三个月的时间中通过了解题目、查阅资料、系统构思、软件设计、软件编程、软件调试、硬件电路仿真、毕业设计写作,学到了很多的知识,对学习的本质有了 更深刻的体会。开始拿到课程设计题目时,发现是以前没有学习过的软件便失去了成功完成的信心,但是自己通过查找资料慢
21、慢的了解了一些,当然这些只是理论上 的东西。然后在整个设计的过程中不断的运用所学知识。其中大大提高了自己的动手能力,完善了知识结构体系,提高了自身的综合素质,工程实践能力得到了极大 的提高。以前学习的只是很多理论知识而工程实践涉及到较少,通过这次设计学会到了很多工程相关的知识。这次设计中学习到了很多新的知识,比如 FPGA,以 及硬件电路的设计,还有 quartus 软件的运用。在设计的过程中也遇到了很多问题,通过解决这些问题来提升自己的能力。深刻的体会到仅仅凭借自己的能力 是不可能达到预期效果的,在以后的工作与学习中需更加注重自身综合能力的提高。与此同时在此次设计中暴露了自己知识及认知的不足
22、,设计时没有考虑到其他的 条件,所以设计简单,以至于没有达到设计要求的所有条件。在今后需加大提高实践工程能力的力度,注重各方面能力的全面提高。在以后的学习当中,我会总结这 次的经验和教训,继续努力学习。为以后的工作做好准备。2.致谢在这次毕业设计中,得到了很多的帮助,首先要感 谢指导老师文老师,不管我遇到什么样的问题,都给我做细心的讲解,给予我最大限度的支持。对于毕业设计的每一个环节,都给我们做了合理的安排,并及时解答 了我们的问题。他求实、严谨的工作作风令人敬佩,用实际行动带领我们完成了这次设计任务。在此对文远熔老师表示深深的谢意。同时,我还要感谢我的同学们,他们对我的帮助就像是及时雨,有我
23、解决不了的小问题,都乐意帮我解决,使我完成得更加顺利。参考文献1 潘松.VHDL 实用教程(第一版)M. 成都:成都电子科技大学出版社 ,2000 2 卢毅,赖杰.VHDL 与数字电路设计( 第一版)M. 北京: 北京科学出版社 ,20013 徐志军.大规模可编程逻辑器件及其应用( 第一版)M. 成都: 成都电子科技大学出版社,2004.24 赵曙光.可编程逻辑器件原理、开发与应用( 第二版)M. 西安: 西安电子科技大学出版社,2000.65 武卫华,陈德宏.基于 EDA 技术的数字频率计芯片化的实现J. 成都: 电子科技大学出版社,2004.(04)6 熊秋娥,熊英华.基于 VHDL 的数
24、字频率计设计J.江苏:南通大学现代教育技术中心 , 2007,()7范秀娟, 彭斯福.EDA 技术的应用 J. 电气时代, 1999, (10)8康晓明, 蒋敦斌, 杨元良. 基于 EDA 系统的数字系统的设计分析 J. 机电产品开发与创新, 2003, (03)9 张文英, 邹晴, 柴燕.基于 VHDL 语言的数字电路的设计J. 中国仪器仪表, 2006, (03)10杨永斌,丁明勇 C 语言程序设计,重庆大学出版社,201011乔庐峰,王志功.VHDL 数字电路设计教程,电子工业出版社12李大社,王彬.基于 Quartus 的 FPGA/CPLD 设计实例精解,电子工业出版社 ,201013 Altera 公司.NIOSII Processor Reference Handbook.200514Samir Palnitkar. Verilog HDL 数字设计与综合.电子工业出版社,200615 许光辉. 基于 FPGA 的嵌入式开发与应用.电子工业出版社, 200616 褚振勇、翁木云. FPGA 设计与应用M. 西安电子科技大学出版社.200217 Altera. NiosII software developers handbook.2005