出租车计价器的fpga设计

出租车计价器的fpga设计

ID:23322202

大小:230.50 KB

页数:6页

时间:2018-11-07

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

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

1、出租车计价器的FPGA设计O引言  FPGA(FieldProgrammableGateArray,现场可编程门阵列)是一种高密度可编程逻辑器件,它支持系统可编程,通过写入不同的配置数据就可以实现不同的逻辑功能。使用FPGA来设计电子系统,具有设计周期短、易于修改等明显特点,特别适合于进行科学实验、样机研制和电子产品的小批量生产。  本文针对FPGA器件,用EDA工具软件Max+P1usⅡ,设计了一种出租车的计价器,它可以以十进制数的形式,直观地显示出租车行驶的里程和乘客应付的费用,具有一定的实际应用价值。  1系统设计要求  所要设计的出租车计价器,

2、要求能够显示里程数和乘客应付的费用,其中里程数精确到0.1km,乘客应付的费用精确到O.1元,显示必须以十进制的形式来进行。出租车的计费标准为:起步价6元,里程在3km以内均为起步价;里程在3~7km之间时,每行驶1km增加1.6元;超过7km时,每行驶1km增加2.4元。  2系统设计方案  该系统的设计可以采用分立元件来搭建,也可以通过单片机来设计,而使用可编程FPGA来设计,具有设计周期短、易于修改等明显特点,而且随着可编程逻辑器件和EDA软件的飞速发展,越来越多的电子系统采用FPGA来设计,一旦该系统达到一定的量产规模,也比较容易转化为ASIC

3、芯片设计。因此,基于FPGA来设计一个出租车的计价器。本系统在EDA工具软件MAX+plusⅡ中,采用硬件描述语言VerilogHDL和原理图设计相结合的方法,进行各个模块的设计,最终将各个模块组成整个系统。  出租车能够显示行驶的里程,可以通过车轮的转动产生脉冲,然后通过计数器对脉冲进行计数来实现。假设出租车每行驶2m就产生一个脉冲。由于里程数要精确到O.1km,也就是100m,因此每经过50个脉冲就要输出一个新的脉冲信号,这里称为100m脉冲信号,作为里程计数器的时钟信号,可以通过一个模为50的计数器进行分频而得到。  里程计数器可以用一个三位BC

4、D码计数器来实现,最大能显示到999。以前两位为整数,第三位为小数,也就是最大能显示里程99.9km,因为出租车都在市区和近郊活动,三位BCD码计数器是可以实现里程计数的。里程计数器每计数1km还会周期性地输出一个脉冲信号,称为1km脉冲信号,可以通过一定的组合电路来实现。  系统最核心的部分就是计费如何实现。这里就需要设计一个BCD码的加法器,在起步价的基础上,根据行驶里程的不同,依据计费标准,每增加1km加上一个单价,单价的产生可以用VerilogHDL编写程序来实现。系统的总体设计框图如图1所示。  2.1单价产生模块  单价产生模块的Veril

5、ogHDL源程序如下:  其中输入信号bai和shi就是里程计数器输出的两位整数里程,输出信号jia就是根据计费标准而产生的单价,以三位BCD码的形式输出,以前两位为整数,第三位为小数。即里程在3km以内时,jia=0;里程在3~7km之间时,jia=016(1.6元);超过7km时,jia=024(2.4元)。  用VerilogHDL编写程序来实现模块功能的优点在于,当出租车的计费标准发生变化时,可以很容易地通过改写程序来完成新的设计,比起硬件电路的修改要方便得多,这也是用VerilogHDL来实现模块功能的重要优势。  2.2三位BCD码加法器 

6、 系统中用到了三位BCD码加法器,可以实现三位十进制数的加法运算。加法器输出的结果就是乘客应付的费用,这里同样以前两位为整数,第三位为小数,也就是最大能显示99.9元。三位BCD码加法器由三个一位BCD码加法器级联而成。  一位BCD码由四位二进制数组成,四位二进制数的加法运算会产生大于9的数字,必须进行适当的调整才会产生正确的结果。一位BCD码加法器的VerilogHDL源程序如下:  一位BCD码加法器模块的仿真波形和生成的模块符号如图2和图3所示。  本模块中A和B为输入的一位BCD码,CIN为低位来的进位信号,CO是本片向高位产生的进位输出信号

7、,SUM是两个数相加的和。三位BCD码加法器由三个本模块级联而成,其电路原理图和仿真波形如图4和图5所示。  2.3缓冲器模块  三位BCD码加法器输出的结果通过缓冲器以后,反馈到输入端重新作为一个加数,在1km脉冲信号的作用下,每来一个脉冲就和单价相加,形成连续累加的功能。缓冲器还有一个控制输入端LD,LD=O时,在1km脉冲的作用下,输出起步价6元;LD=1时,在1km脉冲的作用下,输出和输入相等。缓冲器的VerilogHDL源程序如下:  2.4整体电路  将各个模块按照输入输出关系连接成整体电路如图6所示。  在整体电路中,clk为最原始的时钟

8、输入端,cr为异步清零端,q[11..O]输出里程,jiaqian[11..O]输出乘客应付的

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

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

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