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

6.7出租车自动计费器设计6.7.1 设计要求设计一个出租车自动计费器,计费包括起步价、行车里程计费、等待时间计费三部分,用三位数码管显示金额,最大值为999.9元,最小计价单元为0.1元,行程3公里内,且等待累计时间3分钟内,起步费为8元,超过3公里,以每公里1.6元计费,等待时间单价为每分钟1元。
用两位数码管显示总里程。
最大为99公里,用两位数码管显示等待时间,最大值为59。
6.7.2原理描述根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块计量模块、译码和动态扫描显示模块,其系统框图如图6-63所示,各模块功能如下:图6-63出租车自动计费器系统框图1分频模块分频模块对频率为240的输入脉冲进行分频,得到的频率为16,10和1的三种频率。
该模块产生频率信号用于计费,每个1脉冲为0.1元计费控制,10信号为1元的计费控制,16信号为1.6元计费控制。
2 计量控制模块计量控制模块是出租车自动计费器系统的主体部分,该模块主要完成等待计时功能、计价功能、计程功能,同时产生3分种的等待计时使能控制信号1, 行程 3公里外的使能控制信号0。
其中计价功能主要完成的任务是:行程 3公里内,且等待累计时间3分钟内,起步费为8元;3公里外以每公里1.6元计费,等待累计时间3分钟外以每分钟1元计费;计时功能主要完成的任务是:计算乘客的等待累计时间,计时器的量程为59分,满量程自动归零;计程功能主要完成的任务是:计算乘客所行驶的公里数。
计程器的量程为99公里,满量程自动归零。
3 译码显示模块该模块经过8选1选择器将计费数据(4位码)、计时数据(2位码)、计程数据(2位码)动态选择输出。
其中计费数据4~ 1~送入显示译码模块进行译码,最后送至百元、十元、元、角为单位对应的数码管上显示,最大显示为999.9元;计时数据送入显示译码模块进行译码,最后送至分为单位对应的数码管上显示,最大显示为59秒;计程数据送入显示译码模块进行译码,最后送至以公里为单位的数码管上显示,最大显示为99公里。
EDA出租车自动计费器

EDA课程设计报告题目:出租车自动计费器院系:信工系班级:电信二班学号:111608060211姓名:陈森摘要 (3)引言 (4)第1章整体设计说明 (5)1、设计要求 (5)2、设计内容及思路 (5)第2章各模块的介绍 (6)1、电平转换模块 (6)2、等待时间显示模块 (7)3、行驶里程显示模块 (8)4、计费显示模块 (9)5、调用的计数器模块 (10)6、顶层模块 (10)第3章管脚锁定及硬件连线 (12)第4章程序下载与调试 (14)设计心得体会 (15)Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种用文本形式来描述数字系统硬件的结构和行为的Verilog语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
Verilog HDL和VHDL是目前世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。
现在,随着系统级FPGA以及片上系统的出现,软硬件协同设计和系统设计变得越来越重要。
传统意义上的硬件设计越来越倾向于与系统设计和软件设计相结合。
本文介绍了一种采用单片FPGA芯片进行出租车计费器的设计方法,主要阐述如何使用新兴的EDA器件取代传统的电子设计方法,利用FPGA的可编程性,简洁而又多变的设计方法,缩短了研发周期,同时使出租车计费器体积更小功能更强大。
本设计实现了出租车计费器所需的一些基本功能,计费包括起步价、行车里程计费、等待时间计费,同时考虑到出租车行业的一些特殊性,更注重了把一些新的思路加入到设计中。
主要包括采用了FPGA芯片,使用VHDL语言进行编程,使其具有了更强的移植性,更加利于产品升级。
人类社会已经进入信息化时代,信息社会的发展离不开电子产品的进步。
现代电子产品在性能提高、复杂度降低的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。
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课程设计出租车计费器

