EDA课程设计(论文)-出租车计费系统verilog语言模板

合集下载

EDA课程设计报告--出租车计价器

EDA课程设计报告--出租车计价器

EDA课程设计报告--出租车计价器课程设计课程设计名称:出租车计价器专业班级学生姓名:学号:指导教师:课程设计时间:1 设计任务及要求出租车计价器根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并在行程中同步显示车费值。

从起步开始,行程3公里内,且等待累计时间2分钟内,起步费10元;3公里以外以每公里1.6元计费,等待累计时间2分钟外以每分钟1.5元计费。

并能显示行驶公里数、等待累计时间、总费用。

设计的主要技术指标:(1)计价范围:0—999.9元计价分辨率:0.1元(2)计程范围:0—99公里计程分辨率:1公里(3)计时范围:0—59分计时分辨率:1分本次设计中假设出租车的速度传感器具有出租车每行驶1Km提供1000个脉冲信号的特性。

当行驶速度小于等于6KM/h时为等待。

本设计的最终任务是显示出租车的等待时间和行驶里程,并计算出所需费用。

根据要求需要进行如下分工,首先要有一个分频模块(FPQ)产生系统工作用的基准信号1HZ,供系统中的有关模块计时用。

其次要有一个判断等待与否的模块(DDPB),再者就是要有计时和计程模块(DDSJ和LCJS),最后要有计费模块和显示译码模块(JFZ和YIMA)。

2设计原理及总体框图(1)设计总体框图图1总设计框图(2)设计总原理图图2设计总原理图设计总原理:测控FPGA芯片通过采集速度传感器脉冲信号WCLK进行行驶里程计算,利用外部脉冲信号CLK1产生标准时钟信号,用来计算等待时间,最后根据行驶里程、等待时间来计算计价值。

并用译码电路显示行驶里程、等待时间和计价值。

3 程序设计1.VHDL语言简单介绍VHDL语言(VHSIC Hardware Description Language,甚高速集成电路硬件描述语言)是一种设计、仿真、综合的标准硬件描述语言,是对可编程逻辑器件进行开发与设计的重要工具,其优点是:支持自上而下和基于库的设计,支持范围广,具有多层次描述系统硬件功能的能力。

EDA课程设计---出租车计费器设计

EDA课程设计---出租车计费器设计

EDA基础课程设计题目:出租车计费器设计学生姓名:*学号:2009*******班级: 电子信息工程09-02班专业:电子信息工程所在院系:电气与信息工程学院指导教师:*****起止日期:2012年5月28日至2012年6月8日出租车计费器设计摘要随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普遍的交通工具。

出租车计费器是出租车营运收费的专用智能化仪表,是出租车市场规范化、标准化以及减少司机与乘客之间发生纠纷的重要设备。

一种功能完备、简单易用、计量准确的出租车计费器是加强出租车行业管理、提高服务质量的必备品。

本文介绍了出租车计费器系统在实际生产生活中的重要性,根据预定的设计要求和设计思路,采用VHDL硬件描述语言作为设计手段,采用自顶向下的设计思路设计了一个实际的基于EP3C80F780C8N芯片的出租车计费系统,通过在QuartusⅡ8.1软件下进行模拟仿真,并进行相应的硬件下载调试,证明该出租车计费系统具有实用出租车计费器的基本功能,各技术指标符合预定标准,如能进一步完善,将可以实用化和市场化,具有一定实用性。

关键词:出租车计费器;现场可编程门阵列;仿真目录1 设计目的 (1)2 设计指标 (2)2.1 课题 (2)2.2技术指标 (2)3 VHDL简介 (2)4 出租车计费器功能设计 (4)4.1出租车计费器功能设计 (4)4.2出租车计费器原理 (5)4.3模块设计 (5)4.3.1点阵动态显示模块 (5)4.3.2里程动态显示模块 (6)4.3.3计费动态显示模块 (6)5 出租车计费器的实现 (6)5.1出租车计费器功能设计 (6)5.2出租车计费器原理 (7)5.3模块设计 (10)6 出租车计费器的仿真结果 (18)6.1管脚分配 (18)6.2显示模块仿真结果 (19)7 设计总结 (21)参考文献 (22)附录出租车计费器VHDL源程序 (23)1 设计目的随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普遍的交通工具。

基于FPGA的出租车计费器课程设计程序

基于FPGA的出租车计费器课程设计程序

设计题目:出租车计费器一、设计实验条件QuartusII7.2二、设计目标1.实现计费功能。

按行驶里程计费,起步价为6.00元,并在车行驶3km后按1.2元/km计费,当计费器达到或超过20元时,每千米加收50%的车费,车停止和暂停时不计费;2.现场模拟汽车的起动、停止、暂停和换挡等状态;3.设计数码管动态扫描电路,将车费和路程显示出来,各有两位小数。

三、设计报告的内容1.前言伴随中国经济的腾飞,城市化的进程也随之加快。

虽然人们出行的选择趋于多样化,但是出租车作为一种重要的交通工具,也为很多人作为出行的选择。

大城市里出租车已经相当普及,但是在中小城市出租车依然处于快速发展的阶段。

出租车的计费方式也在发生变化,由只能显示里程的方式变为现在的自主计费和打印发票及语音提示的智能化方式;根据出租车行业的发展需求,国内许多生产厂商也制造出不同类型的计价器,传统的出租车计费器经过十几年的使用,在稳定性,成本等方面都具有一定的优势。

