VHDL——出租车计价器

上传人:新**** 文档编号:33773554 上传时间:2021-10-19 格式:DOCX 页数:23 大小:237.10KB
收藏 版权申诉 举报 下载
VHDL——出租车计价器_第1页
第1页 / 共23页
VHDL——出租车计价器_第2页
第2页 / 共23页
VHDL——出租车计价器_第3页
第3页 / 共23页
资源描述:

《VHDL——出租车计价器》由会员分享,可在线阅读,更多相关《VHDL——出租车计价器(23页珍藏版)》请在装配图网上搜索。

1、VHDL出租车计价器该系统利用VHDL语言、PLD设计出租车计费系统, 以MAX+PLUSII软件作为开发平台,设计了出租车 计费器系统程序并进行了程序仿真。使其实现计费以 及预置和模拟汽车启动、停止、暂停等功能,并动态 扫描显示车费数目O 关键词:出租车计费器;计数器;VHDL语言;MAX+PLUS II;一、实验任务及要求1 .能实现计费功能,计费标准为:按行驶里程收 费,起步费为10.00元,并在车行3公里后再按2元 /公里,当计费器计费达到或超过一定收费(如20元) 时,每公里加收50%的车费,车停止不计费。2 .实现预置功能:能预置起步费、每公里收费、 车行加费里程。3 .实现模拟功

2、能:能模拟汽车启动、停止、暂停、 车速等状态。4 .设计动态扫描电路:将车费显示出来,有两位 小数。5 .用VHDL语言设计符合上述功能要求的出租车 计费器,并用层次化设计方法设计该电路。6 .各计数器的计数状态用功能仿真的方法验证,并通过有关波形确认电路设计是否正确。7 .完成电路全部设计后,通过系统实验箱下载验 证设计的正确性。二、实验原理系统顶层框图:扫描时钟显示输出显示输出计费器按里程收费,每100米开始一次计费。各模 块功能如下:(1)车速控制模块当起停键为启动状态时(高电平),模块根据车速 选择和基本车速发出响应频率的脉冲驱动计费器和 里程显示模块进行计数;当处于停止状态时暂停发出

3、 脉冲,此时计费器和里程显示模块相应的停止计数。 里程动态显示模块其包括计数车速控制模块发出的脉冲以及将计数 显示动态显示出来,每来一个脉冲里程值加0.1 (控 制器每发一个脉冲代表运行了 01公里)。(3)计费动态显示模块其初值为10元,当里程超过3公里后才接受计数 车速控制模块发出的脉冲的驱动,并且计数显示动态 显示出来,每来一个脉冲(代表运行了 05公里)其数值加1元,当收费超过20时数值加L5元。三、出租车计费系统的实现3系统的总体模块图:8 .2系统各功能模块的实现: (1)模块MS的实现risUK 0CK X CI_K_OUTJS模块MS,输入端口 CKO、CK1为两个不同的时钟信

4、号,来模拟汽车的加速和匀速,JS加速按键。LIBRARY IEEE;USE IEEE. STD LOGIC 1164. ALL; ENTITY MS ISPORT(CKO:IN STD_LOGIC;CK1:IN STD LOGIC;JS:IN STD_LOGIC;CLK_OUT:OUT STD_LOGIC);END MS;ARCHITECTURE ONE OF MS ISBEGINPROCESS(JS, CKO, CK1)BEGINIF JS=O THEN CLK_OUT=CKO;ELSE CLK OUT0);ELSIF CLK EVENT AND CLK= 1 THENIF STO 1 TH

5、EN STATE:=00;CQI:=CQI;ELSIF ENABLE = 1 THENCQI:=CQI+1;IF CQI30 AND CQI=80THEN STATE10;ELSESTATE:=11;END IF;END IF;END IF;ST=STATE;END PROCESS;END ONE;(3)模块PULSE的实现 PULSE CLK 0 FOOT该模块实现将时钟信号5分频功能。LIBRARY IEEE;USE IEEE. STD LOGIC 1164. ALL;USE IEEE. STD LOGIC UNSIGNED. ALL;ENTITY PULSE ISPORT(CLKO:IN

6、 STD_LOGIC;FOUT:OUT STD_LOGIC);END PULSE;ARCHITECTURE ONE OF PULSE ISBEGINPROCESS(CLKO)VARIABLE CNT:STD_LOGIC_VECTOR(2 DOWNTO O);VARIABLE FULL :STD LOGIC;BEGINIF CLKO EVENT AND CLKO= 1 THENIF CNT=100 THENCNT:=000;FULL:=1;ELSECNT:=CNT+1;FULL :=O;END IF;END IF;FOUTQ1:=Q1;Q2:=Q2;Q3:=Q3;WHEN01二QI:=0000”

