EDA实训-出租车计费
EDA课程设计——出租车计费器
EDA技术课程设计题目: 出租车自动计费器班级:电子 xxx班姓名: xxx学号: ******** 成绩:[目录] Ⅰ、绪论1.1 前言1.2 电子系统设计任务书1.3 题目分析及构思Ⅱ、方案论证2.1 总体方框图2.2 功能描述及方案选择Ⅲ、系统设计详述3.1 各模块设计原理及仿真3.2 整个系统的原理图及仿真Ⅳ、程序设计历程4.1 系统设计工作进程4.2 仿真实现过程中遇到的问题及排除措施4.3 设计收获和体会Ⅴ、附录:参考文献Ⅰ、绪论1.1前言古人云:“百尺竿头,更进一步。
”也就是说:我们不要满足于已取得的成就,还要继续努力,不断勇往直前。
但高中的时候,高考这块敲门砖就是你的指明灯。
而进入大学,我一下子被什么协会、什么学生会、什么球队、学习上的难题……冲昏了头脑,我甚至不知道什么时候该干些什么了。
有时候更会发自内心的支持“读书无用论”,因为高中学的是基本知识,而大学学的是理论,因此,对学习的兴趣也就随着变淡了。
但深知大学四年不能就这样孤独、寂寞、迷惘、恐惧地度过,所以,还一直端正自己的态度,努力地做好一切事。
而课程设计正好弥补大学这种纯理论学习的弊端,也是适应社会主义建设人才的一项重要的实践环节,是理论联系实际的有效方式。
高校是工程师的摇篮,要培养德才兼备的合格工程师,必须进行理论知识和实践动手能力的正规会培训。
课程设计是我们必须参与的一项实践教学环节。
通过课程设计,学生可以综合运用所学的电子设计的理论知识和方法,掌握设计的一般规律,培养解决电子工程中实际问题的能力。
还可以学会从机器的功能要求出发,合理选择系统或零件的类型,制定设计方案,正确计算零件的工作能力,工作要求,并考虑制造工艺、使用、维护、经济、安全等问题,训练设计能力。
另外,在课程设计的过程当中,学生可以通过查阅、分析、计算、绘图等过程,学习正确运用标准、规范、手册、图册等技术资料,训练设计的基本技能。
同时,把在理论教学中学到的知识具体运用到实际工作中,提高学生的综合素质,从而达到电子工程师基本培训的目的,使学生成为既有理论知识,又有实际动手能力的工程技术管理人才。
EDA出租车计价器实习报告(电路图程序仿真图word)
EDA出租车计价器实习报告(电路图程序仿真图word)EDA课程设计——出租车计费器设计电子信息工程电信0902班李杰1 绪论1.1 课题任务随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普通的交通工具。
出租车计费器是出租车营运收费的专用智能化仪表室出租车市场规范化,标准化以及减少司机与乘客之间发生纠纷的重要设备。
一种功能完备,简单易用,计量准确的出租车计费器是加强出租车行业管理,提高服务质量的必需品。
本设计就是采用VHDL硬件描述语言作为设计手段,采用自己的设计思路,得到一种出租车计价系统的软件结构,通过Quartus II 8.1软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求,具有一定的实用性。
1.2 Quartus II 简介Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。
具有运行速度快,界面统一,功能集中,易学易用等特点。
Quartus II支持Altera的IP核,包含了LPM/MegaFunction 宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。
对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。
此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。
出租车计费器EDA
南京理工大学EDA 设计(II)实验报告作者:____________________ 学号:_________________ 学院(系): ___________ 自动化学院_______________ 专业:____________________ 自动化_________________ 标题___________________ 出租车计费器______________指导老师:实验日期:2015 年9月目录1 绪论12 系统总体设计12.1 系统设计思想12.2 系统功能概述12.3 系统总体组成结构13 系统各模块详细设计23.1 计时模块23.2 按键控制模块23.3 动态显示模块33.4 里程和车费计算模块43.5 我的部分44 系统调试54.1 系统仿真54.2 系统实际验证54.3 调试过程中遇到的问题与解决方法55 总结与心得体会6 致谢6 参考文献7出租车计费器1 绪论EDA是电子设计自动化(Electronic Design Automation )的缩写,发展于20世纪90年代。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
本次EDAS计使用MAX+plus II实验开发系统,学习并掌握VHD硬件描述语言的基本语法以及设计方法和思想,将已学过的数字电子设计知识综合运用于电子系统的设计中,掌握运用VHDL设计电子系统的流程和方法,加强和培养自己对电子系统的设计能力。
综合设计的任务是用一周的时间,在EDA软件MAX+plus II上用VHD语言设计完成一个电子技术综合问题,小组成员分工,负责各个子模块的设计,最后将各个模块整合起来,连接整体电路,分配引脚,下载到实验班上进行测试。
EDA简易出租车计价器设计
程后自动归零。
(4) 译码显示模块
Page 4
该模块经过8选1选择器将计费数据(4位BCD码)、
计时数据(2位BCD码)、计程数据(2位BCD码)动态
显示输出。其中计费数据jifei4~jifei1送入显示译码模块进
行译码,最后送至以百元、十元、元、角为单位对应的数
码管上显示,最大显示为999.9元;计时数据送入显示译
码模块进行译码,最后送至以分为单位对应的数码管上显
示,最大显示为59分;计程数据送入显示译码模块进行译
码,最后送至以公里为单位的数码管上显示,最大显示为
99公里。其系统组成框图如图2.1所示。
Page 5
时钟信 分频器 计费
号
显
等待信
号
控
计时
公里脉
制
示
冲
器
计费/
计程
复位
Page 6
3 出租车计费器的层次化设计方案
(1) 分频模块 分频模块对频率为240Hz的输入脉冲进行分频,产生频率为16Hz、 15Hz、1Hz的3种频率。该模块产生频率信号用于计费,每个1Hz脉 冲为0.1元计费控制,15Hz为1.5元的计费控制,16Hz信号1.6元计费 控制。 (2) 控制模块 计价器控制模块主要完成对计价器状态的控制。
Page 3
(3) 计量模块
计量模块完成计价、计时和计程功能。
计价部分:行程在3公里内,而且等待累计时间小于2分钟,起步费为
10元;3公里外以每公里按1.6元计费,等待累计时间超过2分钟按每分钟1.5
元计费。
计时部分:计算乘客的等待累计时间。计时器的量程为59分钟,满量
程后自动归零。
计程部分:计算乘客所行驶的公里数。计程器的量程为99千米, 满量
EDA技术与应用实践学习内容(出租车计费系统之计费模块)
技能点四十二(出租车计费系统之计费模块)计费模块主要用于记录出租车启动后所产生的总费用。
其接口电路如图 6 - 80所示,相应的VHDL 程序代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY money ISPORT(co:IN STD_LOGIC;reset:IN STD_LOGIC; choose:IN STD_LOGIC; kcnt1,kcnt2,kcnt3:IN STD_LOGIC_VECTOR(3 DOWNTO 0); m0,m1,m2,m3:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END money;ARCHITECTURE rtl OF money ISSIGNAL tim0,tim1,tim2,tim3:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL cnt:INTEGER RANGE 0 TO 9;SIGNAL en:STD_LOGIC;BEGINm0<=tim0;m1<=tim1;m2<=tim2;m3<=tim3;U1:PROCESS(kcnt1,kcnt2,kcnt3,choose)BEGINIF kcnt3>="0000" AND kcnt2>="0000" AND kcnt1>="0011"THEN en<='1';ELSE en<='0';END IF;END PROCESS U1;U2:PROCESS(choose,reset,co)BEGINIF reset='1' THENIF choose='1' THENtim0<="0000";tim1<="0101";tim2<="0000";tim3<="0000";ELSEtim0<="0000";tim1<="0110";tim2<="0000";tim3<="0000";END IF;ELSIF co'EVENT AND co='1' THENIF en='1' THENIF choose='1' THENCASE tim0 isWHEN "0000"=>tim0<="1001";tim1<=tim1;WHEN "0001"=>tim0<="0000";tim1<=tim1+'1';WHEN "0010"=>tim0<="0001";tim1<=tim1+'1';WHEN "0011"=>tim0<="0010";tim1<=tim1+'1';WHEN "0100"=>tim0<="0011";tim1<=tim1+'1';WHEN "0101"=>tim0<="0100";tim1<=tim1+'1';WHEN "0110"=>tim0<="0101";tim1<=tim1+'1';WHEN "0111"=>tim0<="0110";tim1<=tim1+'1';WHEN "1000"=>tim0<="0111";tim1<=tim1+'1';WHEN "1001"=>tim0<="1000";tim1<=tim1+'1';WHEN OTHERS=>NULL;END CASE;IF tim1>="1001" THENtim1<="0000";tim2<=tim2+'1';ELSIF tim2>="1001"THENtim2<="0000";tim3<=tim3+'1';END IF;ELSIF choose='0' THENtim0<=tim0+'1';tim1<=tim1+'1';IF tim0>="1001" THENtim0<="0000";tim1<=tim1+"0010";图 6 - 1计费模块ELSIF tim1>="1001" THENtim1<="0000";tim2<=tim2+'1';ELSIF tim2>="1001"THENtim2<="0000";tim3<=tim3+'1';END IF;ELSIF en='0' THENIF choose='1' THENtim0<="0000";tim1<="0101";tim2<="0000";tim3<="0000"; ELSEtim0<="0000";tim1<="0110";tim2<="0000";tim3<="0000"; END IF;END IF;END IF;END IF;END PROCESS U2;END rtl;。
EDA大作业-出租车计费系统的设计
1。
所选题目:出租车计费器2.设计要求:设计一个出租车计费器,能按路程计费,具体要求如下:(1)实现计费功能,计费标准为:按行驶里程计费,起步价为6。
00元,并在汽车行驶2km后按1.2元/km计费,当里程数达到15km后,没千米加收50%的空驶费,车辆停止和暂停时不计费。
(2)现场模拟汽车的启动、停止、暂停和换挡等状态。
(3)设计数码管显示电路,将车费和路程显示出来,各有1位小数。
3。
设计原理:设计该出租车有启动键、停止键、暂停键和档位键。
启动键为脉冲触发信号,当其为一个脉冲时,表示汽车已启动,并根据车速的选择和基本车速发出相应频率的脉冲(计费脉冲)以此来实现车费和路程的计数,同时车费显示起步价;当停止键为高电平时,表示汽车熄火,同时停止发出脉冲,此时车费和路程计数清零;当暂停键为高电平时,表示汽车暂停并停止发出脉冲,此时车费和路程计数暂停;档位键用于改变车速,不同的档位对应着不同的车速,同时路程计数的速度也不同。
4.模块设计:出租车计费器可分为两大模块,即控制模块和译码显示模块.系统框图如下:5。
电路符号:出租车计费器的输入信号有:计费时钟脉冲clk;汽车启动键start;汽车停止键stop;档位speedup.输出信号:7段显示控制信号seg7;小数点dp。
6.具体设计流程:(1)根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为counterA,counterB,counterC,counterD,counterE。
①计数器A完成车费百位。
②计数器B完成车费十位和个位.③计数器C完成车费角和分(显示时只显示角)。
④计数器D完成计数到20(完成车费的起步价)。
⑤计数器E完成模拟实现车行驶100 m的功能。
(2)当超出起步价时就自动在起步价的基础上每增加一个100m脉冲就增加相应的费用,而当总里程达到或超过一定的数值时,能按新的收费标准进行收费。
(3)译码/动态扫描电路模块将路程与费用的数值译码后用动态扫描的方式驱动6只数码管,即所连接的数码管共用一个数据端,由片选信号依次选择输出,轮流显示.(4)数码管显示将千米数和计费金额均用3位LED数码管显示(2位整数,1位小数)。
eda课程设计出租车计费器
eda课程设计出租车计费器一、引言随着城市化进程的加速,出租车已成为人们出行的重要交通工具之一。
出租车计费器作为出租车运营的核心设备,其设计的合理性和精确性直接关系到乘客和司机的利益。
因此,设计一款高效、准确的出租车计费器具有重要的实际意义。
本次EDA课程设计,我们以出租车计费器为研究对象,对其进行模拟设计。
二、计费器功能需求分析出租车计费器应具备以下基本功能:1.起步价计费:按照规定的起步价格进行计费。
2.里程计费:根据行驶里程计算费用,一般按每公里单价进行累加。
3.等待时间计费:在等待或红绿灯等情况下,应按设定的单价计算费用。
4.计费显示:将乘客应支付的总费用实时显示在计费器上。
5.声音提示:在计费过程中,应有声音提示,如“谢谢”等。
6.夜间服务费:在夜间或特殊时间段,可设定额外服务费用。
7.故障保护:当计费器出现故障时,应能够自动进入保护模式,停止计费。
三、计费器系统设计基于上述功能需求,我们设计了以下出租车计费器系统:1.主控模块:采用微控制器作为核心控制单元,负责接收传感器信号、计算费用、控制显示和声音输出等功能。
2.里程传感器:用于检测出租车的行驶里程,一般通过轮速传感器实现。
里程数据被传送到主控模块进行计算。
3.时间传感器:用于检测出租车的运行时间,可选用霍尔传感器等实现。
时间数据也需传送到主控模块进行处理。
4.显示模块:选用液晶显示屏(LCD),用于显示总费用、行驶里程、时间等信息。
通过主控模块驱动LCD显示。
5.声音提示模块:选用蜂鸣器作为声音输出设备,由主控模块控制发出提示音。
6.夜间服务费模块:通过软件编程实现夜间服务费的设定和计算。
主控模块根据时间传感器信号判断是否进入夜间模式。
7.故障保护模块:在系统检测到故障时,如计费器出现异常过热或长时间无里程/时间信号,主控模块将自动进入保护模式,停止计费并发出报警信号。
四、计费算法设计根据上述功能需求和系统设计,我们采用以下计费算法:1.起步价费用 = 起步价 * 计费时间(3分钟)2.里程费用 = 每公里单价 * 行驶里程3.等待时间费用 = 单价 * 等待时间(秒)4.总费用 = 起步价费用 + 里程费用 + 等待时间费用 + 夜间服务费(如有)5.每公里单价、起步价、等待时间单价、夜间服务费等参数均可根据实际需求进行设定。
eda出租车计费器设计总结
eda出租车计费器设计总结EDA出租车计费器设计总结引言在现代都市生活中,出租车已经成为人们出行的重要交通工具之一。
为了保证乘客和司机的权益,出租车计费器的设计显得尤为重要。
本文将对EDA出租车计费器的设计进行总结和说明。
一、计费模式的选择EDA出租车计费器采用了基于距离和时间的复合计费模式。
这种模式能够更准确地反映出乘客乘坐出租车的实际消费情况,同时也能够保证司机的收入。
二、计费规则的制定1. 距离计费规则:EDA出租车计费器根据乘客的行程距离进行计费。
起步价为10元,包含了2公里的距离。
超过2公里后,每增加1公里加收2元。
这样的计费规则既能够保证司机的基本收入,又能够避免乘客因短途行程而支付过高的费用。
2. 时间计费规则:在乘客在行程过程中遇到交通拥堵等情况时,EDA出租车计费器会根据乘客在车上的时间进行计费。
每分钟加收0.5元,以此来弥补司机因交通拥堵而浪费的时间和精力。
三、计费器的显示和操作1. 显示屏:EDA出租车计费器配备了大尺寸的液晶显示屏,能够清晰地显示乘客的行程信息和当前的计费金额。
显示屏还会提示乘客是否需要打印行程发票。
2. 操作按钮:计费器上设有简洁明了的操作按钮,乘客可以根据需要选择打印发票、查询行程历史等功能。
四、人性化设计1. 声音提示:EDA出租车计费器设置了人性化的声音提示功能,例如乘客上车后会有欢迎提示音,乘客下车后会有计费金额的语音播报等,这样能够提升乘客的使用体验。
2. 灵敏度调节:计费器的控制面板上还设置了灵敏度调节按钮,乘客可以根据自己的需求,自行调节按键的灵敏度,以便更好地操作计费器。
五、结算方式EDA出租车计费器支持多种支付方式,包括现金支付、刷卡支付、二维码支付等。
这样的设计能够方便乘客进行结算,提高支付的便捷性。
六、结论通过以上的总结和说明,可以看出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出租车计费系统课程设计
目录一.绪论 (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)车速控制模块当起停键为启动状态时(高电平),模块根据车速选择和基本车速发出响应频率的脉冲驱动计费器和里程显示模块进行计数;当处于停止状态时暂停发出脉冲,此时计费器和里程显示模块相应的停止计数。
基于EDA层次出租车计费器实验设计报告
基于EDA的出租车计费器实验设计报告指导老师:黄旭姓名:陈昊亮学号: 33专业:通信工程班级: 12通信日期:目录一、引言 (3)二、设计流程1、实验任务及要求 (4)2、实验原理 (4)三、系统设计1、设计思路 (5)2、系统总体模块图 (5)3、各模块功能实现(1)十分频模块(PULSE)十分频模块源程序 (6)十分频模块仿真 (8)(2)控制模块 (SOUT)控制模块源程序 (8)控制模块仿真 (10)(3)里程计数模块 (COUNTER2)里程计数模块源程序 (10)里程计数模块仿真 (12)(4)计费模块 (COUNTER)计费模块源程序 (12)计费模块仿真 (15)(5)顶层模块(ALL)顶层模块原理图 (16)顶层模块仿真 (17)四、硬件下载实验现象验证1、系统调试 (18)2、硬件仿真结果 (19)五、结果分析 (19)六、实验总结 (19)一、引言随着我国国民经济生产总值的增加以及人民生活水平的提高,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普通的交通工具。
出租车计费器是出租车营运收费的专用智能化仪表,是使出租车市场规范化、标准化的重要设备。
一种功能完备,简单易用,计量准确的出租车计价器是加强出租车行业管理,提高服务质量的必需品。
本设计采用VHDL硬件描述语言作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的软件结构,通过QuartusⅡ软件下进行软件仿真,再在EDA试验箱进行硬件仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求。
该设计虽然功能简单,智能化水平比较低,但仍具有一定的实用性。
该设计是在VHDL的基础上对出租车计价器进行设计来实现其基本功能的,以往的出租车计价器多为基于数字电路、单片机进行的设计,但是数字电路设计的整体电路规模较大,所用的器件较多,造成故障率高,导致计价器不够准确;基于单片机的设计,虽然开发成本降低,但其外围电路较多,而且调试复杂,抗干扰能力差,从而也导致计价器不够准确。
出租车计费器eda课程设计
出租车计费器eda课程设计一、课程目标知识目标:1. 学生理解出租车计费器的基本工作原理,掌握其计费算法。
2. 学生掌握EDA(电子设计自动化)的基本概念,学会使用相关软件工具进行简单电路设计和仿真。
3. 学生了解出租车计费器在实际生活中的应用,掌握相关电子元件的功能和连接方式。
技能目标:1. 学生能够运用所学知识,设计并搭建一个简单的出租车计费器电路。
2. 学生能够运用EDA软件进行电路仿真,验证计费器的功能。
3. 学生能够通过小组合作,解决实际设计过程中遇到的问题,提高团队协作能力。
情感态度价值观目标:1. 学生培养对电子技术学科的兴趣,激发学习热情。
2. 学生培养创新意识和动手能力,提高自信心和成就感。
3. 学生学会关注生活中的实际问题,培养学以致用的价值观。
课程性质:本课程为电子技术学科的课程设计,旨在让学生通过实际操作,掌握出租车计费器的工作原理和设计方法,提高学生的动手能力和团队协作能力。
学生特点:学生具备基本的电子技术知识,对实际操作和设计有一定兴趣,喜欢探索新事物。
教学要求:教师需引导学生主动参与,注重理论与实践相结合,关注学生的个体差异,提高学生的自主学习能力。
同时,注重培养学生的团队协作能力和创新意识。
通过本课程的学习,使学生在知识、技能和情感态度价值观方面取得具体的学习成果。
二、教学内容根据课程目标,本章节教学内容如下:1. 出租车计费器原理介绍- 计费器的基本工作原理- 计费算法及其实现2. EDA软件工具使用- EDA软件的安装与基本操作- 电路设计原理及仿真方法3. 电子元件及其功能- 常用电子元件的识别与使用- 元件连接方式及其在出租车计费器中的应用4. 出租车计费器电路设计- 设计要求与电路框图- 电路搭建与调试5. 小组合作与问题解决- 团队协作能力的培养- 实际设计过程中问题的发现与解决教学大纲安排:第一课时:出租车计费器原理介绍第二课时:EDA软件工具使用第三课时:电子元件及其功能第四课时:出租车计费器电路设计第五课时:小组合作与问题解决教材章节关联:本教学内容与教材中“电子技术应用”章节相关,涉及计费器原理、EDA软件应用、电子元件使用等方面的内容。
EDA出租车计费系统
一、出租车计费系统的主要功能出租车计费器一般都是按公里计费,通常是起步价xx 元(xx 元可以行走x公里),然后再是xx 元/公里。
所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。
通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了里程。
在这个实验中,就要模拟出租车计费器的工作过程,用直流电机模拟出租车轮子,通过传感器,可以得到电机每转一周输出一个脉冲波形。
本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价 3 元,准行1 公里,以后1 元/公里。
时钟输入为一个1KHz的系统时钟,直流电机模块每转一圈输出一个脉冲信号给CPU,另外用按键模块的S1 来作为整个系统的复位按钮,每复位一次,计费器从头开始计费。
直流电机模块用来模拟出租车的车轮子,每转动一圈认为是行走1 米,所以每旋转1000 圈,认为车子前进1 公里。
系统设计是需要检测电机的转动情况,每转一周,计米计数器增加1。
二、出租车计费系统的功能模块的划分此系统共分为三个模块:1)、直流电机模块2)、按键模块3)、计费模块模块图如下:三、主要功能的实现直流电机模块:当出租车轮子每转动一圈认为是行走 1 米,所以每旋转1000 圈,认为车子前进1 公里。
即当轮子转的圈数distance在0~999之间,计米器就增1,;当轮子转的圈数distance大于999的时候,计米器不增1,;特殊情况:当轮子转的圈数distance刚好为999时,则进位co进一位。
按键模块:定义4个里程的中间信号D1,D2,D3,D4,每个中间信号都从0-9之间变化,当个位D1为9时,就向十位进一位,十位D2开始增1;后面三位同理。
最后把4个里程的中间信号D1,D2,D3,D4分别赋给里程输出信号k1,k2,k3,k4,最后显示的就是出租车所走的里程。
计费模块:把计费的四个输出信号c1,c2,c3,c4定义成buffer型,计费模块的功能大致跟按键模块的功能一样,即同理,最后显示的就是乘客需付的车费。
EDA技术与应用实践学习内容(出租车计费系统之设计方案分析)
技能点三十九(出租车计费系统之设计方案分析)
设计要求
假设某城市出租车的收费标准如下:白天起步价为3Km范围内5元,晚上(21时至次日5时)起步价为3Km范围内6元。
白天3Km以上续程单价每Km为1.8元,晚上3Km以上续程单价每Km为2.2元。
当按下复位键时,出租车计费器回复为初始状态,若为白天则显示费用5元,晚上则显示费用6元。
当按下开始键时,出租车则按上述收费标准进行计费。
试设计符合要求的计费管理系统并通过LCD1602来显示车费和行驶里程。
设计方案
根据出租车计费系统要求可知,整个出租车计费系统包括4个模块:速度模块、计程模块、计费模块和显示模块,如图 6 - 1所示:
图 6 - 1出租车计费系统组成框图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《EDA技术及应用》实训报告姓名满眼皆是繁华指导教师:2013 年 7 月 8 日实训题目:出租车计费器的设计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.2.1设计思路出租车计费器的整体结构包括:分频模块,计数模块,计费模块。
另外我还加了扩展功能:选择模块,计时模块。
不计价时,可以切换到显示时分秒。
这个功能需要选择模块和计时模块共同来实现。
通过分频模块产生一个脉冲信号模拟汽车的启动与停止,然后通过计数模块,计算出一共所行驶的路程,最后通过记价模块,将所行驶的路程计算出相对应的价钱。
计费显示起步价7元,2km之内为起步价,以后每1km在起步价7元的基础上增加1.6元;超过10km以后,每1km增加2.4元。
通过数学公式计算出费用,这就是费用计算模块。
结合生活中的出租车计费器,分别有3km以内,10km以内以及超过10Km以后的计费标准。
我设计用拨码开关来实现清零与车速的转换,并通过数码管来显示路程与车费。
车轮每转一圈就是一个脉冲,因此,脉冲频率的快慢就是车速的快慢,这就是车速的计算;把车轮每转一圈 4米的话,每来一个脉冲路程就加4米,这就是路程的计算;当路程的百位向千位进位时就产生一个脉冲也就是路程又走了1公里。
于是便实现了车行驶3km以内,只收起步价7元。
行驶超过3km 后,按每公里1.6元在7.0元的基础上增加。
行驶超过10km后(或超过20元路费),每公里加收50%的车费,即车费变为每公里2.4元。
1.2.2总体设计框图2 各个模块程序的设计2.1分频模块这个模块是设计不同车速的,通过d1与d2的值来设置四个不同的车速,其中00是最慢,01是中速,10是最快,11是停止。
这样更贴切生活。
2.2计费器模块分为输出路程和时间的模块,由分频,路程,车费,模块组成。
车速的计算:车轮每转一圈就是一个脉冲,因此,脉冲频率的快慢就是车速的快慢。
路程的计算:如果车轮每转一圈,每来一个脉冲路程就加4米。
计费器模块如下图所示:2.2.1车费模块这个模块就是实现题目要求的,在2km内收起步价7块,大于2km小于10km的时候每公里收1.6块,大于10公里以后每公里收2.4块,通过if循环嵌套来实现。
2.2.2路程模块这个模块是用来计算具体路程,并通过数码管体现出租车所行走的路程。
2.3计时模块不计价时,可以切换到显示时间,显示时分秒,也可人为校准。
方便在车上看时间。
用控制端高低电平控制选择。
计时模块路下图所示:2.4选择模块计费器和显示时分秒的切换选择,由输入端c控制。
3 调试过程写程序的过程中遇到了很多问题,编译的时候出现了很多错误,通过询问老师跟同学,再参考一些同学的程序后,解决了逐个问题,逐渐完善了自己的程序。
管脚锁定:4 功能测试4.1 测试仪器与设备EDA实训箱, Quartus II软件,数据连接线。
4.2 性能指标测试S14为1时开始计费,S0和S1可以调节路程跳动的速度,可切换3种不同的速度;K7按键校准车费;当S0 S1都为1时,停止计费,也表示车停止走动。
S15用来切换计费器和显示时间的功能,拨为0时,是计费器功能;拨为1时,是显示时间功能。
按键K7 K6 K5可以调节路程的设置,S14为0时是清零功能。
K2 K1 K0为时分秒的校准。
5 实训心得体会这次EDA实训将EDA知识运用到实际中,我从中受益匪浅。
我选择的实训题目是出租车计费器,刚开始看题目,有点摸不着头脑,查找资料,于是根据每一个要求,再根据老师上课讲的内容,有了个总体的思路。
通过这样实训,提高了动手能力,如何运用数码管显示十进制数,在将EDA课堂知识运用到实训中时,对课堂知识也有了更好的理解,在过程中遇到不懂的地方,通过请教老师和同学也明白了自己的不足之处,并将在以后的学习中进一步完善自己。
波形仿真时,一直有问题。
后来发现是因为自己操作不对,在proessing那儿要设置,我记得上课老师又给我们讲过,可能是我记得不牢。
通过这次实训,我运行软件Quartus II 熟练多了较以前来说。
下次做实训的时候要考虑周到,不清楚的时候要及时翻书,并回忆老师上课讲的内容和重点。
更在这一点上明白了,我们必须善于发现问题改正问题,同时要有一颗持之以恒的心。
用理论知识运用到实际中,大大提高了我们的学习兴趣,同时要感谢老师们的悉心教导。
6 参考文献[1] 谢自美.电子线路设计·实验·测试(第二版).武汉:华中科技大学出版社,2000[2] 江国强,EDA技术与应用(第2版),电子工业出版社,2008附录附录1:仿真波形图(部分模块)路程仿真计费器仿真时间仿真附录2:程序清单分频器module fpq(clk,d1,d2,nclk);input clk,d1,d2;output nclk;reg nclk;reg[24:0] num;always@(posedge clk)begincase({d1,d2})0:begin num=num+1;if(num>=19999999)begin nclk=1;num=0;endelse nclk=0;end1:begin num=num+1;if(num>=1999999)begin nclk=1;num=0;endelse nclk=0;end2:begin num=num+1;if(num>=199999)begin nclk=1;num=0;endelse nclk=0;end3:begin num=num+1;if(num>=0)begin nclk=1;num=0;endelse nclk=0;endendcaseendendmodule路程计算module lc(nclk,clrn,q,d);input nclk,clrn;output reg[15:0] q;output reg d;reg[11:0] i;reg[3:0] k;always @(negedge nclk or negedge clrn) beginif(clrn==0) begin q=0;i=0; endelsebegin i=i+1;k=i*4;if(k>9)begin q[3:0]=q[3:0]+1;k=0;if(q[3:0]>9)beginq[3:0]=0;q[7:4]=q[7:4]+1;if(q[7:4]>9)beginq[7:4]=0;q[11:8]=q[11:8]+1;d=1;if(q[11:8]>9)beginq[11:8]=0;q[15:12]=q[15:12]+1;endendendendelse d=0;endendendmodule车费计算module cf(d,clrn,q,j);input d,j;input clrn;output reg[15:0] q;reg c;always @(posedge d^j)beginif(~clrn) begin c=0;q=0;endelse c=c+1;if(c<=2) q[7:4]=7;else if(c<=10) begin q[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) begin q[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;if(q[11:8]>9)begin q[11:8]=q[11:8]-10;q[15:12]=q[15:12]+1;endendendif(c>14) c=11;endendmodule60进制计数器module cnt60(clrn,clk,j,q,cout);input clrn,clk,j;output reg [7:0] q;output reg cout;always @(posedge clk^j or negedge clrn)beginif (~clrn) q=0;else beginif (q=='h59) q=0;else q=q+1;if(q[3:0]=='ha) begin q[3:0]=0;q[7:4]=q[7:4]+1;endif (q=='h59) cout=1;else cout=0;endendendmodule24进制计数器module cnt24(clrn,clk,j,q,cout);input clrn,clk,j;output reg [7:0] q,cout;always @(posedge clk^j or negedge clrn)beginif (~clrn) q=0;else beginif (q=='h23) q=0;else q=q+1;if(q[3:0]=='ha) begin q[3:0]=0;q[7:4]=q[7:4]+1;endif (q=='h23) cout=1;else cout=0;endendendmodule分频1秒module fenpin1s(clk,cout);input clk;reg [24:0] q;output reg cout;always @(posedge clk)beginif(q==20000000-1) q=0;else q=q+1;if(q==20000000-1) cout=1;else cout=0;endendmodule总时间module zsj(qm,qf,qs,day,q);input[7:0] qm,qf,qs,day;output reg [31:0] q;alwaysbeginq[31:0]={day,qs,qf,qm};endendmodule选择切换功能module xuanze(q1,q2,q3,q,c,clk);input c,clk;input[15:0] q1,q2;input[31:0] q3;output reg[31:0] q;always @(posedge clk)begincase(c)0:begin q[31:16]=q1[15:0];q[15:0]=q2[15:0];end 1:begin q[23:0]=q3[23:0];q[31:24]=0;end endcaseendendmodule。