eda课程设计出租车计费器计程车计费器近年来,随着出行需求的增加,计程车成为现代都市生活中不可或缺的交通工具。
然而,随之而来的问题是如何准确计算乘客的乘车费用,以避免价格争议和不公平的情况发生。
因此,设计一个高效准确的出租车计费器成为了必备的需求。
本文将介绍一个EDA课程设计的出租车计费器,并详细阐述其功能和设计理念。
首先,出租车计费器需要具备自动计算乘车时间和里程的功能。
乘客上车后,计费起始点记录下当前的时间和里程数,当乘客下车时,计费器会根据乘车时间和里程数自动计算出乘车费用。
这样的设计方案使得计费过程更加便捷,无需司机或乘客自行计算费用,提升了计费的准确性和公正性。
其次,出租车计费器还需要考虑不同的计费规则和策略。
在不同地区和国家,计费规则可能会有所不同。
例如,在某些地方,计费可能以里程为主,而在另一些地方,计费可能以时间为主。
因此,计费器需要能够灵活调整计费策略,以适应不同的地区和客户需求。
除了基本的计费功能,出租车计费器还可以增加一些附加功能,以提升用户体验。
例如,可以添加语音导航功能,为乘客提供实时导航路线,让乘客更加便捷地到达目的地。
同时,也可以添加多种支付方式,如现金、刷卡、移动支付等,以满足不同乘客的支付需求。
这些附加功能的添加可以为乘客提供更加便利的乘车体验,提升出租车的竞争力。
此外,出租车计费器还需要注重安全性和可靠性。
计费器需要具备防伪造和防篡改功能,以防止不法分子通过篡改计费器数据来进行欺诈行为。
同时,计费器需要保证数据的准确性和可靠性,以便相关部门对出租车运营情况进行监管和统计。
这些安全性和可靠性的保障是出租车计费器设计的重要组成部分。
总之,EDA课程设计的出租车计费器是一个非常重要的工具,它能够准确计算乘车费用,提升用户体验,保证计费的公正性和准确性。
设计一个高效准确的出租车计费器是一个复杂的过程,需要考虑到不同地区和国家的计费规则,同时也需要注重安全性和可靠性。
希望通过持续的研发和创新,能够设计出更加先进的出租车计费器,为乘客提供更好的出行体验。
基于eda层次化设计方法的出租车计费器设计

出租车计费器设计是作为现代城市交通系统的一部分,其设计与实现对于提高城市交通效率、服务质量和用户体验至关重要。
在设计出租车计费器时,基于EDA(层次化设计方法)能够提供一个系统性的设计思路,从而确保设计的高质量、灵活性和可扩展性。
下面我将从简入深,逐步探讨基于EDA层次化设计方法的出租车计费器设计。
1. 初探EDA层次化设计方法让我们简单了解一下EDA层次化设计方法。
EDA是指电子设计自动化,是一种通过计算机进行电子系统设计的方法。
而层次化设计方法则是将系统划分为层次结构,在每个层次上进行设计和实现。
在出租车计费器设计中,可以将系统按照功能划分为不同的层次,如硬件层、软件层和用户界面层,以此来实现系统的模块化设计和管理。
2. 基于EDA层次化设计的出租车计费器设计在出租车计费器设计中,我们可以根据EDA层次化设计方法进行如下设计:2.1 硬件层设计在硬件层设计中,需要考虑计费器的硬件评台选择、计费器与出租车电子系统的接口设计、硬件模块的功能划分等。
通过模块化设计和EDA的思路,可以设计出高性能、可靠的硬件评台,同时实现计费器与出租车系统的无缝接口。
2.2 软件层设计在软件层设计中,需要考虑计费器的算法设计、数据处理、通信协议、故障处理等方面。
采用EDA的思想,可以将系统按照功能模块进行划分,实现模块间的独立性和可复用性,同时确保整个系统的稳定性和高效性。
2.3 用户界面层设计用户界面层设计是出租车计费器设计中至关重要的一环,它直接关系到用户的体验和操作便利。
基于EDA的设计方法,可以将用户界面的设计与硬件和软件功能进行隔离,从而实现用户界面的定制化和灵活性。
3. 总结与回顾通过采用基于EDA层次化设计方法的出租车计费器设计,我们可以实现系统功能模块化、灵活性和可扩展性,并且可以更加方便地进行系统的管理和维护。
在设计过程中,我们需要充分考虑不同层次之间的关联性和接口设计,从而确保整个系统的完整性和稳定性。
出租车自动计费器EDA设计

