毕业论文-基于FPGA的电子秤设计与实现_第1页
毕业论文-基于FPGA的电子秤设计与实现_第2页
毕业论文-基于FPGA的电子秤设计与实现_第3页
毕业论文-基于FPGA的电子秤设计与实现_第4页
毕业论文-基于FPGA的电子秤设计与实现_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连东软信息学院本科毕业设计(论文)论文题目论文题目:基于FPGA的电子秤设计与实现系 所: 电子工程系 专 业:电子信息工程(集成电路设计与系统方向) 学生姓名: 学生学号: 指导教师: 导师职称: 讲师 完成日期: 2014年 3月 8日 大连东软信息学院Dalian 大连东软信息学院毕业设计(论文) 摘要 IV基于FPGA的电子秤设计与实现摘 要随着科学技术水平的不断发展,市面上出现了很多有价值的电子产品,这些设备有些倾向于自然简单,而有些却追求超乎平常的复杂功能。当这些电子设备在对社会起到深远影响的同时,电子秤作为一个越来越简单的电子设备,在我们生活的许多方面扮演着重要的角色。不论是工

2、业还是销售行业,不论是大量程还是微小的计量称重,电子秤的出现使得数据得出更精确。本设计的核心技术是基于FPGA(现场可编程门阵列)的。共包含三大模块,分别为数据采集模块、控制器模块和人机交互模块。数据采集模块用到称重传感器,直接与信号的前级处理和A/D转换部分共同构成。人机交互模块包含简易键盘和点阵式液晶显示器。最为主要的是本设计采用FPGA作为控制核心,软件部分使用Verilog(Verilog Hardware Description Language)语言,这样的设计使得编程灵活,调试更加方便,而且精度较高,稳定性较好,可以实现全部的控制功能。最终本项目成功完成,论文由绪论、关键技术介绍

3、、系统分析、系统设计、系统实现、和系统测试以及最终结论组成。关键词:FPGA,电子秤,Verilog 大连东软信息学院毕业设计(论文) AbstractDesign and Implementation of Electronic Scale Based on FPGAAbstractWith the continuous development of science and technology, a lot of valuable electronic products have appeared on the market. These devices tend to be natura

4、lly simple. But some complex beyond the usual functions. When these electronic devices have a profound effect on society, at the same time, more and simpler electronic scales electronic devices play an important role in many aspects of our lives, whether industrial or sales small or large range of m

5、easuring and weighing, the emergence of electronic scales makes the data more accurate. The design of the core technology is based on FPGA (field programmable gate array), including three modules, namely, data acquisition modules. Controller module and interactive modules.Weighing sensor is used in

6、data acquisition module. Which is connected with the pre-processing and A/D conversion section of the signal.HCI module contains a simple keyboard and dot-matrix liquid crystal displays. The most important is the design using FPGA as the core, the use of the software part of Verilog (verilog Hardwar

7、e Description Language) language. This design allows flexible programming, more convenient debugging, and high accuracy, good stability. The design can also achieve fully-controlled function. The ultimate success of the project is completed. The paper is made up of the introduction, key technologies

8、, system analysis, system design, system implementation, and system testing as well as the composition of the final conclusions.Key words: FPGA, Electronic Weighing Scale, Verilog大连东软信息学院毕业设计(论文) 目录目 录 TOC o 1-3 u 摘 要 PAGEREF _Toc386369898 h IAbstract PAGEREF _Toc386369899 h II第1章绪 论 PAGEREF _Toc386

9、369900 h 11.1 论文研究主要内容 PAGEREF _Toc386369901 h 11.1.1项目市场调查 PAGEREF _Toc386369902 h 11.1.2项目涉及的技术 PAGEREF _Toc386369903 h 11.2 国内外现状 PAGEREF _Toc386369904 h 1第2章关键技术介绍 PAGEREF _Toc386369905 h 32.1 EDA技术简介 PAGEREF _Toc386369906 h 32.2 关键性开发技术的介绍 PAGEREF _Toc386369907 h 42.2.1 控制器 PAGEREF _Toc38636990

10、8 h 42.2.2 称重传感器 PAGEREF _Toc386369909 h 52.2.3 前级放大器 PAGEREF _Toc386369910 h 52.2.4 A/D转换器 PAGEREF _Toc386369911 h 62.2.5 显示输出电路 PAGEREF _Toc386369912 h 62.3 使用Quartus II实现仿真 PAGEREF _Toc386369913 h 6第3章系统分析 PAGEREF _Toc386369914 h 83.1 构架概述 PAGEREF _Toc386369915 h 83.1.1 功能构架 PAGEREF _Toc386369916

11、 h 83.1.2 模块需求描述 PAGEREF _Toc386369917 h 83.2 系统开发环境 PAGEREF _Toc386369918 h 93.3 系统任务的可行性分析 PAGEREF _Toc386369919 h 93.3.1 控制器可行性 PAGEREF _Toc386369920 h 93.3.2 前级放大电路可行性 PAGEREF _Toc386369921 h 93.3.3 A/D转换电路可行性 PAGEREF _Toc386369922 h 103.3.4 显示电路可行性 PAGEREF _Toc386369923 h 10第4章系统设计 PAGEREF _Toc