7、;Q2:=0000”;Q3:=0001”;WHEN 10= IF Q2V1001” THEN Q2:=Q2+1;ELSE Q2:=0000”; IF Q3Vl001 THENQ3:=Q3+1;END IF;END IF;QI:=0000”;WHENIF QlCOlor THENQl:=Ql+5;ELSEQI:=0000”;END IF;IF Ql=0101 THENIF Q21001 THEN Q2:=Q2+1;ELSEQ2:=0000”;IF Q3V1001”THENQ3:=Q3+1;END IF;END IF;ELSEIF Q2C100r THENQ2:=Q2+2;ELSEQ2:=0001

8、”;IF Q3V1001”THENQ3:=Q3+1;END IF;END IF;END IF;WHEN OTHERS=NULL;END CASE;END IF;C1=Q1;C2=Q2;C3=Q3;END PROCESS;END ONE;(5)模块SCAN_LED的实现SCFiN LEDDll 3 . 0 JDT2C 3 . .03 SG E 6 - 0 DT3C 3 . .01 BT 2 . . 0 JCLK2该模块实现显示车费功能。BT为选位信号,SG译码信号。LIBRARY IEEE;USE IEEE. STD LOGIC 1164. ALL;USE IEEE. STD LOGIC UNS

9、IGNED. ALL;ENTITY SCANNED ISPORT(Dll:IN STD_LOGIC_VECTOR(3 DOWNTO 0) DI2:IN STD_L0GIC_VECT0R(3 DOWNTO 0) DI3:IN STD_LOGIC_VECTOR(3 DOWNTO 0)CLK2:IN STD LOGIC;SG:OUT STD_L0GIC_VECT0R(6 DOWNTO 0);BT:OUT STD_L0GIC_VECT0R(2 DOWNTO 0);END SCAN_LED;ARCHITECTURE ONE OF SCAN_LED ISSIGNAL CNT4 :STD_LOGIC_VEC

10、TOR(1 DOWNTO 0);SIGNAL A:STD_L0GIC_VECT0R(3 DOWNTO O);BEGINPl:PROCESS(CLK2)VARIABLE SQ :STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINIF CLK2 EVENT AND CLK2= T THENIF SQ=10 THEN SQ:=OO”;ELSESQ:=SQ+1;END IF;END IF;CNT4BT=001;ABT=010;A=DI2;WHEN 10=BT=100;ABT仁WHEN OTHERS =NULL;END CASE;END PROCESS P2;P3:PROCESS(A)

11、BEGINCASE A ISWHEN OOOO=SG=O111111WHEN OOO1=SG=OOOO11O” WHEN OO1O=SG=1O11O11” WHEN 0011=SGSGSG=11O11O1” WHEN O11O=SG=11111O1” WHEN “O111=SG=OOOO111” WHEN 1OOO=SGSGT_CLKO, CK1=T_CLK1, JS=T_JS, CLK_OUT =L_CLK);U1:SOUTPORTMAP(CLK=L_CLK, ENABLE=T_ENABLE, CLR=T_CLR, S TO=T_STO, ST=L_ST);U2:PULSEPORTMAP (

12、CLKO=L_CLK, FOUT=L_FOUT);U3:COUNTERPORTMAP (CLRl=T_CLR, SL_ST, CLK_DIV-L_FOUT, C3二 L C3, C2=L C2, C1=L Cl);U4:SCAN.LEDPORTMAP (CLK2=T_CLK2, DI3=L_C3, DI2=L_C2, DI1=L_ Cl, BT=T_BT, SG=T_SG);END STRUC;四、系统仿真(2)模块SOUT的结果验证Ref 274.0nsllij Time: 912.0nsInlezal: |E38 0ns274 0hg Nam。:_ Value:1100.0ns 3J0.0