利用FPGA设计出满足出租车不同计费需求的计费器,去满足当地出租车的计费需求。

这个课题在实现计费功能的同时,也解决了传统出租车计费器系统的不足。

出租车的需求不断的增大,因此,出租车计费器的需求也将不断增大,计程车的服务也显得越来越重要,因此出租车计费器也就应运而生了。

2.设计主体(1)设计原理:假设出租车有启动键、停止键、暂停键和档位键。

启动键为脉冲触发信号,当它为一个脉冲是,表示汽车已启动,并根据车速的选择和基本车速发出相应频率的脉冲(计费脉冲)实现车费和路程的计数,同时车费显示起步价;当停止键为高电平时,表示汽车熄火,同时停止发出脉冲,此时车费和路程计数清零;当暂停键为高电平时,表示汽车暂停并停止发出脉冲,此时车费和路程计数暂停;档位键用来改变车速,不同档位对应着不同的车速,同时路程计数的速度也不同。

出租车计费器可分为两大模块,即控制模块和译码显示模块,系统框图如图1所示,控制模块实现了计费和路程的技术,并且通过不同的档位控制车速。

EDA大作业 出租车计费器

EDA大作业  出租车计费器

课程报告课程名称:EDA设计技术设计题目:出租车计费器学院:信息工程与自动化学院专业:年级:学生姓名:学号:指导教师:江虹日期: 2015年6月10日目录前言一、设计要求二、设计原理三、系统具体模块实现控制模块Taxi.v译码显示模块decode.v四、课程设计的心得与体会五、参考资料附源程序前言随着出租车行业的发展,对出租车计费器的要求也越来越高。

最近几年出租车行业发展迅速,在全国有几千家出租车公司。

因此出租车计费器市场是庞大的。

而出租车计费器成为不可缺少的一部分。

随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了诸多方便。

利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。

利用Verilog HDL语言设计出租车计费系统,使其实现计费以及预置和模拟汽车的起动、停止、暂停和换挡等状态,并设计数码管动态扫描电路,将车费和路程显示出来,突出了其作为硬件描述语言的良好的可读性、可移植性和易读性等优点。

此程序通过下载到特定芯片后,可应用于实际的出租车计费系统中。

本设计采用Verilog HDL硬件描述语言探讨了出租车自动计费电路的设计思路和功能模块划分。

然后,初步探讨了电路逻辑综合的原理,该软件对出租车自动计费电路进行了逻辑综合。

最后,使用EDA实验开发系统软件quartusII进行模块化的模拟,但因为实验器材不够,没能下载下来在板子上真实体现。

关键字:出租车计费器EDA quartusIIVerilog HDL一、设计要求设计一个出租车计费器,能按路程计费,具体要求如下所述:(1) 实现计费功能,计费标准为:按行驶里程计费,起步价 6.00 元,并在车行驶3km后按 1.2 元/km 计费,当计费器达到或超过20 元时,每km 加收50%的车费,车辆停止和暂停时不计费。

(2) 现场模拟汽车的起动、停止、暂停和换挡等状态。

EDA课程设计—出租车计价器

EDA课程设计—出租车计价器

燕山大学EDA课程设计报告书题目:出租车计价器姓名:班级: 12级通信工程1班学号:成绩:一、设计题目及要求要求:1.2 Km起计价,起始价5元,每公里1.2元;2.传感器输出脉冲为0.5m/个(用适当频率的时钟信号代替即可);3.每0.5km改变一次显示,且钱数提前显示(例如运行到2Km时,应显示5.6元);4. 分别用三位数码管显示公里数和钱数,另可设置其他必要的按钮。

二、设计过程及内容1.题目分析该题模拟出租车计价器,显示路程及对应价格,要求每经0.5km更新显示,传感器输出脉冲为0.5m/个,即每经过1000个脉冲,路程增加了0.5km,价格增加0.6元。

其中,价格起始价5元,即需要价格在路程2km 之前显示固定值5元。

二者分别用三位数码管显示,分析可知,路程的小数位显示0或5,在5→0时,向个位进位;价格的小数位依次显示6、2、4、8、0,在6→2,8→4,4→0的转变中,产生进位,价格的个位从起始价5开始计数。

2.设计总述依据设计要求出租车计价器型可分为四个模块:分频模块,路程计数模块,价格计数模块和二者的显示模块。

①分频模块分频模块功能是每经过1000个脉冲,即0.5km,输出一个脉冲信号,并且产生一控制输出,该控制信号在2km前,输出为0,而在2km处及2km之后输出1,该控制信号控制价格计数器从2km处开始累加钱数。

②路程计数模块路程计数模块的功能是显示路程,路程包含了十位,个位和小数位,其中,小数位显示0或5,并在固定位置5→0处向个位进位,十位个位为常规0~99计数器。

③价格计数模块价格计数模块的功能是显示与路程对应的价格,且价格提前显示。

价格同样包含十位,个位和小数位,其中小数位依次显示6、2、8、4、0,并在6→2,8→4,4→0时,向个位产生进位,价格的个位为从5开始计数的10进制计数器,在9→0时产生向十位的进位,十位是常规的0~9计数器。