12、386369924 h 124.1 构架概述 PAGEREF _Toc386369925 h 124.2 系统的功能结构设计 PAGEREF _Toc386369926 h 124.2.1数据采集模块 PAGEREF _Toc386369927 h 124.2.2人机交互 PAGEREF _Toc386369928 h 154.3 控制模块 PAGEREF _Toc386369929 h 16第5章系统实现 PAGEREF _Toc386369930 h 185.1系统控制流程 PAGEREF _Toc386369931 h 185.2 系统模块间结构 PAGEREF _Toc38636993

13、2 h 185.3 主模块部分代码 PAGEREF _Toc386369933 h 195.4 仿真结果 PAGEREF _Toc386369934 h 19第6章系统测试 PAGEREF _Toc386369935 h 226.1 测试方法 PAGEREF _Toc386369936 h 226.2 测试结果 PAGEREF _Toc386369937 h 22第7章结论 PAGEREF _Toc386369938 h 24参考文献 PAGEREF _Toc386369939 h 25致 谢 PAGEREF _Toc386369940 h 26大连东软信息学院毕业设计(论文)- 第1章绪 论

14、该设计以FPGA为核心控制部件,并基于超高速硬件描述语言VHDL在SpartanE 系列的XC2S100E芯片上编程实现;系统的硬件部分包括FPGA最小系统板、人机交互界面、数据采集这三大部分。最小系统部分主要是扩展了外部数据存储器,数据采集模块分为压力传感器、信号的前级处理和A/D转换三部分。人机界面部分使用键盘输入,晶体管显示,软件基于Verilog语言实现了全部控制功能。数字电子秤目前已变得非常方便和普及,它们几乎被用在目前所有的行业。邮局,银行,珠宝店和食品工业用更精密的小数字刻度,而很多制造企业需要大量程的称重工具。电子秤的出现使得各种物品的重量测量更精确,易于阅读和使用,任何时候当

15、你需要测量重量,他们就是最方便的选择。而科学技术的逐步发展,新的更好的产品已经出现,对人类社会的影响更加深远。这些设备更倾向于自然和简单。电子秤已成为简单的日常设备,在我们生活的许多角落作用明显。1.1 论文研究主要内容现代电子秤由于便于携带和使用方便,以及度量精准,已经在很多领域被使用,电子秤所使用的各项技术不尽相同,本论文使用现场可编程门阵列既FPGA技术。该技术在电子领域目前已经有广泛应用,因其作为一种半定制电路,解决了定制电路的不足,使用更灵活,编程更方便,当把这项技术应用在电子秤设计中时,电子秤也就具有了开发和使用方便,而且度量精准的特点。1.1.1项目市场调查刻度指示从19世纪40

16、年代开始统一,电子称重技术不久后开始出现,市场的高需求使得这项产业迅猛发展,技术不断更迭,产品质量越来越好,产品功能也越来越多样化。称重技术手段的标准化和精确化,对市场管理的影响是巨大的。所以不断追求称重精确和便携是有意义的,本论文的意义也在于此。1.1.2项目涉及的技术压力传感器需要用到前级放大装置来对信号进行放大,A/D转换可以对信号进行翻译,人机交互的接口问题和显示系统以及硬件PCB布线合理性等等都是技术难点。1.2 国内外现状50年代中期衡器制造业由于电子技术的渗入而开始发展。自从60年代初期出现机电结合式电子衡器以来,经过40多年不断的改进与完善,我国电子衡器产业从最初的机电结合型发

17、展到现在的全电子型与数字智能型。目前我国电子衡器的技术装备和检测试验手段基本达到国际90年代中期的水准。电子衡器制造技术及应用得到了新的发展。电子称重技术也从静态称重向动态称重发展;计量方法由模拟测量向数字测量发展;测量特点由单参数测量向多参数测量发展,特别是对快速称重和动态称重的研究与应用。但就总体而言,我国电子衡器产品的数量和质量与工业发达国家相比还有较大差距,其主要差距是技术与工艺不够先进、工艺装备与测试仪表老化、开发能力不足、产品的品种规格较少、功能不全、稳定性和可靠性较差等。通过分析近年来电子衡器产品的发展情况及国内外市场的需求,电子衡器总的发展趋势是小型化、模块化、集成化、智能化;

18、其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性。 大连东软信息学院毕业设计(论文)第2章关键技术介绍2.1 EDA技术简介早在上世纪九十年代,一些在计算机技术和电子技术上比较先进的国家就开始探索新的电路设计方法了,他们不只是对设计方法进行了一系列改进,同时在设计工具等方面也进行了变革,并且取得了很大的成功。就电子技术设计这一领域而言,可编程逻辑器件诸如CPLD和FPGA等等的应用,已经有了大面积普及,这些器件的出现给数字系统的设计带来的是前所未有的灵活性。通过软件编程可以对这些器件的硬件逻辑结