13、ns 2LO.Ons 400.0ns 500.0ns E00 0n$ ZCO.Ons SOJ.Qns 900.0ns10usfl11:111DF- STO2- ENABLE mp-clreCLK STJI. O曲CQI 0111 SOI D3yrrir1f1OTj_010 X 1 X 2 )C3 K 4 Y 5 丫 6 厂 7 K 8 :( g x 10(3)模块PULSE的结果验证, % p u上打口嵋-Ref: 348.0ns!* Time: 87.0nsInterval: |-261.0nsName._,Value:C100 Ons 203 .Oris 300.0ns348.0ns401

14、0ns 500.0 ns 630 Ons 703 .Ons 930.0ns 903 0n$ IC111nP-ciD p FOUT 砂CMTi 10rB010Mi10y011 j(ia)( coo X(ni )(010 j(oii(iooJ(aoDXcoi XoioXoiiJ(iai)f-(4)模块COUNTER的结果验证Ref:998.0nsIme351 0 nsInterval27 OnsName:_0C回匚6 CLXDIVValue11T-10DOns2DDOns3mns 14C0Ons920GrisK593.Oris3ns700OnsE00Ons200Ons11 CSI 寻Cl =C2

15、C3B10 00000B0001B0001oiL_toIoommoo卜 cOOOOjf00D1001 X 0010 X 0Q11 X 01C0 X7丁 - 九;1|;0!回售(5)模块SCAN_LED的结果验证Ref 1357 6r后IHTI Time: 1125 2nsInimal |-232 4ns(6)模块TAXI的结果验证Name:Value: |1.5us3 Ous4 5us6 Ous能 anJed:U4|DI3DI _2_:(13或 anJed:U4|DI2D2 _04 K 5 K 6 ;了r 8 X 9,能 anjGd:U4|DI1DO02- T_STO0l-T_ENABLE12

16、- T_CLR12-T_CLK21 IIUIIIUIIIIIllllli删呻删删)嘱融0鞭HIIIHUI跚T_CLKo fUjniffjHjin on册恻(皿皿i川f加WIM仰山yT_BT2。ii.j.jj.i . Ji jj jyuuujjjinji.,1 L JI LUILl .MOJJIyT_BT1rL.ujuiii.ii.皿皿WL.H.HIT_BT01 JJJWJJJ1UJL.JJJJJJIUIlJIJfJ. JI 1Ml肚皿皿皿.皿,T-SG6011.J,.J,. JJHU1 一1 JL.3 T_SG51 TTffiMwmwim*2 T_SG41 rrmrinnJ U网.】.P T_

17、SG31 TTffiMiwmmraiimiMn删immMwmMraR T_SG21uPT_SG111112 T_SG01 FWrrnrrnniMmii愉唧1MlmmwimmwiRef: |3 89us| 卜卜| Time: 127口 OnsI lriter*al:卜3.B2us3.89us五、结论出租车计费器系统的设计已全部完成,能按预期 的效果进行模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,由动态扫描电路来完 成。车暂时停止不计费,车费保持不变。若停止则车 费清零,等待下一次计费的开始。出租车计费器系统 的设计已全部完成,能按预期的效果进行模拟汽车启 动、停止、暂停等功能

18、,并设计动态扫描电路显示车 费数目,由动态扫描电路来完成。车暂时停止不计费, 车费保持不变。若停止则车费清零,等待下一次计费 的开始。各模块完成后,在将它们组合成完整的出租 车系统,在设计过程中还需要改进的是控制系统的纠 错功能。出租车计费系统的设计中体现了 V H D L覆 盖面广,描述能力强,是一个多层次的硬件描述语言 及PLD器件速度快,使用方便,便于修改等特点, 本设计在实用方面具有一定的价值。心得体会:这次课程设计中,我们主要是运用VHDL语言设计了一个出租车计费器,并且用层次化的设计方法 来实现这个电路。在程序编写结束后,我们还对该程 序进行了调试,能按预期的效果进行模拟汽车启动、 停止、暂停等功能,基本完成课程设计的要求。通过此次课程设计,我们更进一步的深入了解了VHDL设计语言,并通过使用对它有了更深的体会。对于编程过程中可能遇到的问题有了一定的了解,也 明白了其中的一些注意事项,对于下次进行编程设计 有很大的帮助和提高。总之,这次实验不仅仅加强了我的动手编程能力,也大大加强了团队合作以及设计能力,使我在理 论学习和编程练习方面都获得了较大的收获

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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