EDA课程设计出租车计费器.docx

上传人:b****4 文档编号:1070340 上传时间:2022-10-16 格式:DOCX 页数:21 大小:350.95KB
下载 相关 举报
EDA课程设计出租车计费器.docx_第1页
第1页 / 共21页
EDA课程设计出租车计费器.docx_第2页
第2页 / 共21页
EDA课程设计出租车计费器.docx_第3页
第3页 / 共21页
EDA课程设计出租车计费器.docx_第4页
第4页 / 共21页
EDA课程设计出租车计费器.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

EDA课程设计出租车计费器.docx

《EDA课程设计出租车计费器.docx》由会员分享,可在线阅读,更多相关《EDA课程设计出租车计费器.docx(21页珍藏版)》请在冰豆网上搜索。

EDA课程设计出租车计费器.docx

EDA课程设计出租车计费器

EDA技术课程设计说明书

出租车计费器设计

院、部:

电气与信息工程学院

学生姓名:

杨建雄

指导教师:

职称

专业:

电气工程及其自动化

班级:

电气本1202班

完成时刻:

2021年6月20日

 

摘要

本文介绍了一种采纳单片FPGA芯片进行出租车计费器的设计方式,要紧论述如何利用新兴的EDA器件取代传统的电子设计方式,利用FPGA的可编程性,简练而又多变的设计方式,缩短了研发周期,同时使出租车计费器体积更小功能更壮大。

本设计实现了出租车计费器所需的一些大体功能,计费包括起步价、行车里程计费、等待时刻计费,同时考虑到出租车行业的一些特殊性,更注重了把一些新的思路加入到设计中。

要紧包括采纳了FPGA芯片,利用VHDL语言进行编程,使其具有了更强的移植性,加倍利于产品升级。

关键词:

VHDL;计费器;QuartusⅡ;FPGA

 

 

设计要求

计费标准为武汉起步3元,车行3千米后为元/千米,当计费达到20元后,每千米加收50%的车费,车停止每3分钟增加元。

车费显示出来,有一名小数。

一、方案论证与对照

、方案一

如图1所示,方案一包括运算操纵模块、分频器、显示模块这三大部份。

图1方案一系统框图

运算操纵器模块将其他两个进行连接,是本次设计的核心。

它包括计程器、计时器、计价器,同时还有读取外部的拨码开关操纵信号,提供当前显示信号与显示位选信号,从而周期性交替显示计价/计时信息、等时信息。

计程器、计时器、计价器依照位选信号,输出相应数据的当前选中数字,由顶层模块依照显示数据类型变换信号进行选择,传输给显示模块。

实验箱的时钟信号为20MHz方波,由分频器分为10Hz的计时信号(一个周期代表现实中的1s)、10Hz的计程信号(一个周期代表现实中的10m)、500Hz的数码管扫描信号(扫描频率)、的显示数据类型变换信号(转变周期5s)。

显示模块由实验箱上的3/8译码器、五个LED灯组成状态的指示灯、程序编写的一个七段数码管译码器(因显示需要,原有字形“E”征用改成“—”,字形"F"改成“”)组成。

、方案二

方案二流程介绍:

分析系统设计要求不宝贵知,整个出租车计费系统按功能要紧分为速度模块、计程模块、计时模块和计费模块,其系统结构图如图2所示。

图2方案二系统结构图

系统接收到reset信号后,总费用变成3元,同时其他计数器、寄放器等全数清零。

系统接收到start信号后,第一把部份寄放器赋值,总费用不变,单价price寄放器通过对总费用的判定后赋为3元。

其他寄放器和计数器等继续维持为0。

速度模块:

通过对速度信号sp的判定,决定变量kinside的值。

Kinside即是行进100m所需要的时钟周期数,然后每行进100m,那么产生一个脉冲clkout。

计程模块:

由于一个clkout信号代表行进100m,故通过对clkout计数,能够取得共行进的距离kmcount。

计时模块:

在汽车启动后,当碰到顾客等人或红灯时,出租车采纳计时收费的方式。

