版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于FPGA的出租车计价系统设计摘要本文在Quartus9.0软件平台上提出了一种基于FPGA的出租车计价器设计方案。通过VHDL描述出租车计费系统的运行过程和控制方案,模拟汽车的启动、停止、计费、预设等功能,并用数码管显示票价、里程、等待时间等信息。该系统可配合速度传感器应用于不同类型的出租车,实现计费等所需功能。这种设计的优点是:生产可靠、稳定、灵活、开发周期短、效率高、维护简单。关键词:计程器;高密度脂蛋白目录 TOC o 1-3 h z u HYPERLINK l _Toc357605220 摘要 PAGEREF _Toc357605220 h 1 HYPERLINK l _Toc35
2、7605221 摘要 PAGEREF _Toc357605221 h 2 HYPERLINK l _Toc357605222 1简介 PAGEREF _Toc357605222 h 1 HYPERLINK l _Toc357605223 1.1设计背景 PAGEREF _Toc357605223 h 1 HYPERLINK l _Toc357605224 1.2国外研究现状 PAGEREF _Toc357605224 h 1 HYPERLINK l _Toc357605225 1.3研究项目的目的和意义 PAGEREF _Toc357605225 h 2 HYPERLINK l _Toc357
3、605226 2开发工具和关键技术 PAGEREF _Toc357605226 h 3 HYPERLINK l _Toc357605227 2.1 Quartus II PAGEREF _Toc357605227 h 3简介 HYPERLINK l _Toc357605228 2.2 VHDL语言的优势 PAGEREF _Toc357605228 h 3 HYPERLINK l _Toc357605229 3系统设计 PAGEREF _Toc357605229 h 5 HYPERLINK l _Toc357605230 3.1基本设计要求 PAGEREF _Toc357605230 h 5 H
4、YPERLINK l _Toc357605231 3.2分析与步骤 PAGEREF _Toc357605231 h 5 HYPERLINK l _Toc357605232 3.3实验方案及预期功能 PAGEREF _Toc357605232 h 5 HYPERLINK l _Toc357605233 3.4方案设计与演示 PAGEREF _Toc357605233 h 6 HYPERLINK l _Toc357605234 4相关原理图和设计文件 PAGEREF _Toc357605234 h 9 HYPERLINK l _Toc357605235 4.1分频模块 PAGEREF _Toc35
5、7605235 h 9 HYPERLINK l _Toc357605236 4.2计量模块 PAGEREF _Toc357605236 h 10 HYPERLINK l _Toc357605237 4.3控制模块 PAGEREF _Toc357605237 h 11 HYPERLINK l _Toc357605238 4.4计费模块 PAGEREF _Toc357605238 h 11 HYPERLINK l _Toc357605239 4.5数字模块 PAGEREF _Toc357605239 h 12 HYPERLINK l _Toc357605240 5整体模拟 PAGEREF _Toc
6、357605240 h 15 HYPERLINK l _Toc357605241 6设计总结 PAGEREF _Toc357605241 h 17 HYPERLINK l _Toc357605242 6.1设计结果 PAGEREF _Toc357605242 h 17 HYPERLINK l _Toc357605243 6.2不足之处 PAGEREF _Toc357605243 h 17 HYPERLINK l _Toc357605244 至 PAGEREF _Toc357605244 h 18 HYPERLINK l _Toc357605245 参考文献 PAGEREF _Toc357605
7、245 h 19 HYPERLINK l _Toc357605246 附录 PAGEREF _Toc357605246 h 201 简介1.1 设计背景汽车仪表是乘客和司机的交易标准。它是出租车行业发展的重要标志,是出租车中最重要的工具。它涉及交易双方的利益。对于广大出租车司机和乘客来说,性能良好的计价器是必不可少的。因此,对汽车仪表的研究也是有意义的。随着生活水平的提高,人们不再满足于衣食住行的享受,出行的舒适性越来越受到人们的关注。因此,出租车行业以低成本、高品质的服务为人们带来了出行的乐趣。然而,始终存在着困扰行业发展的买卖纠纷。出租车行业解决这一矛盾的最好办法就是改进计价器,使用更精密
8、的计价器,为乘客提供更便捷、更高效的服务。我国常用多年的仪表只有单一的测量功能。最早的仪表全部采用机械齿轮结构,只有简单的里程功能,可以说早期的仪表是里程表。随着科学技术的发展,已经生产出第二代仪表。手摇电脑与机械结构相结合,实现半机械半电子化。此时,它也完成了在记录里程的同时开票的工作。大规模集成电路的发展产生了第三代电表,即全电子式电表。它的功能也在不断完善。计程表是一种特殊的计量仪表,安装在出租车上,可以连续累积,在旅途中随时只有乘客付费。随着电子技术的发展和电表的不断改进和完善,已经具备了自主收费、打印发票和语音提示、按时间自主更改单价等功能9 .1.2 国外研究现状我国第一家生产仪表
9、的公司是城市起重机厂。最早的仪表都是机械齿轮结构,只能执行简单的里程功能。可以说,早期的仪表是里程表。随着科学技术的发展,已经生产出第二代仪表。采用手摇电脑与机械结构相结合,实现半机械半电子化,还可边测距边完成计价工作。大规模集成电路的发展产生了第三代电表,即全电子化电表,其功能也在不断完善。计价器初次使用时的主要作用是按里程计价,要求精度高,可靠性好。随着电子技术的发展和仪表的不断改进和完善,产生了许多附加功能。例如:(1)LED显示功能,使用数码管使仪表实现多屏显示功能,可同时显示各种运行数据,让乘客一目了然;(2) 永久时钟功能。在非工作状态下,使用日历时钟芯片,使仪表显示常驻时钟;(3
10、) 存储功能,可存储多个操作数据,方便查询。新数据存储器的应用使仪表的运行数据在停电时可以保存10年。随着集成电路和计算机技术的飞速发展,系统的可靠性和通用性将得到提高,生产体积小、重量轻、功耗低、速度快、成本低、性能好的产品将成为主流未来产业8 。1.3 研究目的和意义随着电子技术的不断发展和进步,集成电路的设计方法也在不断更新。如今,传统的手动设计流程已被先进的电子设计自动化 (EDA) 工具所取代。只有基于硬件描述语言和逻辑综合的子项下的电路设计方法才能满足集成电路系统日益复杂的设计要求,才能缩短设计周期,满足集成电路系统日益迫切的需求。在这种情况下,传统的计程表设计方法已经跟不上现在的
11、节奏,以前的计程表功能远远不能满足实际需要。以往的计程表不稳定,功能上的不足,大家开始寻找功能更强大、性能更稳定、价格更低的新型计程表。大规模可编程逻辑器件的出现和VHDL硬件描述语言的出现使这一切成为可能。本设计的研究目标和意义在于使用一种价格低廉、性能稳定、扩展性强、适应当前出租车市场需求的出租车计价器,以解决当前出租车计价器存在的一系列问题12 .2 开发工具和关键技术2.1 Quartus II 简介Quartus II 是 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/3317625.htm t _blank Altera的
12、综合 PLD 开发 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/37.htm t _blank 软件。它支持原理图、VHDL、VerilogHDL 和 AHDL(Altera 硬件描述语言)等设计输入形式。它嵌入了自己的合成器和模拟器,可以从设计中完成设计。输入完整的 PLD 设计流程到硬件配置。Quartus II 可以在 XP、Linux 和 Unix 上使用。除了使用 Tcl HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/54.htm t _blank 脚本完成设计过
13、程外,它还提供了完整的用户图形界面设计方法。具有运行速度快、界面统一、功能集中、易学易用等特点。Quartus II 支持 Altera 的 IP 内核并包含 LPM/MegaFunction 宏功能块库,使用户能够充分利用成熟的块,简化设计复杂性并加快设计速度。对第三方 EDA 工具的良好支持也使用户能够在设计过程的各个阶段使用熟悉的第三方 EDA 工具。此外,Quartus II 通过与 DSP Builder 工具和 Matlab/Simulink 相结合,可以轻松实现各种 DSP 应用系统;它支持Altera的系统级可编程(SOPC)开发,集系统级设计、 HYPERLINK %20%2
14、0%20%20:/baike.baidu%20%20%20%20/view/2517315.htm t _blank 嵌入式软件开发、可编程逻辑设计于一体,是一个综合开发平台。Maxplus II 作为Altera 上一代PLD 设计软件,因其出色的易用性而被广泛使用。目前 Altera 已停止更新对 Maxplus II 的支持。与 Quartus II 相比,不仅是支持的设备类型丰富,而且图形界面的变化。 Altera 在 Quartus II 中包含了 SignalTap II、Chip Editor 和 RTL Viewer 等多种设计辅助工具,集成了 SOPC 和 HardCopy
15、设计流程,并继承了 Maxplus II 友好的图形界面和易于使用的方法。数字系统设计师由于其强大的设计能力和直观易用的界面 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/3114367.htm t _blank 1 。2.2 VHDL语言的优势(1) VHDL语言功能强大,设计方法多样VHDL语言具有强大的语言结构,非常复杂的硬件电路只能用简单明了的VHDL语言程序来描述。同时,它还具有多级电路设计描述功能。此外,VHDL语言可以同时支持同步电路、异步电路和随机电路的设计和实现,这是其他硬件描述语言所无法比拟的。(2) VHDL语言
16、具有强大的硬件描述能力VHDL语言具有多级电路设计描述功能,既可以描述系统级电路,也可以描述门级电路。同时,VHDL语言还支持惯性延迟和传输延迟,从而可以准确建立硬件电路的模型。 VHDL语言强大的描述能力还体现在其丰富的数据类型上。 VHDL语言同时支持标准定义的数据类型和用户定义的数据类型,给硬件描述带来了更大的自由度。(3) VHDL语言可移植性强VHDL语言的强大的可移植性主要体现在:对于同一硬件电路的VHDL语言描述,可以从一个模拟器移植到另一个模拟器,从一个合成器移植到另一个,或者从一个工作平台移植到另一个工作平台。执行平台。(4) VHDL语言的设计描述与设备无关使用VHDL语言
17、描述硬件电路时,设计者无需首先考虑要设计的器件。这样做的好处是设计者可以专注于电路设计的优化而不考虑其他问题。硬件电路的设计描述完成后,VHDL语言可以实现多种不同的器件结构。(5) VHDL语言程序易于共享和复用VHDL语言采用基于库的设计方法。在设计过程中,设计人员可以构建各种可重用的模块。大规模硬件电路的设计,不能从门级电路一步步设计,而是一些模块的积累。这些模块可以预先设计或使用以前设计的存档模块,将这些模块存储在库中,然后在未来的设计中重用它们。由于VHDL语言是一种用于描述、仿真、综合、优化和布线的标准硬件描述语言,它可以方便地在设计人员之间交流和共享设计结果,从而减少硬件电路设计
18、的工作量,缩短开发周期3 。3 系统设计3.1 基本设计要求费用计算,出租车起步价8元。里程不足3km时,按起步价计算;里程大于3公里时,按每公里2.8元计算;累计等待时间超过2分钟,按每分钟1.5元收费;里程,即汽车的行驶里程,以两位数显示,显示方式为“XX”,单位为公里;等待时间以两位数显示,显示方式为“XX”。等待时间的定义是:当汽车以小于等于12km/h的速度“Waiting”行驶时;费用=8+(里程-3)*2.8+(等待时间-2)*1.5,单位:元;成本显示,四位数显示,显示方式为“XXX.X”,单价为元。3.2 分析及步骤第一步是选择实验题目后,对实验要求进行逻辑合理的分析,明确实
19、验目的。第二步,画出实验系统框图,把大实验分成小模块,定义好每一个小目标,等待每一个被打败。第三步,画出各个小模块的实验流程图,方便各个模块的编程。第四步,依次编译各个模块的小程序,编译软件,纠错。第五步,将各个小模块生成的元件图连接成一个整体原理图。第六步,模拟分析实验结果的实现效果。第七步,对实验结果不合理的程序和原理图进行修正;第八步,去实验室,使用电子综合设计实验箱,软硬件结合,看看实际效果。3.3 实验方案及预期功能出租车计费系统的基本设计要求是通过可编程逻辑器件和VHDL硬件描述语言实现的。对于本设计,设计主体是外部输入模块、控制模块和显示模块。对输入的频率进行划分,得到单价超过公
20、里数对应的频率,根据车辆行驶的公里数控制最终成本。然后通过解码显示模块,最终在数码管上显示计费金额。本设计采用共阴极七段数码管。数码管控制解码显示模块根据十六进制数与七段显示段码表的对应关系,用七段数码管显示十进制输入信号,由七段数码管显示.七段发光二极管组成数显,利用不同的字段组合,可分别显示09。在本设计中,要求输出段信号为高电平有效。根据项目要求,系统设计采用自顶向下的设计方法,设计流程图如下:设计输入设计输入编译仿真与分析编程系统测试制作原理图修改图3-1 出租车计费系统设计流程图出租车计费系统由外部输入模块、控制模块和显示模块三部分组成。控制模块是整个系统的核心,由分频模块、控制模块
21、、测量模块和解码显示模块组成。分频模块:对系统时钟进行分频。控制模块:主要完成对仪表状态的控制。计量模块:完整的计价、计时、计量功能。解码模块:完成定价、计时、里程数据的展示。预估功能:出租车计费起步价8元。里程不足3km时,按起步价计算;里程大于3公里时,按每公里2.8元计算;累计等候时间超过2分钟,按每分钟1.5元计算。费用。(1)定价区间:0999.9元;定价分辨率:0.1元;(2)计米范围:099元;(3)计时圆周:59分;定时分辨率:1分钟;3.4 方案设计与论证方案一:主要目的是达到:出租车起步价8.00元,行驶里程3km以下按起步价计算;里程大于3公里时,按每公里2.8元计算;累
22、计等待时间超过2分钟,按每里程计算。 1.5元/分钟;费用=8+(里程-3)*2.8+(等待时间-2)*1.5,单位:元。系统有两个脉冲输入信号clk_420和fin,两个控制输入开关启停;控制过程为:start为充电启动开关,当start为高电平时,系统根据输入条件开始充电。系统的输出信号有:总成本c0c3、行驶距离k0k1、等待时间m0m1等。系统有两个脉冲输入信号clk_420hz和fin,其中clk_420hz将根据设计要求分为28hz、15hz和1hz作为脉冲分别用于公里充电和超时充电。当乘客上车并开始驾驶时,鳍脉冲到来,进行驾驶充电。这时需要将stop设置为0;如果需要停止等待,将
23、停止转高电平,去掉鳍输入脉冲等待。计费;当乘客下车不等待时,直接将start设置为0,系统停止工作。系统由分频模块、控制模块、计量模块和计费模块四部分组成。计量模块是整个系统实现里程计数和时间计数的重要组成部分;控制模块是实现不同充电方式的选择部分;本设计通过分频模块产生不同频率的脉冲信号来实现对系统的充电。计量模块采用1HZ驱动信号,计费模块采用28HZ、15HZ驱动信号;计量模块每计数一次,计费模块实现28或15计数,实现计时时为1.5元/分钟,计算里程。费用为2.8元/公里。方案一、出租车计费系统组成框图3-2如下:时钟脉冲时钟脉冲分频器控制器等待脉冲公里脉冲计费/复位 显 示计 费计
24、时图3-2 出租车计费系统组成框图图 3-2 以非常客观的方式显示了仪表的一般工作流程。当出租车上有乘客时,电表开始工作,开始充电:控制器的核心部分,即FPGA的主控部分开始运行。确定里程和等待时间,根据起步价,然后加上每公里的价格,这些都是预设的,不需要手动输入,然后正式进入计费模块,读取初始值,调用计费模块,通过显示模块,将距离和费用同步显示给乘客。当旅客到达目的地后,计费结束,将最终结果显示给旅客了解,然后初始化计费,等待下一次计费。方案二:主要目的是实现:出租车起步价8.00元,行驶里程小于3km时计算起步价;里程大于3公里时,按每公里2.8元计算;累计等候时间超过2分钟,按里程计算。
25、 1.5元/分钟计费;计费方式如下:费用=8+(等待时间-2)*1.5(距离3km)系统由分频模块、控制模块、计量模块和计费模块四部分组成。计量模块是整个系统实现里程计数和时间计数的重要组成部分;控制模块是实现不同计费方式的选择部分;但主要是通过设计一定的函数关系来实现,而不是像第一种方案那样依靠频分。里程和停车时间分开计费。(1)从设计目的来看,经过研究和考虑实际情况,感觉第一种方案的设计目的更符合实际情况,对乘客和司机都比较公平。因此,决定采用方案一的设计目的作为设计目标。(2)从设计正确性和实现可能性出发,发现很难用VHDL语言设计一定的函数关系来达到目的,编程时也陷入了困境。另外,在之
26、前的实验课的基础上,我已经熟悉分频器的设计和应用,所以我决定用所学来解决问题,所以我决定放弃第二种方案,选择设计思路的第一个计划。4 相关原理图和设计文件4.1 分频模块分频模块对系统时钟进行分频,如图4-1所示,得到一个频率为420HZ的脉冲从co端输出;本设计提供1HZ、15HZ、28HZ、1HZ三种频率,实现出租车在行驶或候车时的不同充电。具体示意图如图4-3所示。 clk为输入信号,分频后得到输出信号clk28、clk15、clk1。图 4-1 420HZ 分频模块图4-2 15HZ、28HZ、1HZ三种不同频率的分频模块图4-3 分频模块整体电路图图 4-4 功能级仿真结果从图 4-
27、4可以看出,28、15 和 1 Hz 的分频时钟脉冲是正确的。clk_28表示实现28次计数,系统时钟周期为1/420s,28次计数所需时间为28*(1/420)s,对应频率为420/28=15HZ。clk_15表示实现15次计数,系统时钟周期为1/420s,15次计数所需时间为15*(1/420)s,对应频率为420/15=28HZ。4.2 计量模块该模块实现了出租车在行驶和等候过程中的计时、计量功能。图 4-5。计时部分:计算乘客的累计等候时间。当等待时间大于2min时,本模块en1的使能信号变为1;当clk1有上升沿时,定时器会自动加1,定时器的范围是59min。满量程后自动归零。测距部
28、分:计算乘客行驶的公里数。当行驶距离大于3km时,本模块en0使能信号变为1;续航99km,满量程后自动归零。图 4-6。图 4-5 计量模块电路图图4-6 计量模块仿真电路图图 4-7 功能级仿真结果从图4-7可以看出,当等待时间小于2min时,本模块输出信号en1保持为0; clk50M 和 start 都是输入,start 为 1,表示中间没有停止,一直往前走,所以输出信号 en0 为 1 ,表示计算距离,这里是一个极端的方法,不考虑等待时间。4.3 控制模块本模块主要通过两个不同的输入使能信号ent0和ent1选择输出两个输入脉冲clk_in1和clk_in2,即实现选择器功能;使能信
29、号为计量模块中的输出,两个输入脉冲为分频模块输出的28HZ和15HZ脉冲;该模块实现了两个脉冲的选择。图 4-8 和图 4-9。图4-8 控制模块原理电路图图4-9 控制模块仿真示意图图 4-10 功能级仿真结果结合图 4-9 和图 4-10 可以看出,当 ent0 为高电平时,输出为 out,即此期间的 clk_in1 (clk_28);当ent1为高电平时,输出为out,此时为clk_in2。 (clk_15)。 【时间超过输出out(clk_in1),由clk_28控制,420/28=15相当于给计费模块增加15个角;距离超过输出out(clk_in2),由clk_15控制,420/15
30、=28相当于计费模块增加28个角,共2.8元。 4.4 计费模块本模块根据输入clk2信号的变化调整成本计数,c0、c1、c2、c3分别代表成本输出部分的角度、元、十元、百元的输出。图 4-11 和图 4-12。图4-11 计费模块组件示意图图4-12 计费模块仿真电路图图 4-13 功能级仿真结果从图4-13可以看出,c3c2c1c0的初始值为0080,即起始价格为8元。随着clk高电平的到来,c3、c2、c1、c0逐级相加计数。当c0数到9时,产生进位,c1加1;当 c1 计数到 9 时,产生一个进位,c2 加 1。 ;当 c2 计数到 9 时,产生进位,并且 c3 加 1 。4.5 数字
31、模块数字模块由图 4-14 所示的模八计数器模块、图 4-15 所示的片选模块和图 4-16 所示的数显模块组成。本设计采用共阴极数码管作为实验的显示模块。低电平有效,采用动态显示的过程。数码管显示模块的作用是显示输入的里程和总费用。为了使七段数码管能够显示所要表示的数值,需要使用解码器将要表示的数值解码为数码管所需的驱动信号。示意图如图 4-18 所示。图 4-14 模八计数器模块组件示意图图4-15 片选模块示意图图 4-16 数显模块组件示意图图 4-17 测试写入定值模块图 4-18 数字模块测试仿真电路图图 4-19 功能级仿真结果从图4-19可以看出,随着clk上升沿的到来,qcn
32、t会加1,scan、seg也会随着qcnt输入的值而变化,即在汽车行驶过程中,根据行驶的距离,得到的解码后,在对应的数码管上显示对应的数值。以第一个周期为例:当qcnt为0时,扫描输出为7F,即左起第一个数码管点亮,seg输出为70,即数码管显示7;当clk先上升沿到达时,qcnt变为1,扫描输出为BF,即左起第二个数码管点亮,seg输出为5F,即数码管上显示6;随着clk第二个上升沿的到来,qcnt变为2,扫描输出为DF,即左起第三个数码管点亮,seg输出为5B,即屏幕上显示5数码管;随着clk第四个上升沿的到来,qcnt变为3,scan输出为EF,即左起第三个数码管点亮,seg输出为33,
33、即数码管上显示4 ;随着clk第五个上升沿的到来,qcnt变为4,扫描输出为F7,即点亮左起第二个数码管,seg输出为30,即数码管上显示1;随着clk第6个上升沿的到来,qcnt变为5,扫描输出为FB,即左起第一个数码管导通。六位数码管,seg输出为7E,即数码管显示0;随着clk第7个上升沿的到来,qcnt变为6,扫描输出为FD,即左数第7位数码管点亮。 seg输出为79,即数码管显示3;随着clk第8个上升沿的到来,qcnt变为7,扫描输出为FE,即左起第8个数码管点亮,seg输出为6D,即屏幕上显示2数码管。5 整体模拟在 QuartusII 中基本完成所有底层设计文件的编辑后,开始编
34、辑顶层设计文件。上面的源程序生成了对应的模块框图,上面的框图组合成顶层原理图5-1 :图 5-1 顶层原理图图 5-2 3KM 仿真结果图 5-3 3KM 以外的仿真结果图5-2和图5-3是模拟顶层原理图得到的,对图5-2的分析表明:位选择扫描:7F对应数码管段码seg:7E,表示数码管显示0;即 fei0 为 0;位选择扫描:BF对应数码管段码seg:7F,表示数码管上显示8;即 fei1 为 8;位选择扫描:DF、EF、F7、FB、FD、FE对应数码管段码seg:7E,表示数码管上显示0;即fei2为0; fei3 为 0; t0、t1、mile0、mile1都是0,这样会得到8元的起步价
35、。图中,从 7F 到下一个 7F 有一段路段。 7F、BF、DF、EF、F7、FB、FD、FE从左到右选择8个数码管分别显示fei0、fei1、fei2、fei3、t0、t1、mile0、mile1,垂直扫描对应seg 的下一行,然后根据 seg 段码判断显示 0 到 9 中的哪个数字。 (具体对照表见附件一)可以看出,计程器可以达到预期的目标:(一)起步价8.00元。里程3km以下,起步价8元; (如图5-2所示)(2)里程大于3公里时,按每公里2.8元计算;累计等候时间超过2分钟,按每分钟1.5元收费。只是上面的模拟等待(停止)时间设置的比较短,所以在计费中没有对等待时间进行计费。如图5-
36、3所示,行驶11公里时,费用=8+(11-3)*2.8=30.4,与图中29.9元基本一致(有一定误差)。6 设计总结6.1 设计结果本设计采用硬件描述语言按照自顶向下的方法,将一个大系统分成几个相对独立的模块进行设计、仿真,最后仿真为一个整体。实现了计程里程计费、计费、费用、时间、里程显示等通用功能,基本满足本毕业设计的基本要求。根据论文要求,进行设计工作,具体实现如下功能:(1)里程计算,传感器检测车轮是否在移动。如果它在某个时间移动,则记录车轮的转数,从而自动计算出车轮转数的长度,从而计算出租车的行驶情况。距离。(2)费用计算,出租车起步价为8.00元。里程不足3km时,按起步价计算;里
37、程大于3公里时,按每公里2.8元计算;累计等候时间超过2分钟,按每分钟1.5元计算。费用;(3)里程,即汽车的行驶里程,以两位数显示,显示方式为“XX”,单位为公里;等待时间以两位数显示,显示方式为“XX”。费用=8+(里程-3)*2.8+(等待时间-2)*1.5,单位:元;成本显示为四位数字,显示方式为“XXX.X”,单价为元。6.2 弱点未实施对等待时间的控制(定义为汽车以小于或等于 12km/h 的速度行驶时的“等待”)。至时光荏苒,一个学期的毕业论文即将结束,我四年的大学生活也即将结束。回首这段求学之路,时而快乐,时而忧郁。在美丽的校园里,天真烂漫的我,如今已经蜕变成了一个睿智沉着的少
38、年。由于缘分的安排,我很幸运能遇到很多好老师和好朋友。“当我喝它的流时,我想起它的源头,当我成为学生时,我想起了我的老师。”在完成本论文之际,谨向尊敬的导师倪晓琪表示衷心的感谢和崇高的敬意。从选题、定题、撰写开题报告,到论文的初步定稿,倪老师一直认真负责,督促指导,让我按时完成任务。倪老师给了我足够的时间去驾驭,让我有足够的时间去处理工作和毕业设计的双重任务。另外,我通过网络查询对出租车计费系统的研究有了深入的了解,不仅丰富了我的专业知识,更重要的是,极大地提高了利用现有知识分析和解决问题的能力。培养了正确的科研态度,是社会的宝贵财富。其次,我要感谢我的班主任婷婷老师,以及所有在大学里教过我们
39、四年的老师们。他们的悉心教导和培养,让我掌握了很多专业知识,为以后的工作打下了良好的基础。我还要感谢我的父母给了我生命,给了我接受教育的机会。他们在生活中给予我的关怀和精神鼓励是我学习的动力。最后,我要感谢我的同学和朋友,他们陪伴我成长,给我鼓励和帮助。论文快要写完的时候,我的心情无法平静。从立项到论文顺利完成,有多少可敬的老师、同学、朋友给了我无声的帮助,请在这里接受我的诚挚祝福!参考1洪伟等。基于QuartusII的FPGA/CPLD设计。电子工业, 2006:1531。2百度图书馆baike.baidu./view/1616088.htm3 李东. VHDL语言编程与应用。第 2 版。邮
40、电大学,2001:3338。4 风扇。 HYPERLINK %20%20%20%20:/%20%20%20%20cnki%20%20%20% t _blank VHDL标准化硬件设计语言J计算机工程与应用,1998 01:24。5 辛艳,周风臣,聂春燕。 EDA技术实验与课程设计M.清华大学,2006:5672。6于晓,方强,黄万宁。 EDA技术与VHDL电路开发与应用实践M电子工业,2009:3478。7宋,黄继业 EDA 技术实用教程。第 3 版。 M.科学,2005:2560。8 Yanling, Chun, etc. MAX+PLUSII平台下VHDL数字电路设计。西电, 2005:
41、123130.9 康华光,主编。电子技术的基础仿真部分。高等教育,2006:1126。10 严石,主编。数字电子技术基础。高等教育,2003:107186。11 王志明,吴东风 HYPERLINK %20%20%20%20:/%20%20%20%20cnki%20%20%20% t _blank 论VHDL语言在电子电路中的应用J.科技信息, 2010, 17: 1021.12 席立申,董丽梅,田孟洲,闫宏伟。基于VHDL语言的出租车计费系统设计J现代电子技术,2003年第3期:1232。13 凌寒白 VHDL中局部变量和局部信号的作用J电子工程师,1999,第12期:2324。14 牛振东,
42、宋瀚涛,明业。 VHDL语言行为描述划分的研究与实现J计算机学报,1995,第11期:3444。15 侯伯恒,顾鑫 VHDL硬件描述语言和数字逻辑电路设计。电子科技大学,1999:201223.附录附录一:对照表模 8 计数器输出 qout3.0 连接到片选模块 qo3.0。从片选模块VHDL程序来看,也就是附录7,(1)当qo输出0000时,输出fei0,即cost的角度;(2)当qo输出0001时,输出fei1,即成本元素;(3)当qo输出0010时,输出fei2,即手续费的十元数字;(4)当qo输出0011时,输出fei3,即成本的百元;(5)当qo输出0100时,输出t0,即时间的一位
43、数;(6)当qo输出0101时,输出t1,即fee的十位数字;(7)当qo输出0110时,输出mile0,即时间的一位数;(8)当qo输出0111时,输出mile1,即时间的第十位。模 8 计数器输出 qout3.0 连接到数字模块 qcnt3.0。从数字模块VHDL程序来看,即附录8,(1)qcnt输出(01111111)时,扫描7F,选择左起第一个数码管;(2)当qcnt输出(10111111)时,scan为BF,选择左起第二个数码管;(3)qcnt输出(11011111)时,scan为DF,选择左起第三个数码管;(4)当qcnt输出(11101111)时,scan为EF,选择左起第四个数
44、码管;(5)当qcnt输出(11110111)时,扫描为F7,选择左起第五个数码管;(6)当qcnt输出(11111011)时,scan为FB,选择左起第六个数码管;(7)当qcnt输出(11111101)时,scan为FD,选择左数第七个数码管;(8)当qcnt输出(11111110)时,scan为FE,选择左起第八位数码管。片选seg3.0的输出端接数字模块adr3.0,adr3.0控制数码管的段码,用于显示数码管上的数字;(1)adr3.0输出0时,seg6.0输出7E,数码管显示数字0;(2)当adr3.0输出1时,seg6.0输出30,数码管显示数字1;(3)adr3.0输出2时,s
45、eg6.0输出6D,数码管上显示数字2;(4)当adr3.0输出3时,seg6.0输出79,数码管上显示数字3;(5)adr3.0输出4时,seg6.0输出33,数码管显示数字4;(6)当adr3.0输出5时,seg6.0输出5B,数码管上显示数字5;(7)adr3.0输出6时,seg6.0输出5F,数码管显示数字6;(8)当adr3.0输出7时,seg6.0输出70,数码管上显示数字7;(9)adr3.0输出8时,seg6.0输出7F,数码管上显示数字8;(10)当adr3.0输出其他值时,seg6.0输出7B,数码管显示数字9。附录二: 420HZ分频模块VHDL语言程序:图书馆 ieee
46、;使用 ieee.std_logic_1164.all;使用 ieee.std_logic_unsigned.all;实体 FP420 是港口(clk:在std_logic中;co:缓冲区标准逻辑;qcnt:缓冲区 std_logic_vector(15 下降到 0));结束FP420;fp420 的架构行为是开始进程(时钟)开始if(clkevent and clk=1) 那么如果(qcnt=59523)那么qcnt=00000;co= 不是 co;别的qcnt=qcnt+1;万一;万一;结束进程;结束行为;附录3: 28、15、1HZ分频模块VHDL语言程序:图书馆ieee ;使用 iee
47、e.std_logic_1164.all;使用 ieee.std_logic_arith.all;使用 ieee.std_logic_unsigned.all;实体分品是端口 ( clk_420 :in std_logic; - 系统时钟clk_28:输出标准逻辑; -28分频clk_15:输出标准逻辑; -15分频clk_1:输出标准逻辑); -1分频结束分频;fenpin 的架构 rt1 是信号 p_28:整数范围 0 到 27; - 定义中间信号量信号 p_15:整数范围 0 到 14;信号 p_1:整数范围 0 到 419;开始进程(clk_420)开始if (clk_420event
48、 and clk_420=1 )then如果 p_28=27 那么 p_28=0;clk_28=1; - 0到27都是0;等于 27 都是 1否则 p_28=p_28+1;clk_28=0; -获取28Hz频率信号万一;如果 p_15=14 那么 p_15=0;clk_15=1;否则 p_15=p_15+1;clk_15=0; -获取15hz频率信号万一;如果 p_1=419 那么 p_1=0;clk_1=1;否则 p_1=p_1+1;clk_1=0; -获取1hz频率信号万一;万一;结束进程;结束 rt1;附录4:测量模块VHDL语言程序:图书馆 ieee;使用 ieee.std_logic
49、_1164.all;使用 ieee.std_logic_arith.all;使用 ieee.std_logic_unsigned.all;实体吉良是port(s: in std_logic; 计费开始信号fin:在std_logic中; 里程脉冲信号停止:在 std_logic 中; 一边开车,一边等待中间的信号clk1:在标准逻辑中; 驱动脉冲en1,en0:缓冲区标准逻辑; 计费单价使能信号k1,k0: 缓冲区 std_logic_vector(3 downto 0); 里程数m1,m0: 缓冲区 std_logic_vector(3 downto 0); 等待时间计数结束计量;吉良的架构
50、rt2是开始进程(clk1)开始如果 clk1event 和 clk1=1 那么if s=0 then s表示开始en1=0;en0=0;m1=0000;m0=0000;k1=0000;k0=0000;elsif 停止=1 然后如果 m0=1001 那么 m0=0000;如果 m1=0101 那么 m1=0000; 印花围059否则 m1=m1+1;万一;否则 m000000001则 en1=1; -如果等待时间大于2min,en1将设置为1否则 en1=0;万一;elsif fin=1 then 里程计数开始如果 k0=1001 那么 k0=0000;如果 k1=1001 那么 k1=0000; 计程器 099否则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年轻纺行业技能鉴定考试-造纸工考试历年参考题库含答案解析
- 2026年艺术设计行业技能考试-皮具设计师历年参考题库含答案解析
- 2026年税务考试-企业税收筹划历年参考题库含答案解析
- 2026年礼仪风俗传统文化知识竞赛-国学知识竞赛历年参考题库含答案解析
- 2026年石油石化技能考试-制氢装置工程师历年参考题库含答案解析
- 2026年生化化工药品技能考试-生化工设备使用维护考试历年参考题库含答案解析
- 2026年环保知识生态建设知识竞赛-草原保护知识竞赛历年参考题库含答案解析
- 2026年煤炭矿山职业技能鉴定考试-综采三机司机(机电)历年参考题库含答案解析
- 2026年煤炭矿山职业技能鉴定考试-掘进工历年参考题库含答案解析
- 2026年火电电力职业技能鉴定考试-电力负荷控制员历年参考题库含答案解析
- 2026年秋季小学生秋季养生饮食健康科普课件
- 2026年成人高考专升本医学综合真题解析
- 2026年新版药物GCP考试试题及答案
- 2026年秋季开学初三开局即冲刺加油鼓劲课件
- 2026年档案副高职称评审题库及答案
- 浙江Z20联盟2027届高三语文第一次学情诊断作文示范及写作指导:旧物
- 《1 蜡烛的变化》分层作业及答案-2026-2027学年苏教版(新教材)小学科学六年级上册
- 2026年秋季二年级数学上册教学计划(人教版)
- 2025年辽宁安装二级造价师计量与计价实务真题及参考答案
- 2026年新高考一卷语文试卷及解析答案
- 水工建筑物水下缺陷修复技术导则
评论
0/150
提交评论