④路程、价格显示模块路程、价格显示模块的功能是使用试验箱中的6个数码管(编号为1~6的数码管)显示路程和价格,使用编号为3、2、1的数码管显示路程,使用编号为6、5、4的数码管显示价格。

EDA出租车计费系统课程设计

EDA出租车计费系统课程设计

目录一.绪论 (2)二.设计原理 (3)2.1实验主要模块 (3)(1)车速控制模块 (3)(2)里程动态显示模块 (3)(3)计费动态显示模块 (3)(4)扩展计费动态显示模块 (3)2.2 顶层文件的系统框图 (4)2.3 vhdl设计流程图 (4)三.程序设计 (5)3.1 车速控制模块 (5)3.2 车行状态输出模块 (5)2.3 信号分频模块 (5)3.4 出租车模拟计费模块(创新) (5)3.5 出租车的译码模块 (5)3.6 出租车的顶层模块 (6)四.实验原理框图 (6)五.仿真波形 (6)5.1 车速控制模块仿真图 (7)5.2 车行状态输出模块 (7)5.3 信号分频模块 (7)5.4 出租车模拟计费模块 (8)5.5 出租车的译码模块 (8)5.6 出租车顶层模块 (9)六.小结 (10)七.参考文献 (11)八.谢辞 (12)九.附录 (13)一.绪论随着电子技术的不断发展与进步,集成电路的设计方法也在不断地更新。

时至今日,传统的手工设计过程已经被先进的电子设计自动化(EDA)工具所代替。

只有以硬件描述语言和逻辑综合为基础的子项项下的电路设计方法才能满足日趋复杂的集成电路系统设计需求,才能缩短设计周期以满足设计对集成电路系统日益急迫的需求。

在这种情形下,传统的出租车计费器设计方法已不能跟上现在的节奏,以往的出租车计费器在功能上也远不能满足现实的需求。

以往的出租车计费器的不稳定性,功能稍等缺点是的大家开始寻求更新的,功能更强大,性能更稳定,价钱更低廉的新型出租车计费器。

而大规模可编程逻辑器件的出现,VHDL 硬件描述语言的出现,使得这一切成为可能。

关键词:EDA,VHDL,出租车,计费。

二.设计原理2.1实验主要模块本次课程设计的主要内容就是出租车计费系统的vhdl语言设计,其系统主要包括一下几个模块:(1)车速控制模块当起停键为启动状态时(高电平),模块根据车速选择和基本车速发出响应频率的脉冲驱动计费器和里程显示模块进行计数;当处于停止状态时暂停发出脉冲,此时计费器和里程显示模块相应的停止计数。

(完整word版)Verilog HDL语言编写的基于EDA的多功能出租车计费器

