基于Verilog HDL设计的出租车计价器.doc
基于FPGA的出租车计价器设计
郑州交通职业学院《CPLD/FPGA应用》课程设计报告课程设计题目:基于FPGA的出租车计价器设计所属系别信息工程系专业班级 11大专电子信息工程技术1班姓名 XXXX学号 XXX指导教师 XXX撰写日期 2012 年 6 月一、设计任务与要求1、本课题要求设计车租车自动计价器,能基本实现自动计价的功能2、本出租车计价器的计费系统:行程3公里内,且等待累计时间2分钟内,起步费为10元;3公里外以每公里1.6元计费,等待累计时间2分钟外以每分钟1.5元计费。
并能显示行驶公里数、等待累计时间、总费用。
设计的主要技术指标如下:①、计价范围:0~999.9元 计价分辨率:0.1元 ②、计程范围:0~99公里 计程分辨率:1公里 ③、计时范围:0~59分 计时分辨率:1分二、方案设计与论证出租车的一般计费过程为:出租车载客后,启动计费器,整个系统开始运行,里程计数器从0开始计数,费用计数器从9开始计算;出租车载客中途等待,等待时间计数器从0开始计数。
最后根据行驶里程或停止等待的时间的计费标准计费。
出租车到达目的地停止后,停止计费器,显示总费用。
根据出租车计费器的工作过程,本系统采用分层次、分模块的方式设计,其FPGA 内部具体框图如下所示。
(1) 分频模块:分频模块是其它模块的基础,输入时钟选为32Hz ,分频后的时钟频率为1Hz,为后续模块提供基本时钟。
车费 计数 模块等 待 时 间译 码 模 块输 出 控制 模块里程 计数 模块分 频器 输入信号(2)等待时间模块:该模块针对乘客确认下车前的等待而言,比如堵车、中途下车的情况,通过1Hz脉冲计数,每一分钟计时加一,最大计时时间显示为99分钟。
(3)路程模块:该模块是对车辆行驶路程进行计数,以1Hz时钟为基础,检测行程脉冲,路程模块中有内部变量来判断路程,当大于3公里、20公里时,分别有相应的使能信号对此作出记录,最大路程显示为99公里。
(4)计费模块:该模块是基于等待时间模块和路程模块对费用进行控制的。
课程设计——基于FPGA的出租车计价器设计1
××大学××学院××课程设计基于FPGA的出租车计价器设计学生姓名学号所在系专业名称班级指导教师成绩××大学××学院二○一一年六月摘要:本文介绍了一个以Altera公司的CycloneII可编程逻辑芯片EP2C5T144C8为控制核心、运用VHDL硬件描述语言附加一定外围电路组成的出租车计费器系统。
本设计论文主要介绍了出租车计费器系统的组成及工作原理,简述了在EDA平台上用单片FPGA器件构成该数字系统的设计思想和实现过程。
同时,详细论述了人机交互驱动模块、驱动模块、计程模块、计费模块、译码动态扫描模块等的设计方法与技巧。
利用FPGA芯片实现一些功能较复杂的电子产品设计,不仅可以增加系统设计的灵活性,利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。
同时,在进行SOPC设计的时候,我们可以自由调用NIOS资源模块构建软核,从而减小了系统的功耗,实现产品的强大功能。
关键字:FPGA,VHDL,EP2C5T144C8,SOPCAbstract:Th is paper introduces a Altera company to CycloneII programmable logic chips EP2C5T144C8 as control core, useing VHDL hardware description language add a certain peripheral circuit of the message accounting device system of a taxi. This design paper mainly introduced the message accounting device taxi system composition and working principle, this paper expounds on the platform in EDA using single pill FPGA components, the digital system design thought and the implementation process. At the same time, discusses the human-computer interaction driver modules, driving module, taxi module, billing module, decode dynamic scanning module design methods and skills. Use the FPGA chip realize some function is more complex electronic product design, not only can increase the flexibility of the system design, use it for product development, not only the low cost, short cycle, high reliability, and with full intellectual property rights. Meanwhile, during the SOPC design, we can free calls NIOS resource module building soft nuclear, thus reduce power consumption, realizing products of the system of the powerful features.Key words: FPGA,VHDL,EP2C5T144C8,SOPC目录前言1.系统功能软件介绍 (1)1.1 QuartusII软件介绍 (1)1.2 FPGA芯片介绍 (1)1.3 硬件描述语言介绍 (2)2.总体方案设计 (3)2.1 系统框图 (4)2.2 基于MCU的出租车计费器 (4)2.3 基于FPGA的出租车计费器 (5)2.4 总体设计方案 (5)3.单个模块设计 (6)3.1 人机交互驱动模块 (6)3.1.1人机交互模块 (6)3.1.2人机交互模块仿真 (7)3.2 4x4矩阵键盘驱动模块设计 (7)3.2.1 4x4矩阵键盘模块 (8)3.2.2 4x4矩阵键盘仿真图 (7)3.3 二进制BIN转换成BDC(10进制)模块 (9)3.4 FILTER驱动模块设计 (9)3.5 PLS模块驱动设计 (10)3.5.1 PLS模块设计 (10)3.5.2 PLS模块设计仿真图 (11)3.6 出租车控制驱动模块设计 (11)3.7 顶层模块 (12)4.系统功能 ............................ 错误!未定义书签。
基于FPGA的出租车计费器课程设计程序
设计题目:出租车计费器一、设计实验条件QuartusII7.2二、设计目标1.实现计费功能。
按行驶里程计费,起步价为6.00元,并在车行驶3km后按1.2元/km计费,当计费器达到或超过20元时,每千米加收50%的车费,车停止和暂停时不计费;2.现场模拟汽车的起动、停止、暂停和换挡等状态;3.设计数码管动态扫描电路,将车费和路程显示出来,各有两位小数。
三、设计报告的内容1.前言伴随中国经济的腾飞,城市化的进程也随之加快。
虽然人们出行的选择趋于多样化,但是出租车作为一种重要的交通工具,也为很多人作为出行的选择。
大城市里出租车已经相当普及,但是在中小城市出租车依然处于快速发展的阶段。
出租车的计费方式也在发生变化,由只能显示里程的方式变为现在的自主计费和打印发票及语音提示的智能化方式;根据出租车行业的发展需求,国内许多生产厂商也制造出不同类型的计价器,传统的出租车计费器经过十几年的使用,在稳定性,成本等方面都具有一定的优势。
利用FPGA设计出满足出租车不同计费需求的计费器,去满足当地出租车的计费需求。
这个课题在实现计费功能的同时,也解决了传统出租车计费器系统的不足。
出租车的需求不断的增大,因此,出租车计费器的需求也将不断增大,计程车的服务也显得越来越重要,因此出租车计费器也就应运而生了。
2.设计主体(1)设计原理:假设出租车有启动键、停止键、暂停键和档位键。
启动键为脉冲触发信号,当它为一个脉冲是,表示汽车已启动,并根据车速的选择和基本车速发出相应频率的脉冲(计费脉冲)实现车费和路程的计数,同时车费显示起步价;当停止键为高电平时,表示汽车熄火,同时停止发出脉冲,此时车费和路程计数清零;当暂停键为高电平时,表示汽车暂停并停止发出脉冲,此时车费和路程计数暂停;档位键用来改变车速,不同档位对应着不同的车速,同时路程计数的速度也不同。
出租车计费器可分为两大模块,即控制模块和译码显示模块,系统框图如图1所示,控制模块实现了计费和路程的技术,并且通过不同的档位控制车速。
基于Verilog_HDL设计的出租车计价器(DOC)
华北水利水电大学EDA课程设计题目:出租车计价器专业:通信工程年级:2011级学生:李高飞学号:201114715指导教师:司孝平完成日期: 2013 年 12月 27日摘要:本文介绍了一种采用可编程逻辑器件(FPGA/CPLD)进行出租车计费器的设计思想以及实现方法。
本设计实现了出租车计费器所需的一些基本功能,计费金额包括起步价、里程计费、等待计时计费等。
该设计采用模块化设计,在Quartus II9.0软件平台下,采用Verilog HDL 硬件描述语言描述和模拟仿真了分频模块、计程模块、计费模块、计时模块,译码以及动态扫描显示模块,完成了出租车计费器仿真设计和硬件电路的实现。
关键词:FPGA,出租车计费器,Quartus,Verilog HDLAbstract:This article describes the design ideas and methods of the taximeter, through the programmable logic device (FPGA/CPLD).The design of a taximeter to achieve the required basic functions,The total of billing included the starting price, metered, and wait for time billing.Through the Quartus II 9.0 Software Platform,Using Verilog HDL language completed the description and simulation of frequency module, the meter module, Billing module, timing modules, decoding, dynamic scanning display module. IT It has completed the taxi meter simulation and the hardware circuit.Keywords:FPGA, Taximeter, Quartus, Verilog HDL目录1.前言 (1)2.总体方案设计 (2)2.1 设计要求 (2)2.2 方案论证与选择 (2)2.3 设计思想及原理 (3)3.单元模块设计 (5)3.1 分频模块 (5)3.1.1 计数器分频模块 (5)3.1.2 计数器分频模块仿真结果 (5)3.1.3 数码管分频模块 (6)3.2 计程模块 (6)3.2.1 计程模块电路 (6)3.2.2 计程模块仿真结果 (7)3.3 计时模块 (7)3.3.1 计时模块电路 (7)3.3.2 计时模块的仿真结果 (7)3.4 控制模块 (8)3.4.1 控制模块电路 (8)3.4.2 计时模块的仿真结果 (9)3.5 计费模块 (10)3.5.1 控制模块电路 (10)3.5.2 计费模块的仿真结果 (10)2.6 数码管显示模块 (11)4.整体顶层模块设计 (12)4.1 整体顶层模块电路 (12)5.系统功能仿真及调试 (13)5.1 系统仿真及调试 (13)6.总结与体会 (16)致谢 (17)参考文献 (17)附录A: 单元模块Verilog HDL源代码 (18)A.1 计数器的分频模块VerilogHDL源代码 (18)A.2数码管的分频模块VerilogHDL源代码 (18)A.3 计程模块VerilogHDL源代码 (19)A.4 计时模块VerilogHDL源代码 (20)A.5 控制模块VerilogHDL源代码 (21)A.6 计费模块VerilogHDL源代码 (21)A.7 数码管显示模块VerilogHDL源代码 (21)A.8整体顶层模块VerilogHDL源代码 (23)附录B: 整体顶层电路图 (24)2.总体方案设计2.1 设计要求该出租车计价器实现功能:1、行程≤4公里,且等待累计时间≤2分钟,起步费为8.0元。
FPGA出租车计价器设计
EDA课程设计目标1.掌握用Verilog HDL语言的设计方法;2.掌握Verilog HDL语言程序的基本结构,学习编写简单的Verilog HDL设计实用程序;3.了解Quartus II软件的基本使用方法,数字电路系统的设计流程,掌握QuartusII的使用方法;4.在Quartus II环境下,对其设计功能进行编程、仿真、并下载到EDA试验箱的FPGA芯片,验证其设计的正确性。
1 、设计任务及要求设计一个出租车计价器,要求显示里程和金额。
(1)出租车启动和停驶由司机控制;(2)行程小于基本里程时,显示起步价,基本里程设3公里,起步价设5元;(3)行程大于基本里程时,每多行一公里,在起步价上加2元;(4)当出租车等待时,由司机按下等候键,每等待一分钟加1元,不足一分钟的按一分钟计算;(5)此处用脉冲信号模拟轮胎的转数,设每计一个脉冲汽车前进100米,系统中所需脉冲均由50MHz晶振分频提供。
2、设计原理及总体框图(1)设计总体框图图1.总设计框图(2)设计总原理图图2.设计总原理图设计总原理:测控FPGA芯片通过采集速度传感器脉冲信号WCLK进行行驶里程计算,利用外部脉冲信号CLK1产生标准时钟信号,用来计算等待时间,最后根据行驶里程、等待时间来计算计价值。
并用译码电路显示行驶里程、等待时间和计价值。
3、程序设计1.VHDL语言简单介绍VHDL 的英文全名是Very High Speed Integrated Circuit Hardware Description Language,即超高速集成电路硬件描述语言,被认为是标准的硬件描述语言,有专家认为,在新世纪中,VHDL与Verilog HDL语言将承担起几乎全部的数字系统设计任务。
VHDL 主要用于描述数字系统的结构、行为、功能和接口。
除了含有许多具有硬件特征的语句外,VHDL 的语言形式和描述风格与句法十分类似于一般的计算机高级语言。
基于Verilog HDL的出租车计费器设计
李明洪基于Verilog HDL的出租车计费器设计基于Verilog HDL的出租车计费器设计学生姓名:李明洪指导老师:肖红光摘要本次课程设计主要是基于FPGA芯片,使用硬件描述语言Veriloh HDL,采用“自顶向下”的设计方法,编写一个出租车计费器芯片,并使用Max+Plus II软件仿真平台。
本文主要描述了出租车计费器的设计思路与模块划分。
把出租车计费器划分为五大模块,共同实现了出租车计费以及预置和模拟汽车启动、停止、暂停等功能,并动态扫描显示车费数目。
最后,使用Max+Plus II仿真平台对每个模块和主程序分别进行了仿真,并对仿真出来的波形作了分析。
关键词出租车计费;Verilog HDL;Max+Plus II;仿真The design of taxi meter based onVerilog HDLAbstract The course design is mainly based on FPGA chip, the use of hardware description language Veriloh HDL, using "top down " design method, the preparation of a taxi meter chip, and use the Max + Plus II software simulation platform. This paper describes the design idea of the taxi meter and module division. The taxi meter is divided into five modules together to achieve a taxi and analog auto billing and pre-start, stop, pause function, and dynamic scan showed the number of fare. Finally, using Max + Plus II simulation platform and the main program for each module were simulated, and the simulation from an analysis of the waveform.Keywords Taxi charges;Verilog HDL;Max+Plus II;Simulation1 引言随着中国城市化的快速发展,人们出行的选择也会越来越多样化,但是出租车作为一种重要的交通工具,也越来越多的被人们所选择,虽然在大中城市,出租车已经相当普及,但是在一些小的城市,出租车行业也因为城市化进程的加快而快速发展。
出租车计价器的FPGA设计word文档
出租车计价器的FPGA设计O 引言FPGA(Field Programmable Gate Array,现场可编程门阵列)是一种高密度可编程逻辑器件,它支持系统可编程,通过写入不同的配置数据就可以实现不同的逻辑功能。
使用FPGA来设计电子系统,具有设计周期短、易于修改等明显特点,特别适合于进行科学实验、样机研制和电子产品的小批量生产。
本文针对FPGA器件,用EDA工具软件Max+P1usⅡ,设计了一种出租车的计价器,它可以以十进制数的形式,直观地显示出租车行驶的里程和乘客应付的费用,具有一定的实际应用价值。
1 系统设计要求所要设计的出租车计价器,要求能够显示里程数和乘客应付的费用,其中里程数精确到0.1km,乘客应付的费用精确到O.1元,显示必须以十进制的形式来进行。
出租车的计费标准为:起步价6元,里程在3 km以内均为起步价;里程在3~7 km之间时,每行驶1 km增加1.6元;超过7 km时,每行驶1 km增加2.4元。
2 系统设计方案该系统的设计可以采用分立元件来搭建,也可以通过单片机来设计,而使用可编程FPGA来设计,具有设计周期短、易于修改等明显特点,而且随着可编程逻辑器件和EDA软件的飞速发展,越来越多的电子系统采用FPGA来设计,一旦该系统达到一定的量产规模,也比较容易转化为ASIC芯片设计。
因此,基于FP GA来设计一个出租车的计价器。
本系统在EDA工具软件MAX+plusⅡ中,采用硬件描述语言Verilog HDL和原理图设计相结合的方法,进行各个模块的设计,最终将各个模块组成整个系统。
出租车能够显示行驶的里程,可以通过车轮的转动产生脉冲,然后通过计数器对脉冲进行计数来实现。
假设出租车每行驶2 m就产生一个脉冲。
由于里程数要精确到O.1 km,也就是100m,因此每经过50个脉冲就要输出一个新的脉冲信号,这里称为100 m脉冲信号,作为里程计数器的时钟信号,可以通过一个模为50的计数器进行分频而得到。
(完整word版)Verilog HDL语言编写的基于EDA的多功能出租车计费器
桂林电子科技大学信息科技学院《EDA技术及应用》实训报告学号: **********姓名唐超指导教师:覃琴2012 年4 月19 日目录1 系统设计 (3)1.1设计要求 (3)1.1.1 设计任务 (3)1.1.2 性能指标要求 (3)1.2 设计思路及设计框图 (4)1.2.1设计思路 (4)1.2.2总体设计框图 (4)2 各个模块程序的设计 (4)2.1总计程器模块 (4)2.2车载模块设计 (5)2.3万年历模块 (9)2.4选择显示与分频模块 (11)3 调试过程 (12)4 功能测试 (13)4.1 测试仪器与设备 (13)4.2 性能指标测试 (13)5 实训心得体会 (13)6 参考文献 (14)实训题目:出租车计费设计1 系统设计1.1设计要求1.1.1 设计任务Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种用文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
Verilog HDL和VHDL是目前世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。
现在,随着系统级FPGA以及片上系统的出现,软硬件协同设计和系统设计变得越来越重要。
传统意义上的硬件设计越来越倾向于与系统设计和软件设计相结合。
随着出租车行业的发展,对出租车计费器的要求也越来越高,用户不仅要求计费器性能稳定计费准确,而且要求在乘坐出租车时,显示起步价、行车里程二部分,由自动计费器自动记录。
安装在与汽车轮相连接的传感器在汽车行进时向自动计费器发送脉冲信号,在一定的公里数内,按起步价计费;超过这一里程后,自动计费器按里程计费;超过一定费用后,则则增加里程费用。
1.1.2 性能指标要求①用EDA实训仪的I/O设备和PLD芯片实现出租车计费器的设计。
②出租车起步开始计程和计费,计程系统按实际公里数计程,计费系统首先显示起步价(如7.0),车行驶2km以内,只收起步价7元。
基于VerilogHDL的出租车计费器的实现
基于VerilogHDL的出租车计费器的实现摘要本文介绍了出租车计费器系统的组成及工作原理,采用自顶而下的设计方法,设计了一种基于硬件描述语言的出租车自动计费器,在cpld芯片epm3256atc144-7上实现了其功能,并论述了显示模块、主控模块、计费模块等实现方法。
关键词 cpld;硬件描述语言;出租车计费器中图分类号u463 文献标识码a 文章编号1674-6708(2010)21-0137-02随着cpld/fpga等数字可编程器件的出现,他们可以解决传统电子设计不能完成的任务。
利用cpld来实现出租车计费器,可行性很高,而且电路简单,大大减少外围器件,可以用软件完全仿真,灵活度高,可以设计一些复杂的系统,而且编好的系统可以在不同的fpga或cpld芯片上通用。
1 mars-eda-s实验主板本设计采用了 mars-eda-s实验主板,其核心芯片是altera公司的 epm3256atc144-7芯片。
板上具有如下资源:主芯片:epm3256atc144-7,有源晶振:40mhz;复位芯片:stc811,支持复位手动输入,支持jtag下载模式。
核心板可以作为原型板,用户可以根据自己需要自行扩展。
2 出租车计费器系统设计概述基于cpld设计的出租车自动计费器,计费包括起步价、行车里程计费、等待时间计费3部分,用三位数码管显示总金额,最大值为99.9元。
起步价为5.0元,3km之内按起步价计费,超过3km的,每1km增加1元,等待时间单价为每分钟0.1元。
用两位数码管显示总里程,最大值为99km,用两位数码管等待时间,最大值为99min。
系统框图如图1所示。
2.1 分频模块由于epm3256atc144-7芯片的时钟频率为40mhz,而主控模块所用频率为1hz,必须经过分频才能使得epm3256atc144-7芯片与程序匹配。
//分频/*信号定义:clk_in:输入时钟信号:大小为40mhz;clk:输出时钟信号;大小为1hz;*/module clock_send(clk_in,clk);input clk_in;output clk;reg clock;reg clk;reg[24:0] cnt;always@(posedge clk_in)begincnt<=cnt+1;if(cnt==25’d1*******)begincnt<=0;clock=~clock;endclk<=clock;endendmodule2.2 主控模块在主控模块中,设置拨码开关m控制led灯使系统显示出租车的当前状态,当led灯亮时开始计程,计费显示起步价5元,3km之内为起步价,即300个clk之内为起步价,以后每1km增加1元,即每10个clk增加0.1元;led灯灭时开始记等待时间,每分钟计费增加0.1元,即每60个clk增加0.1元。
基于FPGA的出租车计价器系统的设计【文献综述】
文献综述电气工程及其自动化基于FPGA的出租车计价器系统的设计前言出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。
它关系着交易双方的利益。
具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。
因此,汽车计价器的研究也是十分有一个应用价值的。
传统国内外出租车计价器多数由单片机实现,升级繁琐,成本高。
以出租车多功能计价器为例,传统的计价器常以MCS251系列单片机为其核心主控部件,如89C51RC2, LPD78F0034 等,该系列的单片机工作频率一般不大于24MHz,而且可扩展的资源有限,最大能够扩展的程序空间和内存空间一般都只有64kB,很难胜任出租车多功能计价器的不断升级要求。
传统的计价器通常采用硬件模块化的设计结构,主要包括主控模块,电源模块,按键显示模块,防作弊及脉冲输入模块以及税控模块等。
在主控模块中又包括CPU 子模块,语音识别子模块,串口通信子模块,复位、看门狗及电源监控子模块,打印子模块等,硬件电路复杂,不利于系统功能升级,容易在运营过程中产生干扰,影响系统的使用; 并且由于分立器件多,必然造成电源功耗大,芯片易发热,影响芯片的使用寿命。
基于FPGA的出租车计价器不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,特别是对小批量、多品种的产品需求,基于FPGA 的出租车计价器已成首选。
计费系统在各大、中城市出租车中使用越来越广泛。
针对现有计费系统通用性差的缺陷,本文采用ISP器件和VHDL语言开发了一套出租车计费系统;该计费系统的可靠性高、成本低、通用性强;该系统在不改变硬件电路的前提下,具有可以重构系统的功能,采用完全相同电路结构,只要根据各地区的需求在VHDL程序中设置各参数,就可以适应各地区出租车不同计费标准的需要,还可根据各地区需求增加其他功能。
正文文献[1-3]以单片机MC68HC705为核心控制芯片,该单片机片内带有8k字节EROM及304字节RAM,它采用统一编址方式,即所有I/O寄存器、数据存储器、程序存储器都处于同一地址空间,其指令系统简单,便于编程;I/O口可根据需要设定为输入或输出,因而是真正的双向I/O并行口;其特有的SPI(串行外围接口)功能可用来扩展各种I/O;此外,其独有的输入捕捉功能端记录外部发生事件非常方便。
基于VerilogHDL的车程计费器设计
目录绪论 (3)论文背景 (3)国内外现状分析 (3)研究设想与研究内容 (4)1 EDA设计方法及软件介绍和芯片的选取说明 (5)1.1 EDA设计方法 (5)1.2 CycloneII EP2C35F672C8芯片的介绍 (6)1.3 软件QuartusII的介绍 (7)2 系统的总体设计 (9)2.1 出租车计费器系统组成框图 (9)2.2 系统主要模块的设计 (10)2.2.1 分频模块 (10)2.2.2 计程模块 (10)2.2.3 计时模块 (12)2.2.4 控制模块 (12)2.2.5 计费模块 (12)2.2.6 数码管显示模块 (13)2.2.7 顶层模块 (14)3 系统仿真测试 (15)3.1 计时模块仿真 (15)3.2 计程模块 (16)3.3 计费模块仿真 (16)3.4 顶层模块系统仿真 (16)4 综合 (18)4.1 Quartus II软件综合的报表 (18)4.2 仿真电路图 (18)结论 (19)参考文献 (20)附录一 (21)致谢 (29)基于Verilog HDL的车程计费器设计摘要随着社会的不断进步,人们生活水平的不断提高,出租车逐渐成为人们日常生活不可缺少的交通工具。
而计费器作为出租车的一个重要组成部分,关系着出租车司机和乘客的双方利益,起着重要的作用,其发展自然会非常迅猛。
设计以FPGA 芯片为控制核心、采用Verilog HDL 硬件描述语言编程而成。
计费器主要由七个模块组成——计程模块、计时模块、计费模块、分频模块、控制模块、显示模块及顶层模块。
设计运用Quartus II进行仿真,并得到详细的仿真波形,从仿真波形中可以看出设计实现了出租车按行驶里程自主收费的功能,同时提高了计费系统的可靠性、通用性。
设计还实现了计费器等待计费的功能,系统具有很好的实用价值。
【关键词】车程计费器Verilog HDL FPGA Quartus IIThe Design of Taxi meter Based On FPGAAbstractWith the development of society, the improvement of people's living standard, the taxi has become indispensable to people's daily life of transportation. And the meter as an important part of taxi, which representing the interest of taxi drivers and passengers, plays an important role, so the taxi meter develops fast.The design used Verilog HDL hardware description language to program and FPGA chip design taxi meter. The meter is mainly composed of seven modules -- the meter module, timing module, billing module, frequency module, control module, digital tube display module and the top module. Design used Quartus II simulation,and obtained the simulation waveform in detail, from the simulation we can see that the design realized the taxi mileage independent charge, while improving the reliability and versatility. The design has realized the functions of wait for billing. The system has a good practical value.【Key words】Taxi meter Verilog HDL FPGA Quartus II绪论论文背景随着出租车行业的发展,社会的不断进步,人们生活水平的不断提高,出租车逐渐成为人们日常生活不可缺少的交通工具。
基于FPGA出租车计费器设计报告(verilog)
出租车计费器一实验任务及要求1.能实现计费功能,计费标准为:按行驶里程收费,起步费为10.00元,并在车行3公里后再按2元/公里,当计费器计费达到或超过一定收费(如20元)时,每公里加收50%的车费,车停止不计费。
2.实现预置功能:能预置起步费、每公里收费、车行加费里程。
3.实现模拟功能:能模拟汽车启动、停止、暂停、车速等状态。
4.设计动态扫描电路:将车费显示出来,有两位小数。
5.用VHDL语言设计符合上述功能要求的出租车计费器,并用层次化设计方法设计该电路。
6.各计数器的计数状态用功能仿真的方法验证,并通过有关波形确认电路设计是否正确。
7. 完成电路全部设计后,通过系统实验箱下载验证设计的正确性。
计费器按里程收费,每100米开始一次计费。
各模块功能如下:(1) 车速控制模块当起停键为启动状态时(高电平),模块根据车速选择和基本车速发出响应频率的脉冲驱动计费器和里程显示模块进行计数;当处于停止状态时暂停发出脉冲,此时计费器和里程显示模块相应的停止计数。
(2) 里程动态显示模块其包括计数车速控制模块发出的脉冲以及将计数显示动态显示出来,每来一个脉冲里程值加0.1(控制器每发一个脉冲代表运行了0.1公里)。
(3) 计费动态显示模块其初值为10元,当里程超过3公里后才接受计数车速控制模块发出的脉冲的驱动,并且计数显示动态显示出来,每来一个脉冲(代表运行了0.5公里)其数值加1元,当收费超过20时数值加1.5元。
三实验报告要求1.画出顶层原理图;2.用VHDL语言设计各子模块;3.叙述各子模块和顶层原理图的工作原理;4.给出各模块和顶层原理图的仿真波形图;5.给出硬件测试流程和结果。
四:设计说明:实际设计共五个模块,分别为分频模块(每一百米送一个脉冲以方便计数)、计算里程模块、里程取整模块(不足一公里的按一公里算)、计费模块、显示模块。
详细功能如下:1、分频模块:假设车轮每转一圈为2米,送一个脉冲,则需要50分频(共100米),同理,若知道车轮直径,即可算出分频比2、里程模块:每一百米记一次数,最大可以计999.9公里,精确到0.1公里。
基于VerilogHDL出租车计费系统的研制
第23卷第10期 2004年10月实验室研究与探索R ESEA RCH AND EXPLORA T I ON I N LABORA TOR YV o l .23N o.10 O ct .2004 基于V erilog HDL 出租车计费系统的研制高 健1, 刘向峰1, 赖 谨2, 戴路红1(南京大学1.电子科学与工程系;2.计算中心,江苏南京210093)摘 要:以上海地区的出租车计费器为例,利用V erilog HDL 语言设计了出租车计费器,使其具有时间显示、计费以及模拟出租车启动、停止、复位等功能,并设置了动态扫描电路显示车费和对应时间,显示了硬件描述语言V erilog 2HDL 设计数字逻辑电路的优越性。
源程序经M A X +PLU S 软件调试、优化,下载到EPF 10K 10TC 14423芯片中,可应用于实际的出租车收费系统。
关键词:V erilog HDL ;电子自动化设计;硬件描述语言;M A X +PLU S 中图分类号:T P 39文献标识码:B 文章编号:100627167(2004)1020049204D e s ign of Ta xi Accounting S ys tem B a s e d on V e rilog HDLGA O J ian 1, L IU X iang 2f eng 1, L A I J in 2, DA I L u 2hong1(1.D ep t .of E lectron ic Science and Eng .; p u ter Cen ter ,N an jing U n iv .,N an jing 210093,Ch ina )Abstract :T he tax i accoun ting system referred to that u sed in Shanghai w as designed by V erilog HDL ,w ith functi on s of ti m e disp lay ,accoun t ,and si m u lati on of start ,stop ,p au se and so on .In additi on ,the dynam icscann ing circu it w as designed to disp lay the tariff num ber .T he design of th is system show s the advan tage of V erilog HDL as a hardw are descri p ti on language .A fter debugging and op ti m izing the sou rce p rogram by the softw are M A X +PLU S of A ltera Com p any ,the p rogram can be u sed in the real tax i accoun ting system by dow n loading to the EPK 10K 10TC 14423ch i p .Key words :V erilog HDL ;EDA ;hardw are descri p ti on language (HDL );M A X +PLU S收稿日期:2003209223;修改稿日期:2004206207第一作者简介:高健(19762),男,助教。
基于verilog语言的出租车计费器
1时间分频:module div(clk_50M,clk);// 端口的定义input clk_50M;// 总的时钟是50Moutput clk;//分频后输的时钟reg clk;reg [31:0] count;//32位的计数器always@ (posedge clk_50M )//异步复位beginif(count==32'd25_000000)// 判断计时器记到了25_000000吗begincount<=32'd0;//计到25_000000计数器清零clk<=~clk;//输出的时钟取反end//end beginelse count<=count+1'd1;// 没计到25_000000计数器加一end//end alwaysendmodule // 结束分频模块2速度分频;module sududiv(op,clk_50M,clk,reset);// 端口的定义input clk_50M,reset;// 总的时钟是50Minput [2:0] op;output clk;//分频后输的时钟reg clk;reg [31:0] count;//32位的计数器always@ (posedge clk_50M or negedge reset)//异步复位beginif(!reset)beginclk<='d0;count=32'd0;endelsebegincase(op)3'b001:if(count==32'd50_000000)// 判断计时器记到了25_000000吗begincount<=32'd0;//计到25_000000计数器清零clk<=~clk;//输出的时钟取反end//end beginelse count<=count+1'd1;// 没计到25_000000计数器加一3'b010:if(count==32'd40_000000)// 判断计时器记到了25_000000吗begincount<=32'd0;//计到25_000000计数器清零clk<=~clk;//输出的时钟取反end//end beginelse count<=count+1'd1;// 没计到25_000000计数器加一3'b011:if(count==32'd30_000000)// 判断计时器记到了25_000000吗begincount<=32'd0;//计到25_000000计数器清零clk<=~clk;//输出的时钟取反end//end beginelse count<=count+1'd1;// 没计到25_000000计数器加一default:clk<=clk;endcaseend//end//end alwaysendmodule // 结束分频模块3系统时间计数:module xttimemokuai(clk,s,m,);// 端口的定义input clk;output [7:0] s;//输出的秒output [7:0] m;//输出的分reg [7:0] s;reg [7:0] m;always@(posedge clk )//异步复位beginif(s[3:0]==9)// 秒的低四位是9begins[3:0]<=4'd0;//清零if(s[7:4]==5) // 秒的高四位是5begins[7:4]<=4'd0; //清零if(m[3:0]==9) // 分的低四位是9beginm[3:0]<=4'd0; //清零if(m[7:4]==9) // 分的高四位是9m[7:4]<=4'd0; //清零else m[7:4]<=m[7:4]+1'd1; // 分的高四位不是9加一endelse m[3:0]<=m[3:0]+1'd1; //分的低四位不是9加一endelse s[7:4]<=s[7:4]+1'd1; // 秒的高四位不是5加一endelse s[3:0]<=s[3:0]+1'd1; //秒的低四位不是9加一end//end always//产生time_enable信号。
基于verilog_HDL的出租车计费器
《EDA技术与应用》实训报告学号姓名指导教师:江国强杨艺敏2011 年4 月28 日实训题目:出租车计费器1.系统设计1.1 设计要求1.1.1 设计任务设计并制作一台出租车计费器。
1.1.2 技术要求①用EDA实训仪的I/O设备和PLD芯片实现出租车计费器的设计。
②出租车起步开始计程和计费,计程系统按实际公里数计程,计费系统首先显示起步价(如7.0),车行驶2km以内,只收起步价7元。
③出租车行驶超过2km后,按每公里1.6元在7.0元的基础上增加。
④出租车行驶超过10km后(或超过20元路费),每公里加收50%的车费,即车费变为每公里2.4元。
⑤出租车达到目的地后,(用一个按钮)计程和计费数据清零,为下一次计费开始。
1.2 方案比较最初计费模块选择乘法,但占用资源过多,所以选择分段加法来解决1.3 方案论证1.3.1 总体思路整个系统主要由计程兼计费模块组成,另外添加计时器和流水灯模块作为附加功能,最后由选择模块选择输出费用或时间,分频模块作为路程模拟输入。
1.3.2 设计方案分频器将实训仪的时钟转换成1s或0.1s的脉冲模拟行进一公里,将脉冲输入计程兼计费模块进行路程累加和计费,同时输出路程数和费用。
流水灯则按行进路程进行亮灭,附加的时钟功能可以查看时间。
最后由选择模块进行费用和时间间的切换。
2.各个模块程序的设计①分频模块:模拟车辆行进,分1s/km档和0.1s/km档module fpq(clk,cout,k1);input clk,k1;reg [24:0] q;output reg cout;always @(posedge clk)begincase(k1)0: begin q=q+1;if (q==20000000-1)begin cout=1;q=0;endelse cout=0;end1: begin q=q+1 ;if (q==2000000-1)begin cout=1;q=0;endelse cout=0;endendcaseendendmodule②计程兼计费模块:jsq99累计路程dejfq按规则计费,同时附带输出显示该模块又由两个小模块组成:jsq99:路程显示module jsq99(clr,clk,q,cout,k2);input clk,clr,k2;output reg[7:0]q;output reg cout;always @(posedge clk or negedge clr)beginif(~clr) q = 0;else beginif(k2==0)beginif(q=='h99) q = 0;else q = q+1;if(q[3:0]=='ha)beginq[3:0] = 0;q[7:4] = q[7:4]+1;endif(q==0) cout = 1;else cout = 0;endendendendmoduledejfq:计费module dejfq(clk,clrn,q,k2);input clk,k2;input clrn;output reg[11:0] q;reg[3:0] c;always @(posedge clk or negedge clrn)beginif(~clrn) begin c=0;q=0;endelse beginif(k2==0)beginif(c<14) c=c+1;if(c<=2) q[7:4]=7;else if(c<=10)beginq[3:0]=q[3:0]+6;q[7:4]=q[7:4]+1;if(q[3:0]>9)begin q[3:0]=q[3:0]-10;q[7:4]=q[7:4]+1;endif(q[7:4]>9)begin q[7:4]=q[7:4]-10;q[11:8]=q[11:8]+1; endendelse if(c>10)beginq[3:0]=q[3:0]+4;q[7:4]=q[7:4]+2;if(q[3:0]>9)begin q[3:0]=q[3:0]-10;q[7:4]=q[7:4]+1;endif(q[7:4]>9)begin q[7:4]=q[7:4]-10;q[11:8]=q[11:8]+1;endendend if(c>14) c=11;endendendmodule③选择器:选择显示时间或费用,拨下拨码开关显示路程和费用,拨上显示时钟。
基于FPGA出租车计价器设计
题目:基于FPGA出租车计价器设计装订线基于FPGA出租车计价器的设计摘要本文介绍了一种采用可编程逻辑器件(FPGA/CPLD)进行出租车计价器的设计思想以及实现方法。
FPGA是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
另一方面采用可编程逻辑器件设计,外围电路简单,模块化设计方便,原理清晰,速度快,功能强,可靠性高,灵活性强,并且完成和扩展附加功能性强。
本设计实现了出租车计价器所需的一些基本功能,如计程、计时、计费、动态显示,其中计费金额包括起步价、里程计费、等待计时计费。
该设计采用模块化设计,自顶向下,在Quartus II9.0软件平台下,采用Verilog HDL 硬件描述语言分别设计了分频模块、计程模块、计费模块、计时模块,译码以及动态扫描显示模块的出租车计价器的五大模块,用原理图设计了顶层模块,对每个模块和主程序分别进行了仿真,并对仿真波形作了分析。
经过硬件下载验证,完成了出租车计价器分频模块、计程模块、计费模块、计时模块,译码以及动态扫描显示模块的设计实现。
关键词:FPGA;出租车计价器;Quartus II;Verilog HDLBased on the FPGA Design of Taxi MeterABSTRACTThis article describes the design ideas and methods of the taximeter, through the programmable logic device (FPGA/CPLD). Using programmable logic devices design on the other hand, peripheral circuit is simple, convenient modular design, the principle is clear, fast, strong function, high reliability, strong flexibility, and complete and additional functional extension. This design has realized the taxi meter required some basic functions, such as log, timing, pricing, dynamic display, billing amount fare and mileage charging, waiting for the timing. Through the Quartus II 9.0 Software Platform,using Verilog HDL language completed the description and simulation of frequency module, the meter module, Billing module, timing modules, decoding, dynamic scanning display module,for each module are simulated respectively and top-level module with schematic design , the simulation waveform were analyzed. After download validation hardware, completed the taxi meter divider module, log module, billing module, timing module, decoding and dynamic scanning display modules designed to achieve.Keywords: FPGA;Taximeter;Quartus II;Verilog HDL目录1 前言 (1)1.1 课题的来源及意义 (1)1.2 国内外发展状况 (1)1.3 研究的手段及目标 (2)2 总体方案设计 (3)2.1 方案论证与选择 (3)2.2 设计思想及原理 (4)3 FPGA、Verilog及QuartusⅡ开发环境的介绍 (6)3.1 现场可编程门阵列FPGA (6)3.2 硬件描述语言Verilog HDL (6)3.3 QuartusⅡ开发环境 (7)4 设计与仿真验证 (8)4.1 分频模块 (8)4.1.1 计程分频模块 (8)4.1.2 计时分频模块和计费分频模块 (9)4.1.3 数码管动态显示模块 (9)4.1.4 数码管动态显示模块仿真 (9)4.2 计程模块 (10)4.2.1 计程模块电路 (10)4.2.2 计程模块仿真 (12)4.3 计时模块 (12)4.3.1 计时模块电路 (12)4.3.2 计时模块仿真 (13)4.4 计费模块 (14)4.4.1 计费模块电路 (14)4.4.2 计费模块仿真 (15)4.5 数码管显示模块 (16)4.5.1 数码管显示模块电路 (16)4.5.2 数码管显示仿真 (17)4.6 整体顶层模块设计电路 (17)4.7 下载实现 (20)5 结论 (23)参考文献 (24)致谢 (24)附录 (25)1 前言1.1 课题的来源及意义本课题是在老师指导下,根据学校教学的需求和实际需要而开发的研究项目。
基于FPGA的出租车计价器的设计3258950
基于FPGA的出租车计价器的设计摘要出租车计价器是乘客与司机双方的交易准则。
具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。
现在各大中城市出租车行业都已普及自动计价器,而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,所以计价器的普及也是毫无疑问的。
本论文阐述了EDA的发展及其优势、FPGA的发展趋势及结构特点和VHDL语言的优点及语法结构,并分析了出租车计价器各模块的功能要求、基本原理以及实现方法。
本论文的设计采用VHDL硬件描述语言进行编程,基于Quartus II软件平台进行编译和仿真。
论文介绍了采用FPGA芯片设计出租车计价器的方法,阐述了该计价器的主要组成单元:车轮大小选择模块、计程模块、计时模块及计费模块、数据分配模块、分频模块、译码模块的设计方法,同时给出了详细的仿真波形,实现了出租车基本计费功能,还能模拟汽车启动,停止,暂停等状态,同时提高了计费系统的可靠性、通用性。
本设计在FPGA 试验箱上运行良好,实现了计费器的各项功能。
关键字FPGA,VHDL,Quartus II,出租车计价器Subject: The design of the taxi meter based on FPGASpecialty: Microeletronics Science and EngineeringName:Dan Shen (Signature) ___________ Instructor: Gaili Yue (Signature) ___________ABSTRACTTaxi meter is the rule of passenger and driver. Have a good performance of the meter for our taxi driver or passenger is very necessary. Now the automatic taxi meter has popularized, and some small city has not been popular, but with the quickening of city construction, the symbol of the city will accelerate development of the taxi industry.This article elaborates the concept and development of EDA , the development trend and structure of the FPGA, andexplains the advantages and grammar structure of VHDL ,meanwhile, analysed the function request, the basic principle as well as the method ofaccomplishment of each parts. This system's design programmes in the VHDL, compiled and emulated basing on Quartus II platform of Altera consists of four modules, that is speed, mileage, timing and billing module. This paper introduce one method that can use a chip of FPGA to design taxi meter, which consists of four modules, that is speed, mileage, timing and billing module, and then, describe the design of each module and give out the simulation. This taxi meter can be self-charging according to mileage, which also can simulate the state of speed,such as start, stop, and pause, at the same time, its reliability and commonality also can be improved. This design FPGA test box on running well, realize the different functions of the message accounting device.KEY WORDS FPGA , VHDL , Quartus II ,The taxi meter目录第1章绪论 (1)1.1课题研究背景及目的 (1)1.2课题研究现状 (2)1.3课题研究方法 (3)第2章设计相关工具介绍 (4)2.1EDA介绍 (4)2.1.1 EDA的发展 (4)2.1.2 EDA的优势 (5)2.2FPGA介绍 (5)2.2.1 FPGA的发展趋势 (6)2.2.2 FPGA结构及其特点 (7)2.3VHDL介绍 (7)2.3.1 VHDL简介 (7)2.3.2 VHDL代码结构 (8)2.3.3 VHDL语言设计硬件电路的优点 (9)2.4Q UARTUS II (10)2.4.1 QuartusⅡ简介 (10)2.4.2 QuartusⅡ设计流程 (10)2.5实验箱简述 (11)第3章系统的设计 (13)3.1总体设计 (13)3.1.1 出租车计价器的设计要求 (13)3.1.2 总体框架设计 (13)3.1.3流程图 (14)3.2主要模块设计 (16)3.2.1 出租车总体模块设计 (16)3.2.2 车轮大小选择模块设计 (17)3.2.3 计程模块设计 (18)3.2.4 计时模块设计 (18)3.2.5 计费模块设计 (19)3.2.6 数据分配模块设计 (21)3.2.7 译码模块设计 (21)3.2.8 分频模块设计 (22)第4章仿真及调试结果 (23)4.1仿真结果 (23)4.1.1 出租车总体模块仿真波形 (23)4.1.2 车轮大小选择模块仿真波形 (23)4.1.3 计程模块仿真波形 (24)4.1.4 计时模块仿真波形 (24)4.1.5 计费模块仿真波形 (25)4.1.6 数据分配模块仿真波形 (25)4.1.7 译码模块仿真波形 (26)4.1.8 分频模块仿真波形 (26)4.2管脚分配及说明 (27)4.3调试结果及分析 (27)第5章总结 (31)致谢 (34)参考文献 (35)附录 (36)源代码 (36)第1章绪论1.1 课题研究背景及目的出租车计价器是乘客与司机之间用于公平贸易的工具,同时它也是出租车行业发展的重要标志。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西华大学课程设计说明书题目:出租车计价器专业:信息工程年级:2009级学生:潘帅学号:33200908020****指导教师:林竞力完成日期: 2012 年 6 月 6 日摘要:本文介绍了一种采用可编程逻辑器件(FPGA/CPLD)进行出租车计费器的设计思想以及实现方法。
本设计实现了出租车计费器所需的一些基本功能,计费金额包括起步价、里程计费、等待计时计费等。
该设计采用模块化设计,在Quartus II9.0软件平台下,采用Verilog HDL 硬件描述语言描述和模拟仿真了分频模块、计程模块、计费模块、计时模块,译码以及动态扫描显示模块,完成了出租车计费器仿真设计和硬件电路的实现。
关键词:FPGA,出租车计费器,Quartus,Verilog HDLAbstract:This article describes the design ideas and methods of the taximeter, through the programmable logic device (FPGA/CPLD).The design of a taximeter to achieve the required basic functions,The total of billing included the starting price, metered, and wait for time billing.Through the Quartus II 9.0 Software Platform,Using Verilog HDL language completed the description and simulation of frequency module, the meter module, Billing module, timing modules, decoding, dynamic scanning display module. IT It has completed the taxi meter simulation and the hardware circuit.Keywords:FPGA, Taximeter, Quartus, Verilog HDL目录1.前言 (1)2.总体方案设计 (2)2.1 设计要求 (2)2.2 方案论证与选择 (2)2.3 设计思想及原理 (3)3.单元模块设计 (5)3.1 分频模块 (5)3.1.1 计数器分频模块 (5)3.1.2 计数器分频模块仿真结果 (5)3.1.3 数码管分频模块 (6)3.2 计程模块 (6)3.2.1 计程模块电路 (6)3.2.2 计程模块仿真结果 (7)3.3 计时模块 (7)3.3.1 计时模块电路 (7)3.3.2 计时模块的仿真结果 (7)3.4 控制模块 (8)3.4.1 控制模块电路 (8)3.4.2 计时模块的仿真结果 (9)3.5 计费模块 (10)3.5.1 控制模块电路 (10)3.5.2 计费模块的仿真结果 (10)2.6 数码管显示模块 (11)4.整体顶层模块设计 (12)4.1 整体顶层模块电路 (12)5.系统功能仿真及调试 (13)5.1 系统仿真及调试 (13)6.总结与体会 (16)致谢 (17)参考文献 (17)附录A: 单元模块Verilog HDL源代码 (18)A.1 计数器的分频模块VerilogHDL源代码 (18)A.2数码管的分频模块VerilogHDL源代码 (18)A.3 计程模块VerilogHDL源代码 (19)A.4 计时模块VerilogHDL源代码 (20)A.5 控制模块VerilogHDL源代码 (21)A.6 计费模块VerilogHDL源代码 (21)A.7 数码管显示模块VerilogHDL源代码 (21)A.8整体顶层模块VerilogHDL源代码 (23)附录B: 整体顶层电路图 (24)1.前言随着出租车行业的发展,对出租车计费器的要求也越来越高。
最近几年出租车行业发展迅速,在全国有几千万家出租车公司。
因此出租车计费器市场是庞大的。
而出租车计费器成为不可缺少的一部分。
出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高。
国内出租车计价器已经经历了4 个阶段的发展。
从传统的全部由机械元器件组成的机械式,到半电子式即用电子线路代替部分机械元器件的出租车计价器;再从集成电路式到目前的单片机系统设计的出租车计价器,以及FPGA计价器.出租车计价器计费是否准确,运数据的管理是否方便都是人们最关注的。
该计价器能实现按时间和里程综合计算车价,能显示时间、里程、单价、总车价等相关信息显示。
信息社会的现代电子产品,性能越来越高,复杂度越来越大,更新步伐也越来越快。
实现这种进步的主要原因就是微电子技术和电子技术的发展。
而电子技术的发展后者的核心就是电子设计自动化技术。
EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术的最新成果而开发出的电子CAD通用软件包,它根据硬件描述语言HDL完成的设计文件,自动完成逻辑编译、化简、分割、综合、优化、布局布线及仿真,直至完成对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
没有EDA技术的支持,想要完成超大规模集成电路的设计制造是不可想象的;反过来,生产制造技术的不断进步又必将对EDA技术提出新的要求。
本设计采用Verilog HDL语言来设计实现出租车计费系统,具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化、结构化设计方面,表现了强大的生命力和应用潜力。
源程序经ALTERA的Quartus II 9.0软件调试优化,通过下载到特定芯片后,可应用于实际的出租车计费系统中。
本次课程设计巩固和运用了所学课程,通过理论联系实际,提高了分析、解决技术实际问题的独立工作能力,通过对一个出租车计费器的设计,进一步熟悉了数字电路系统设计、制作与调试的方法和步骤。
2.总体方案设计2.1 设计要求该出租车计价器实现功能:1、行程≤4公里,且等待累计时间≤2分钟,起步费为8.0元。
2、行程4公里外,以每公里1.0元,等待累计时间2分钟外,以每分钟以1.0元计费。
3、能显示行驶公里数、等待累计时间和最后的总费用。
4、能通过修改程序来对计费要求实现改变。
用Verilog HDL语言设计符合上述功能要求的出租车计费器,并用层次化设计方法设计该电路,各计数器的计数状态用功能仿真的方法验证,并通过有关波形确认电路设计是否正确。
2.2 方案论证与选择方案一:采用数字电路控制,其原理图如图1-1所示。
采用传感器件,输出脉冲信号,经过放大整形最为移位寄存器的脉冲,实现计价,但是考虑到这中电路性能不够稳定,故障率高,如要做到很精确多功能则其规模较大,难调试。
而且电路不实用。
图2-1 数字电路方案方案二:采用单片机控制,通过单片机作为主控器,利用1602字符液晶作为显示电路,采用外部晶振作为时钟脉冲,通过按键可以方便调节,以下是方案三的系统流程图,本方案主要通过软硬结合可以很容易实现要求,其灵活性也还不错,成本也不高。
方案原理图如下图所示:图2-2 单片机控制方案方案三:采用EDA 技术,根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块 计量模块、译码和动态扫描显示模块,其系统框图如图1-3所示:图2-3 PFGA 控制方案 方案总结:通过各个方案的比较,首先数字电路控制不实用,不重点考虑,单片机方案虽有较大的活动空间,能实现所要求的功能而且能在很大的程度上扩展功能,虽然还可以方便的对系统进行升级,但考虑到单片机方案软件设计调试较为繁琐,最大限制还是在与本课程设计是利用EDA 技术实现,另一方面采用可编程逻辑器件设计,外围电路简单,模块话设计方便原理清晰,灵活性强,并且完成和扩展附加功能性强。
综上,本设计采用方案三。
2.3 设计思想及原理出租车的一般计费过程为:出租车载客后,启动计费器,整个系统开始运行,里程计数器和时间计数器从0开始计数,费用计数器从8开始计算。
再根据行驶里程或停止等待的时间按以上的标准计费。
若在行驶状态,则计程器开始加计数,当路程超过四公里后,计费器以每公里1元累加。
若出租车停止等待状态,则计时器开始加计数,当时间超过两分钟后,计费器以每分钟1元累加。
出租车到达目的地停止后,停止计费器,显示总费用。
时钟信号 计时脉冲计程脉冲 复位信号 控制器 分频器 计费 计程 计时译码及显示根据课程设计要求计价器可根据车轮转数计算路程,车轮每转一圈送一个脉冲波,假设每转一圈为2米,车轮每转一圈送一个脉冲波( 可用传感器检测送出脉冲),本设计为了好模拟仿真假设的是车轮转动100圈才产生一个脉冲,即是一个脉冲是代表200米,则经过5分频器后是每1Km送一个脉冲到里程计算模块,这样方便在软件里面仿真观察,若要下载到实物应用中去,通过实际车轮周长自己设置不同的分频电路来达到产生任意精度的计程距离模块。
其主要原理框图如图1-3所示。
而当车停止的时候通过分频模块产生秒脉冲,通过计时要求来产生计费,本设计重点就在计费控制模式模块和计费模块这两大模块的设计,则根据出租车计费器的工作过程,其主要原理框图如图1-3所示。
本系统采用分层次、分模块的方式设计,其本系统组成框图如下所示。
其中行驶路程计数模块、等待时间计数模块和计费模块,用来统计路程、等待时间和总费用,控制模块是用来控制计费模块,数码管显示模块用来显示行驶的公里数、等待累计时间和总费用等信息。
3.单元模块设计本系统采用层次化、模块化的设计方法,设计顺序为自下向上。
首先实现系统框图中的各子模块,然后由顶层模块调用各子模块来完成整个系统。
为了便于在数码管里显示,这里的路程、时间和费用计数器均用十六进制表示。
3.1 分频模块将时钟信号进行分频,分出的频率供后面的计程模块和计时模块用,以及后面的数码显示扫描模块都会用到。
3.1.1 计数器分频模块此模块的功能是对总的时钟进行分频,分出的频率是让计数器用的,因为总的时钟是50M 的。
设计该模块的时候用了一个32位的计数器,当计数器计到25_000000的时候产生时钟。
在仿真的时候为了快速的方便观察,设计了一个5分频的电路。
在此时假设车轮每转一圈为2米,则转动100圈送一个脉冲,即是200米,则在经5分频后,每1Km送一个脉冲到里程计算模块。
同理,若知道车轮直径,即可算出分频比来设置合理的分频电路,当下载到实物时还是用的是2HZ的时钟图3-1 计数器的分频模块3.1.2 计数器分频模块仿真结果图3-2 计数器的分频模块功能仿真从波形可以看出当reset为低电平的时候clk为零,当reset为高电平的时候clk的高电平占了clk_50M的5个周期,低电平也占了clk_50M的5个周期。