19、构和工作方式进行重新构成,这样的设计方式将对硬件的设计变得如同软件设计一样快捷方便。这种革命性的变革改变了数字系统设计的传统方法,在设计过程和设计理念上都带来了新的前景,极大促进了EDA技术的发展进步。EDA技术的基础是将计算机作为工具,设计者用硬件描述语言在EDA软件平台上完成设计文件,然后交由计算机来完成逻辑编译和化简、分割、综合、优化、布局、布线与仿真,然后对芯片进行编译和程序下载。这种技术的出现,不但是对电路设计的效率和可操作性进行了升级,同时对设计者而言,也减轻了很多劳动强度,这项技术的门槛下降,使更多的人可以进行电路设计。现在的EDA概念在很多范畴和领域都有所应用,比如航空航天、化

20、工、矿产、生物、医学、军事、通信、机械等等,EDA技术出现在各种科研机构、教学部门、企事业单位等等。EDA设计可分为电路级、系统级和物理实现级。有关EDA技术的设计软件有很多种,概括起来可分为三大类,分别是系统设计辅助软件、可编程芯片辅助设计软件和芯片设计辅助软件。我国目前有很多机构都在利用EDA技术进行电路设计,所以有几款软件很受欢迎,比如:Protel、Modelsim、Matlab、Pspice、Altium Designer等等、他们的共同点就是功能很强,多数都可以进行电路设计和仿真,对于PCB自动布局布线和生成网表文件也不在话下,与第三方软件的衔接更是非常兼容。我们在学校学习过程中,

21、通过老师的介绍,接触到了其中几款软件,比如Spice,这款软件是在20世纪末由Interactive Image Technologies Ltd推出的电路仿真软件,与其他EDA软件相比,他的人机交互界面更直观形象,尤其是它仪表库的表现最为出色,软件中的仪表和真实仪表一模一样,而且它对数模电路进行混合仿真时得出的结果也与真实电路完全一致。软件自身提供了万用表、失真度分析仪、频谱分析仪和信号发生器等等仪表的功能,而且各种建模需要的精确元器件诸如电容、电阻、二极管、三极管、电感、数码管等等也一应俱全。不但器件库里提供的器件丰富,而且可以自制元器件。这款软件对VHDL和Verilog仿真也同样非常出

22、色。本项目所要用到的FPGA技术就是PLD的一种,PLD的意思是用户根据需要来构造逻辑功能的数字集成电路,这项技术的实现就要用到EDA软件,在设计的过程中,设计者用原理图、硬件描述语言等等来编译对器件的逻辑描述,然后将编好的程序下载到器件中来实现。世界上比较有名的PLD厂家有Altera、Xilinx和Lattice等,其中Altera在上世纪九十年代后发展很快,其推出的多款产品都成为经典,其中最近推出的Quartus II现在已成为主流,不像Xilinx在欧洲的火爆,Altera公司在日本和亚太地区更受欢迎。虽然Xilinx是FPGA的发明者,但是现在,Altera和Xilinx共同决定着P

23、LD的发展方向。至于ISP技术的发明者Lattice,虽然ISP技术对PLD的发展起到了不可忽视的促进作用,但是与Altera和Xilinx相比,它的开发工具还不够好,在中小规模的PLD方面比较有特色,但是大规模方面,它的竞争力太弱。EDA技术的应用遍布科研、教学、制造业等各个领域,教学方面,几乎所有学习电子信息的专业都会有EDA课程的学习,而在科研和制造业,对设计进行虚拟测试等,可以节省很多时间和成本,现代社会的数字化和电子化已经离不开EDA技术,EDA正在各行各业里渗透,改变着我们的生活环境和生活质量。本项目就会采用Altera的Quartus软件来完成,选用这款软件不只是因为在本科四年的

24、学习过程中经常接触,这款软件的强大功能,内嵌的仿真器更是选择它的不二理由。2.2 关键性开发技术的介绍2.2.1 控制器FPGA在最高层面上来讲,也就是可重新编程的硅芯片,通过预建的逻辑块以及可重新编程布线资源,用户无需再使用烙铁等工具重新加工电路板,就可以配置芯片以便实现自定义的硬件功能。用户在整个过程中只需要编译包含元件相连接关系的信息等的配置文件就可以。而且FPGA可以完全重置反复利用,用户需要编译不同的电路配置时,只需要重新编写配置文件,FPGA就能够呈现出新的用户需求功能。FPGA技术最早要求门槛较高,只有熟知数字硬件设计的工程师才可以使用,然而现在随着高层次设计工具的发展进步,图形