(完整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元。

出租车计费器eda课程设计

出租车计费器eda课程设计

出租车计费器eda课程设计一、课程目标知识目标:1. 学生理解出租车计费器的基本工作原理,掌握其计费算法。

2. 学生掌握EDA(电子设计自动化)的基本概念,学会使用相关软件工具进行简单电路设计和仿真。

3. 学生了解出租车计费器在实际生活中的应用,掌握相关电子元件的功能和连接方式。

技能目标:1. 学生能够运用所学知识,设计并搭建一个简单的出租车计费器电路。

2. 学生能够运用EDA软件进行电路仿真,验证计费器的功能。

3. 学生能够通过小组合作,解决实际设计过程中遇到的问题,提高团队协作能力。

情感态度价值观目标:1. 学生培养对电子技术学科的兴趣,激发学习热情。

2. 学生培养创新意识和动手能力,提高自信心和成就感。

3. 学生学会关注生活中的实际问题,培养学以致用的价值观。

课程性质:本课程为电子技术学科的课程设计,旨在让学生通过实际操作,掌握出租车计费器的工作原理和设计方法,提高学生的动手能力和团队协作能力。

学生特点:学生具备基本的电子技术知识,对实际操作和设计有一定兴趣,喜欢探索新事物。

教学要求:教师需引导学生主动参与,注重理论与实践相结合,关注学生的个体差异,提高学生的自主学习能力。

同时,注重培养学生的团队协作能力和创新意识。

通过本课程的学习,使学生在知识、技能和情感态度价值观方面取得具体的学习成果。

二、教学内容根据课程目标,本章节教学内容如下:1. 出租车计费器原理介绍- 计费器的基本工作原理- 计费算法及其实现2. EDA软件工具使用- EDA软件的安装与基本操作- 电路设计原理及仿真方法3. 电子元件及其功能- 常用电子元件的识别与使用- 元件连接方式及其在出租车计费器中的应用4. 出租车计费器电路设计- 设计要求与电路框图- 电路搭建与调试5. 小组合作与问题解决- 团队协作能力的培养- 实际设计过程中问题的发现与解决教学大纲安排:第一课时:出租车计费器原理介绍第二课时:EDA软件工具使用第三课时:电子元件及其功能第四课时:出租车计费器电路设计第五课时:小组合作与问题解决教材章节关联:本教学内容与教材中“电子技术应用”章节相关,涉及计费器原理、EDA软件应用、电子元件使用等方面的内容。

基于verilog语言的出租车计费器

基于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信号。

eda课程设计出租车论文设计

eda课程设计出租车论文设计

eda课程设计出租车论文设计一、课程目标知识目标:1. 让学生掌握EDA(电子设计自动化)基本概念,理解其在现代电子设计中的应用。

2. 使学生了解出租车论文设计的研究背景、意义及涉及的关键技术。

3. 帮助学生掌握EDA工具的使用方法,学会运用相关软件进行电路设计与仿真。

技能目标:1. 培养学生运用EDA工具进行电子设计的能力,提高学生的实际操作技能。

2. 培养学生分析问题、解决问题的能力,使学生能够针对出租车论文设计提出创新性方案。

3. 提高学生的团队协作能力,学会与他人合作共同完成设计任务。

情感态度价值观目标:1. 激发学生对EDA技术及电子设计的兴趣,培养学生主动学习的态度。

2. 培养学生严谨、务实的科学精神,注重实际问题的解决。

3. 增强学生的社会责任感,使学生认识到科技对社会发展的推动作用。

本课程针对高年级学生,课程性质为实践性、探究性。

结合学生特点,课程目标注重培养学生的实际操作能力、创新思维和团队协作精神。

在教学过程中,教师应关注学生的个体差异,提供个性化指导,确保课程目标的实现。

通过本课程的学习,学生能够掌握EDA技术的基本知识,具备电子设计能力,为未来的学术研究或职业生涯打下坚实基础。

二、教学内容1. EDA基本概念:介绍EDA技术的起源、发展及其在现代电子设计中的应用。

教材章节:第一章 电子设计自动化概述2. 出租车论文设计背景与意义:分析出租车系统的研究背景、设计要求及其在智慧交通中的作用。

教材章节:第二章 出租车系统设计背景与意义3. EDA工具使用:讲解Cadence、Protel等EDA工具的基本操作,使学生能够熟练运用相关软件进行电路设计与仿真。

教材章节:第三章 EDA工具的使用方法4. 出租车论文设计方案:引导学生学习并分析现有设计方案,提出创新性设计思路。

教材章节:第四章 出租车系统设计实例分析5. 电路设计与仿真:指导学生运用所学EDA工具,完成出租车论文设计的电路图绘制与仿真。

SOPCEDA综合课程设计报告出租车计费器

SOPCEDA综合课程设计报告出租车计费器

SOPC/EDA综合课程设计报告设计题目:出租车计费系统设计设计者:学号:班级:指导老师时间:目录摘要 (2)Abstract (1)第一章引言 (2)1.1课题背景 (2)1.2本文的主要工作 (2)第二章 FPGA、VHDL介绍 (4)2.1 FPGA现状及发展 (4)2.2 FPGA的结构与特点 (4)2.2.1 FPGA基本结构 (5)2.2.2 FPGA的特点 (6)2.3 VHDL设计优点 (6)第三章出租车计费器的设计 (7)3.1出租车计费器的总体设计 (7)3.1.1出租车计费标准 (7)3.1.2 总体框架设计 (7)3.2出租车计费器主要模块设计 (8)3.2.1 速度模块 (9)3.2.2 计程模块 (9)3.2.3 计时模块 (10)3.2.4 计费模块 (5)第四章整体电路设计 (6)4.1 整体电路图 (6)4.2 电源电路 (7)4.3 启动/停止按键电路 (7)4.4 自动清零部分 (8)第五章系统仿真与下载实现 (8)5.1 QuartusⅡ软件介绍 (9)5.1.1软件特点 (9)5.1.2 QuartusⅡ设计流程: (9)5.2仿真结果 (10)5.2.1整体仿真 (10)5.2.2速度模块仿真 (10)5.2.3计程模块仿真 (11)5.2.4计时模块仿真 (11)5.2.5 计费模块仿真 (12)5.3设计测试 (12)第六章总结及展望 (13).致谢 (19).主要参考文献 (19)基于FPGA的出租车计费器设计摘要:随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了很多方便。

利用它进行产品开发,可以降低研发成本,缩短研发周期。

本文介绍了一种采用FPGA芯片进行出租车计费器的设计方法,描述了研究该课题的意义和应用价值;说明了Altera公司的FPGA结构原理及其主要运用;介绍了超高速集成电路硬件描述语言的主要功能和设计;讲解了出租车计费器的系统原理和功能。

EDA课程设计-简易出租车计价器设计

EDA课程设计-简易出租车计价器设计

EDA 课程设计[RTX于2012/2/22]简易出租车计价器设计要求:●计价器按1.2元/公里计费,超过10公里后,则按1.8元/公里收费。

●起步价6元(3公里),超过3公里后,计价累加0.6元,10公里内以后每过0.5公里累加0.6元。

●过10公里后, 计价累加0.9元, 以后每过0.5公里累加0.9元。

●公里数4位数字显示,精确到0.1公里; 出租车计价4位数字显示,精确到0.1元。

●即:一.设计方案二.硬件部分:(1)硬件环境: 东南大学SE-5型EDA试验箱,其中核心元件是Altera公司的EPF10K10LC84-4):三.软件部分:(1)软件环境: Altera公司的MAX+plusII(2)程序源代码:1.顶层设计:2.各元件源代码:元件kms2money--kms2money.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;--0.1公里表示为1, 0.1元表示为1entity kms2money isport( rst, clk, enf, dispclk :in std_logic;data4 :out std_logic_vector(3 downto 0);ctl8 :out std_logic_vector(7 downto 0));--data4 :按dispclk的上升沿周期性的依次输出kms3,kms2,kms1,kms0,mon3,mon2,mon1,mon0--ctl8 :分别为控制动态扫描显示的8个LED的使能端,高电平使能end kms2money;architecture art_kms2money of kms2money issignal kms3,kms2,kms1,kms0:std_logic_vector(3 downto 0);--公里百位,十位,个位,十分位signal mon3,mon2,mon1,mon0:std_logic_vector(3 downto 0);--金额百位,十位,个位,十分位begin------------------------------------------------------------------------------------------------------ dynctl:process(dispclk,kms3,kms2,kms1,kms0,mon3,mon2,mon1,mon0) --动态显示--dispclk上升沿依次来临时data4依次为kms3,kms2,kms1,kms0,mon3,mon2,mon1,mon0,周而复始variable times:std_logic_vector(2 downto 0); --3位可表征8种状态,非'0'且非'1'除外beginif dispclk'event and dispclk='1' thentimes:=times+1;case times iswhen "000"=> data4<=kms3; ctl8<="10000000";--使能左起第1位LEDwhen "001"=> data4<=kms2; ctl8<="01000000";--使能左起第2位LEDwhen "010"=> data4<=kms1; ctl8<="00100000";--使能左起第3位LEDwhen "011"=> data4<=kms0; ctl8<="00010000";--使能左起第4位LEDwhen "100"=> data4<=mon3; ctl8<="00001000";--使能左起第5位LEDwhen "101"=> data4<=mon2; ctl8<="00000100";--使能左起第6位LEDwhen "110"=> data4<=mon1; ctl8<="00000010";--使能左起第7位LEDwhen "111"=> data4<=mon0; ctl8<="00000001";--使能左起第8位LEDwhen others=> data4<="ZZZZ";ctl8<="00000000";--无效为高阻都不选中end case;end if;end process;------------------------------------------------------------------------------------------------------ kmsdisp:process(rst,clk) --clk每来一次上升沿认为公里数加0.1公里,即加1beginif rst='1' then kms3<="0000";kms2<="0000";kms1<="0000";kms0<="0000";--初始数据elsif clk'event and clk='1' thenif enf='1' thenif kms0="1001" then --按十进制相加规律加1kms0<="0000";if kms1="1001" thenkms1<="0000";if kms2="1001" thenkms2<="0000";if kms3="1001" then kms3<="0000";else kms3<=kms3+1;end if;else kms2<=kms2+1;end if;else kms1<=kms1+1;end if;else kms0<=kms0+1;end if;end if;end if;end process;------------------------------------------------------------------------------------------------------ mondisp:process(rst,clk)variable kms: std_logic_vector(15 downto 0); --公里数的十六进制值或二进制值variable times:std_logic_vector(2 downto 0);--记录clk上升沿的次数,即有几个0.1公里beginif rst='1'then mon3<="0000";mon2<="0000";mon1<="0110";mon0<="0000";kms:=(others=>'0');times:="000";elsif clk'event and clk='1' thenif enf='1' thentimes:=times+1;if times=1 thenkms:=kms+5; --kms可能为0,5,10,..,6,65,...(5的倍数)--kms+1(0.1公里)与kms+5在价格的角度上看是等价的--XXX.1-XXX.5公里均按XXX.5公里看待,XXX.6-XXX.9公里均按(XXX.9+0.1)看待If kms<=30 then mon3<="0000";mon2<="0000";mon1<="0110";mon0<="0000";--不超过3公里,收起步价6.0元elsif kms<=100 then --超过3公里不超过10公里,每0.5公里金额加0.6元;--------------------------------------------------------if mon0>3 then --按十进制相加规律加6mon0<=mon0-4; --XXX4-XXX9加6后为YZW0-YZW5if mon1="1001" thenmon1<="0000";if mon2="1001" thenmon2<="0000";if mon3="1001" then mon3<="0000";else mon3<=mon3+1;end if;else mon2<=mon2+1;end if;else mon1<=mon1+1;end if;else mon0<=mon0+6; --XXX0-XXX3加6后为XXX6-XXX9end if;--------------------------------------------------------else --超过10公里,每0.5公里金额加0.9元;--------------------------------------------------------if mon0>0 then --按十进制相加规律加9mon0<=mon0-1; --XXX1-XXX9加9后为YZW0-YZW8if mon1="1001" thenmon1<="0000";if mon2="1001" thenmon2<="0000";if mon3="1001" then mon3<="0000";else mon3<=mon3+1;end if;else mon2<=mon2+1;end if;else mon1<=mon1+1;end if;else mon0<=mon0+9; --XXX0加9后为XXX9end if;--------------------------------------------------------end if;elsif times=5 then times:="000";--每计数5次clk就重新计数以便下次"循环"使用--times=0,2,3,4时参数不变,而只在times=1时一笔带过,被包含了.times=0与times=5是等效的end if;end if;end if;end process;------------------------------------------------------------------------------------------------------end art_kms2money;3.元件seg7bcd--seg7bcd.vhdlibrary ieee;use ieee.std_logic_1164.all;entity seg7BCD isport( turn_on :in std_logic;x :in std_logic_vector(3 downto 0);y :out std_logic_vector(6 downto 0));--声明:-- 共阴极7段显示-- turn_on :显示使能开关,高电平有效-- x :4位BCD码,x(3)为最高位,x(0)为最低位-- y :7段显示码,y(6)..y(0)对应g f e d c b aend seg7BCD;architecture art_seg7BCD of seg7BCD isbeginprocess(x,turn_on)beginif turn_on='1' thencase x is --"gfedcba"when "0000"=>y<="0111111";--0when "0001"=>y<="0000110";--1when "0010"=>y<="1011011";--2when "0011"=>y<="1001111";--3when "0100"=>y<="1100110";--4when "0101"=>y<="1101101";--5when "0110"=>y<="1111101";--6when "0111"=>y<="0000111";--7when "1000"=>y<="1111111";--8when "1001"=>y<="1101111";--9when others=>y<="ZZZZZZZ";--无效end case;else y<="0000000";--熄灭end if;end process;end art_seg7BCD;3.仿真结果4.管脚绑定Port Num Name---------------------------------------- [+]LedEN[7..0]LedEN7 80LedEN6 81LedEN5 83LedEN4 3LedEN3 72LedEN2 73LedEN1 78LedEN0 79---------------------------------------- [+]g2a[6..0]g2a6 6 gg2a5 7 fg2a4 8 eg2a3 9 dg2a2 10 cg2a1 11 bg2a0 16 a---------------------------------------- [+]inputCLK 1 CP1dispCLK 43 CP2RST 28 K1nPause 29 K25.下载程序---------------------------------------------------------------------------------------------------------------------- 本程序十分简易,仅供交流与学习。

