欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年基于VHDL的出租车计价器的研究设计.docx

    • 资源ID:12907694       资源大小:298.37KB        全文页数:16页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年基于VHDL的出租车计价器的研究设计.docx

    精品学习资源一概述 .1二总体设计 .22.1 设计要求 .22.2 设计思路 .22.3 设计流程图 .2三系统仿真结果及分析 .4仿真波形图分析 .4四总结及体会 .7参考文献 7附录(程序源代码)8欢迎下载精品学习资源一 概述随着我国国民经济生产总值的增加以及人民生活水平的提高,各大中小城市的出租车 营运事业进展快速,出租车已经成为人们日常出行挑选较为一般的交通工具;出租车计价器 是出租车营运收费的专用智能化外表,是使出租车市场规范化、标准化的重要设备;一种功 能完备,简洁易用,计量精确的出租车计价器是加强出租车行业治理,提高服务质量的必需 品;本设计采纳 VHDL 硬件描述语言作为设计手段,采纳自顶向下的设计思路,得到一种出租车计价系统的软件结构,通过Quartus软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求;该设计虽然功能简洁,智能化水平比较低,但仍具有肯定的有用性;该设计是在 VHDL 的基础上对出租车计价器进行设计来实现其基本功能的,与以往的基于单片机的数模混合电路相比,FPGA 具有稳固性好、抗干扰才能强、电路实现简洁、程序简洁等优点,且特别适合做为出租车计价器的掌握核心,所以挑选用VHDL 来对计价器进行设计来实现其功能;出租车计价器的实现将大大改善人们出行时由于讨价仍价而带来的苦恼,从而使人们的心情比较愉悦;本设计是对出租车计价器的四个模块进行分析的,综述如下:分频模块:分频模块是其它模块的基础,输入时钟选为32Hz ,分频后的时钟频率为1Hz,为后续模块供应基本时钟;等待时间模块:该模块针对乘客确认下车前的等待而言,比如堵车、中途下车的情形, 通过 1Hz脉冲计数,每一分钟计时加一,最大计时时间显示为99分钟;路程模块:该模块是对车辆行驶路程进行计数,以1Hz时钟为基础,检测行程脉冲,路程模块中有内部变量来判定路程,当大于3公里、 20公里时,分别有相应的使能信号对此作出记录,最大路程显示为99公里;计费模块:该模块是基于等待时间模块和路程模块对费用进行掌握的;通过内部使能信号分别运算 3公里以内、 3-20公里以及 20公里以后的费用;本设计是基于 VHDL 进行编程,然后在 Quartus进行波形仿真,实现出租车计价器的基本功能;欢迎下载精品学习资源二 总体设计2.1 设计要求( 1)起步价为 8.00 元,起步公里为 3 公里;( 2)超过 3 公里,每公里按 1 元收费;( 3)单程行驶里程超过20 公里,每公里租价加收50%;( 4)等候时间超过 1 分钟,每分钟按这公里的租价运算;要求显示里程、计费及等候时间;乘客上车后,按下启动键开头计费;如非来回,按下单程键,计费显示三位整数、一位小数;2.2 设计思路输入 2 个时钟信号,分别模拟时间和路程;对等待时间、路程计数,进而统计费用;系统结构框图如下:分频时钟基础时钟计数器 1等待时间显计费示车速时钟计 数 器里程图 1 系统结构框图上图中,计数器 1 对分频后的 1Hz 脉冲计数,计数 60 次,计数器加1,对应等待时间,计数器2 对车速脉冲计数,其上升沿到来计数加1,对应里程;2.3 设计流程图开头分频初始化欢迎下载精品学习资源乘客上车后,按下启动按钮,计价器开头工作,第一进入初始化状态,即计程从0开头,计费从 8开头;再依据单程信号判定是否为单程,进而确定计费方式;单程:里程计数器开头计数,当路程超过3公里时,计费开头累加,按1元每公里运算,路程超过20公里时每公里 1.5元;当路程超过 3公里有等待时,按下等待信号,每等待1分钟费用与当前计费方式相 同;来回:每公里 1元,等待计费为每分钟1元;乘客下车后,按下复位键,就全部计数器进入初始状态;欢迎下载精品学习资源三 系统仿真结果及分析仿真波形图分析总体设计封装图如下:图 3 系统封装图各信号说明:输入信号: clk :系统时钟信号,频率32Hz ; mile: 车速时钟,频率 8Hz ;start: :启动信号,当 start=1 时,出租车启动,计数器开头计数;否就计数器停止计数;rst:复位信号,当rst=1时,各计数器清 0;当 rst=0时,计数器可以开头计数,start=1表示计数开头;one_way: 单程信号,单程时由司机输入;wait_siignal :等待信号,处于等待状态时由司机输入; 输出信号: km0 , km1 :里程,单位为公里;min0 , min1: 等待时间,单位为分钟;cost0, cost1, cost2, cost3:费用,单位为元,其中cost0 表示小数位;以下是系统在几种不怜悯形下仿真的波形:欢迎下载精品学习资源图 4 单程行驶示意图启动键、单程键有效,由图4 可知, 3 公里之内计费显示为8 元; 3-20 公里之间每公里1 元累计;超过20 公里每公里 1.5 元累计;图 5 单程行驶中途等待示意图启动键、单程键有效,行驶一段时间等待信号有效,等待后连续行驶;由图5 可知, 3 公里之内计费显示8 元, 3-20 公里之间每公里1 元累加,中间等待信号有效,每等待一分钟按此时每公里的费用运算,里程计数器停止计数,等待时间到,里程计数器连续计数;欢迎下载精品学习资源图 6 单程行驶复位示意图启动键、单程键有效,中途等待4 分钟,乘客下车时显示费用25 元,复位信号有效, 计数器清零,当启动信号有效时重新计数;欢迎下载精品学习资源四 总结及体会通过为期两周的课程设计,出租车计价器系统的设计已基本完成,能按预期的成效模拟汽车启动、等待、停止、复位等功能,并显示车费数目等待时间及行驶路程;出租车计费系统的设计中表达了VHDL 掩盖面广,描述才能强,是一个多层次的硬件描述语言及CPLD 器件速度快,使用便利,便于修改等特点,本设计在有用方面具有肯定的价值;在本次设计中仍存在许多不足,可以改进的地方目前有以下几点:一、该设计虽然实现了基本的计费和计程,但是许多问题并没有解决,如本设计只实了一种车速的计费;如要实现出租车的不同档位下的计程计费,仍需要进一步争论;二、该设计智能化水平较低,启动、等待、复位等信号需要人为输入,如在实际中显现操作偏差,会导致计费不精确;通过此次课程设计,我们更进一步的深化明白了VHDL 设计语言,并在使用过程中对它有了更深的体会;对编程过程中可能遇到的问题有了肯定的明白和解决方法,在理论学习和编程练习以及硬件测试方面都获得了较大的收成,对于今后进行程序设计有很大的帮忙;期间要感谢我的老师的尽心指导以及同学们的大力帮忙;在此次设计过程中的确遇到了许多困难,但是再大的困难只要有士气去战胜它,那就不是什么困难了;此外,通过本次课程设计,我仍有了肯定的对学习上的体会,学问的真实魅力其实是在于它由于应用于实践中而产生的实际的生产价值,或者说是给人们带来的庞大的便利,由于它有用了所以我们学起来会更有动力,更能往深里去争论;参考文献1 V olei A. Pedroni , VHDL数字电路设计教程,电子工业出版社,20212 蒋小燕,余伟钧,张立臣,EDA 技术及 VHDL欢迎下载精品学习资源3 鲍可进,赵念强,赵不贿等,数字规律电路设计,清华高校出版社,20044 王道宪,贺名臣,刘伟,VHDL 电路设计技术,国防工业出版社,20045 黄仁欣, EDA 技术有用教程,清华高校出版社,20066 徐向民,数字系统设计及VHDL 实践,机械工业出版社, 2007附录(程序源代码)-taxi.vhd欢迎下载精品学习资源-library ieee ;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all ;use ieee.std_logic_arith.all ;entity taxi isport-输入时钟 clk:in std_logic ;-计价器启动start:in std_logic ;-等待信号wait_signal:in std_logic ;-公里脉冲信号mile:in std_logic ;-单程键one_way:in std_logic ;-复位键rst:in std_logic ;-计费输出cost0,cost1,cost2,cost3:out std_logic_vector3 downto 0 ;-等待时间输出min0,min1:out std_logic_vector3 downto 0;-行驶公里输出km0,km1:out std_logic_vector3 downto 0;end;architecture bhv of taxi is-推迟信号signal mile_r1,mile_r2,mile_clk,start_r,clk1hz:std_logic;-分频器signal count:integer range 0 to 29 ;signal sec:integer range 0 to 59;-计费寄存器欢迎下载精品学习资源signal c0,c1,c2,c3:std_logic_vector3 downto 0;-公里 /等待时间寄存器signal k0,k1,m0,m1:std_logic_vector3 downto 0;-路程大于 3 公里,使能有效signal en0: std_logic ;-单程且大于20 公里,使能有效signal en1: std_logic ;-等待时间, 1 脉冲 /分钟signal wait_clk :std_logic ;-计费时钟signal cost_clk : std_logic ;begin-输出显示min0<=m0 ;min1<=m1 ;km0<=k0 ;km1<=k1 ;cost0<=c0 ;cost1<=c1 ;cost2<=c2 ;cost3<=c3 ;-分频进程U1:process rst,clk beginif rst='0' thenif clk'event and clk='1' then if count=5 thencount<=0 ;clk1hz<='1' ;else count<=count+1 ;clk1hz<='0' ;欢迎下载精品学习资源end if ;end if ;end if ;end process;-等待计时进程U2:processrst,clk1hz,start,wait_signal beginif rst='1' thenm0<="0000" ;m1<="0000" ;elsif start='0'then wait_clk<='0' ;elsif clk1hz'event and clk1hz='1' then if wait_signal='1'thenif sec=5 then sec<=0;wait_clk<='1' ;if m0="1001"then m0<="0000" ;if m1="0101"thenm1<="0000" ;else m1<=m1+'1' ;end if ;else m0<=m0+'1' ;end if ;else wait_clk<='0' ;sec<=sec+1;end if ;else欢迎下载精品学习资源U3:process rst,clk1hz,mile,start beginif rst='0' thenif clk1hz'event and clk1hz='1'then mile_r2<=mile_r1 ;mile_r1<=mile ;start_r<=start ;end if ;end if ;end process;mile_clk<=mile_r1 and notmile_r2;cost_clk<= wait_clk when wait_signal='1'else mile_clk when en0='1' or en1 ='1'else '0';-公里计数进程U4:processrst,start,mile_clk beginif rst='1' then k0<="0000" ;k1<="0000" ;elsif start='0' then k0<="0000" ;k1<="0000" ;en0<='0';en1<='0';欢迎下载精品学习资源elsif mile_clk'event and mile_clk='1' then-单程且大于 20 公里,使能有效if k1 & k0>="00011001" and one_way='1' then en1<='1';en0<='0';end if ;- 大于 3 公里,使能有效if k1 & k0="00000011" then en0<='1';end if ;if k0="1001" then k0<="0000" ;if k1="1001" thenk1<="0000" ;else k1<=k1+'1' ;end if ;else k0<=k0+'1' ;end if ;end if ;end process;-计费进程U5:process rst,start,cost_clk,start_r beginif rst='1' then c0<="0000" ;c1<="0000" ;c2<="0000" ;c3<="0000" ;elsif start='1' and start_r='0' then c0<="0000" ;欢迎下载精品学习资源c1<="1000" ;c2<="0000" ;c3<="0000" ;elsif cost_clk'event and cost_clk='1'then if en1='0' and en0='1'then-小于 20 公里时,每公里 1 元if c1="1001"then c1<="0000" ;if c2="1001"then c2<="0000" ;if c3="1001"thenc3<="0000" ;else c3<=c3+'1' ;end if ;else c2<=c2+'1' ;end if ;else c1<=c1+'1' ;c0<="0000" ;end if ;else- 超过 20 公里,每公里 1.5 元if c0="0101" and c1="1000"or c1="1001"then- 等于 XX9.5 时,累加得 XX1.0 if c1="1001" and c0="0101" then c0<="0000" ;c1<="0001" ;- 等于 XX9.0 时,累加得 XX0.5 elsif c1="1001" and c0="0000" then c0<="0101" ;c1<="0000" ;- 等于 XX8.5 时,累加得 XX0.0欢迎下载精品学习资源elsif c1="1000" and c0="0101" then c0<="0000" ;c1<="0000" ;end if ;if c2="1001" then c2<="0000" ;if c3="1001"thenc3<="0000" ;else c3<=c3+'1' ;end if ;else c2<=c2+'1' ;end if ;elsif c0="0000"then c0<="0101" ;c1<=c1+'1' ;else c0<="0000" ;c1<=c1+"0010" ;end if ;end if ;end if ;end process;end bhv;欢迎下载

    注意事项

    本文(2022年基于VHDL的出租车计价器的研究设计.docx)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开