25、化程序框图或者是C语言编写的代码,都可以被时下流行的设计工具转换成数字硬件电路。本设计要求的精度较高,所以要求系统的稳定性和抗干扰能力要好,采用现场可编程门阵列(FPGA)为控制核心,利用EDA软件进行编程,使用Quartus内嵌仿真器进行仿真,最后下载烧制实现功能。不但整个操作过程更方便简单,而且系统可集成于一小片芯片上,使得体积大大减小、逻辑单元灵活、集成度高以及适用范围更广,这样的技术更可以实现大规模和超大规模的集成电路。2.2.2 称重传感器电子秤的最重要组成部件是称重传感器,这是对重物数据采集的第一道步骤,传感器被重物施压后产生电信号,经过一系列处理才能成为直观的数字呈现在用户眼前。

26、称重传感器是一种将质量信号转变为可测量的电信号输出的装置。用传感器应先要考虑传感器所处的实际工作环境,这一点对正确选用称重传感器至关重要,它关系到传感器能否正常工作,也关系着它的安全和使用寿命,甚至整个衡器的可靠性和安全性。在称重传感器主要技术指标的基本概念与评价方法上,新旧国标有很大的差异。主要有膜盒式、悬臂型、S型、板环式、轮辐式、桥式、柱筒式等几种样式。称重传感器作为一种可以随意移动的器材,其注定会因为空气浮力和重力加速度等因素的影响而产生误差,这些误差可能有滞后误差、蠕变、重复性误差、线性误差、灵敏度温度特性和零点温度特性等等,所以在衡量传感器的准确度的时候,我们要通过对综合性的误差控

27、制来评估。对于本项目来说,除去不可抗力诸如重力加速度等等的影响外,自身的技术成熟度也是影响因素,所以只要在误差范围之内,都是可以接受的。因传感器的设计工作会对本项目课题造成过多的干扰和带来不相干知识点,所以本设计采用商业成品传感器,只对它的工作原理进行简单学习和研究,不再另行设计。2.2.3 前级放大器压力传感器输出的电压信号为毫伏级,所以对运算放大器要求很高。放大电路是一种能将微弱的交流小信号通过三极管等等器件进行处理,最终得到一个不失真而且电流信号幅值增大很多的相似波形的装置。20世纪初真空三极管的出现使得信号增大技术得以实现,40年代晶体管出现,使这项技术朝着体积小,增幅大的特点发展。现

28、在使用的放大电路核心的技术器件都是晶体管。一般我们把放大的倍数称为增益,这是衡量一个放大器的放大能力的指标,一般情况下,放大器可以放大电压、电流、互导、互阻和功率等等,在本项目的实现过程中,只有将称重传感器得到的电压进行增益后,才能被A/D转换模块处理。前级放大器的要求为尽量简单,轻量化,而且增益效果越高越好。2.2.4 A/D转换器模数转换器也就是A/D转换器,或者简称ADC,通常是指一个可以将模拟信号转为数字信号的电子元件。通常模数转换器是将一个输入电压信号转换为一个输出数字信号。由于数字信号本身没有实际意义,仅表示一个相对大小。所以任何一个模数转换器都要一个参考模拟量作转换的标准,比较常

29、见的参考标准是最大的可转换信号大小。而输出的数字量就表示输入信号相对参考信号的大小。感应器发出的信号即使是经过放大后,依然不能直接被识别,仍需要一个转换器对初始信号进行翻译。使用本设计中使用的称重传感器自带的A/D转换器可以解决本项目中容易被工频信号影响的缓慢变化的压力信号带来的诸多问题,这种转换器具有很强的抗干扰能力。2.2.5 示输出电路数据经过处理之后需要进入到人机交互模块进行可视化。电子秤的好处之一就是读数直观方便。所以需要有一个显示输出电路。一个好的显示方案意味着界面清晰,信息量满足需求,信息显示准确,一切宗旨都是为了客户的使用方便。显示器除了具有使用方便的特点外,还应该有设计简单,

30、成本低,功耗低,使用寿命长等特点。2.3 使用Quartus II实现仿真Quartus II是一款综合性PLD/FPGA开发软件,支持原理图、Verilog、VHDL等等多种输入形式,内部自由综合器和仿真器,可以完成设计、配置、仿真一系列完整的数字硬件电路设计流程,本软件可以在多种操作系统上使用,包括XP、Linux和Unix。这款设计软件界面友好,操作简单,功能强大,是本项目所必须的开发软件。尤其在本项目的仿真环节,本软件有不可取代的地位。功能仿真,是在编译之前对所设计电路进行逻辑功能验证,这时的仿真没有延迟信息,只是对初步的功能进行一次检测。仿真前,要先建立测试向量,仿真结果会生成报告文