EDA课程设计出租车计费器

EDA课程设计出租车计费器

EDA技术课程设计说明书出租车计费器设计院、部:电气与信息工程学院学生姓名:杨建雄指导教师:职称专业:电气工程及其自动化班级:电气本 1202班完成时刻: 2021年6月20日摘要本文介绍了一种采纳单片FPGA芯片进行出租车计费器的设计方式,要紧论述如何利用新兴的EDA器件取代传统的电子设计方式,利用FPGA的可编程性,简练而又多变的设计方式,缩短了研发周期,同时使出租车计费器体积更小功能更壮大。

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

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

关键词:VHDL;计费器;QuartusⅡ;FPGA目录设计要求 ................................................. 错误!未定义书签。

一、方案论证与对照 ....................................... 错误!未定义书签。

、方案一.............................................. 错误!未定义书签。

、方案二.............................................. 错误!未定义书签。

、方案对照与选择...................................... 错误!未定义书签。

二、要紧模块设计 ......................................... 错误!未定义书签。

、速度模块............................................ 错误!未定义书签。

、计程模块............................................ 错误!未定义书签。

EDA出租车计费器

EDA出租车计费器
图21试验箱实物模拟
如上图所示,当路程为17.51km时,计数费用为25.80元,符合预期设计效果
五、课程设计工作进程
5.1 设计小组的分工及工作安排
管水城:主要负责该命题的确立及该实验框架的构思设计,模块的的设计,实验代码的设计与修改,试验箱实物模拟。
欧阳慧:主要负责资料的收集及代码的书写与修改,各模块图的仿真。
m_hun[3..0],m_tho3..0];路程d_one[3..0],d_ten[3..0],d_hun[3..0],
d_tho[3..0]
图2 计费器的电路符号
2.4 设计方法
自底向上的混合编辑采用混合编辑法,设计不同的模块,最后在原理图编辑器中连接各模块作为顶层设计,其电路如图3所示,其中guange1是控制模块,guange2是译码显示模块。
1.1Verilog HDL语言的功能、设计方法1
1.2Quartus II6.0设计流程2
二、整体设计方案3
2.1设计要求3
2.2设计原理3
2.3电路符号3
2.4设计方法4
三、上机步骤及模拟仿真4
3.1新建第一个工程4
3.2生成一个控制模块5
3.3新建第二个工程5
3.4生成译码显示模块6
3.5新建第三个工程6
5.2 设计中遇到的问题以及解决方法:在控制模块和译码显示模块分别仿真成功以后,连接两模块并进行综合仿真出现的主要问题是计费输出无信号,不能达到预期的出租车的计费效果,在老师的指导下,在仿真界面中,我们调用了insert monery输出端,最终达到了预期的设计效果。
图20 试验箱实物模拟
如上图所示,数码管的前四位表示的是出租车的计数费用,6表示的是起步价6元钱,后两位是小数点;数码管的后四位表示的是出租车的行驶路程,后两位是小数点,15表示的是0.15公里,其逻辑符合预期功能,利用换挡键可实现不同档位的行驶速度,按下pause键,路程和费用暂停计数,按下stop键,路程和费用清零。其逻辑符合预期功能。

