




付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于可编程逻辑器件实现数字化水费计量芯片的设计1引言FPGA是新型的可编程逻辑器件,能够将大量的逻辑功能集成于单个器件中,它所提供的门数从几百门到上百万门,符合系统芯片(SOC—SystemOnChip)的发展要求,具有高度集成、低功耗、硬件升级等优点,可以满足不同的需要。随着电于技术和网络技术的不断发展,以可编程逻辑器件为核心设计制作的全电子式计量表必将取代传统的感应式计量表。尤其是集群式、模块化、全电子数字化计量表,将会成为民用主导产品。利用电子技术和传感技术,对传统水表加以改进,本设计主要是用FPGA设计水费计量芯片,芯片接受已处理好的脉冲信号,每1000个脉冲记为1吨。2基于FPGA的水表设计2.1基于FPGA水表的结构图要设计的水费计量芯片主要功能如下:能对用水吨位计数,在动态扫描电路显示用水吨数,为了结构清晰,这里只设计显示用水吨数的十位、个位、十分位、百分位。能对用水水费分段计费。这样做的目的是为了提高人们的节水意识,在我国的有些地区已实行了水费的分段计费。当用水量不足一定数字时(如每年每户40吨),水费费用较低(如每吨1.2元),当用水量超过一定数字时,水费费用较高(如每吨2.2元),计费结果送动态扫描电路显示,为了结构清晰,这里只设计显示水费的百位、十位、个位、十分位。首先把系统分为几个模块,然后再分别用VHDL实现。最后把各个模块连接起来,构成整个系统。本设计分为以下三个模块:用水量计数模块、水费计数模块、动态扫描电路显示模块。两个计数模块是整个测量系统的核心,进行计数,计数结果送到动态扫描电路模块进行连续实时显示。整个系统模块结构框图如图一所示。2.2用水量计数模块用水量计数模块是水费计量芯片的核心部分,它通过对被测脉冲计数来进行测量。计数模块在每次测量前,接受复位信号RESET,对模块进行复位,清除上次的测量结果,为新的一次测量做准备。计数结果送到动态扫描电路模块进行连续实时显示。主要程序如下:(为了结构清晰,对部分内容进行了删减)……beginprocess(clk,reset)variablekg:std_logic_vector(11downto0);beginifreset=‘0’thenkg:=“000000000000”;elsifclk‘eventandclk=’1‘thenifkg(3downto0)=“1001”thenkg:=kg+7;elsekg:=kg+1;endif;ifkg(7downto4)=“1010”thenkg:=kg+“01100000”;endif;ifkg(11)=’1‘and(not(kg(10downto9)=“00”))thenkg:=kg+“011000000000”;endif;endif;count1《=kg(3downto0);count2《=kg(7downto4);count3《=kg(11downto8);……2.3水费计数模块水费计数模块也是水费计量芯片的核心部分,它通过对被测脉冲计数来进行测量,并接收处理用水量计数模块的计数结果,水费计数模块在每次测量前,也接受与用水量计数模块相同的复位信号RESET,对模块进行复位,清除上次的测量结果,为新的一次测量做准备。计数结果同样送到动态扫描电路模块进行连续实时显示。主要程序如下:(为了结构清晰,对部分内容进行了删减)…………beginmoney《=“00100010”when((judge(3)=’1‘)or(judge(2)=’1‘))else“00010010”;process(clk,reset)variablemm:std_logic_vector(15downto0);beginifreset=’0‘thenmm:=“0000000000000000”;elsifclk’eventandclk=‘1’thenmm:=mm+money;ifmm(3)=‘1’and(not(mm(2downto1)=“00”))thenmm:=mm+6;endif;ifmm(7)=‘1’and(not(mm(6downto5)=“00”))thenmm:=mm+“01100000”;endif;ifmm(11)=‘1’and(not(mm(10downto9)=“00”))thenmm:=mm+“011000000000”;endif;ifmm(15)=‘1’and(not(mm(14downto13)=“00”))thenmm:=mm+“0110000000000000”;endif;endif;count1《=mm(3downto0);count2《=mm(7downto4);count3《=mm(11downto8);count4《=mm(15downto12);mcount《=mm;……2.4动态扫描电路显示模块动态扫描电路将水量计数模块及水费计数模块的计数结果用七段显示数码管显示出来,所连接的数码管共用一个数据端,由片选信号依次选择输出,轮流显示。其程序比较常见,这里省略。3仿真在MAX+PLUSII中建立水费计数模块RESET=‘1’时的仿真波形如图二。图二中RESET为复位信号,当RESET=‘0’时,系统复位,当RESET=‘1’时,各计数器正常计数。judge(3)和judge(2)是用水量计数模块输出结果count3的最高两位二进制数,当它们有一个值为‘1’时,表示用水量大于40吨。count1、count2、count3、count4分别对应水费的十分位、个位、十位、百位,在程序中用8421BCD码给出,为清楚起见,在仿真时用十进制数给出,图中虚线左侧水费每吨1.2元,当用水量达到40吨时,judge(3)=1,在图中虚线右侧水费每吨2.2元,因此,水费从48.0元跳变到50.2元。在MAX+PLUSII中用图形输入法形成的顶层设计如图三所示。通过编译、仿真后,下载到EP1K30TC144-3目标芯片中实际测试并获得了满足设计要求的结果。4结论本文设计了基于VHDL语言的水表的几个模块:用水量计数模块、水费计数模块、动态扫描电路显示模块。每个模块都通过了功能仿真和时序仿真,生成了可综合的网表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年贵州二建公路考试模拟题库及答案解析
- 化工过程节能技术进展考核试卷
- 审核体系适用性分析考核试卷
- 体育经纪业务与体育产业政策研究考核试卷
- 社区住宅建筑与社区能源结构优化考核试卷
- 书店特色书店空间设计理念考核试卷
- 生育保险对家庭经济的影响分析考核试卷
- 2024年新疆伊吾县事业单位公开招聘工作人员考试题含答案
- 成品抽样管理办法
- 2024年天津市蓟州区卫生高级职称(卫生管理)考试题含答案
- 钙钛矿光电探测器的研究进展
- 液压爬模安全施工验收要求
- 2024年济宁农村干部学院(校)招生历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 老年人体检分析报告及改进措施
- 通用作业工程施工风险辨识清单
- 100t履带吊安装及拆除施工方案
- 干部履历表(中共中央组织部2015年制)
- 美西奥多·莱维特《营销短视症》
- 马家田煤矿 矿业权价款计算结果的报告
- GB/T 20485.31-2011振动与冲击传感器的校准方法第31部分:横向振动灵敏度测试
- Can you hear me合唱钢琴伴奏谱
评论
0/150
提交评论