基于vhdl语言的出租车计费系统设计

基于vhdl语言的出租车计费系统设计

ID:23731225

大小:54.00 KB

页数:5页

时间:2018-11-10

基于vhdl语言的出租车计费系统设计_第1页
基于vhdl语言的出租车计费系统设计_第2页
基于vhdl语言的出租车计费系统设计_第3页
基于vhdl语言的出租车计费系统设计_第4页
基于vhdl语言的出租车计费系统设计_第5页
资源描述:

《基于vhdl语言的出租车计费系统设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于VHDL语言的出租车计费系统设计

2、第1lunmableLogicUserSystems)是电子设计不可缺少的工具,他可以接受多种方式的输入:原理图输入、文本输入(硬件描述语言)、第三方EDA工具提供的接口等。MAX+PLUSⅡ的仿真器具有很强灵活性,可以控制对单器件或多器件的仿真。MAX+PLUSⅡ还提供了丰富的帮助库。本文采用VHDL语言来设计实现出租车计费系统,源程序经美国Altera公司的MAX+PLUSⅡ软件调试优化,下载到特定芯片(MAX系列的EPM7128SLC8415)后,可应用于实际的出租车计费系统中。2出租车计

3、费系统的设计2.1出租车计费器工作原理实际中出租车的计费工作原理一般分成3个阶段:(1)车起步开始计费。首先显示起步价(本次设计起步费为7.00元),车在行驶3km以内,只收起步价7.00元。(2)车行驶超过3km后,按每公里2.2元计费(在7.00元基础上每行驶1km车费加2.2元),车费依次累加。(3)行驶路程达到或超过9km后(车费达到20元),每公里加收50%的车费,车费变成按每公里3.3元开始计费。车暂时停止(行驶中遇红灯或中途暂时停车)不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始。2.2基本设计

4、思想(1)根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为counterA,counterB,counterC,counterD,counterE。①计数器A完成车费百位。②计数器B完成车费十位和个位。③计数器C完成车费角和分。④计数器D完成计数到30(完成车费的起步价)。⑤计数器E完成模拟实现车行驶100m的功能。(2)行驶过程中车费附加50%的功能:由比较器实现。(3)车费的显示:由动态扫描电路来完成。用专用模块来实现,完成数据的输入即动态数据的显示。(4)通过分析可以设计出系统的顶层框图如图1所示:500)t

5、his.style.ouseg(this)">2.3具体模块划分并实现及部分程序计费器按里程收费,每100m开始一次计费.图2为原理结构图,各模块功能如下:(1)计数器A为十进制计数器,其结果为车费的百位,与5位数码管的最高位相连,计数时钟为进位脉冲。程序如下:500)this.style.ouseg(this)">500)this.style.ouseg(this)">(2)计数器B为带预置的模100十进制计数器,预置数为出租车起步价,车费的十位和个位,与数码管的第2位和第3位相连。计数时钟为计数器C的进位脉冲信号。(3)计数

6、器C为可变步长的模100十进制计数器,带预置端,预置数为计数步长。计数器C主要用于累加,当车行驶达到100m时,计数器计数一次,计数步长为每100m的行车收费。进位脉冲信号送到计数器B的“CLK”端,控制计数器B的计数步调。(4)计数器D为带预置模的十进制加法计数器,预置数为车起步里程3km,计数脉冲为计数器E的进位信号。这样当计数器D计数达到30后,进位输出将为一个高电平,控制计数器A,B,C开始计数,这样就能实现超过3km后计费器再按每公里加收车费。500)this.style.ouseg(this)">(5)计数器E为带预置的

7、可变步长的模100计数器,预置端为车速(每秒),如果预置端接入车速表,就可以实现计费了,这里用于模拟行车速度。例如:假设当计数器E计数到100则E的“CO”端输出一个高电平。此脉冲信号送给计数器D,使D完成车起步里程3km的功能。在以后的时间里E的“CO”端的脉冲信号送给计数器C,使其完成按每公里收取费用的功能。主要程序如下:500)this.style.ouseg(this)">500)this.style.ouseg(this)">500)this.style.ouseg(this)">(6)与门为2个8输入的8与门,一端用于预置

8、,一端输入当前计费器收费情况,当计费器计费达到或超过一定收费(如20元)时,每公里加收50%的车费,此时该与门输出一个片选信号送MUX。(7)MUX为16选8的2选1MUX,2个选择输入端分别为每100m收费和50%的每100m收费,片选信号由与门控制。(8)动态扫描电路将计数器A、B、C的计费状态用数码管显示出来,所连接的数码管共用一个数据端,由片选信号依次选择输出,轮流显示。2.4设计中需注意的问题(1)在一个进程中只允许一个信号上升沿作为触发条件。(2)信号值改变后,要经过一个小的延时才能生效,同一个信号不能在多个进程中

9、赋值(因多个信号源不能同时对同一个信号驱动)。(3)时序电路与组合电路最好不要在同一个进程以免浪费资源。(4)一个功能模块最好按上升沿信号分多个进程完成,各进程间用信号联系。(5)同一个信号在进程中的值改变后,要注

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。