EDA课程设计出租车自动计费器

EDA课程设计出租车自动计费器

课程设计课程设计名称:EDA课程设计专业班级:电科1002班学生姓名:XXX学号:2010483602XX指导教师:XXX课程设计时间:2013-2-25~2013-3-8电子信息科学与技术专业课程设计任务书参考文献(1)黄智伟. FPGA系统设计与实践电子工业出版社2005.1 (2)焦素敏. EDA课程设计指导书河南工业大学2008.2 (3)焦素敏. EDA应用技术清华大学出版社2005.4审查意见指导教师签字:教研室主任签字:张庆辉2013年2月25日一、设计任务及要求设计一个出租车计价器:计费包括起步价、行车里程计费、等待时间计费3部分。

用3用用用用用用用用,最大值为999.9元,最小计价单元为0.1元;行程3公里内,且等待时间累计3分钟内,起步价10元,超过3公里,以每公里1.6元计费,等待时间单价为每分钟1.5元;用两位数码管显示总里程,最大值为99公里用两位数码管显示等待时间,最大值为59min。

二、设计原理及总体框图出租车自动计费器分为分频模块、控制模块、计量模块、计费模块、译码和显示模块。

A)、设计原理:(1)分频模块分频模块对频率为240HZ的输入脉冲进行分频,得到的频率为16HZ、15HZ、和1HZ的3种频率。

