收藏 分享(赏)

基于EDA技术的出租车计费器设计.doc

上传人:精品资料 文档编号:10922630 上传时间:2020-01-21 格式:DOC 页数:36 大小:1.09MB
下载 相关 举报
基于EDA技术的出租车计费器设计.doc_第1页
第1页 / 共36页
基于EDA技术的出租车计费器设计.doc_第2页
第2页 / 共36页
基于EDA技术的出租车计费器设计.doc_第3页
第3页 / 共36页
基于EDA技术的出租车计费器设计.doc_第4页
第4页 / 共36页
基于EDA技术的出租车计费器设计.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、01 出租车计价器的设计概论1.1 概述计费器是以传感器为纽带,对输入信号进行分析处理,最后通过显示器显示出来。计费器出现于上世纪的六十年代,真正应用于我国出租车市场则是八十年代初期,对于我国来说,当时也是交通业发展的一个初期,而计费器的出现无疑是给出租车行业的发展起到了无可替代的推动作用,毫不夸张的说,计费器是出租车发展的一个最大动力。现在基本上全国所有的出租车都装备了计费器,据调查现在的出租车计费器大多采用一单片机为核心的计费系统,这种系统不仅价格实惠,而且制作方面也相对简单,但是它也有很多不足之处;而本次设计的一 EDA 技术为核心出租车计费器设计,它相对来说根据有优势,所以以后的出租车

2、计费器的发展必定有 EDA 的一席之地,现在的行业发展也正说明了这一点,设计者们正在不断寻找一种能克服以单片机为主导的计费器的弊端的新的出租车计费器,而 EDA 现在已经成为设计者们设计的首选。出租车计费器开始向数字可编程器件的方向发展。传统的出租车计费器的不足点:1. 产品升级时间相对较长:传统的计费器所采用的是微处理控制器,它的很多功能都是要借助单片机来实现。但单片机的程序并不能被很多芯片所接受,每种芯片的程序指令都不相同,因此对于设计者们来说开发较困难,时间也就相对拉得过长。2. 计费方式不够灵活:当使用者每次要更改计费方式的时候都要重新烧录程序到芯片中去,这样就导致计费系统不够稳定,很

3、难适应出租车行业的发展。现在的基于 EDA 的出租车计费器的优点:1. 采用自顶向下的设计方法2. 采用系统早期仿真3. 多种设计描述方法4. 高度集成化的 EDA 开发系统5. PLD 在线系统编程能力6. 可实现单片系统集成,减少产品体积,重量,综合成本7. 提高产品可靠性18. 提高产品的保密程度和竞争能力9. 降低电子产品的功耗10. 提高电子产品的工作速度这次设计我们所采纳的就是以 EDA 技术为基础的的出租车计费器设计,它主要由 Altera 公司的 Cyclone 型系列芯片 EP1C6Q240C8 及一些外部控制电路所构成。我们使用的软件是 VHDL 硬件描述语言实现的出租车计

4、价器的所有功能,使收费标准更加灵活。使用 Quartus 2 软件对其进行仿真调试,来模拟出租车计费器的计费方式。EDA 在电子设计领域中价格低廉,有良好的发展趋势,它的出现必定会占领大部分数字器件市场。1.2 出租车计费器的发展及研究现状伴随着改革开放成果的大丰收,出租车行业也迎来了它的春天。在这短短的三十年间,出租车行业由一个小产业逐步发展成为了今天交通业无可替代中流砥柱,而促进这一发展的正是计费器广泛的应用于出租车上,它不仅解决了顾客与司机之间的利益纠纷问题,而且还大大促进了电子行业的发展。从第一代的机械化计费器到第二代的半机械化半电子化计费器,最后到现在的第三代电子化的计费器,计费器不