通过对速度信号sp的判定决定是不是开始记录时刻。

当sp=0时,开始记录时刻。

那时刻达到足够长时产生timecount脉冲,并从头计时。

一个timecount脉冲相当于等待的时刻达到了时刻计费的长度。

那个地址选择系统时钟频率为500Hz,180s即计数值为9000。

计费模块由两个进程组成。

其中,一个进程依照条件对enable和price赋值:

当记录的距离达到3千米后enable变成1,开始进行每千米收费,当总费用大于20元后,那么单价price由原先的元每千米变成元每千米;第二个进程在每一个时钟周期判定timeout和clkout的值。

当其为1时,那么在总费用上加上相应的费用。

、方案对照与选择

方案一和方案二尽管大体上都能实现本次课程设计的要求,但方案一通过度频器分成的数个输入信号来进行出租车计费器的仿真,使系统变得复杂且对费用的计算不能达到课程设计对价钱转变的要求。

而方案二那么通过一个速度模块和一个时刻模块达到对速度和时刻操纵,从而使速度可调且实现等待计费。

再通过计费模块的反馈使千米单价随总费用转变从而达到整体的要求。

通过比较可知方案二简单明了且调剂速度操纵里程的转变快慢,易于操纵显示,再结合实验室的设备。

综合考虑,最终选择了方案二。

二、要紧模块设计

、速度模块

速度模块第一依照start信号判定是不是开始计费,然后依照输入的速度档位sp[2..0]的判定,确信行驶100m所需要的时钟数,每前进100m,输出一个clkout信号。

同时由cnt对clk进行计数,当cnt等于kinside时,把clkout信号置1,cnt清0。

其模块框图如图3。

图3速度模块框图

、计程模块

此模块要紧用于记录行进的距离,其模块框图如图4所示。

通过对clkout信号的计数,能够计算行驶的距离kmcount。

一个clkout脉冲相当于行进100m因此只要记录clkout的脉冲数量即可确信共行进的距离。

Kmcount1为十分位,kmcount2为个位,kmcount3为十位,别离为十进制数。

图4计程模块框图

、计时模块

速度模块要紧用于计时收费,记录计程车速度为0的时刻(如等待红灯),其模块框图如图5所示。

通过对sp信号的判定,当sp=0,开始记录时刻。

那时刻达到足够长时,产生timecount脉冲,并从头计时。

图5计时模块框图

、计费模块

计费模块如图6所示,可分为kmmoney1和kmmoney2两个进程。

Kmmoney1用于产生enable和price信号。

当记录距离达到3km后,enable信号为1,开始进行每千米收费。

当总费用大于20元后,单价price由原先的元变成元,用作计时收费。

通过对sp信号的判定,当sp=0,开始记录时刻。

那时刻达到足够长时,产生timecount脉冲,并从头计时。

Kmmoney2用于判定timecount和clkout的值,当其为1时,总费用加1。

最终输出为总费用。

图6计费模块框图

、整体框图

从上述设计方案中咱们能够大致取得出租车计费器的系统框图,如图7所示。

其中clk为输入时钟脉冲,时钟上升沿有效;reset为复位信号,start为开始计费信号,stop为停止计费信号,均高电平有效;SP[2..0]表示出租车状态(停止或不同形式速度);kmcnt和count信号那么别离输出出租车行驶的里程和花费。

图7出租车计费器系统框图

3、仿真结果

、速度模块仿真

速度模块的仿真波形图如图8所示。

该模块依照出租车所处的运行状态和不同的形式速度,对相应数量的时钟周期进行计数,车每行驶100m时输出信号clkout输出高电平。

图8速度模块仿真波形图

计程模块仿真

计程模块的仿真波形如图9所示。

图中,当reset信号有效时,系统复位清零;不然,对输入信号clkout进行十进制计数。

图9计程模块仿真波形图

计时模块仿真

计时模块的仿真波形图如图10所示。

预设9000个时钟周期为180s,对时钟周期进行计数,每计9000个时钟周期输出高电平,指示计时180秒。