该模块产生频率信号用于计费,每个脉冲为0.1元计费控制,其中15Hz信号为1.5元的计费控制,16Hz信号为1.6元计费控制。

(2)计量控制模块计量控制模块式出租车自动计费器系统的主体部分,该模块主要完成等待计时功能、计价功能、计程功能,同时产生3分钟的等待计时使能控制信号en1、行程3公里外的使能控制信号en0。

其中计价功能主要完成的任务是:行程3公里内且等待累计时间在3分钟内起步价为10元3公里以外每公里1.6元计费,等待时间3分钟以外每分钟1.5元计费。

计时功能主要完成的任务是:计算乘客的等待累计时间,计时器的量程为59分,满量程自动归零。

计程主要完成的任务是:计算乘客所行驶的公里数,计价器的量程为99公里,满量程自动归零。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要摘要:出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。

它关系着交易双方的利益。

具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。

因此,汽车计价器的研究也是十分有一个应用价值的。

而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。

而采用FPGA进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。

针对计费模式的切换,通过软件编程就可以轻易而举的实现。

避免了机械开关带来的不稳定因素。

设计好之后,用1602液晶显示器,显示你想要显示的数据。

关键词:出租车计价器控制 1602目录绪论 (3)第一章系统设计 (4)1出租车计费系统的概述: (4)2设计的意义 (4)3统设计要求 (4)第二章系统设计方案 (5)第三章主要模块 (6)1 时间模块: (6)2路程模块: (7)3计费模块: (8)4速度模块: (9)5总的框图为: (10)第四章硬件实现 (11)1系统的调试方法 (11)2系统调试的软/硬件 (11)3 系统调试显示结果 (11)小结 (13)谢辞 (14)参考文献: (15)附录 (16)程序: (16)绪论近年来,我国出租汽车行业迅猛发展,出租汽车已成为我国城市公共交通的重要组成部分和现代化城市必备的基础设施,成为人们工作、生活中不可缺少的交通工具。

它对繁荣经济、促进发展、方便群众、改善交通起到了积极作用。

出租汽车对我国人民物质和文化生活影响之大、作用之广是前所未有的。

出租汽车行业的服务水平和程度已经成为现代化的重要标志。

出租汽车服务行业和出租汽车计价器紧密相关,因为出租汽车必须安装出租汽车计价器才能投入营运。

出租汽车计价器是一种能根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并直接显示车费值的计量器具。

计价器是出租汽车的经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,因而计价器量值准确与否,直接关系到经营者和消费者的经济利益,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票资料打印、IC卡付费、语音报话、和电脑串行通信等功能,而这些与电子技术的发展是分不开的。

二十世纪后半期,随着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI 的过程。

同时为了提高系统的可靠性与通用性,微处理器和专业集成电路(ASIC)逐渐取代了通用全硬件LSI电路,而ASIC以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出。

第一章系统设计1出租车计费系统的概述:在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关注。

汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。

它关系着交易双方的利益。

具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。

因此,汽车计价器的研究也是十分有一个应用价值的。

2设计的意义在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关注。

汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。

它关系着交易双方的利益。

具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。

因此,汽车计价器的研究也是十分有一个应用价值的。

出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高。

国内出租车计价器已经经历了4 个阶段的发展。

从传统的全部由机械元器件组成的机械式,到半电子式即用电子线路代替部分机械元器件的出租车计价器;再从集成电路式到目前的单片机系统设计的出租车计价器。

出租车计价器计费是否准确、出租车司机是否作弊才是乘客最关心的问题,而计价器营运数据的管理是否方便才是出租车司机最关注的。

因此怎样设计出一种既能有效防止司机作弊又能方便司机的计价器尤为重要。

因此,本文以FPGA为核心设计一款多功能出租车计价器,该计价器能实现按时间和里程综合计算车价,能显示时间、里程、单价、总车价等相关信息显示。

它比市场上的一些计价器使用更方便,功能更全,还具有有效防止司机作弊和系统稳定性好的优点。

3统设计要求里程显示,显示方式为XXX.X,单位为km精确到0.1km;里程单价显示,显示方式为X.XX,单位为元/km,起步价10元,根据每天不同的时间段有两种情况:当时间段为06:00~23:00时单价为1.40元/km,其他时间段单价为1.80元/km。

第二章系统设计方案系统的大致框图:图1第一步:把板子上的时钟50M的晶振分频为1HZ。

这样有利于以后模块的调用。

第二步:出租车上一般都有时间,所以把时间模块给设计好,在这里就需要了第一步已经设计好的分频1HZ的时钟,调用设计出时间,显示小时,分钟,秒。

第三步:用板子上的2个按键控制加速和减速,起始速度为2,按下加速键或者减速键,相应的显示会变化且路程和计费也会变化。