5、断地发展与完善,功能也越来越多,除了计费功能,计程功能外,还加入了诸如时钟功能,显示功能,储存功能等等。出租车计费器是衡量利益的标尺,是乘客与驾驶员两者之间交易的准则,它的出现标志着出租车行业的发展已经进入深水区。因次一个具有良好的性能的计费器将会更受使用者的青睐,所以,对出租车计费器的研究也将是设计者们不可忽略的一个重要课题。现在对于我国来说正是电子行业发展的一个黄金时期,随着电子产品的不断应用于人们的生活中,越来越多的人投身于电子产品的研究中来,传统的计费器已经不能满足消费者的需要,所以要想取得突破,就必须寻找新的更全面的替代物,而数字可编程器件的出现,为出租车计费器的研究迎来了一个新的曙

6、光,基于 EDA 技术的出租车计费器设计正是这一实践的例子,EDA 技术正以它独特的魅力吸引着设计者们的眼球,EDA 在电子设计领域中价格低廉,有良好的发展趋势,它的出现必定会占领大部分数字器件市场,也必将主导未来的出租车市场。22 出租车计费器的设计说明2.1 设计背景在我国随着经济的不断发展,人们对衣、食、住、行的质量也越来越高,其中在出行方面尤为突出,从以前的马车,到后面的脚踏车,最后到现在的出租车,无不说明人们对出行方便,快捷的追求。而在交易的过程中,公平已经成为了出租车行业发展的主导,以前的按机械式的方法计费,到后来出现的半机械半电子计费器,发展到现在的电子计费器,计费的精度越来越高

7、,计费的方式越来越简易,但是其中还是存在着很多的不足。基于以上所喘述的内容,本次所设计的出租车计费器将为解决这些问题提供一个参考的依据。2.2 设计内容计费器无疑就是记录费用并显示费用的一个器件,它与出租车行驶的路程,行驶期间的价格有关。出租车计费器通过与车子轮胎上的传感器相连接,传感器通过对轮胎所转的圈数进行一个相应脉冲的输出,而计费器就会对着先脉冲进行处理,最终转换为费用,并显示出来。针对这一点我们来利用 EDA 技术,来设计一款符合我们要求的出租车计费器,具有计费显示、计程显示等相关功能。设计要求如下:这次设计我们所采用的是以 EDA 技术为核心,其他为辅助来实现计费器的计费功能,以衡阳

8、为例,出租车起步价为 5 元,当出租车行驶距离在 3km 以内时,只收取起步价 5 元,超过 3km,则以后每公里收取 2.5 元,当总费用达到 40元时,以后每公里收取 3 元,期间,乘客要求停车等待的时间超过一定时长时,按特定标准收取等待费用,可以动态显示显示里程与费用。2.3 设计方法在电子设计中,我们通常有两种设计方法来对电子产品进行设计,分别是自底向下和自顶向上;自底向下即是首先确定系统的最基础,最底层的模块,然后根据系统的要求设计出其他顶层的模块及结构,最终组合在一起,是他们满足高层系统的要求,这种方法在传统电子设计中应用的非常广泛。而在这个电3子行业尤其是 EDA 高度发展的今天

9、,自底向下的方法已经不能满足设计者的要求,因此,自顶向下的设计方法逐步应用于 EDA 技术设计中,自顶向下的设计方法的最显著的特点在于它是集中解决系统最基本,最底层的硬件的可获得性,它更加注重细节方面的问题的解决;自顶向下的设计方法使系统被分解为各个模块之后,可以对设计的每个独立模块进行测试,最后将不同的模块集成为最终的系统模型,比对其进行综合测试与评价。2.4 设计方案的比较在出租车计费器的设计中,存在着多种方案的选择,而其中最为突出的方案有两种,也是用的最多的方案,方案一是以单片机为基础的出租车计费器设计,方案二是以 EDA 技术为基础的出租车计费器设计。方案一:在设计中,采用以单片机为中