31、件与输出信号波形,从中可以观察各个节点的信号的变化。如果发现出错,那么返回设计部分去修改逻辑设计。功能仿真之后要进行综合优化,所谓综合就是把较高级抽象层次的描述转成较低层次的描述。综合优化根据目标与逻辑连接,将层次设计平面化,供FPGA的布局布线软件来实现。通俗地讲,也就是生成由与门、非门、或门、RAM、触发器等等逻辑单元组成的逻辑连接网表,这样真实直观的门级电路才可以被FPGA制造商用来布局布线。综合后的仿真,一般被称为后仿,这次仿真是为了检测综合结果与原设计是否一致,在仿真时,把综合时生成的标准延时文件标注到综合仿真模型里去,可以估计门延时带来的影响大小,不过这个仿真也有一定缺陷,那就是连

32、线的延时是无法估计的。本设计中需要通过仿真确定运行正确后再烧制程序做出实物。针对本项目的仿真先由各个模块单独进行功能仿真,最后再综合仿真,得到最终的仿真结果。第3章系统分析3.1 构架概述3.1.1 功能构架根据需求调研结果确定本系统主要包括以下功能模块,如图3.1所示。图3.1 系统体系结构3.1.2 模块需求描述(1)数据采集模块对数据进行检测,采集,然后通过放大电路和A/D转换得到数字信号。处理完成的数字信号才可以进入下一模块进行处理。 本模块需要重力传感器。然而传感器发出的信号量级太小,A/D转换器很难处理,所以在两者之间先经过一个放大电路的增益处理。(2)控制器模块处理从数据采集模块

33、和人机交互模块传送来的数据,对所称物体重量进行判断,对键盘输入信息进行处理,对物品价格进行计算和最终数据在数码管显示器上显示等问题进行处理。本模块主要功能都通过软件来实现,内部有数据处理模块,数码管显示器控制模块和键盘控制模块。(3)人机交互模块键盘将价格和数量等数据输入给控制器模块,控制器模块进行整理运算后将信息结论显示在数码管上告知用户,达到人机交互的目的。所以人机交互模块包括键盘输入模块和数码管显示器两部分。3.2 系统开发环境 软件开发环境:Quartus IIQuartus是Altera公司开发的综合性PLD/FPGA开发软件,它支持原理图、VHDL、VerilogHDL以及AHDL

34、等等多种设计输入形式,而且内嵌了综合器和仿真器,可以完成由设计到硬件配置这样完整的PLD设计流程。Quartus具有完善的用户图形界面设计方式,它具有运行速度快,界面统一,易学易用,功能集中等特点。Quartus支持Altera的IP核,包含LPM/MegaFunction宏功能模块库,用户利用这些成熟的模块,可以使设计的复杂性简化,加快设计速度。尤其是其对第三方EDA工具良好的支持也使得客户可以在进行设计的各阶段使用自己顺手熟悉的EDA工具。Quartus作为可编程逻辑设计环境的一种,因其直观易用的接口和强大的设计能力,越来越受数字系统设计者的青睐。3.3 系统任务的可行性分析3.3.1 控

35、制器可行性 (1)单片机所有兼容了intel 8031指令系统的单片机都被称为51单片机,Flash rom技术的发展,使得8031单片机进展迅猛,应用变的非常广泛,很多公司都有针对51系列的兼容机型应用于工业测控系统,这种应用广泛的技术目前发展非常成熟,成本低,功耗低,体积小,而且运算能力很强,但是如果使用单片机进行设计,外围电路会非常复杂,给本设计带来更多难度。最主要的是在大学学习过程中,对单片机技术接触不多,所以上手比较困难。(2)现场可编程门阵列也就是FPGA技术,本技术集成度高,程序下载烧制在一片小芯片上,减小了体积,逻辑单元更加灵活,适用范围也随之增大,本方案所用到的开发软件在大学

36、学习过程中非常熟悉,而且这样的方案使得程序的调试更方便,系统的稳定性强,抗干扰,不用对外围电路进行任何改造或重新设计是最便利的一点。所以相对比单片机方案,使用FPGA技术更适合本设计。3.3.2 前级放大电路可行性(1)利用普通低温漂运算放大器构成多级放大器此方案会引入大量噪音,而A/D转换器需要很高的精度,噪音会对测量准确性造成比较大的影响,所以本方案不够理想。(2)专为电子秤设计的HX711此芯片含有稳压电源,而且有片内时钟震荡器等,这些都是在其他同类芯片中必不可少的外围电路,而本芯片将这些部分全部集成起来,这样高集成度的芯片具有更抗干扰,响应快的优点,而且放大电路直接在片上集成,这款芯片

37、上的放大电路可以实现32倍、64倍以及128倍增益,不但减少了成本,而且提升了设计的性能。综上,使用方案2中的HX711芯片方案比较好。3.3.3 A/D转换电路可行性(1)逐次逼近型A/D转换器逐次逼近顾名思义,其思路类似于用天平称物体时逐次加砝码逼近比较,这种方案目前使用最为广泛,它具有采样频率高,功耗低,不但高精度、高速度,而且十分省电,是很理想的转换器。然而对于本设计,信号属于慢变形,本方案的高速性在本设计中完全体现不出来,而且本方案的高精度在本设计中也显得过于精准,是没有必要的,本方案放在本设计中发挥不出他的优点,而且浪费系统资源,大材小用,不是很理想的方案。(2)HX711型A/D

