基于-VHDL语言出租车计费器设计

上传人:龙*** 文档编号:107743041 上传时间:2019-10-20 格式:DOC 页数:23 大小:199.50KB
返回 下载 相关 举报
基于-VHDL语言出租车计费器设计_第1页
第1页 / 共23页
基于-VHDL语言出租车计费器设计_第2页
第2页 / 共23页
基于-VHDL语言出租车计费器设计_第3页
第3页 / 共23页
基于-VHDL语言出租车计费器设计_第4页
第4页 / 共23页
基于-VHDL语言出租车计费器设计_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《基于-VHDL语言出租车计费器设计》由会员分享,可在线阅读,更多相关《基于-VHDL语言出租车计费器设计(23页珍藏版)》请在金锄头文库上搜索。

1、.3 设计原理车速控制模块计费动态显示里程动态显示 车速选择 起/停开关 基本速率 Reset 扫描时钟 显示输出 显示输出图3.1 系统顶层框图计费器按里程收费,每100米开始一次计费。各模块功能如下:(1) 车速控制模块当起停键为启动状态时(高电平),模块根据车速选择和基本车速发出响应频率的脉冲驱动计费器和里程显示模块进行计数;当处于停止状态时暂停发出脉冲,此时计费器和里程显示模块相应的停止计数。(2) 里程动态显示模块其包括计数车速控制模块发出的脉冲以及将计数显示动态显示出来,每来一个脉冲里程值加0.1(控制器每发一个脉冲代表运行了0.1公里)。(3) 计费动态显示模块其初值为10元,当

2、里程超过3公里后才接受计数车速控制模块发出的脉冲的驱动,并且计数显示动态显示出来,每来一个脉冲(代表运行了0.5公里)其数值加1元,当收费超过20时数值加1.5元。4 设计步骤VHDL设计流程图(如图4.0):VHDL文本编辑VHDL文本编辑FPGA/CPLD适配器FPGA/CPLD编辑下载器VHDL仿真器FPGA/CPLD器件和电路系统时序与功能仿真器图4.0 VHDL设计流程图4.1程序设计图4.1系统的总体模块图(1)模块MS的实现(如图4.1.1所示)图4.1.1 模块MS图模块MS,输入端口CK0、CK1为两个不同的时钟信号,来模拟汽车的加速和匀速,JS加速按键。(2)模块SOUT的

3、实现(如图4.1.2所示) 图4.1.2 模块SOUT图该模块实现车行状态输出功能,其中clk为时钟信号,enable 为启动使能信号,sto暂停信号, clr为清零信号,st为状态信号。(3)模块PULSE的实现(如图4.1.3所示)图4.1.3 模块PULSE图该模块实现将时钟信号5分频功能。(4)模块COUNTER的结果验证(如图4.1.4所示)图4.1.4 模块COUNTER图实现汽车模拟计费功能。clr1为清零信号,si为状态信号,c1,c2,c3分别为费用的三为显示。(5)模块SCAN_LED的实现(如图4.1.5所示)图4.1.5 模块SCAN_LED图该模块实现显示车费功能。B

4、T为选位信号,SG译码信号4.2系统仿真:系统仿真是在实际系统上进行实验研究比较困难时适用的必不可少的工具,它是指通过系统模型实验去研究一个已经存在或正在设计的系统的过程,通俗地讲,就是进行模型实验。因而,系统仿真的结果决定整个课程设计任务完成的到位程度。程序输入完成后进行编译,编译完成后,可以对所进行的设计进行仿真,本课程设计的仿真平台是MAX+plus,通过对VHDL源程序进行编译检错,然后创建波形文件(后缀名为.scf),加入输入输出变量,选择适用的芯片以及设定仿真结束时间,设置好输入初值进行仿真,得到仿真波形图:1.模块MS的结果验证(如图4.2.1)图4.2.1当JS为高电平,CLK