10、心,多种外围电路为辅助,用 C 语言编写功能程序,最后通过软件的仿真调试,将符合要求的程序代码下载至硬件电路中,来实现计费器所需要的功能。这种设计所带来的优点是开发与制作成本较低,在使用中也相对符合我们的使用习惯,但是有此种方法设计的出租车计费器系统不够稳定,不易实现复杂的功能设计,外围电路较多,而且消费者每次要更改计费标准时,都要重新烧写程序至单片机中,这样的话,对使用者来说就显得相当麻烦。方案二:以 EDA 技术为核心,将其他的各种模块都集中在一起,采用 VHAL语言来编写程序设计,最终也是通过软件的仿真调试,将程序下载至硬件电路中,从而实现计费器的功能。这种设计方法的优点在于它的智能性与

11、自动性,外围电路较少,因此对计费器的功能扩展很有利,不像单片机所采用的软件实现功能,它是采用硬件逻辑电路实现的,所以,系统稳定性有了大大的提高,但是他也有它的不足之处,就是花费成本相对过高。以上两种方案都能对计费器实现计程,计费,显示等功能,都有其优缺点,但经过综合考虑决定,本次设计所采用的是方案二。43 出租车计费器的总体设计3.1 系统总体设计要求本设计是利用 VHDL 语言来设计一个出租车计费器的计费系统,具体要求如下:(1)行程三公里之内,起步价 5 元;(2)三公里之外,每公里 2.5 元;(3)当总费用达到 40 元时,以后每公里按 3 元收费;(4)能显示行驶公里数,计费器费用;

12、注:出租车在等待红绿灯时不计费,当乘客要求停车等待时则按每 200s 收取 0.7元,计入总费用。收费的范围是 0-999.9 元,费用显示分辨率是 0.1 元,行驶的路程范围是0999.9 公里,路程显示分辨率是 0.1 公里。3.2 设计思路本设计是利用对时钟的分频来模拟出租车行驶的速度,当时钟频率越高时车速也就越快,再根据时钟来进行计程和计费,最终,在数码管上显示出总行驶路程和总费用。出租车计费器的内部结构框图如下所示:图1 出租车计费器的结构框图1.速度模块,接入车速表来进行工作,这里用于模拟车速度。2.计时模块,接入车速表实现计时,当车速为零时,开始计时,当计时超过一5定时间时,输出

13、一个脉冲到计费模块,实现停车等待费用。3.计程模块,对速度模块所产生的脉冲进行一个计数,通过总计数次实现出租车所行使的总路程并输出总路程。4.计费模块,对出租车所行使的路程进行一个费用的计算,并输出总费用。5.显示模块,对输出的总费用和总路程的一个数码显示。3.3 出租车计费器系统工作流程图出租车计费器的工作流程如下所示:图 2 出租车计费器工作流程图当出租车载有乘客时,计费器开始工作,首先是 reset 至为高电平,系统进入初始化,各部分都清零,计费模块显示起步价 5 元,然后启动 start 按钮(将6其至为 1) ,计费器开始计费,在行驶过程中,对输出路程进行比较,当输出路程在 3km

14、以内时,费用保持 5 元起步价不变;当路程大于了 3km 时,则每公里按 2.5 元进行计费的累加,并且输出总费用;当总费用达到 40 元时,则计费器将按照每公里 3 元的价格进行计费。在行驶过程中,当乘客要求停车等待时,则计费器将会进入停车等待计费模式,超过一定时间,将收取一定的等待费用,并计入总费用。当在计程车行驶过程中出现 stop 有效信号时,则各计数器停止计数;当乘客下车之后,按下复位键 reset 键,所有计数器清零复位。74 出租车计费器的软件仿真分析4.1 硬件描述语言的介绍硬件描绘语言 HDL 是 EDA 技术的重要组成部分,目前常常使用的 HDL 主要有 VHDL,Veri

