




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1引言1 2 Quartus II 介绍1 3出租车计价器设计 2 3.1出租车计价器的设计原理 2 3.2各模块功能模块设计 3 321分频模块3 3.2.2计量模块3 3.2.3控制模块3 3.2.4计费模块4 3.2.5译码显示模块4 3.2.6顶层模块4 3.3硬件仿真4 4总结5 参考文献6 附录6 1引言 本设计是一个简易的出租车计费系统,实现计价功能,计费标准为按行程里程 收费,起步价为6.00元,当里程小于3公里时,按照起价计费,车行超过 3公里后 在按1.2元/公里收费,等待累积时间超过 2min,按照每分钟1.5元计费。能模拟汽 车的启动,停止,暂停等状态。并用LED数码管
2、实时显示车费和汽车行驶里程, 用两位数字显示汽车行驶里程,显示方式为“XX,单位为km。计程范围为099km, 计程分辨率为1km ;用五位数字显示总费用,显示方式为“XXX.X,单价为元。计 价范围为0999.9元,计价分辨率为0.1元。此计费器要设有一个由司机控制的整 体复位控制。 本设计采用VHDL硬件描述语言作为设计手段,采用自顶向下的设计思路,得 到一种出租车计价系统的软件结构,通过QuartusH软件下进行仿真,证明所设计 的电路系统完成了出租车计价的功能,各项指标符合设计要求。本次课程设计可 以熟练掌握了课本上的一些理论知识,课程设计也是一个学习新知识、巩固加深所 学课本理论知识
3、的过程,它培养了我们综合运用知识的能力,独立思考和解决问题 的能力。加深我们对VHDL数字电路设计教程的理解。 2 Quartus II 介绍 Quartus II是Altera公司的综合性 PLD开发软件,支持原理图、 VHDL、 VerilogHDL 以及 AHDL (Altera Hardware Description Language)等多种设计输入形 式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD 设计流程。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用 Tcl脚本完成设 计流程外,提供了完善的用户图形界面设计方式。具有运行速
4、度快,界面统一,功 能集中,易学易用等特点。 Quartus II支持Altera的IP核,包含了 LPM/MegaFunction宏功能模块库,使 用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方 EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA 工具。 此外,Quartus II通过和DSP Builder工具和 Matlab/Simulink相结合,可以方 便地实现各种DSP使用系统;支持Altera的片上可编程系统(SOPC)开发,集系 统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Altera Quartu
5、s II作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观 易用的接口,越来越受到数字系统设计者的欢迎。 Altera的Quartus II可编程逻辑软件属于第四代 PLD开发平台。该平台支持一个 工作组环境下的设计要求,其中包括支持基于 In ternet的协作设计。Quartus平台和 Cade nee ExemplarLogic、Men torGraphics、Syn opsys 和 Syn plicity 等 EDA 供应商 的开发工具相兼容。改进了软件的 LogicLock模块设计功能,增添 了 FastFit编译 选项,推进了网络编辑性能,而且提升了调试能力。支持 MAX70
6、00/MAX3000等 乘积项器件 3出租车计价器设计 本设计是一种采用FPGA芯片进行出租车计费器,主要分为分频模块、计量模 块、计费模块、控制模块等模块,利用FPGA的可编程性,简洁又多变的设计方法, 缩短了研发周期。主要采用了 FPGA芯片,使用VHDL语言进行编程,使其具有了 更强的移植性,更加利于产品的升级。 3.1出租车计价器的设计原理 根据设计要求,系统的输入信号 clk,计价开始信号Start,等待信号Stop,里 程脉冲信号fin。系统得输出信号有:总费用数 cha0 cha3,行驶距离km0 km1, 等待时间min0 min1等。系统有两个脉冲输入信号 clk_120、f
7、in,其中clk_120将 根据设计要求分频成12Hz、15Hz和1Hz分别作为公里计费和超时计费的脉冲。两 个控制输入开关start、stop;控制过程为:start作为计费开始开关,当start为高电 平时,系统开始根据输入的情况计费。当有乘客上车并开始行驶时,fin脉冲到来, 进行行驶计费,此时的stop需要置为0;如需停车等待,就把stop变为高电平,并 去除fin输入脉冲,进行等待计费;当乘客下车且不等待时,将stop和fin同时置 为0,来读取最终的行驶路程数、等待时间和最后的总费用,直接将start置为0,系 统停止工作;价格开始归为起步价 6.00元。 整个设计由分频模块、计量
8、模块、计费模块、控制模块等四个部分组成。 其中计量模块是整个系统实现里程计数和时间计数的重要部分;控制模块是实 现不同计费方式的选择部分,根据所设计的使能端选择是根据里程计费还是根据等 待时间计费;同时设计通过分频模块产生不同频率的脉冲信号来实现系统的计费。 计量模块采用1Hz的驱动信号,计费模块采用12Hz、15Hz的驱动信号;计量模块 每计数一次,计费模块就实现12次或者15次计数,即为实现计时的1.5元/min、 计程时的1.2元/km的收费。组成框图如图2-1所示: 图3-1系统结构框图 3.2各模块功能模块设计 321分频模块 en1 322计量模块 由于试验箱上没有12Hz和15H
9、z的整数倍时钟信号,因此我们采用频率较大的 750khz进行分频,以近似得到12Hz、15Hz和1Hz的时钟频率。本设计中通过以上 三种不同频率的脉冲信号实现在计程车在行驶、等待两种情况下的不同计费。分频 模块元件如图2-2所示: 计时部分:计算乘 使能信号变为1;当c 满量程后自动归零。 计程部分:计算乘客所行驶的公里数,当行驶里程大于 3km时,本模块中enO 使能信号变为1;当clk1每来一个上升沿,计程器就自增1,计程器的量程为99km, 满量程后自动归零。 Start置1程序始终处于计费状态,当fin脉冲到来时kO和k1进入计程状态, 且k0每次满9就向k1进位,超过3km时enO就
10、变为高电平;同理,当 stop由0 置为1时开始由计程进入等待状态,fin脉冲归为0里程计数停止,等待时间开始计 时,mO每次满9就向m1进位,超过2min时en1就变为高电平。 3.2.3控制模块 本模块主要是通过计量模块产生的两个不同的输入使能信号en0 enl,对两个 分频模块输出的12Hz、15Hz的脉冲进行选择输出的过程;本模块实现了双脉冲的 二选一;最终目的为了计费模块中对行驶过程中不同的时段进行计价 324计费模块 当计费信号Start 一直处于高电平即计费状态时,本模块根据控制模块选择出的 信号从而对不同单价的时段进行计费。即行程在3km内,而且等待累积时间小于 2min则为起
11、步价6元;3km以外每公里按1.2元计费,等待时间超过2min,贝U按每 分钟1.5元计费。cO、cl、c2、c3分别表示费用的显示。由图可知当处于计费状态 时,随着clk2的高电平的到来,计费起步价为 6元。cO满9向cl进位,cl满9向 c2产生进位,依次逐级进位从而完成计费功能。 3.2.5译码显示模块 译码显示模块完成计价、计时和计程数据显示。计费数据送入译码显示模块进 行译码,最后送至以百元、十元、元、角为单位对应的数码管上显示。计时数据送 入译码显示模块进行译码,最后送至以分为单位对应的数码管上显示。计程数据送 入译码显示模块进行译码,最后送至以km为单位的数码管上显示。由于本次课
12、程 设计所用实验箱上自带数码管译码显示电路,因此不需再写译码程序,选定模式直 接管脚锁定在对用的数码管上即可实现。 3.2.6顶层模块 本模块用图形输入法实现出租车的计费器系统设计,将各个模块组合在一起。 程序最终功能实现仿真波形如图2-11所示 (J qTHL 1 - DicWw-ih#(.H!q.1,=-uxuch#1H#-qi - rhw-uFwiiSiir:. - |firru c i- 尊 tin 訳養rqvrl USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED
13、.ALL; entity taxi is -出租车计费器整体设计模块 -系统时钟 port ( clk_120:in std_logic; end taxi; clk_12:buffer std_logic; clk_15:buffer std_logic; clk_1:buffer std_logic; start:in std_logic; fin:in std_logic; stop:in std_logic; en1,en0:buffer std_logic; -12 分频 -15 分频 -1 分频 -计费开始信号 k1,k0:buffer std_logic_vector(3 dow
14、nto 0); -里程脉冲信号 -行驶中,中途等待信号 -计费单价使能信号 -行驶公里计数 m1,m0:buffer std_logic_vector(3 downto 0); clk_out:buffer std_logic; c0,c1,c2,c3:buffer std_logic_vector(3 downto 0); architecture taxi of taxi is signal q_12:integer range 0 to 9; signal q_15:integer range 0 to 7; signal q_1:integer range 0 to 119; sign
15、al w:integer range 0 to 59; begin process(clk_120) begin -等待时间计数 -计程和等待时间选择输出信号 -输出显示出租车总费用 -定义中间信号 - 计时范围 059 if (clk_120event and clk_120=1 )then if (q_12=4) then q_12=0;clk_12=not clk_12; else q_12=q_12+1; end if; if (q_15=3) then q_15=0;clk_15=not clk_15; else q_15=q_15+1; end if; if (q_1=59) th
16、en q_1=0;clk_1=not clk_1; else q_1=q_1+1; end if; end if; end process; process(clk_1) begin if (clk_1event and clk_1=1) then if (start=0) then -分频模块; -得 12hz 频率信号 -得 15hz 频率信号 -得 1hz 频率信号 -计量模块 w=0;en1=0;en0=0;m1=0000;m0=0000;k1=0000;k0=0000; elsif stop=1 then- 计时开始信号 if (w=59) then w=0;- 计时范围为 0-59
17、 分; ; else w=w+1; end if; if (m0=1001) then m0=0000; if (m1=0101) then m1=0000; else m1=m1+1; end if; else m0=m0+1; end if; if stop=1 then en000000010then en1=1; else en1=0; end if; end if; elsif fin=1 then if (k0=1001) then k0=0000; if (k1=1001) then k1=0000; -车停止行驶开始记等待时间; - 若等待时间大于 2min 则 en1 置 1
18、; -里程计数开始; - 计程范围 099; else k1=k1+1; end if; else k0=k0+1; end if; if (stop=0) then en100000011) then en0=1; else en0=0; end if; end if; end if; end if; if (stop=0 and fin=0)then en0=0;en1=0; end if; end process; process(en0,en1) begin if (en0=1) then clk_out=clk_15; elsif en1=1 then clk_out=clk_12; else clk_out= null; end if; end process; process(clk_out,start) begin - 若行驶里程大于 3km 则 en0 置 1 -控制模块设计; -计时和计程方式选择 if start=0 then c3=0000;c2=0000;c1=0110;c0=0000; elsif (clk_outevent
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 2 More than fun:Understanding ideas (Grammar) 教学设计 2024-2025学年外研版(2024年)英语七年级 上册
- 2025年度劳动合同解除终止证明书模板设计与员工离职后续支持合同
- 2025年度拖欠工资问题解决与劳动权益保障合同
- 2025年度家居装修安全责任协议书
- 2025年度房产证办理完毕后购房合同保管期限与责任合同
- 2025年度抵押车买卖合同车辆交易税费缴纳及返还协议
- 2025年度餐饮公司合伙人合作协议及知识产权保护合同
- 2025年度临时炊事员餐饮服务与管理合作协议
- 2025年度个人水泥品牌授权与推广合作协议
- 2025年度体育场地租赁及健身课程开发合同
- 三年级下册数学课件 两位数除两、三位数 沪教版 (共15张PPT)
- 《六大茶类》讲义
- Unit 2 Listening and speaking 课件-高中英语人教版(2019)选择性必修第二册
- X会计师事务所的J城投公司发债审计项目研究
- 中国传媒大学全媒体新闻编辑:案例教学-课件-全媒体新闻编辑:案例教学-第7讲
- 生理学泌尿系统6学时课件
- PySide学习教程
- 数据结构英文教学课件:chapter1 Introduction
- 人教三年级数学下册表格式全册
- 优秀教研组评比制度及实施细则
- JJF 1752-2019全自动封闭型发光免疫分析仪校准规范(高清版)
评论
0/150
提交评论