38、转换器本方案精度高,反应慢,对于本设计,缓慢变化的压力信号很容易受工频信号影响,本转换器正好可降低对滤波电路的要求,本设计对转换器的速度要求不高,精度上它可以完全满足要求,强大的抗干扰能力和较低的价格都是其优点;而且本转换器自身集成了放大电路、稳压电源和时钟振荡器,给设计带来不少便利。综上所述,方案2中的HX711型A/D转换器方案更好。3.3.4 显示电路可行性(1)全部数码管显示数码管要正常显示,就需要有驱动电路来对“8”字数码管的各个码段进行驱动,正是由于驱动的不同,数码管显示被分为动态和静态两种形式。静态显示也叫直流驱动。动态显示是本设计中可行的一种方案,这种类似于扫描的形式会逐个点亮

39、各个需要亮起的码段,理论上这种逐个点亮只能使每个码段亮1-2ms,但是由于人的视觉暂留现象以及二极管的余辉效应,只要扫描足够快速,人眼不会感受到闪烁。这样的设计节省了大量接口。此方案编程简单,易于实现,而且晶体管成本低,电路连接不算非常复杂。(2)使用LCD显示LCD技术利用液晶的物理特性,通电时有序排列,光线通过,不通电时排列混乱,光线被阻隔无法通过。好的LCD应该是具有高亮度,高对比度,这样显示的画面色彩更鲜艳靓丽饱和。此方案可以拥有中文字库,也就是说可以同时显示中文和数字,使显示更直观方便,而且LCD可视面大,无辐射,功耗低,画面友好,这项技术本身也很成熟。可是如果使用本方案,就需要外接

40、设备,而且需要安装显示器的驱动,这就给设计带来更多的难度。综合考虑,数码管显示方案优于LCD显示方案,所以选择数码管技术。第4章系统设计4.1 构架概述系统总的来讲分为三大模块,分别为数据采集模块、控制模块和人机交互模块,其具体关系结构如图4.1。图4.1 模块关系结构图数据采集模块要将采集到的原始信号经过简单的放大和数模转换后交给控制模块,而控制模块在接到数据采集模块和人机交互模块键盘部分的输入信号后,要对数据进行综合处理,最后交由人机交互模块的LED数码管显示部分进行显示。4.2 系统的功能结构设计4.2.1数据采集模块数据采集模块包含重力传感器和A/D转换以及放大电路。数据的流动顺序是经

41、由重力传感器采集,传递给放大电路,再交由A/D转换的。本设计中,数据采集模块由HX711型号的称重传感器和A/D转换套装实现。其模块详情如图4.2所示。图4.2 数据采集模块(1)称重传感器称重传感器选用利用电阻应变原理的产品,其电桥原理图如图4.3所示。图4.3 电桥原理图外力作用在弹性体上时,弹性体发生形变,电阻应变片的阻值发生变化,电桥失去平衡。R1和R3输入额定桥压时,R2和R4上有与外力成正比的电压输出,可以由如下式(41)来计算输出电压。 对于本传感器来说,满量程输出电压=激励电压灵敏度2.0mv/v。当供电电压是5V时达到10MV的满量程,也就是相当于有20kg重力产生时,产生了

42、10mv电压。所以,本称重传感器量程为20kg。超过20kg的重物施压与传感器上之后,本系统会报错,工作灯会熄灭。(2)放大电路与A/D转换放大电路和A/D转换使用一个单独的芯片来实现。本设计使用海芯科技生产的HX711型号A/D转换器,这种转换器是专为电子秤设计的,精度高,使用便利,A/D转换一般情况下需要一个电源才能正常工作,而且必须有一个可以稳定信号的电路,HX711型号的转换器巧妙地将稳压电源和片内时钟震荡等外围电路都集成在一起,而且自带可编程低噪声放大器,增益最高可达到128倍。这个芯片的高集成度使成本大大降低,而且整个设计的性能还有不少增强。HX711型芯片自带的模拟电路可以同时向

43、A/D转换器和外部传感器提供模拟电源。如果不使用本芯片的稳压电路,那么管脚VSUP就应该连在DVDD或者AVDD中电压较高的那个上面。VBG管脚不需要外接电容,VFB管脚应该接地,管脚BASE无连接即可。其电源电路如图4.4所示,芯片的管脚如图4.5所示。图4.4 电源电路由于有了这些设计,所以这款转换器工作稳定,性能良好。其管脚分配如图4.5所示。图4.5 管脚图管脚PD-SCK和DOUT共同组成串口通讯线,他们用来输出数据,并且选择输入通道和放大倍数。以图4.5为标准,当管脚DOUT为高电平时,说明A/D转换器还没有准备好输出数据,这时的串口输入信号PD-SCK应该为低电平,当DOUT从高