15、log HDL,system C。其中 VHDL,Verilog 在现在 EDA 设计中使用最多。本次设计中所采用的正是基于 VHDL 语言的出租车计费器设计。VHDL 的英文全名是 VHSIC Hardware description language,于 1983 年由美国国防部提议创立,由 IEEE 进一步发展并在 1987 年作为“IEEE 标准 1076”发布。后来,VHDL 成为业界以此为标准的硬件描述语言。自 IEEE 发布了 VHDL的标准版本以后,各 EDA 公司相继推出了自己的 VHDL 设计环境,或宣布自己的设计工具支持 VHDL。自那时以来,VHDL 已广泛应用在电子设

16、计领域,结合Verilog 逐步取代其他非标准的硬件描述语言。VHDL 作为一个规范语言和建模语言,随着 VHDL 语言的标准化,出现了一些支持该语言的行为仿真器,因为创立 VHDL 的首先目的是用于标准文档的建立和电路功能模拟,其基本思想是在高层次上描述系统和元件的行为。1993 年,IEEE 对 VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展了 VHDL 的内容,公布了新版本 VHDL。VHDL 具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述能力。相对于 Verilog,VHDL 具有以下优点:(1)语法比 Verilog 严谨,通过 EDA

17、 工具自动语法检测,易排除许多设计中的疏忽。(2)有好的行为描述的水平和能力的系统级描述能力,和 Verilog 建模和系统级抽象和描述能力比 VHDL。利用 VHDL 语言设计数字逻辑硬件系统还具有以下多方面的特点。(1)VHDL 不太关注具体的逻辑电路实现,设计者主要集中在电路功能的实现。(2)语言可以用来描述逻辑设计,逻辑结构设计,如多少子逻辑,而是逻辑是如何连接。(3)VHDL 所给出的逻辑的模拟与调试功能为设计者提供了最大的空间,用户甚至不必编写任何测试向量即可进行源代码级的调试。8(4)VHDL 语言描述的能力非常强,它涵盖了许多领域的、合乎逻辑的设计,和许多硬件模型。(5)VHD

18、L 选用近似高级语言的语句格式实现对硬件行为的描述,所以我们就称 VHDL 语言为行为描述语言。(6)设计者可以方便地比较各种方案的优势和可行性,大大降低设计难度。(7)VHDL 语言具有良好的可读性, 用 VHDL 语言库的设计(图书馆) ,设计单位(设计单位) ,包(package)为设计人员提供了可重复使用的其他设计成果的技术手段。 (8)原有的硬件设计描述是非常简洁的描述,通过 EDA 工具进行电路描述或说明文件布局参数生产处理生成过程。 4.2 主要的模块设计4.2.1 速度模块设计如下图所示,这是一个速度模块框图的设计,其中 clk 为时钟脉冲输入,通过对这个 clk 的一个计数,

19、来实现出租车所行使的时间和路程,reset 则表示的是复位按钮,当有复位信号输入时,所有的计数器都将进行初始化,start按钮则是一个开始开关,当 start 信号有效时,则速度模块进入工作状态,stop 则是一个停止按钮,当其有效时,速度模块停止工作,sp20则是一个速度控制输入端口,用它可以模拟出租车的行驶速度大小。其模块框图如下所示:图 3 速度模块框图 94.2.2 计时模块设计速度模块主要是用来进行计程收费的,计时模块则是主要用来记录当车速为零时的时间,也就是乘客要求停车等待的时间。它通过对 sp 信号的判断来进行工作,当 sp=0(即出租车停车时) ,开始记录时间。当时间达到一定长

20、度的时长,它会产生一个时间计数脉冲输出,目的是为了向乘客收取一定的等待费用,然后再重新计时,从而实现等待期间的计费,设计框图如下所示:图 4 计时模块框图4.2.3 计费模块设计计费模块设计主要是用于对出租车在行驶过程中所产生的总费用的一个仿真。在这个模块中,我们设计两个不同的计费进程,分别为 jf1 和 jf2 两个进程。其中 jf1 是用于产生 enable 和 price 信号。当集成器所记录的路程达到 3km 后,enable 信号将自动变为高电平,计费器开始进入每公里收费状态。当总费用超过 40 元时,单价 price 由原来的 2.5 元/km,变为 3 元/km。通过对速度模拟信