5、_OUT按照CLK1输出;低电平时,按照CLK0输出2模块SOUT的结果验证(如图4.2.2)enable高电平时,每一个时钟上升沿时,CQI计数加1,若CQI=30时,state赋01,30CQI=80时,state赋10态,.;enable低电平时,CQI计数暂停,保持不变图4.2.23模块PULSE的结果验证(如图4.2.3)每个CLK0上升沿时,CNT计数加1,加到4时在下一个时钟上升沿赋值0;cnt不为0时fout赋值高电平,否则低电平图4.2.34模块COUNTER的结果验证(如图4.2.4) SI为出租车状态信号:“00”表示计费值停止,Q1Q3不变;“01”计费清零,设置为起步

6、价10元,Q2=1,Q3=0,Q1=0;“10” 正常计费,每公里1元,“11”超过20元后,每公里1.5元;Q1,Q2,Q3的信号分别赋值给C1,C2,C3图4.2.45模块SCAN_LED的结果验证(如图4.2.5)BT位选,SG译码对应数字09图4.2.56模块TAXI的结果验证(如图4.2.6)图4.2.64.3 结果分析出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,由动态扫描电路来完成。车暂时停止不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始。出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽

7、车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,由动态扫描电路来完成。车暂时停止不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始。各模块完成后,在将它们组合成完整的出租车系统,在设计过程中还需要改进的是控制系统的纠错功能。出租车计费系统的设计中体现了覆盖面广,描述能力强,是一个多层次的硬件描述语言及PLD器件速度快,使用方便,便于修改等特点,本设计在实用方面具有一定的价值。 附录1:模块MS清单/ 程序名称:MS/ 程序功能:模块MS,输入端口CK0、CK1为两个不同的时钟信号,来模拟汽车的加速和匀速,JS加速按键。/ 程序作者:郑铿/ 最后修改日期:2010.12.31

8、LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MS IS PORT(CK0:IN STD_LOGIC; /慢速档的时钟信号 CK1:IN STD_LOGIC; /快速档的时钟信号 JS:IN STD_LOGIC; /换挡按键信号 CLK_OUT:OUT STD_LOGIC);END MS;ARCHITECTURE ONE OF MS ISBEGIN PROCESS(JS, CK0,CK1) BEGIN IF JS=0 THEN CLK_OUT=CK0; /JS低电平,则为慢速档 ELSE CLK_OUT0); /CLR低电平,CQI清零 ELS

9、IF CLKEVENT AND CLK=1 THEN /CLK上升沿触发 IF STO=1 THEN STATE:=00;CQI:=CQI; /STO高电平时,state赋00态 ELSIF ENABLE =1 THEN /ENABLE高电平,CQI计数加1 CQI:=CQI+1; IF CQI=30 THEN STATE:=01; /CQI30 AND CQI=80 THEN STATE:=10; /30CQI80时,state赋11态 END IF; END IF; END IF;ST=STATE;END PROCESS;END ONE;附录3:模块PULSE/ 程序名称:PULSE/ 程

10、序功能:该模块实现将时钟信号5分频功能。/ 程序作者:郑铿/ 最后修改日期:2010.12.31LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY PULSE IS PORT(CLK0:IN STD_LOGIC; FOUT:OUT STD_LOGIC);END PULSE;ARCHITECTURE ONE OF PULSE ISBEGIN PROCESS(CLK0) VARIABLE CNT:STD_LOGIC_VECTOR(2 DOWNTO 0); VARIABLE FULL :STD

11、_LOGIC; BEGIN IF CLK0EVENT AND CLK0=1 THEN IF CNT=100 THEN /CNT计数到5(“100”) CNT:=000 ; /CNT清零 FULL:=1; /FULL高电平 ELSE CNT:=CNT+1; /否则计数CNT加1 FULL:=0; /FULL赋低电平 END IF; END IF;FOUT=FULL; /FULL为CLK的五分频信号,赋值给FOUT做输出信号END PROCESS;END ONE;附录4:模块COUNTER/ 程序名称:COUNTER/ 程序功能:实现汽车模拟计费功能。clr1为清零信号,si为状态信号,c1,c2,c3分别为费用的三为显示。/ 程序作者:郑铿/ 最后修改日期:2010.12.31LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNTER IS PORT

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 大学论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号