- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SOPCEDA综合课程设计报告出租车计费器
SOPC/EDA综合课程设计报告设计题目:设计者: 学号:
班级: 指导老师: 时间:
目 录
摘要 1
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 计费模块 10
第四章 整体电路设计 11
4.1 整体电路图 11
4.2 电源电路 12
4.3 启动/停止按键电路 12
4.4 自动清零部分 13
第五章 系统仿真与下载实现 13
5.1 QuartusⅡ软件介绍 14
5.1.1软件特点 14
5.1.2 QuartusⅡ设计流程: 14
5.2仿真结果 15
5.2.1 整体仿真 15
5.2.2速度模块仿真 15
5.2.3计程模块仿真 16
5.2.4计时模块仿真 16
5.2.5 计费模块仿真 17
5.3设计测试 17
第六章 总结及展望 18
·致谢 19
·主要参考文献 19
基于FPGA的出租车计费器设计
摘要:随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了很多方便。利用它进行产品开发,可以降低研发成本,缩短研发周期。本文介绍了一种采用FPGA芯片进行出租车计费器的设计方法,描述了研究该课题的意义和应用价值;说明了Altera公司的FPGA结构原理及其主要运用;介绍了超高速集成电路硬件描述语言的主要功能和设计;讲解了出租车计费器的系统原理和功能。本文主要采用了Altera公司的可编程逻辑芯片EPC2C35F672C8为核心控制,并附加一定外围电路组成出租车计费器,使用目前流行的VHDL语言进行设计,具有移植性强的特点,便于升级及可重复使用。利用QuartusⅡ6.0对所设计的出租车计费器的VHDL代码进行仿真,并在FPGA数字实验系统上实现了该控制。
关键字: FPGA, VHDL, QuartusⅡ, 出租车计费器
出租车计费器的设计
1出租车计费器的总体设计
1.1出租车计费标准
车起步开始计费,首先显示起步价,起步费为3.00元,车在行驶3km以内,只收起步价。车行驶超过3km后,每公里2元,车费依次累加。当总费用达到或超过40元时,每公里收费4元。当遇到红灯或客户需要停车等待时,则按时间计费,计费单价为每20秒收费1元。
1.2 总体框架设计
系统流程介绍:分析系统设计要求不难得知,整个出租车计费系统按功能主要分为速度模块、计程模块、计时模块和计费模块,其系统结构图如图3-1所示。
图3-1 出租车计费器系统结构图
系统接收到reset信号后,总费用变为3元,同时其他计数器、寄存器等全部清零。
系统接收到start信号后,首先把部分寄存器赋值,总费用不变,单价price寄存器通过对总费用的判断后赋为2元。其他寄存器和计数器等继续保持为0。
速度模块:通过对速度信号sp的判断,决定变量kinside的值。Kinside即是行进100m所需要的时钟周期数,然后每行进100m,则产生一个脉冲clkout。
计程模块:由于一个clkout信号代表行进100m,故通过对clkout计数,可以获得共行进的距离kmcount。
计时模块:在汽车启动后,当遇到顾客等人或红灯时,出租车采用计时收费的方式。通过对速度信号sp的判断决定是否开始记录时间。当sp=0时,开始记录时间。当时间达到足够长时产生timecount脉冲,并重新计时。一个timecount脉冲相当于等待的时间达到了时间计费的长度。这里选择系统时钟频率为500Hz,20s即计数值为1000。
计费模块由两个进程组成。其中,一个进程根据条件对enable和price赋值:当记录的距离达到3公里后enable变为1,开始进行每公里收费,当总费用大于40元后,则单价price由原来的2元每公里编程4元每公里;第二个进程在每个时钟周期判断timeout和clkout的值。当其为1时,则在总费用上加上相应的费用。
2出租车计费器主要模块设计
从上述设计方案中我们可以大致得到出租车计费器的系统框图,如图3-2所示。其中clk为输入时钟脉冲,时钟上升沿有效;reset为复位信号,start为开始计费信号,stop为停
文档评论(0)