21、号 sp 信号的判断,当速度为零时(sp=0)时,开始记录时间。当时间达到一定的时间久了,会产生一种时间计数脉冲输出,并重新启动的时间。 jf2 是用来确定的时间计数和 CLKOUT 的值,当它是 1 时,总费用加 0.7 元。最终输出为总费用。设计框图如下所示:10图 5 计费模块框图4.2.4 计程模块设计计程模块的设计主要是用于对出租车所行驶的路程的一个模拟仿真设计。上面我们介绍的速度模块就是当出租车每行驶 100 米就有一个脉冲输出,计程模块就是对这个脉冲输出的个数进行一个计数,从而达到计程的目的。其中Kmcount1 为路程的十分位,kmcount2 为路程的个位,kmcount3

22、为路程的十位,分别为十进制数。设计框图如下所示:图 6 计程模块框图4.2.5 译码显示模块译码显示模块所采用的是共阴极八段数码管,该模块经选择之后将计程数据(4 位)送入译码器进行译码并且显示出来,将计费数据(4 位)送入译码器进行译码并且显示在另外的 4 位数码管上。计程数据显示的是百十个位,十分11位,精确度是 0.1,计费数据显示的是百十个,十分位,精确度也是 0.1.其模块设计框图如下所示:图 7 显示模块框图该图中 seg1 表示的是路程十分位输出,seg2 表示的是路程个位输出,seg3 表示的是路程十位输出,seg4 表示的是路程百位输出;seg5 表示的是费用十分位输出,se

23、g6 表示的是费用个位输出,seg7 表示的是费用十位输出,seg8 表示的是费用百位输出。图 8 显示流程框图4.2.6 总体仿真设计出租车计费器总体设计如下图所示,其中 clk 信号为输入时钟脉冲,当时钟为上升沿时有效,reset 为复位信号,同样也是上升沿有效,start 为计费开始信号,stop 为计费停止信号,均为高电平时有效,SP20表示出租车行驶的各种状态,模拟停止或不同形式的速度,kmcnt 信号输出表示出租车行驶的里程,count 信号输出表示出租车行驶的花费。12图 9 总设计原理图4.3 仿真结果4.3.1 速度模块仿真出租车在行驶的过程中,速度有快有慢。本次设计中我们对

24、速度模块的仿真所依据的是出租车行驶过程中的不同速度,不同状态来进行仿真的,我们对出租车所行使的时钟周期进行一个计数,从而可以的计算得出出租车所行驶的路程,本次设计中我们所采用的是出租车每行驶 100 米就有一个脉冲 clkout 输出高电平。仿真波形图如下所示图 10 速度模块仿真波形图由上波形图我们可知,当 SP 采用不同数值来模拟速度的快慢是,输出clkout 也有一个快慢的变化,从而达到速度仿真的效果。134.3.2 计程模块仿真计程模块的仿真无疑就是对出租车所行驶的路程进行一个模拟仿真,仿真图如下所示:图 11 计程模块仿真波形图 从以上我们可以知道,当复位信号输出有效时,所有的计数系

25、统复位清零,否则,对输入信号 clkout 进行一个十进制的计数,从图中可以看出每输入一个CLKOUT 信号,kmcnt1 就自加 1(即就是 100m) 。Kmcnt2 表示路程的个位数,kmcnt3 表示路程的十位数。4.3.3 计时模块仿真预设 10000 个时钟周期为 200s,对时钟周期进行计数,每计 10000 个时钟周期输出高电平,指示计时 200 秒。14图 12 计时模块仿真波形图由上图我们可以得知,当复位 reset 有效时且当 SP 为 0 时,也就是出租车停车等待时,timeout 每隔一段时间输出一个高电平,从而达到停车等待时间乘客所花费的费用。4.3.4 计费模块仿