图10计时模块仿真波形图

计费模块仿真

计费模块的仿真波形图如图11所示。

当reset信号有效时,系统复位清零;不然,当计时计费信号timecount和计程计费信号clkout为高电平常,依照必然计费规那么进行计费。

图11计费模块仿真功能图

、整体仿真

对电路整体进行仿真,得出如下仿真波形图12。

图中,当复位信号reset为高电平常,系统所有寄放器、计数器都清零;当开始计费信号start信号有效时,计费器开始计费,依照出租车行驶的速度sp[2..0]的取值计算所用花费和行驶里程;当停止计费信号有效时,计费器停止工作。

图12整体仿真图

综上所述,本设计的出租车计费器完全符合系统设计的要求,实现了出租车计费器所需的各项大体功能。

4、整体电路图

整体RTL电路如图13。

硬件电路由CycloneⅡ电路板组成,clk为时钟周期信号,由实验箱产生,start/stop是启动停止按键电路,reset为自动清零电路。

电源又AD-DC开关电源供电。

图13整体RTL门电路

五、引脚锁定及测试

如图14所示,对系统的各个引脚进行锁定,并在Cyclone型可编程数字实现系统上实现了该操纵。

该数字实现系统分成两部份,一是FPGA的下载板,它要紧包括所利用的芯片、RS-232接头、接脚转换插槽等;另一部份是I/O实验板,它要紧包括显示、脉冲输出等。

出租车计费器的各部份利用数字实验系统所附的RS-232连接线将运算机中的VHDL代码设计的内容烧录到该实验系统的EPC2C35F672C8芯片中进行测试,测试结果大体实现了总费用=起费用+(里程-3km)×里程单价+等待时刻×等待单价的出租车计费模式。

图14各引脚锁定

六、致谢

关于这次课程设计,第一我得真挚的感激我的指导教师,从设计、整改及论文的定稿进程中,自始至终都倾注着教师的心血。

教师以严谨的治学之道、宽厚仁慈的胸怀、踊跃乐观的生活态度,兢兢业业的工作作风为我树立了学习的典范,他们的教诲与敦促将鼓励我在学习和生活的道路上励精图治,开拓创新。

他们渊博的知识、开阔的视野和灵敏的思维给了我深深的启发。

我真诚地谢谢教师们的指导和关切。

7、详细仪器清单

名称

型号

数量

计算机

联想

1

QuartusII开发软件

1

EDA/SOPC实验开发系统

GW48-PK2

1

 

参考文献

[1]冯占岭.数字电压表及数字多用表检测技术.中国计量出版社.

[2]ALTERA公司.VDHL语言[M].北京:

清华大学出版社.

[3]宋万杰,罗丰,吴顺君.CPLD技术应用及其应用[M].西安电子大学出版社.

[4]张昌凡,龙永红,彭涛.可编程逻辑器件及VHDL设计技术.广州:

华南工学院出版社,

[5].EDA技术与应用[M]..310-312

[6],.EDA技术与VHDL[M]..220-228

[7],,.EDA培训教程[M]..215-220

[8]邓元庆,关宇,徐志平.数字电路与逻辑设计[M].电子工业出版社.189-192

[9]延明,张霖华.数字电路EDA入门[M].北京邮电大学出版社.195-200

 

附录

VHDL程序

1)Speed模块

libraryieee;

usespeedis

port(

clk:

instd_logic;

reset:

instd_logic;

start:

instd_logic;

stop:

instd_logic;

sp:

instd_logic_vector(2downto0);

clkout:

outstd_logic

);

endspeed;

architecturertlofspeedis

begin

process(clk,reset,start,stop,sp)

typestate_typeis(s0,s1);

variables_state:

state_type;

variablecnt:

integerrange0to28;

variablekinside:

integerrange0to30;

begin

casespis

when"000"=>kinside:

=0;

when"001"=>kinside:

=28;

when"010"=>kinside:

=24;

when"011"=>kins

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 唐诗宋词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1