第四步:路程和总费进行相应的变化,在1602上显示。

第三章主要模块1 时间模块:图1现在的出租车都会显示时间,由于时间的不一样,计费的标准也不一样。

所以时间模块是必要得要的。

在设计时间模块时,由于FPGA版上的晶振是50M,第一步要做的就是分频,分频是FPGA最简单的,分频成为1HZ,这样时间显示时间就变的很简单了。

部分代码为:always @(posedge clk_1hz)beginif(miao==59)beginmiao<=0;if(fen==59)beginfen<=0;if(shi==23)shi<=0;else shi<=shi+1;endelse fen<=fen+1;endelse miao<=miao+1;end时间模块仿真波形:图2注释:仿真的波形的时钟晶振为50M2路程模块:车行驶的是速度初始值这里是给定的,通过clk,使行驶的路程在线性的增大。

行驶的总路程等于速度乘于时间。

图3部分代码为:always @(posedge clk_1hz)//路程beginway<=way+speed;if(way>10000)way<=0;end里程仿真波形:图43计费模块:在数据的计算和处理中,注意了一些数据关系的转换、换算和放大,数据关系的转换、换算是为了便于控制程序的设计,而数据的放大则避免了浮点数的运算,数据放大后的还原是通过显示数据时在对应的数码管处显示小数点来处理。

系统中很多模块的verilog程序设计中,均涉及多个控制信号,多个控制信号的作用是通过嵌套的条件语句完成的,这些条件信号的作用时机(是先作用还是后作用)和作用方式(是高、低电平还是上升沿、下降沿)非常有技巧,特别值得揣摩与注意。

计费是分时间段的,当时间段为06:00~23:00时单价为1.40元/km,其他时间段单价为1.80元/km。

由于FPGA中的计算不能直接用小数点计算,所以在这里把价格扩大10倍,显示时在除以10。

图5部分代码为:always @(posedge clk_1hz)//计费beginif(flag==1)money<=money+speed*14;elsemoney<=money+speed*18;end计费模块仿真波形:图6期中的flag是用来判断是06:00~23:00还是其他的时间。

flag为1时,时间短为06:00~23:00,计费的标准为单价为1.40元/km;对应的当flag为0时,其他的时间段的单价为1.80元/km。

4速度模块:刚开始的起始速度是2,这里我用了2个按键,一个是加速,一个是减速。

随着加速键的按下,显示模块的速度相应会加一,路程也会随着增长,计费的费用也会增长。

图7速度模块的仿真波形:图8sw1_n为加速键,按下加速键,speed加一;sw2_n为减速键,按下减速键,速度相应的减一。

5总的框图为:图9 通过1602显示在开发板上。

第四章硬件实现1系统的调试方法本系统既含有FPGA自编程硬件设计电路,又含有单片机控制电路的设计,整个系统比较复杂,因此我们采用自底向上的调试方法,也就是先进行各个单元电路的软件仿真和硬件调试,在各个单元电路调试好后再进行系统联调,最后进行硬件的编程固化及系统的组装。

2系统调试的软/硬件(1) 设计开发软件:MAX+plus Ⅱ 10.0,伟福6000(WAVE 6000 for windows)。

(2) 主要设备:PIV 计算机21EDA实验开发系统。

3 系统调试显示结果将程序分配好管脚,下载到FPGA板子上,通过板子可以看到1602显示的如图1所示:图1初始化状态时,里程(S)是等于100.0,总费用(M)为000.0,第一行T代表时间,中间有个0代表是单价为1.80元/km,初始速度为2;当按2下加速键,速度为4,如图2:按加速键如图3:图3由于速度的变化,里程和总费用都会相应的变化,这贴近现实生活。

现实生活中车子的速度随时都会变化,因此在这里增加了可以改变速度的模块,这样显的更逼真。

小结出租车计费器系统的设计已经全部完成,对于这个星期自己收获也蛮多的,一些模块搞不懂,现在搞懂了。

对于一个项目来说,可能你觉得很难,因为看起来挺复杂的,没有思路,但只要你把该项目的主要功能分析一下,然后我们去攻破每一个模块,在把这些模块组合在一起,最后达到了要求。

这样更有调理,也很简单,有利于我们去设计,去分析。

在设计中遇到了很多的技术问题,自己调试很久还是调不通时,就和他们讨论,但和他们还是调不通,这只能叫学长帮忙了。

大四的学长他们很厉害,几乎我遇到的困难,他们都能解决,在此我们应该向大四的学长好好学习,他们是我们的好榜样。

总之在这次的EDA课设中,自己受益匪浅,在摸索该如何设计使之实现所需功能的过程中,特别有趣,培养了我的设计思维,不懂就找书籍看看,攻破不懂的,增加了实际操作能力.在让我体会到了设计的艰辛的同时,更让我体会到成功的喜悦和快乐. 这次EDA课程设计,虽然短暂但是让我得到多方面的提高,尤其是思维,一个人的思维很重要,这有利于将来的发展。

谢辞在这里我要感谢我的老师朱路,朱老师上课的思路很清晰,很有调理。

这样也吸引我对EDA的兴趣,朱老师在上课讲的内容很生动,举的例子也很符合题意,这样更有利于我的学习。

当自己有不懂问朱老师时,朱老师很热情的分析给我听,这样有利于我的理解,总之很感谢朱老师。

相关文档
最新文档