44、电平到低电平时,PD-SCK应该输入25到27个不等的时钟脉冲。输出24位数据的最高位将被第一个时钟脉冲的上升沿读出,一直到第24个时钟脉冲完成,从最高位到最低位,24位输出数据被逐位输出完成,第25到第27个时钟脉冲用来选择下次A/D转换的输入通道和放大倍数(增益)。本转换器的输入通道和增益倍数的选择如表4.1所示。要注意的是,输入时钟脉冲少于25或者多于27,都会造成错误。每当转换器的输入通道或者增益改变的时候,转换器自身都需要四个数据输出周期才能稳定下来,也就是说,DOUT在经历四个数据周期后才能输出有效数据。表4.1 输入通道与放大倍数选择PD-SCK脉冲数输入通道放大倍数(增益)25

45、A12826B3227A64上文中描述的放大原理和时序图如图4.6所示。图4.6 输出增益与时序图放大电路与传感器与FPGA三者的关系如图4.7所示。传感器信号进入HX711模块进行放大和数模转换,再交给FPGA进行下一步数据处理。图4.7 设备关系图4.2.2人机交互人机交互界面的要求对客户来说是很高的,信息的直观性是最基本的要求,使用数码管组成显示器,分成两个部分,一部分用来显示物品重量,另一部分用来显示价格。显示价格的部分因为分为单价和总价,所以需要进行显示切换,专门为此设置一个按钮来实现相应功能。而键盘部分使用独立按键相连,组成整个键盘需要实现的设置等各种功能。其中包括0至9这十个数字

46、键,还有单价显示按钮和总价显示按钮,并且有单价设置按钮、确定按钮、累加按钮、去皮按钮和重置按钮。其键盘模块如图4.8所示。图4.8 键盘模块显示器使用LED7段数码管,七段数码管由七段不同编号的数码管组成一个“8”字型,当特定的段加上电压后,数码管被点亮,不同的段组合点亮,组成不同的数字。数码管由发光二极管组成,两个或者多个,一般情况下,每个发光二极管的管压降变为1.8V左右,电流不超过30MA,二极管阳极相连并且连接在电源正极的被称为共阳数码管,二极管阴极相连并且连接到电源阴极的被称为共阴数码管。一般LED数码管能显示的除了数字0到9之外,还能显示字母A、B、C、D、E、F。本数码管显示器模

47、块如图4.9所示。图4.9 数码管模块4.3 控制模块控制模块用来对由数据采集模块采集到的数据和人机交互模块的键盘输入进行处理,本模块应该包含着对所有模块的控制,包括数码管各个码段的指令、键盘上每个键的指令,都需要通过控制模块进行调取,通过控制模块处理的数据被各个模块接受再分别显示在人机交互模块的显示器上。本模块不但产生时钟,同时还控制着各功能电路的工作。在整个设计中,控制模块是项目的“大脑”,控制模块使得项目的各项功能能够顺利实现。控制模块的结构图如图4.10所示。图4.10 控制模块其中时钟、复位信号、键盘采集的信号、物品重量、显示电路、价格计算、系统工作灯等,都需要在本模块进行处理。大连

48、东软信息学院毕业设计(论文)第5章系统实现5.1系统控制流程系统控制流程如图5.1所示,系统初始化后键盘开始输入信息,系统校验完毕无误后来自数据采集模块的信号被接受,如果超过量程,那么工作指示灯熄灭,表示出错,如果无误,那么控制模块会计算出价格和重量,并且在显示器上分别显示。图5.1 流程图5.2 系统模块间结构数据由采集模块和人机交互的键盘模块进入控制模块,经由控制模块的数据处理后,数据由人机交互的数码管显示器模块显示出来。整体模块结构如图5.2所示。图5.2 模块关系图5.3 主模块部分代码单价设置模块因为用到了键盘,所以比较复杂,这里列出单价设置的代码,当系统复位后,主时钟被分频为50M

49、Hz,键盘输入信息开始被采集。always (posedge Sys_Clk_50MHz or negedge Reset)begin if(!Reset) begin Key_value = 5d0;end else begin if(Key_Flag=1b1) case(Vertical_reg,Row_reg) 8b1110_1110 : Key_value= 5d0; 8b1110_1101 : Key_value= 5d1;8b1110_1011 : Key_value= 5d2;8b1110_0111 : Key_value= 5d3; 8b1101_1110 : Key_valu

50、e= 5d4;8b1101_1101 : Key_value= 5d5;8b1101_1011 : Key_value= 5d6;8b1101_0111 : Key_value= 5d7; 8b1011_1110 : Key_value= 5d8;8b1011_1101 : Key_value= 5d9;8b1011_1011 : Key_value= 5d10;8b1011_0111 : Key_value= 5d11; 8b0111_1110 : Key_value= 5d12;8b0111_1101 : Key_value= 5d13;8b0111_1011 : Key_value= 5

