出租车计价器fpga设计

出租车计价器fpga设计

ID:31197873

大小:435.69 KB

页数:17页

时间:2019-01-07

出租车计价器fpga设计_第1页
出租车计价器fpga设计_第2页
出租车计价器fpga设计_第3页
出租车计价器fpga设计_第4页
出租车计价器fpga设计_第5页
资源描述:

《出租车计价器fpga设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《EDA》设计报告题目:出租车计价器FPGA设计学院:电子信息与电气工程学院专业:电子信息工程班级:_姓名:学号:出租车计价器的FPGA设计引言FPGA(FieldProgrammableGateArray,现场可编程门阵列)是一种高密度可编程逻辑器件,它支持系统可编程,通过写入不同的配置数据就可以实现不同的逻辑功能。使用FPGA来设计电子系统,具有设计周期短、易于修改等明显特点,特别适合于进行科学实验、样机研制和电子产品的小批量生产。一.系统设计要求主要功能包括:信号输入模块对车轮传感器传送的脉冲信号进行计数(每100米送一个脉冲),并以高低脉冲模拟出租汽车启动

2、、停止、暂停、加速按钮,具有输入信号作用;数据转换模块将计费模块输出的车费和路程转换成4位的十进制数据;译码/动态扫描模块将路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管显示模块将公里数用3位LED数码管显示、等待时间用2位LED数码管显示和计费金额用3位LED数码管显示。二.设计题目设计一个出租车计价器,要求显示里程和金额。(1)出租车启动和停驶由司机控制;(2)行程小于基本里程时,显示起步价,基本里程设2公里,起步价设5元;(3)当行程大于基本里程时,每多行一公里,在起步价上加1元;(4)当出租车进入低速状态,由司机按下等候键,每等待5分钟加1元,不

3、足5分钟的不计算;(5)此处用脉冲信号模拟轮胎的转数,设每计一个脉冲汽车前进100米,系统中所需脉冲均由20MHz晶振分频提供。三•系统设计方案该系统的设计可以采用分立元件来搭建,也可以通过单片机来设计,而使用可编程FPGA来设计,具有设计周期短、易于修改等明显特点,而且随着可编程逻辑器件和EDA软件的飞速发展,越来越多的电子系统采用FPGA来设计,一旦该系统达到一定的量产规模,也比较容易转化为ASIC芯片设计。因此,基于FPGA来设计一个出租车的计价器。本系统在EDA工具软件MAX+plusII屮,采用硬件描述语言VerilogHDL和原理图设计相结合的方法,进

4、行各个模块的设计,最终将各个模块组成整个系统。出租车能够显示行驶的里程,可以通过车轮的转动产生脉冲,然后通过计数器对脉冲进行计数来实现。假设出租车每行驶2m就产生一个脉冲。由于里程数要精确到0.1km,也就是100m,因此每经过50个脉冲就要输出一个新的脉冲信号,这里称为100hi脉冲信号,作为里程计数器的时钟信号,可以通过一个模为50的计数器进行分频而得到。里程计数器可以用一个二位BCD码计数器来实现,最大能显示到99o以前两位为整数,,也就是最大能显示里程99km,因为出租车都在市区和近郊活动,二位BCD码计数器是可以实现里程计数的。里程计数器每计数10km还

5、会周期性地输出一个脉冲信号,称为10km脉冲信号,可以通过一定的组合电路来实现。系统最核心的部分就是计费如何实现。这里就需耍设计一个BCD码的加法器,在起步价的基础上,根据行驶里程的不同,依据计费标准,每增加1km加上一个单价,单价的产生可以用VerilogHDL编写程序来实现。总体框图如下(1)・分频模块分频模块的VerilogHDL源程序如下图:rojectNavigstor▲x稳TOP.bdf普DIVI.vr••.•051SmoduleDIVl(clk,clkoutl);〃输入20MHz,翰出分颜到1Hz101112131415161718inputelk;

6、outputclkoutl;regclkoutl;reg[23:0]counter;//中间变acounter定义为寄存卷型parair.eterN=20000000;always?(posedgeelk)beginif(counter=N/20000000)beginclkoutl<—clkoutl;counter<=0;endelsecounter<=counter+l*bl;endendiodule

7、TypeMessage(2)•计时模块计时模块的VerilogHDL源程序如下图:ProjectNavigatorEntity心CycloneIII:EP3C5

8、E由•“”器TOP扁Tasks▲xFlow:

9、Coapilation三

10、abProjectNavigatorTasks:Flow:[Compilation闔TOP.bdfulewaittime(clkrist,startrsrmrtimeEN);345678inputclk/rst/start;output[7:0]s;reg[7:0]s;output[7:0]m;reg[7:0]m;outputtime_EN;wiretimeEN;9always®(posedgeelkornegedgerst)10Hbegin11if(!rst)12Hbegin13s<=8,d

11、0;14m

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。