26、真计费模块的仿真是乘客在搭乘出租车期间所用的所有花费,当 reset 为高电平也即是有效时,系统复位清零,否则,当计时信号的时间计数和出租车计费信号 CLKOUT 都是高电平时,按照特定的规则的计费。仿真波形图如下图 13 计费模块仿真功能图由上图我们可以得知,出租车起步价为 5 元,当图中出现 timeout 信号时(乘客要求停车等待时),则每一个输入信号就相应有一个 count 的变化(以0.7 元自加) ,当 clkout 输出有 10 个脉冲(代表行使一公里) ,则 count 按每公里 2.5 元收取费用。4.3.5 显示模块仿真显示模块是计费器的最后一个模块,它是将出租车所行使的路

27、程、费用直观的表达出来,方便乘客与司机两者之间的交易,显示模块采用的是八段数码管显示,一到四显示路程,五到八显示费用,仿真功能图如下所示:15图 14 译码显示仿真功能图从上图不难得出,当费用十分位为 8 时,数码管第五位 seg5 的各段二极管的代码 01111111;当费用个位为 7 时,数码管第六位 seg6 的各段二极管的代码 10000111,其中第一个代表小数点;当费用十位为 6 时,数码管第七位 seg7的各段二极管的代码 01111101;当费用百位为 5 时,数码管第八位 seg8 的各段二极管的代码 01101101;当路程十分位为 9 时,数码管第一位 seg1 的各段二

28、极管的代码 01101111;当路程个位为 5 时,数码管第二位 seg2 的各段二极管的代码 11101101;当路程十位为 1 时,数码管第三位 seg3 的各段二极管的代码 00000110;当路程百位为 8 时,数码管第四位 seg4 的各段二极管的代码01111111;对照共阴极数码管的显示表,可知上述仿真完全符合要求。4.3.5 总体仿真对电路进行总体仿真,仿真波形图如下所示。在图中,当复位信号输出有效时,系统中所有的计数器,寄存器被清零;当开始计费信号 start 信号有效时,启动计费系统,计费器开始显示初始费用为 5 元(即起步价) ,当行驶路程超过 kmcnt2 达到 3km

29、 时,以后每公里 2.5 元,当超过 40 元时,以后每公里 3元计费,然后再根据出租车行驶的速度信号 SP 的输出取值计算所用的花费和行驶的里程;当 stop 信号有效时,计费器停止工作。16图 14 总体仿真波形图总的来说,出租车计费器的设计符合本设计要求,它基本实现了出租车计费器的功能。4.4 芯片管脚锁定本次设计所采用的是 Cyclone 型可编程数字实现系统,芯片型号为EP1C6Q240C8,管脚锁定如下表:表 1 管脚锁定表输入输出端口 任务名称 管脚值 启用clk location Pin28 是reset location Pin237 是start location Pin2

30、40 是stop location Pin239 是sp0 location Pin233 是sp1 location Pin234 是sp2 location Pin235 是Count10 location Pin13 是Count11 location Pin14 是Count12 location Pin15 是Count13 location Pin16 是Count20 location Pin17 是Count21 location Pin18 是Count22 location Pin19 是Count23 location Pin20 是17Count30 location

31、Pin21 是Count31 location Pin41 是Count32 location Pin128 是Count33 location Pin132 是Kmcnt10 location Pin161 是Kmcnt11 location Pin162 是Kmcnt12 location Pin163 是Kmcnt13 location Pin164 是Kmcnt20 location Pin137 是Kmcnt21 location Pin138 是Kmcnt22 location Pin139 是Kmcnt23 location Pin140 是Kmcnt30 location Pi

32、n141 是Kmcnt31 location Pin158 是Kmcnt32 location Pin159 是Kmcnt33 location Pin160 是18结束语在这次设计中,所采用的 VHDL 语言在 Quartus 软件上的仿真,基本实现了我们所设计的计费器的功能要求,在第三章中我们所提到的方案的比较,使我们能更加清晰的区别单片机与 EDA 的优劣所在,在第四章中我们所编写的程序一开始不能编译,后面才知道程序的实体名必须与工程名一致。所以通过此次对出租车计费器的设计以及调试,让我对原本不太熟悉的 EDA 技术有了一个深刻的了解,EDA 技术作为现代电子设计技术的核心,为提供表达和

