您的位置 首页 产品

根据可编程逻辑器件完成数字化水费计量芯片的规划

基于可编程逻辑器件实现数字化水费计量芯片的设计-FPGA是新型的可编程逻辑器件,能够将大量的逻辑功能集成于单个器件中,它所提供的门数从几百门到上百万门,符合系统芯片(SOC—System On Chip)的发展要求,具有高度集成、低功耗、硬件升级等优点,可以满足不同的需要。

1 导言

FPGA是新式的可编程逻辑器材,能够将很多的逻辑功用集成于单个器材中,它所供给的门数从几百门到上百万门,契合体系芯片(SOC—System On Chip)的开展要求,具有高度集成、低功耗、硬件晋级等长处,能够满意不同的需求。

跟着电于技能和网络技能的不断开展,以可编程逻辑器材为中心规划制造的全电子式计量表必将替代传统的感应式计量表。尤其是集群式、模块化、全电子数字化计量表,将会成为民用主导产品。

使用电子技能和传感技能,对传统水表加以改进,本规划首要是用 FPGA规划水费计量芯片,芯片承受已处理好的脉冲信号,每 1000个脉冲记为 1 吨。

2 根据 FPGA的水表规划

2.1根据 FPGA水表的结构图要规划的水费计量芯片首要功用如下:能对用水吨位计数,在动态扫描电路显现用水吨数,为了结构明晰,这儿只规划显现用

水吨数的十位、个位、非常位、百分位。

能对用水水费分段计费。这样做的意图是为了进步人们的节水认识,在我国的有些区域已实行了水费的分段计费。当用水量缺乏必定数字时(如每年每户 40吨),水费费用较低(如每吨 1.2元),当用水量超越必定数字时,水费费用较高(如每吨 2.2元),计费成果送动态扫描电路显现,为了结构明晰,这儿只规划显现水费的百位、十位、个位、非常位。

首先把体系分为几个模块,然后再别离用 VHDL完成。最终把各个模块衔接起来,构成整个体系。本规划分为以下三个模块:用水量计数模块、水费计数模块、动态扫描电路显现模块。两个计数模块是整个丈量体系的中心,进行计数,计数成果送到动态扫描电路模块进行接连实时显现。整个体系模块结构框图如图一所示。

根据可编程逻辑器材完成数字化水费计量芯片的规划

2.2用水量计数模块

用水量计数模块是水费计量芯片的中心部分,它经过对被测脉冲计数来进行丈量。计数模块在每次丈量前,承受复位信号 RESET,对模块进行复位,铲除前次的丈量成果,为新的一次丈量做准备。计数成果送到动态扫描电路模块进行接连实时显现。

首要程序如下:(为了结构明晰,对部分内容进行了删减)

……

begin

process(clk,reset)

variable kg : std_logic_vector (11 downto 0);

begin

if reset=‘0’ then

kg:=“000000000000”;

elsif clk‘event and clk=’1‘ then

if kg(3 downto 0)=“1001” then

kg:=kg+7;else kg:=kg+1; end if;

if kg(7 downto 4)=“1010” then

kg:=kg+“01100000”; end if;

if kg(11)=’1‘ and (not(kg(10 downto 9)=“00”)) then

kg:=kg+“011000000000”; end if;

end if;

count1《=kg(3 downto 0);

count2《=kg(7 downto 4);

count3《=kg(11 downto 8);

……

2.3水费计数模块

水费计数模块也是水费计量芯片的中心部分,它经过对被测脉冲计数来进行丈量,并接纳处理用水量计数模块的计数成果,水费计数模块在每次丈量前,也承受与用水量计数模块相同的复位信号 RESET,对模块进行复位,铲除前次的丈量成果,为新的一次丈量做准备。计数成果相同送到动态扫描电路模块进行接连实时显现。

首要程序如下:(为了结构明晰,对部分内容进行了删减) ……

……

begin

money《=“00100010” when ((judge(3)=’1‘) or (judge(2)=’1‘)) else “00010010”;

process(clk,reset)

variable mm : std_logic_vector (15 downto 0);

begin

if reset=’0‘ then

mm:=“0000000000000000”;

elsif clk’event and clk=‘1’ then

mm:=mm+money;

if mm(3)=‘1’ and (not(mm(2 downto 1)=“00”)) then

mm:=mm+6; end if;

if mm(7)=‘1’ and (not(mm(6 downto 5)=“00”)) then

mm:=mm+“01100000”; end if;

if mm(11)=‘1’ and (not(mm(10 downto 9)=“00”)) then

mm:=mm+“011000000000”; end if;

if mm(15)=‘1’ and (not(mm(14 downto 13)=“00”)) then

mm:=mm+“0110000000000000”; end if;

end if;

count1《=mm(3 downto 0);

count2《=mm(7 downto 4);

count3《=mm(11 downto 8);

count4《=mm(15 downto 12);

mcount《=mm;

……

2.4动态扫描电路显现模块

动态扫描电路将水量计数模块及水费计数模块的计数成果用七段显现数码管显现出来,所衔接的数码管共用一个数据端,由片选信号顺次挑选输出,轮番显现。其程序比较常见,这儿省掉。

3 仿真

在 MAX+PLUS II中树立水费计数模块 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+PLUS II顶用图形输入法构成的顶层规划如图三所示。经过编译、仿真后,下载到 EP1K30TC144-3方针芯片中实践测验并获得了满意规划要求的成果。

4 定论

本文规划了根据 VHDL言语的水表的几个模块:用水量计数模块、水费计数模块、动态扫描电路显现模块。每个模块都经过了功用仿真和时序仿真,生成了可归纳的网表文件,并下载到 EP1K30TC144-3芯片中。仿真和测验的成果表明每个模块均完成了其逻辑功用。

使用可编程逻辑器材丰厚的内部资源,凭借EDA东西把水表电路集成在一片FPGA芯片内,然后减小了电路的体积、进步了体系的可靠性。具有规划周期短、规划费用和危险低、功用灵敏的特色。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/85808.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部