版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 龙岩学院龙岩学院 毕业论文(设计)毕业论文(设计) 题目: 基于 vhdl 语言的 水表抄表器的设计 专业:电子信息工程 2 龙岩学院本(专)科毕业论文(设计)开题报告 学院:物理与机电工程专业:电子信息工程 课题名称 基于vhdl语言的水表抄表器的设计 姓名 学号指导教师职称学历 一、开展本课题的意义及工作内容: 本课题的研究意义: 利用vhdl语言,通过对cpld或fpga编程,生成控制电路,显示电路,存储电路,使它们完全集成 在一片cpld或fpga上。这种设计方法使整个系统更加小型化,大大缩小了体积,易于管理和屏蔽。同 时易于做成产品,大规模生产,迅速占领市场,是eda发展的趋势。
2、但现在cpld或fpga价格相对单片机 来说偏高,而且现阶段应用并不是很广泛。但是如果做成asic,大规模生产,其优势是很明显的。 工作内容: 水表抄表器的方案设计 水表抄表器程序的模块化处理 水表抄表器的语言设计 vhdl 语言的综合、仿真 二、课题工作的总体安排及进度: 1-3 周 开题报告,资料初步搜集。与指导老师沟通。 4-5 周 方案可行性论证,论文初期撰写,同时与指导老师沟通。 6-7 周 论文中后期撰写,完成论文初稿;进行系统的实验与仿真,并与指导老师沟通。 8 周 系统调试,完成毕业设计和论文修改。与指导老师沟通。 9 周 论文定稿并上交毕业论文终稿,及答辩。 三、课题预期达到
3、的效果: fpga是新型的可编程逻辑器件,能够将大量的逻辑功能集成于一个单个器件中,它所提供的门数 从几百门到上百万门,可以满足不同的需要。因此用fpga来实现抄表器从根本上解决了单片机的先天 性限制问题。与以往的抄表器相比,用fpga实现的抄表器有如下特点: 1、集成度高。 2、易于升级、换代,灵活适用于各种场合。 3、符合系统芯片(soc, system on chip)的发展要求。 四、指导教师意见: 签名: 年 月 日 不够填写可续页 3 基于基于vhdlvhdl语言的水表抄表器的设计语言的水表抄表器的设计 【摘摘要要】伴随着集成伴随着集成电电路路(ic)技技术术的的发发展,展,电电子
4、子设计设计自自动动化化(eda)逐逐渐渐成成为为重要的重要的设计设计手段,已手段,已 经经广泛广泛应应用于模用于模拟拟与数字与数字电电路系路系统统等等许许多多领领域。域。eda的一个重要特征就是使用硬件描述的一个重要特征就是使用硬件描述语语言言(hdl)来来 完成完成设计设计文件。文件。诞诞生于生于1982年的年的vhdl语语言是言是ieee确确认认的的标标准硬件描述准硬件描述语语言,在言,在电电子子设计领设计领域受到了域受到了 广泛的接受。本广泛的接受。本课题课题以以altera公司的公司的flexiok系列系列产产品品为载为载体,在体,在max+plusii开开发环发环境下采用境下采用 v
5、hdl语语言,言,设计设计并并实现实现了水表抄表器。了水表抄表器。设计设计采用采用vhdl的的结结构描述构描述风风格,依据功能将系格,依据功能将系统统分分为为四个模四个模 块块,控制模,控制模块块、 、计计数模数模块块、存、存储储模模块块和和显显示模示模块块,每个底,每个底层层模模块块采用采用rtl (registers transferlanguage) 级级描述,整体生成采用描述,整体生成采用max+plusii的的图图形形输输入法。通入法。通过过波形仿真、下波形仿真、下载载芯片的芯片的测试测试,完成了抄表器的,完成了抄表器的 功能。功能。 【关键词关键词】:】:vhdl, cpld/fp
6、ga, max十十plush,水表抄表器,水表抄表器 【abstractabstract】the electronic design automation (eda) technology has become an importantdesign method of analog and digital circuit system as the integrated circuitgrowing. one important characteristic of the eda is one of the standarddescription languages validated by
7、ieee, which was firstly introduced in 1982.and it was widely used by electronic designer now. based on the series productsof flexiok developed by altera company, the projected design and complete systemof the reading instrument of water meter with vhdl language under the max+plusi1.the style of cons
8、truction of vhdl language is adopted in the design. accordingto the function the system is separated into four modules, the control module,the counter module, the memory module and the display module. each bottom moduleis described by rtl (register transfer language) and whole module is completedby
9、the graphic input method of max+plus. the function of system is realizedthrough emulating the key waves and testing a chip. 【keykey wordswords】:】:vhdl, cpld/ fpga, max+plusii, the reading instrument of water meter 4 目目 录录 1. 绪论 (1) 1.1 电子设计自动化(eda)发展概述 (1) 1.2 eda 的 fpga/cpld 开发 (1) 1.3 硬件描述语言(vhdl)
10、 (2) 1.4 水表抄表器的发展现状及本课题的研究意义 (2) 2. 水表抄表器的方案设计 (3) 2.1 水表抄表器的几种方案比较 (3) 2.2 用 fpga 实现水表抄表器 (4) 2.3 水表抄表器的 vhdl 设计(4) 3. 水表抄表器程序的模块化处理 (5) 3.1 控制模块 (6) 3.1.1 模块输入、输出 (6) 3.1.2 模块流程 (6) 3.2 计数模块 (7) 3.2.1 模块输入、输出 (8) 3.2.2 模块流程 (8) 3.3 存储模块 (9) 3.3.1 模块输入、输出 (9) 3.3.2 模块流程 (9) 3.4 显示模块 (11) 3.4.1 模块输入
11、、输出 (11) 3.4.2 模块流程 (11) 3.5 抄表器模块构成 (12) 3.5.1 抄表器的输入、输出 (12) 3.5.2 抄表器系统说明 (12) 4. 水表抄表器的语言设计 (13) 4.1 vhdl 语言的描述方式 (13) 4.2 控制模块的 vhdl 设计 (14) 4.3 计数模块的 vhdl 设计 (14) 4.4 存储模块的 vhdl 设计 (15) 4.5 显示模块的 vhdl 设计 (16) 4.6 整体设计模块的 vhdl 描述 (16) 5. vhdl 语言的综合、仿真 (17) 5.1 综合 (17) 5.2 系统 vhdl 描述波形仿真 (17) 5.
12、2.1 控制模块仿真 (17) 5.2.2 计数模块仿真(18) 5.2.3 显示模块仿真(18) 结论 (18) 致谢 (18) 参考文献 (19) 5 附录 1. 绪 论 21世纪人类将全面进入信息化社会,对微电子信息技术和微电子基础技术将不断提出更高的发展 要求,微电子技术仍将继续是21世纪若干年代中最为重要的和最有活力的高科技领域之一。而集成电 路(ic)技术在微电子领域占有重要的地位。伴随着ic技术的发展,电子设计自动化(electronic design automation, eda)已经逐渐成为重要设计手段,其广泛应用于模拟与数字电路系统等重要领域。 1.1 电子设计自动化(e
13、da)发展概述 1.1.1 eda的发展历史2 电子设计自动化(eda)是一种实现电子系统或电子产品自动化设计的技术,它与电子技术、微电子 技术的发展密切相关,吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平 台,是20世纪90年代初从cad(计算机辅助设计),cam(计算机辅助制造)、cat(计算机辅助测试)和 cae(计算机辅助工程)的概念发展而来的。设计者的工作仅限于利用软件的方式来完成系统硬件功能的 描述,在eda 工具的帮助下和应用相应的fpga/cpld器件,就可以得到最后的设计结果。此外,从应用 的广度和深度来说,由于电子信息领域的全面数字化,基于eda的数字
14、系统的设计具有更大的应用市场 和更紧迫的需求性。 1.1.2 eda的应用 随着大规模集成电路技术和计算机技术的不断发展,在涉及工业自动化、计算机应用、仪器仪表 等领域的电子系统设计工作中,eda技术的含量正以惊人的速度上升,电子类的高新技术项目的开发也 日益依赖于eda技术的应用。eda技术将成为电子设计领域中的极其重要的组成部分。电子设计专家认 为,单片机时代已经结束,未来将是eda的时代。随着微电子技术的飞速进步,电子技术的应用以空前 规模和速度渗透到各行各业。各行业对自己专用集成电路(asic)的设计要求日趋迫切,可编程器件的 广泛应用,为各行业的电子系统设计工程师自行开发本行业专用的
15、asic提供了技术和物质条件。 1.2 eda的fpga/cpld开发3 fpga/cpld不但包括了mcu的特点,并兼有串、并行工作方式,高速、高可靠性以及宽口径适用性 等诸多方面的特点。 1.2.1 fpga/cpld简介 fpga/cpld都是高密度现场可编程逻辑芯片,都能够将大量的逻辑功能集成于一个单片集成电路中, 其集成度已发展到现在的几百万门。复杂可编程逻辑cpld是由pal或gal发展而来的。 1.2.2 用fpga/cpld进行开发的优缺点 优点: 1、编程方式简便、先进。2、高速。3、高可靠性。4、开发工具和设计语言标准化,开发周期短。 5、功能强大,应用广阔。 同时,fpg
16、a/cpld设计方法也有其局限性。这体现在以下几点: 1、fpga/cpld设计软件一般需要对电路进行逻辑综合优化,以得到易于实现的结果,因此,最终 设计和原始设计之间在逻辑实现和时延方面具有一定的差异。 2、 fpga/cpld的容量和数目都是有限的。 3、由于目标系统的pcb板的修改代价很高,用户一般希望能固定引出端分配的前提下对电路进行 修改。但在芯片利用率提高,或者芯片v0引出端很多的情况下,微小的修改往往会降低芯片的布通率。 4、早期的fpga芯片不能实现存储器、模拟电路等一些特殊形式的电路。最新的一些fpga产品集成 6 了通用的ram结构。但这些结构要么利用率不高,要么不符合设计
17、者的需要。这种矛盾来自于fpga本身 的结构局限性,短期内很难得到好的解决。 5、尽管fpga实现了asic设计的硬件仿真,但是由于fpga和门阵列、等传统asic形式的延时不尽相 同,在将fpga设计转向其他asic设计时标准单元仍然存在由于延时不匹配造成设计失败的可能性。 1.3 硬件描述语言(vhdl)16 硬件描述语言(hdl)是相对于一般的计算机软件语言如c而言的。硬件描述语言具有以下几个优点: 1、设计技术齐全,方法灵活,支持广泛。2、加快了硬件电路的设计周期,降低了硬件电路的设计难 度。3、采用系统早期仿真,在系统设计早期就发现并排除存在的问题。4、语言设计可与工艺技术无 关。5
18、、与标准,规范,易于共享和复用。 1.3.1 vhdl语言简介 在大规模数字系统设计中,vhdl语言将逐步取代如逻辑状态表和逻辑电路等级别较低的繁琐的硬 件描述方法,而成为主要的硬件描述语言。 1.3.2 vhdl语言设计步骤 利用vhdl语言进行设计可分为以下几个步骤: 1、设计要求的定义。 2、用vhdl语言进行设计描述。 3、用vhdl仿真器对vhdl原代码进行功能仿真。 4、利用vhdl综合优化软件对vhdl原代码进行综合优化处理。 5、配置将综合优化处理后得到的优化了的网络表,安放到前面选定的cpld或fpga目标器件之中, 这一过程成为配置。 6、配置后的时序仿真。 7、器件编程。
19、 1.3.3 利用vhdl语言开发的优点 vhdl语言与其他语言相比有一些自己的优点: 1、设计功能强、方法灵活、支持广泛。 2、系统硬件描述能力强。 3、可以进行与工艺无关编程 4、 vhdl语言标准、规范,易于共享和复用。 5、方便asic移植。 1.4 水表抄表器的发展现状及本课题的研究意义 1.4.1 水表抄表器的发展现状 近年来,随着科学技术的不断发展和人民生活水平的不断提高,“智能化住宅”这一概念正在逐 步地被引入到普通住宅小区的建设之中。其中最典型的应用便是自来水表、电表、管道煤气表等三表 的集中自动抄表系统。随着人们生活水平的不断提高和生活节奏的日益加快,现代家庭中的煤气、电、
20、 水费的核算和收缴工作日益成为一种负担。传统的计量器采用各自独立的感应式计量表,这种抄表器 有很多弊端,诸如必须逐门入户抄表,收费困难,易造成漏抄、误抄或多抄,需投入大量的抄表统计 人员,而且存在抄表效率低、速度慢、成本高等问题。不仅工作量大、数据统计麻烦,而且容易出错, 费用收缴工作也极其麻烦。本设计的抄表系统,它可把多用户的水量用量集中记录在一部表中,而且 采用多用户联网的形式,进行集中抄写,数据统计简单,费用收缴周期可以大幅度的缩减。它对用户 水、电、气等量的自动计费、收费联网,状态报警提示和防止用户使用非法手段窃水、窃电等功能于 一体,是适应管理现代化的最佳计量器具之一。由此设计了一套
21、远传抄表系统。由于它们的出现既方 便了广大用户,又大大减轻了抄表员的工作量,同时由于计量精确,因而己具有成为该领域中主流技 术的趋势。 抄表系统基本工作原理:利用电子技术和传感技术,对传统电表、水表、气表加以改进,使其成为 7 远传表,在户外装一套计量系统,将每一个计量表传感器传出的数据,送到每个表的采集器存储,经 过函数变换送到智能电路单元,各单元通过数据总线并联,在数据总线上任何一点皆可以与计算机通 讯,自动抄收三表数据。系统包括远传检测表头、数据抄表器、上位控制器等三个部分。 (1)远传检测表头:通过对现有电表、水表、煤气表加装传感器,使其既能就地显示计量数据,又 能产生相关计量脉冲信号
22、的新型计量表具。传感器实质上是一种基于磁电转换技术或光电转换技术的 脉冲发生电路单元。远传检测表头均为机械转盘式,将磁感应探头装在检测表头的某一刻度上,并通 过磁屏蔽防止外界磁场的干扰后,便将一台一次表改制成远传检测表头。转轴的圈数通过探头组件的 输出端送到数据采集器,该数据通过一定的倍率计算便成为最终的计量数据。例如,在现有转盘计数 的水表中加装霍尔元件和磁铁,即可构成基于磁电转换技术的传感器,霍尔元件固定安装在计数转盘 附近,永磁铁安装在计数盘上,则当转盘每转一圈,永磁铁经过霍尔元件一次。即在信号端产生一个 计量脉冲。 (2)数据抄表器:其主要功能是采集检测表头数据,累积表头数据,通过系统
23、总线上传至上位控制 器。其一般具有8个通道,每个通道连接1个检测表头。为保障系统的安全性及可靠性,数据采集器应 具有表底数据及采集数据的存储功能。 (3)上位控制器:上位控制器可与数据采集器、检测表头组成完整的小规模抄表系统,标准型上位 控制器通过屏蔽双绞线可挂接多个数据采集器。上位控制器主要功能是,对数据采集器硬件设备管理, 历史数据存储、累积,采集器数据显示、打印等功能。 本设计主要是针对该系统的核心部分数据抄表器,抄表器接受已处理好的脉冲信号,每1000个 脉冲记为1度。一个抄表器可以记录一户的用水量,同时循环显示各户现在的用水量。 1.4.2 本课题的研究意义 本课题的研究意义有以下几
24、个: 首先,就是完成本课题的具体设计,通过这次设计,掌握用vhdl设计数字系统的方法。16 其次是探讨用vhdl实现数字系统设计应当注意的方面。 再次探讨vhdl语言的具体特点。 最后注意编码的效率,以求速度和功耗的最优化。 2. 水表抄表器的方案设计 2.1 水表抄表器的几种方案比较 根据抄表系统的特点,可以采用几种方案来实现。 第一种方案: 采用以80c31为核心的单片机扩展系统。系统可对来自多路的脉冲进行实时采集、计算,变成各路 表的用水量数据进行保存。用外设对系统初始化设置和数据抄录,初始化设置包括系统编号、水表常 数和表底数设置,系统依据这些参数进行水量转换。系统内还配有电源监视器和
25、看门狗电路,保证系 统可靠运行。下图为原理框图: 8 cpu (单(单 片片 机)机) 键盘接口电路 数据存储器 脉冲复位 时钟电路显示电路 电源监视 看 门 狗 通信电路 图2-1 原理框图 主要功能: 1、 具有户内户外两套显示,且数据一致。 2、 低功耗,普通5号电池可用三年,更换电池数据不丢。 3、 显示仪可通过键盘送入初值。 4、 通用于所有符合国家标准的普通水表或气表。 5、 八位数据显示,整数位与小数位任意设定,可显示八户的户号及用各自用水量。 6、 具有防盗窃功能。 7、 停电数据自动保护功能。 第二种方案: 采用asic技术,把上述除了cpu(单片机)以外的各外围功能芯片集成
26、在cpld或fpga上,应用vhdl语 言对其编程,使其完成各个功能芯片的功能,然后再应用vhdl语言设计一个专用串行通信芯片,使整 个系统能够小型化。这种设计方法采用单片机和cpld或fpga相结合的方法,既能兼顾单片机技术比较 成熟。易于设计,同时也能利用最新的vhdl语言进行设计一些比较简单的集成电路。 第三种方案: 完全采用cpld或fpga器件。对其编程,使其产生各个功能模块,生成asic专用集成电路10, 然后辅于外围电路,使之完全符合上述功能的要求。在以上两种设计方案中,控制器都是采用的51系 列的单片机,然后外围一些电路,构成一个完整的单片机系统。 在第三种方案中,利用vhdl
27、语言,通过对cpld或fpga编程,生成控制电路,计数电路、存储电路, 显示电路,使它们完全集成在一片cpld或fpga上。与以上两种方案比较,这种设计方法使整个系统更 加小型化,大大缩小了体积,易于管理和屏蔽。同时易于做成产品,大规模生产,迅速占领市场,是 eda发展的趋势。但现在cpld或fpga价格相对单片机来说偏高,而且现阶段应用并不是很广泛。但是如 果做成asic,大规模生产,其优势是很明显的。现代电子产品的设计,离不开eda技术。所以决定采用 第三种方案,利用可编程逻辑器件和vhdl语言设计的优点。 2.2 用fpga实现水表抄表器18 传统的水表抄表器一般是由分离元件搭接而成的。
28、随着单片机的大规模的应用,单片机在水表抄 表方面也越来越多的被使用,出现了不少单片机控制的水表抄表器。相对于以前用分离元件搭接起来 的集中抄表器,单片机控制的集中抄表器在测量精度和测量速度上都有了很大的提高。但由于单片机 先天性的限制(如单片机工作频率的限制、单片机内部计数器位数的限制),由单片机控制的抄表器无 法测量精度和测量速度上取得重大突破。若在增加别的器件,以弥补单片机的不足,不仅会大大增加 系统的复杂性,而且不利于系统的集成化。 fpga是新型的可编程逻辑器件,能够将大量的逻辑功能集成于一个单个器件中,它所提供的门数 9 从几百门到上百万门,可以满足不同的需要。因此用fpga来实现抄
29、表器从根本上解决了单片机的先天 性限制问题。与以往的抄表器相比,用fpga实现的抄表器有如下特点: 1、集成度高。 2、易于升级、换代,灵活适用于各种场合。 3、符合系统芯片(soc, system on chip)的发展要求。 2.3 水表抄表器的vhdl设计 由图2-2所示,可以把它分为以下四个模块:控制模块、计数模块、存储数据的存储模块、显示数 据的显示模块。控制模块是整个系统的控制部分,计数模块是整个测量系统的核心,进行计数,计数 结果送到存储模块。存储模块的复位信号由控制模块提供,它从计数模块接受到新的计数结果,测量 结果经存储后送模块显示,显示模块从存储模块得到结果。整个系统模块如
30、图2-2所示: 图2-2 系统图 各模块功能描述如下: 控制模块control:控制模块相当于控制电路部分,它的主要功能是控制整个抄表器系统的复位, 测量的开始等。 计数模块counter:计数模块是整个抄表器的核心部分,它通过对被测脉冲计数来进行测量。计数 模块在每次测量前,从控制模块接受复位信号reset,对模块进行复位,清除上次的测量结果,为新的 一次测量做准备。模块在当计数器计数完成并且测量结果输出信号tkeep上的结果稳定后,才输出使能 信号outen,使得存储模块可以读取测量结果,从而保证了所读测量结果的准确性。 存储模块iiccontrol:存储模块通过对计数模块的测量结果的存储
31、。工作过程如下:存储模块从控 制模块接受系统开始信号start,还从计数模块接受使能信号wren和测量结果信号tkeep。只有当使能 信号wren到来时,存储模块才能从计数模块读取结果信号tkeep。当rden到来时,结果信号tkeep被送 到存储芯片上。 显示模块display:显示模块主要作用是生成共阴极数码管显示测量结果所需的控制信号和数据信 号。模块从控制模块接受模块输入复位信号sysstart对模块进行复位操作。模块输入的基准时钟 clkdisp为分频电路分频处理后,频率为100k的时钟,用于数码管的循环显示。模块同时从存储模块接 受模块输入测量结果信号data。该测量结果信号是用二
32、进制表示的,显示模块首先将该信号转换成bcd 10 码表示的形式,以用于数码管的显示。模块输出的各个数码管选通信号gate1-gate3为各个数码管的选 通信号,当某一选通信号为高电平时,表示该选通信号对应的数码管被选中有效,可以进行显示操作。 模块输出的数据信digitout各位上的信号是否为高电平来决定是否点亮数码管中对应的显示段。 3. 水表抄表器程序的模块化处理 集中抄表器系统共分为四个模块:控制模块、计数模块、存储模块和显示模块。下面将依次介绍其 各模块的实现。 3.1 控制模块7 控制模块是整个系统的控制部分,它控制着其他四个模块的工作。图3-1是控制模块的模块图。 k ko on
33、 ng gz zh hi i reset resetout sysstart stop flag startcunchu baseclk 图3-1控制模块的模块图 3.1.1 模块输入、输出 控制模块的输入信号有: reset:为系统复位信号。当需要复位系统时(一般在进行新的测量前),只需使reset变为高电平 (reset=1)即可将整个系统复位,处于等待侧量状态。 sysstart:为系统开始测量脉冲信号。在进行一次新的测量前需要也仅需要给sysstart一个脉冲, 系统就开始进行连续不间断的测量。其中,sysstart的脉冲宽度要大于模块中所有时钟(经分频电路分 频后得到)的一个周期。
34、flag:为存储模块反馈回来的标志信号。它标志着存储模块已经从计数模块取得此次测量的结果。 控制模块接受到此脉冲信号后,就发出startcunchu脉冲信号,使系统进行下一次测量,而不再需要 sysstart信号,从而实现了连续不间断测量。 baseclk:为基准时钟,它由外加的晶振所提供。 输出信号有: resetout:为输出复位脉冲信号。它由系统复位信号reset产生,主要为计数 模块、显示模块的复位。 startcunchu:为存储开始脉冲信号。 stop:为存储停止信号,它由反馈信号flag产生。 3.1.2 模块流程 控制模块的流程如图3一2所示: 11 开开 始始 reset =
35、1? sysstart event and sysstart= 1? - flag event and flag=1 ? reset= 1? sysstart 是 否启动? 变 量 复 位 resetout=1 输 出 图3-2 控制模块流程图 控制模块首先检测三个输入信号:系统复位信号reset、系统开始测量脉冲sysstart和存储模块反 馈信号flag的变化。当reset变为高电平(reset=1)时,先对控制模块内的变量进行复位,然后输 出resetout脉冲信号,对其它模块进行复位操作。当系统开始测量脉冲信号sysstart来临 (sysstartevent andsysstart=
36、1)且脉冲宽度满足条件时,控制模块先检查是否处于系统复位期间 (reset=1),若不是,则输出测量开始脉冲信号startcunchu、当要结束正在进行的测量,开始另外 一次新的测量时,需要给控制模块施加系统复位信号,然后再施加开始测量脉冲信号startcunchu,开 始新一轮测量,同时送到存储模块,以使存储模块能够再次输出反馈信号flag。这样系统只需在开始 施加一次测量开始脉冲信号sartcunchu,以后在无须施加,从而实现了连续不间断的测量。 3.2 计数模块715 计数模块是整个系统的核心模块,测量的主要工作由它来完成,它通过计数器对被测信号基准时 间内进行计数来测量,其模块图如图
37、3-3所示: c co ou un nt te er r 12 reset outen clk tkeep13.0 tkeep23.0 checlk tkeep33.0 图3-3 计数模块的模块图 3.2.1 模块输入、输出 由图3-3可知,计数模块的输入模块信号有: checlk:为被测的信号。其电压幅度为0-5v, clk:为基准时钟,与前面两个模块一样,有外加的晶振提供。 reset:为计数脉冲的输入复位信号。 resetout:主要用于对计数模块进行复位操作,清除计数结果,保证系统在连续不间断测量的正 确性。 输出信号: tkeep:为计数模块的测量结果输出信号。它由模块复位信号res
38、et复位清零, 在送到存储模块后,由存储模块送显示模块显示。 outen:为计数模块的输出使能信号。其主要用途是通知存储模块可以读取测量结果输出信号tkeep 上的值。只有当测量结果输出信号tkeep上的结果正确、稳定后,计数模块才输出使能信号outen (outen=1),让存储模块读取测量结果,确保了数据传输的正确。输出使能信号outen由每次测量 前的复位信号reset复位清零。 3.2.2 模块流程 其流程如图3-4所示: 开开 始始 reset=1? 输出使能信号 outen=1 输出计数结果 模 块 复 位 图3-4 计数模块流程图 3.3 存储模块7 13 存储模块主要是对计数模
39、块输出的计数结果进行存储,因此存储模块是一个必要的模块。其模块 图如图3-5所示: i ii ic cc co on nt tr ro ol l clk start stop flag wren sda rden scl iidatain13.0 iidatain23.0 iidatain33.0 图3-5存储模块的模块图 3.3.1 模块翰入、输出 由图3-5可知,存储模块的输入信号有: iidatain:为存储模块输入的测量结果信号。 wren:为存储模块写入的使能信号。 rden:为存储模块的读出使能信号,它来源于计数模块输出的输出使能信号 outen:主要用于控制模块内写入的数据传送到
40、iic器件。 start:为存储模块输入的系统开始信号,它来源于控制模块输出的输出脉冲信号。 stop:为存储模块输入的系统停止信号,它来自于控制模块输出的信号stop。 输出信号有: sda:为存储模块输出的iic总线信号,它将被送到eeprom器件。 scl:为存储模块输出的iic总线信号,它将被送到eeprom器件。 flag:为存储模块输出的标志信号,它标志着存储模块已经存储完毕,可以进行下一轮的存储。标 志信号被送到控制模块后,将使控制模块开始新的一轮存储。 3.3.2 模块流程 存储模块首先检测模块的系统开始信号start是否为高电平,若是则检测写入使能信号wren,当使 能信号w
41、ren到来时,意味着模块输入的结果信号iidatain上的数据已经准备就绪,模块才开始从 iidatain上读取数据,保证了测量结果读取的准确性。 数据读取后将储存到内部。再检测读出使能信号rden,当使能信号rden到来时,意味着数据将要 送到eeprom器件,然后模拟ii总线的起始信号,开始存储4位数据的最高位,依次左移,直到4位传送 完毕,然后发应答信号,然后模拟iic总线的终止信号,停止一个字节的存储,同时开始下一字节的存 储。当stop到来时,存储模块停止工作,发出反馈信号flag,准备下一次的存储。 14 开始 start=1? wren=1? 数据输入 rden=1? 模拟 ii
42、c 总线 起始信号 存储一个字节 的数据 模拟总线 终止信号 停 止 存 储 发应答信号 stop=1? 15 3.4 显示模块7 显示模块主要用于测量结果的数码管显示。模块从存储模块接受测量的结果,输出共阴极数码管 显示所需的控制信号。其模块图如图3-7所示: d di is sp pl la ay y1 1 data13.0 gate1 data13.0 gate2 data13.0 gate3 sysstart igitout6.0 clkdisp 图3-7 显示模块模块图 3.4.1 模块输入、输出 由图3-7可知,显示模块的输入信号有: clkdisp: 为显示模块输入的基准时钟。与
43、前面的模块一样,由外加晶振所提供。 clkdisp:经分频后,生成频率为100k的时钟,主要用于数码管的循环显示。 sysreset:为显示输入的复位信号,它来自于控制模块输出的复位脉冲信号resetout. data:为显示模块输入的测量结果信号(二进制表示),它来自于计数模块输出的测量结果信号 tkeep。显示模块将对测量结果用数码管适时显示出来。 输出信号有: gate 1-gate3:为显示输出的各个数码管选通信号,gate 1为个位数码管的选通信号,gate2为十 位数码管的选通信号,gate3为百位数码管的选通信号,也就是说最大显示数据为999。 digitout:为显示模块输出的
44、数据信号,它的信号宽度为7位,分别对应于数码管的7个显示段。信 号高电平表示点亮对应的显示段,低电平表示关闭对应的显示段,从而显示正确的测量结果。 3.4.2 模块流程 显示模块首先从显示模块输入的测量结果信号dataout上得到的用二进制表示的测量结果转换为用 bcd码表示,以便下一步用数码管显示。显示模块在显示测量结果前先检测模块的复位信号sysrst是否 为高电平(sysrst=1),若是,则对整个模块进行复位操作。否则对输入的测量结果进行显示。模块 首先测量结果的个数位(即选通位信号gate1=1)。模块在显示测量结果的各个数字时采用的相同的 方法:即在时钟作用下,第一次根据digit
45、out决定是否点亮数码管的第一个显示段;第二次根据职 gitout是否点亮数码管的第一第二个显示段;以次类推,第七次根据digitout决定是否点亮数码管的一、 二、三、四、五、六、七个显示段。从而显示整个数字。显示完个数位后,模块接着显示十位数、百 位数。模块接着反过来显示个数位。从而实现测量结果的循环显示。 16 开 始 sysreset= 1? 根据 digitout 决定是否点 亮数码管的第一个数码段 相同的方法现实十位、百位 个 位 数 显 示 完 毕 根据 digitout 决定是否点亮 数码管的第一、二个数码段 开始显示测量结果 的个数位 gate1=1 二进制表示的结果信号 b
46、input 转换成 bcd 码表示 图3-8 显示模块流程图 3.5 抄表器模块构成 将抄表器系统的四个模块:控制模块、计数模块、存储模块和显示模块按照其相互间的信号连接关 系组合起来就构成了整个抄表器。 3.5.1抄表器的输入、输出 系统的输入信号有: clk:为系统输入的基准时钟信号,它将同时作用于系统的四个分离模块。 checlk:为系统输入的被测信号,作用于计数模块的被测时钟信号checlk。 reset:为系统输入的复位信号(高电平有效),作用于控制模块的复位信号reset sysstart:为系统输入的开始测量脉冲信号,作用于控制模块的开始测量脉冲信号sysstart 输出信号有:
47、 gate 1-gate3:为系统输出的各个数码管选通信号(低电平有效),即显示模块输出信号,各个数码 管选通信号gate 1-gatesdigitout:为系统输出的数据信号,用于显示。 sda: 为系统输出的iic总线信号,用于存储 scl: 为系统输出的iic总线信号,用于存储 3.5.2 抄表器系统说明 整个系统有四个输入信号,分别为系统基准时钟信号clk、被测时钟信号checlk,系统复位信号 17 reset和开始测量脉冲信号sysstart。其中clk为整个系统的基准时钟,整个系统的工作都是以它为基 准,系统实现由外加晶振提供:checlk为被测的外部信号:reset作为系统的复
48、位信号,用于对整个系统 的复位工作,一般在开始一次新的测量之前,都需对系统进行一次复位操作;sysstart用于通知系统开 始进行测量,并输出测量结果。抄表器的输出信号gate1-gate3为数码管的显示控制信号,digitout 为数码管的显示数据信号。系统在接受到开始测量脉冲信号sysstart,开始测量,计数器开始计数, 当有计数到999时,计数器自动复位为0,同时往存储模块输出数据1,显示模块控制信号gate1= 1,显示个数位的数码管点亮,显示数据1,当再有1000个脉冲时,显示2,依次进位,完 成抄表器的计量功能,同时实时显示,完成抄表的功能。系统连续不间断的测量,保证测量的准确性
49、。 14 4. 水表抄表器程序模块的vhdl语言设计 4.1 vhdl语言的描述方式19 vhdl语言的描述共有三种构造体描述方式:行为描述方式、寄存器传输描述方式、结构化描述方式。 行为描述方式是对系统数学模型的描述,其抽象程度比寄存器传输方式和结构化描述方式的程度 更高。在行为描述方式的程序大量采用算术运算、关系运算、惯性延时、传输延时等难以进行逻辑综 合和不能进行逻辑综合的vhdl语句。rtl描述方式是一种明确规定寄存器描述的方法。由于受逻辑综合 的限制,采用rtl描述方式时,所用的vhdl语言的语句有一定的限制。在rtl描述方式上、可以采用寄 存器硬件的一一对应的直接描述,也可以采用寄
50、存器之间的功能描述。从编程效率和编程难度上来看, 采用第二种方法的功能描述较好。但从控制的准确度和连贯性考虑,用第一种较好。具体设计流程如 下: 18 设计开始设计开始 编辑输入 ( vhdl 描述 ) 编 译 布 线 综 合 仿 真 下 载 图4-1 vhdl设计流程图 4.2 控制模块的vhdl设计 首先将介绍控制模块的设计,控制模块是整个系统的控制部分,它控制着其他四个模块的工作。 图4-2是控制模块的模块图。 k ko on ng gz zh hi i reset resetout sysstart stop flag startcunchu baseclk 图4-2控制模块图 4.2
51、.1 模块输入输出信号定义 reset: input系统复位信号,在系统开始测量前,一般需要输入一个高电平。 sysstart: input系统开始测量信号,在脉冲的上升沿开始触发。 flag: input存储模块反馈回来的标志信号,表示测量结果已存储完毕。 baseclk:input系统时钟,由晶振电路提供,系统设计为20mhz,为调试时方便,仿真时为1khz。 resetout: output控制模块产生的复位信号,用于显示模块的复位。 startcunchu: output存储开始信号,主要控制存储模块的开始存储。 stop: ooutput存储停止信号,控制存储模块的停止存储。 4.3
52、 计数模块的vhdl设计 4.3.1 模块输入输出信号定义 c co ou un nt te er r 19 reset outen clk tkeep13.0 tkeep23.0 checlk tkeep33.0 图4-3 计数模块图 计数模块的实质是一个计数器,具体的计数器的计数范围可在程序中定义, 本设计假定为1000进制。 上图为计数模块的模块图,模块的输入和输出信号定义如下: chkclk: input为被测的系统输入信号,为了便于仿真,输入的是由分频电路产生的频率为1hz的 周期方波信号 clk: input为系统的工作时钟,同控制模块一样,频率为1khz reset: input
53、为计数模块的复位信号,来自于控制模块产生的输出信resetout. tkeep: output计数模块的测量结果,它包括三个信号,tkeep1, tkeep2, tkeep3 分别表示个位数、十位数、百位数,用四位二进制表示,这样做的目的是为了显示 的方便。 outen: output计数模块的输出使能信号,同时也是计数器的进位信号。它的作用主要用于通知存 储模块读取qout的数值。 4.4 存储模块的vhdl设计 4.4.1 iic总线的基本原理17 iic总线的时钟线scl和数据线sda都是双向传输线。总线备用时sda和scl都必须保持高电平状态, 只有关闭iic总线时才使scl钳位在低电
54、平。在标准iic模式下数据下传送速率可达1ookbit/s,高速模式 下可达40okbit/s。 1、iic总线的接口电路 为了使总线上所有电路的输出能实现线“与”的逻辑功能,各个iic总线的接口电路的输出端必须 是漏极开路或集电极结构,输出端必须接上拉电阻。 2、iic总线的信号及时序定义 在iic总线上每传输一位数据都有一个时钟脉冲相对应,其逻辑0”和“1”的信号电平取决于该 接点的正端电压vdd的电压。 3、总线上数据的有效性 iic总线数据传输时,在时钟线高电平期间数据线上必须保持有稳定的逻辑电平状态,高电平为数 据1,低电平为数据0。只有在时钟线为低电平时,才允许数据线上的电平状态变
55、化. 4、总线数据传送的起始与停止 iic总线数据传送时有两种时序状态被分别定义为起始信号和终止信号: 起始信号:在时钟线保持高电平期间,数据线出现由高电平向低电平变化时启动iic总线,为hc总 线的起始信号。 终止信号:在时钟线保持高电平期间,数据线上出现由低到高的电平变化时将停止iic总线的数据 传送,为hc总线的终止信号。 起始信号与终止信号都是由主控制器产生。总线上带有iic总线接口的器件很容易检测到这些信号。 5、iic总线上的数据传送格式 iic总线上传送的每一个字节均为8位,但每启动一次iic总线,其后的数据传输字节数是没有限制 的。每传送一个字节都必须跟随一个应答位,并且首先发
56、送的数据位为最高位,在全部数据传送结束 20 以后主控制器发送终止信号。 所以本模块主要是设计一个工ic总线的控制器,完成数据的存储。 4.4.2 模块的输入、输出信号定义 i ii ic cc co on nt tr ro ol l clk start stop flag wren sda rden scl iidatain13.0 iidatain23.0 iidatain33.0 图4-4 存储模块图 输入信号: iidataini, iidasta2, iidata3: input 4位数据输入,来自计数模块。 clk: input控制器的工作时钟,由外加的分频电路提供,工作频率为1k
57、hz。 wren: input控制器的写入使能信号,来自于计数模块的输出信号outen。 rden: input控制器的读出使能信号,来自于计数模块的输出信号outen。 start:input控制器的开始信号,来自于控制模块的输出信号startcunchu。 stop: input控制器的停止信号,来自于控制模块的输出信号stop。 输出信号: sda: output控制器输出的数据信号。 scl: output控制器输出的时钟信号。 flag: output标志信号,表示这一轮存储结束。 4.5 显示模块的vhdl设计 4.5.1 显示模块的输入、输出信号 d di is sp pl la
58、 ay y1 1 data13.0 gate1 data23.0 gate2 data33.0 gate3 sysstart igitout6.0 clkdisp 图4-5显示模块图 输入信号 clkdisp: input显示模块的时钟。 sysstart: nput显示模块的复位信号,来自于控制模块的输出信号resetout。 datain1: iinput输入的个位测量结果。 datain2 input输入的十位测量结果。 datain3: input输入的百位测量结果。 21 gatei-gate3: output显示模块输出的三个数码管的选通信号。 digitout: output输出
59、的数据信号,送至七段数码管显示。 4.6 整体设计模块的vhdl描述 4.6.1 模块端口信号定义 系统的输入信号有: baseclk:为系统输入的基准时钟信号,它将同时作用于系统的四个分离模块。 checlk:为系统输入的被测信号,作用于计数模块的被测时钟信号checlk。 reset:为系统输入的复位信号,作用于控制模块的复位信号reset。 sysstart:为系统输入的开始测量脉冲信号,作用于控制模块的开始测量脉冲信号sysstart。 输出信号有: gate1-gate3:为系统输出的各个数码管选通信号,即显示模块输出信号,各个数码管选通信号 gate1-gate3。 digitou
60、t:为系统输出的数据信号。 sda:为系统输出的iic总线信号。 scl:为系统输出的iic总线信号。 4.6.2 整体模块vhdl设计流程 下面给出此模块结构体(architecture)的设计流程图: 开 始 定 义 control 模 块 为 元 件 定 义 counter 模 块 为 元 件 定 义 iicccontrol 模 块 为 元 件 定 义 display 模 块 为 元 件 例 化 control 模 块 例 化 counter 模 块 例 化 iicccontrol 模 块 结 束 例 化 display 模 块 图4-7 整体模块流程图 22 5. vhdl程序的综合、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子商务平台设计服务合同(3篇)
- 脑外科护师个人工作述职报告(3篇)
- 有关环保建议书的资料(5篇)
- 河北省石家庄市(2024年-2025年小学五年级语文)人教版随堂测试((上下)学期)试卷及答案
- 湖南省张家界市(2024年-2025年小学五年级语文)人教版随堂测试(上学期)试卷及答案
- 2024年染料类项目资金申请报告代可行性研究报告
- 上海市市辖区(2024年-2025年小学五年级语文)统编版专题练习(上学期)试卷及答案
- 上海市县(2024年-2025年小学五年级语文)人教版随堂测试(下学期)试卷及答案
- 郴州文物百颂作者:湖南省郴州市五岭大道陈友训
- 2024届安徽省马鞍山市高三1月月考(期末)数学试题
- 网络工程职业生涯展示
- 哈利波特与混血王子
- 《汽车钣金喷涂技术》 课件 任务11.2车身钢制外板外形修复机修复
- 不锈钢电镀工艺流程
- IgG4相关疾病的护理查房
- 如何做好医院学科建设
- 干部职工禁毒培训课件
- 景区服务提升培训课件
- 补钾原则和注意事项
- 体育行业的运动场馆安全规范培训
- 小区大门改进方案
评论
0/150
提交评论