51、d14;8b0111_0111 : Key_value= 5d15;default: Key_value= 5d16;endcaseendend5.4 仿真结果HX711传感器仿真图如图5.3所示,传感器输入信号DT,当没有重物放在电子秤上的时候,传感器DT一直为高电平,当有重物的时候DT为低电平,然后开始转换数据。SCK表示数据开始转换,其上升沿表示接受一个传感器数据,当数据传输完成后SCK为低电平保持不变,DT为高电平保持不变。数据转换完后,输出重量信号为图中所示的data_weight_t。图5.3 传感器仿真使用按键进行单价设置和价格计算模块的仿真如图5.4所示,key_flag是一个

52、按键表示信号,上升沿表示信号到来。当按下按键12时候,就可以输入该物品的价格,然后可以输入价格,例如图中,先输入9,在输入8,然后得到98;然后把重量值处理后和单价相乘就得到结果。输出结果在proceout_t里显示,重量在weight_t里显示。图5.4 单价设置与价格计算仿真显示模块的仿真如图5.5所示,Dout和dataout上采用动态数码管显示,七段数码管通过点亮不同段的数码管组合成数字,通过查找表的方式,每1ms扫描一次,然后以动态显示的形式显示。图5.5 显示模块仿真整体仿真如图5.6所示,Clk_i为时钟信号,这里采用1M的频率,rst_n_i为复位信号,低电平复位。LED的电子

53、秤工作灯在处于正常工作时为1。图5.6 整体仿真大连东软信息学院毕业设计(论文)第6章系统测试6.1 测试方法将程序下载到焊好的实物芯片中,按下复位键,之后按去皮键,如果显示屏上显示全部为0,说明系统正常工作了。此时可以按下设置单价键,设置单价,按确定键。如果显示器左半部分正确显示了单价信息,则价格设定可用。将重物放在称重传感器的托盘上,显示屏右边显示重物的重量,左边显示重物的价格。如果所显示都在误差范围之内,则工作正常。按累加按钮,如果左边价格累加成功,则累加效果可用。6.2 测试结果按照6.1的测试方法进行测试,得到了全部的结果,分步贴出结果图:图6.1为称量砝码重量,在右侧数码管显示器上

54、显示了砝码重量,在误差范围之内,成功。图6.1 称重图6. 2为设置单价为2.00元后的显示情况,单价部分和物体重量部分都显示正常,本阶段成功。图6.2 设置单价图6. 3为计算本商品总价后的显示情况,在误差范围之内,本阶段成功。图6.3 总价显示图6. 4为对价格进行累加后的显示情况,在误差范围之内,本阶段成功。图6.4 累加显示从以上四个图所表示的分步成果以及最后的成果可以看出,本设计基本实现了预期功能,误差都在可接受的范围之内,实物已经可以正常工作。大连东软信息学院毕业设计(论文)第7章结论当前,称量器械的精确化和便捷化正是整个量器业发展的方向,数字化时代技术的更迭进步使得电子称量手段变

55、得更具有优势,量器行业要在激烈竞争中生存,就必须不断地提高自己在电子技术方面的能力。也就是说,能否在这个市场获得一席之地,技术是第一竞争要素。本项目对电子秤的基于FPGA的设计,已经实现了电子秤的基本称量功能,可以进行直接读数,数码管的显示一目了然,价格和重量分两段显示,更加方便。而且有一个按键可以进行单价和总价的切换,当前物品单价可以从键盘上输入,之后可以进行累加,避免同一种物品多次计价的麻烦,也可以避免同单价物品多次称重的繁琐操作。整个称量过程中,客户所需要的数据都可以直接读出,操作简单易懂,称量反应迅速,信息反馈直观,这就是本项目的优势所在。当然,本项目也存在一些遗憾的地方,比如对误差的

56、控制还不太精确,之前想要尽量实现的物品名称显示,因为最终选择了技术上更简单,实现更方便的数码管,而使计划未能达成,如果使用LCD显示屏,配备显示屏驱动,安装汉字字库的话,物品名称显示就很容易达成,但是这项技术成本高而且有难度,所以在最终没有采用LCD方案。本项目未来还有很多可以完善的地方,比如再控制一下精准度,再增加显示屏显示更多更清晰的数据,增加数字钟显示时间,增加小票打印功能等等。总体来说,本项目所希望达成的目的基本实现,在项目的测试中,设计好的实物运行正常,可在称量允许的范围内进行误差范围内的称重,对于称重结果的显示和物品价格的显示等各个功能模块均运行正常,本次项目获得了预期应该达到的成功。参考文献1 苏阳,蒋银坪,邢培天那些年,我们拿下了FPGA M,北京航空航天大学出版社,2013 2 吴厚航深入浅出玩转FPGA M,北京航空航天大学出版社,20133 王伶俐微电子与集成电路技术丛书:系统级FPGA设计与应用M,清华大学出版社,20124 李大社基于Quartus II的FPGA/CPLD设计实例精解M,电子工业出版社,20105 刘波文FPGA嵌入式项目开发M,北京航空航

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论