33、实现当代电子理论和设计的可能性做出了不可磨灭的贡献;另外在 VHDL 语言的设计方面,让我对设计有了一个全新的看法,以前的我只知道自底向上的设计方法,而这次所采用的自顶向下的设计方法完全打破了我的传统观点,让我对 EDA 这门科学技术有了更多的兴趣。同时,通过本次设计我还认识到了自身的很多不足,比如在选择芯片管脚锁定方面,还有就是在仿真时对部分没用到的管脚的关闭都存在着很多的不足,导致仿真不能满足要求,芯片的负担加重。所以不管是在今后的学习中还是生活中我会更注重自己这方面能力的培养。19参考文献1潘松,黄继业,EDA技术实用教程第四版,科学出版社,20102王振红,张常年,综合电子设计与实践,

34、清华大学出版社,20053边计年,薛宏熙,VHDL设计电子线路,清华大学出版社,20024罗杰,谢子美,电子线路,电子工业出版社,20085王振红,VHDL数字电路设计与应用实践,机械工业出版社,20036武玉华,周玉坤,出租车计价系统的FPGA设计,计算机技术与发展, 2007-12-127张颖,多功能出租车计价器的设计,计算机与信息技术,2009-9-920致 谢时间过得真快,毕业论文已经接近了尾声,在这短短的几个月的设计时间里,有过太多的欢笑,也有过太多的艰难困苦,但是在老师与同学的帮助之下,我战胜了一次次挫折,从中我学到了很多的东西,有的是以前学不到的东西,所以对于此次对出租车计费器的

35、毕业设计,首先我得最诚挚的感谢我的指导老师肖亚丽老师。从定题,设计、开题报告,整改以及论文的撰写与成稿过程中,都离不开老师对我的悉心指导与帮助。也许有的时候老师特别的忙,但是只要是我们在设计中遇到了问题,老师都会抽出时间来为我解答,肖老师以她严谨的治学之道、兢兢业业的工作作风为我树立了学习的典范,老师的每一次教导与鞭策都将是我人生中最宝贵的财富。谢谢大家为我在这个设计提供的所有的帮助,没有你们的帮助和启发,我将很难完成本文的写作。由于本人水平有限,论文中难免有瑕疵与不足之处,恳请各位老师和同学的批评和指正!21附 录VHDL 语言程序代码:速度模块:library ieee; use ieee

36、.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sd is /实体表达port( clk :in std_logic; /端口名称reset:in std_logic;start:in std_logic;stop :in std_logic;sp :in std_logic_vector(2 downto 0);clkout:out std_logic);end sd;architecture rtl of sd is /结构体表达Begin /程序主体process(clk,reset,start,stop,sp) ty

37、pe state_type is(s0,s1); variable s_state:state_type; variable cnt:integer range 0 to 28;variable kinside:integer range 0 to 30;begincase sp is when“000“=kinside:=0; /赋值when“001“=kinside:=28; when“010“=kinside:=24; 22when“011“=kinside:=20;when“100“=kinside:=16;when“101“=kinside:=12;when“110“=kinside

38、:=8;when“111“=kinside:=4;end case;if reset=1thens_state:=s0;elsif clkevent and clk=1thencase s_state iswhen s0=cnt:=0;clkoutclkoutwaittime:=0;timecountif sp=“000“thent_state:=t2;elsewaittime:=0;t_state:=t1;end if;when t2=waittime:=waittime+1;timecount=“010000000000“thenprice=“0011“)OR(kmcnt3=“0001“)thenenable“00001001“thenreg2(7 downto 0):=reg2(7 downto 0)+“00000110“+price;if reg2(7 downto 4)“1001“thencash sc1 sc1 sc1 sc1 = “01001111“;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报