出租车自动计费器E D A设计(总9页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--出租车自动计费器EDA设计设计要求设计一个出租车自动计费器,计费包括起步价、行车里程计费、等待时间计费三部分,用三位数码管显示金额,最大值为元,最小计价单元为元,行程3公里内,且等待累计时间3分钟内,起步费为8元,超过3公里,以每公里元计费,等待时间单价为每分钟1元。
用两位数码管显示总里程。
最大为99公里,用两位数码管显示等待时间,最大值为59min。
原理描述根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块计量模块、译码和动态扫描显示模块,其系统框图如图6-63所示,各模块功能如下:图6-63出租车自动计费器系统框图1分频模块分频模块对频率为240Hz的输入脉冲进行分频,得到的频率为16Hz,10Hz 和1Hz的三种频率。
该模块产生频率信号用于计费,每个1HZ脉冲为元计费控制,10HZ信号为1元的计费控制,16Hz信号为元计费控制。
2 计量控制模块计量控制模块是出租车自动计费器系统的主体部分,该模块主要完成等待计时功能、计价功能、计程功能,同时产生3分种的等待计时使能控制信号en1, 行程 3公里外的使能控制信号en0。
其中计价功能主要完成的任务是:行程 3公里内,且等待累计时间3分钟内,起步费为8元;3公里外以每公里元计费,等待累计时间3分钟外以每分钟1元计费;计时功能主要完成的任务是:计算乘客的等待累计时间,计时器的量程为59分,满量程自动归零;计程功能主要完成的任务是:计算乘客所行驶的公里数。
计程器的量程为99公里,满量程自动归零。
3 译码显示模块该模块经过8选1选择器将计费数据(4位BCD码)、计时数据(2位BCD码)、计程数据(2位BCD码)动态选择输出。
其中计费数据jifei4~ jifei1~送入显示译码模块进行译码,最后送至百元、十元、元、角为单位对应的数码管上显示,最大显示为元;计时数据送入显示译码模块进行译码,最后送至分为单位对应的数码管上显示,最大显示为59秒;计程数据送入显示译码模块进行译码,最后送至以公里为单位的数码管上显示,最大显示为99公里。
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出租车计费器的设计考虑了乘客和司机的实际需求,既能够保证司机的收入,又能够提供方便快捷的支付方式给乘客。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
出租车自动计费器EDA设计6.7.1 设计要求设计一个出租车自动计费器,计费包括起步价、行车里程计费、等待时间计费三部分,用三位数码管显示金额,最大值为元,最小计价单元为元,行程 3公里内,且等待累计时间3分钟内,起步费为8元,超过3公里,以每公里元计费,等待时间单价为每分钟1元。
用两位数码管显示总里程。
最大为99公里,用两位数码管显示等待时间,最大值为59min。
6.7.2原理描述根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块计量模块、译码和动态扫描显示模块,其系统框图如图6-63所示,各模块功能如下:图6-63出租车自动计费器系统框图1分频模块&分频模块对频率为240Hz的输入脉冲进行分频,得到的频率为16Hz,10Hz和1Hz的三种频率。
该模块产生频率信号用于计费,每个1HZ脉冲为元计费控制,10HZ信号为1元的计费控制,16Hz信号为元计费控制。
2 计量控制模块计量控制模块是出租车自动计费器系统的主体部分,该模块主要完成等待计时功能、计价功能、计程功能,同时产生3分种的等待计时使能控制信号en1, 行程 3公里外的使能控制信号en0。
其中计价功能主要完成的任务是:行程 3公里内,且等待累计时间3分钟内,起步费为8元;3公里外以每公里元计费,等待累计时间3分钟外以每分钟1元计费;计时功能主要完成的任务是:计算乘客的等待累计时间,计时器的量程为59分,满量程自动归零;计程功能主要完成的任务是:计算乘客所行驶的公里数。
计程器的量程为99公里,满量程自动归零。
3 译码显示模块该模块经过8选1选择器将计费数据(4位BCD码)、计时数据(2位BCD码)、计程数据(2位BCD码)动态选择输出。
其中计费数据jifei4~ jifei1~送入显示译码模块进行译码,最后送至百元、十元、元、角为单位对应的数码管上显示,最大显示为元;计时数据送入显示译码模块进行译码,最后送至分为单位对应的数码管上显示,最大显示为59秒;计程数据送入显示译码模块进行译码,最后送至以公里为单位的数码管上显示,最大显示为99公里。
6.7.3层次化设计方案1出租车自动计费器系统的主体FPGA电路txai的VHDL设计根据6.7.2节的功能描述,该电路的核心部分就是计数分频电路,通过VHDL语言的顺序语句IF-THEN-ELSE根据一个或一组条件来选择某一特定的执行通道,生成计费数据、计时数据和里程数据。
其VHDL源程序如下:,LIBRARY IEEE;USEUSE taxi isport ( clk_240 :in std_logic; --频率为240Hz的时钟start :in std_logic; --计价使能信号stop:in std_logic; --等待信号fin:in std_logic; --公里脉冲信号cha3,cha2,cha1,cha0:out std_logic_vector(3 downto 0); --费用数据?km1,km0:out std_logic_vector(3 downto 0); --公里数据min1,min0: out std_logic_vector(3 downto 0)); --等待时间end taxi;architecture behav of taxi issignal f_10,f_16,f_1:std_logic; --频率为10Hz,16Hz,1Hz的信号signal q_10:integer range 0 to 23; --24分频器signal q_16:integer range 0 to 14; --15分频器signal q_1:integer range 0 to 239; --240分频器)signal w:integer range 0 to 59; --秒计数器signal c3,c2,c1,c0:std_logic_vector(3 downto 0); --十进费用计数器signal k1,k0:std_logic_vector(3 downto 0); --公里计数器signal m1:std_logic_vector(2 downto 0); --分的十位计数器signal m0:std_logic_vector(3 downto 0); --分的个位计数器signal en1,en0,f:std_logic; --使能信号beginfeipin:process(clk_240,start).beginif clk_240'event and clk_240='1' thenif start='0' then q_10<=0;q_16<=0;f_10<='0';f_16<='0';f_1<='0';f<='0';elseif q_10=23 then q_10<=0;f_10<='1'; --此IF语句得到频率为10Hz的信号else q_10<=q_10+1;f_10<='0';end if;if q_16=14 then q_16<=0;f_16<='1'; --此IF语句得到频率为16Hz的信号:else q_16<=q_16+1;f_16<='0';end if;if q_1=239 then q_1<=0;f_1<='1'; --此IF语句得到频率为1Hz的信号else q_1<=q_1+1;f_1<='0';end if;if en1='1' then f<=f_10; --此IF语句得到计费脉冲felsif en0='1' then f<=f_16;else f<='0';;end if;end if;end if;end process;main:process(f_1)beginif f_1'event and f_1='1' thenif start='0' then?w<=0;en1<='0';en0<='0';m1<="000";m0<="0000";k1<="0000";k0<="0000";elsif stop='1' thenif w=59 then w<=0; --此IF语句完成等待计时 if m0="1001" then m0<="0000"; --此IF语句完成分计数 if m1<="101" then m1<="000";else m1<=m1+1;end if;else m0<=m0+1;|end if;if m1&m0>"0000010"then en1<='1'; --此IF语句得到en1使能信号 else en1<='0';end if;else w<=w+1;en1<='0';end if;elsif fin='1' thenif k0="1001" then k0<="0000"; --此IF语句完成公里脉冲计数;if k1="1001" then k1<="0000";else k1<=k1+1;end if;else k0<=k0+1;end if;if k1&k0>"00000010" then en0<='1'; --此IF语句得到en0使能信号 else en0<='0';end if;!else en1<='0';en0<='0';end if;cha3<=c3;cha2<=c2;cha1<=c1;cha0<=c0; --费用数据输出km1<=k1;km0<=k0;min1<='0'&m1;min0<=m0; --公里数据、分钟数据输出end if ;end process main;jifei:process(f,start)begin$if start='0' then c3<="0000";c2<="0000";c1<="1000";c0<="0000";elsif f'event and f='1' thenif c0="1001" then c0<="0000"; --此IF语句完成对费用的计数if c1="1001" then c1<="0000";if c2="1001" then c2<="0000";if c3<="1001" then c3<="0000";else c3<=c3+1;end if;《else c2<=c2+1;end if;else c1<=c1+1;end if;else c0<=c0+1;end if;end if;end process jifei;`end behav;该源程序包含3个进程模块。
fenpin进程对频率为240Hz的输入脉冲进行分频,得到的频率为16Hz,10Hz和1Hz的三种计费频率信号,供main进程和jifei进程进行计费、计时、计程之用;main进程完成等待计时功能、计程功能,该模块将等待时间和行驾公里数变换成脉冲个数计算,同时产生3分种的等待计时使能控制信号en1, 行程 3公里外的使能控制信号en0;jifei进程将起步价8元预先固定在电路中,通过对计费脉冲数的统计,计算出整个费用数据。