基于fpga的出租车计费器-毕业设计内容摘要:

图 33 速度模块框图 计程模块 此模块主要用于记录行进的距离,其模块框图如图 34 所示。 通过对 clkout 信号的计数,可以计算行驶的距离 kmcount。 一个 clkout 脉冲相当于行进 100m 所以只要记录clkout 的脉冲数目即可确定 共行进的距离。 Kmcount1 为十分位, kmcount2 为个位,kmcount3 为十位,分别为十进制数。 图 34 计程模块框图 ) 10 计时模块 速度模块主要用于计时收费,记录计程车速度为 0 的时间(如等待红灯),其模块框图如图 35所示。 通过对 sp信号的判断,当 sp=0,开始记录时间。 当时间达到足够长时,产生 timecount 脉冲,并重新计时。 图 35 计时模块框图 计费模块 计费模块如图 36所示,可分为 kmmoney1 和 kmmoney2 两个进程。 Kmmoney1 用于产生 enable 和 price 信号。 当记录距离达到 3km 后, enable 信号为1,开始进行每公里收费。 当总费用大于 40 元后,单价 price 由原来的 2元变成 4元,用作计时收费。 通过对 sp信号的判断,当 sp=0,开始记录时间。 当时间达到足够长时,产生 timecount 脉冲,并重新计时。 Kmmoney2 用于判断 timecount 和 clkout 的值,当其为 1 时,总费用加 1。 最终输出为总费用。 图 36 计费模块框图 ) 11 第四章 整体电路设计 整体电路图 整体 RTL电路如图 41。 硬件电路由 CycloneⅡ电路板组成, clk 为时钟周期信号,由试验箱产生, start/stop 是启动停止按键电路, reset 为自动清零电路。 电源又 ADDC开关电源供电。 图 41 整体 RTL 门电路 电源电路 电源采用了是比较流行的开关电源, ADDC 开关电源,输入 115VAC 到 230VAC,输出 +5V(4A)。 使用开关电源的好处就是比较节省能源,它的转换效率很高,可达 85%以上,稳压范围宽,除此之外,还具有稳压精度高、不使用电源变压器等特点。 启动 /停止按键电路 如图 42所示,采用双刀双 路开关,一路开关用于清零部分,由于显示部分特殊要求,即计费停止后屏幕上荏苒要保持计费的所有信息,只有当下次计费启动时才清零从新开始计费。 另外两路开关,其中一路用于启动指示和启动 /停止输出信号给 FPGA 芯片) 12 的 I/O 口。 当按下键后,清零部分和启动计费部分同时进行,但清零只是瞬间的,计费指示灯两起。 再次按下键后,开关换到另外的两路,空车指示灯亮起。 图 42 启动 /停止按键电路 自动清零部分 由于显示部分的特殊要求,即计费停止后屏幕上仍然要保持计费的所有信息,只有当下次计费启动时才清零从新开始计费。 VHDL 语言的特殊性,不能在一个结构中用两个不同的动作使其赋值。 所以必须要有一个瞬间清零的信号,当 FPGA 的清零 I/O 端口为“ 1”时就自动清零。 使用电容的充放电功能来实现,按键断开时清零输出端为接地,按键闭合时电容充电清零端为高电平,充完电后清零端输出又为低电平,当按键断开后,通过一个 2k欧姆的电阻放电,为下次充电做好准备。 如图 43所示。 图 43 自动清零电路 ) 13 第五章 系统仿真与下载实现 QuartusⅡ软件介绍 软件特点 QuartusⅡ是 Altera 公司自行设计的 一个完全集成化、易学易用的可编程逻辑设计环境,它提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括: 1. 可利用原理图、结构框图、 VerilogHDL、 AHDL 和 VHDL 完成电路描述,并将其保存为设计实体文件; 2. 芯片 (电路 )平面布局连线编辑; 3. LogicLock 增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块; 4. 功能强大的逻辑综合工具; 5. 完备的电路功能仿真与时序逻辑仿真工具; 6. 定时 /时序分析与关键路径延时分析; 7. 可使用 SignalTapⅡ逻辑分析工 具进行嵌入式的逻辑分析; 8. 支持软件源文件的添加和创建,并将它们连接起来生成编程文件; 9. 使用组合编译方法可一次完成整体设计流程; 10. 自动定位编译错误; 11. 高效的期间编程与验证工具; 12. 可读入标准的 EDIF 网表文件、 VHDL 网表文件、和 Verilog 网表文件; 13. 能生成第三方 EDA软件使用的 VHDL 网表文件和 Verilog 网表文件; ) 14 QuartusⅡ设计流程: 1. 设计输入:完成器件的硬件描述,包括文本编辑器、块与符号编辑器、 MegaWizard插件管理器、约束编辑器和布局编辑器等工具; 2. 综合:包 括分析和综合器、辅助工具和 RTL 查看器等工具; 3. 不惧连线:将设计综合后的网表文件映射到实体器件的过程,包括 Fitter 工具、约束编辑器、布局图编辑器、芯片编辑器和增量布局连线工具; 4. 时序分析; 仿真结果 整体仿真 对电路整体进行仿真,得出如下仿真波形图 51。 图中,当复位信号 reset 为高电平时,系统所有寄存器、计数器都清零;当开始计费信号 start 信号有效时,计费器开始计费,根据出租车行驶的速度 sp[2..0]的取值计算所用花费和行驶里程;当停止计费信号有效时,计费器停止工作。 图 51 出租车计费器仿真波形图 ) 15 速度模块仿真 速度模块的仿真波形图如图 52所示。 该模块根据出租车所处的运行状态和不同的形式速度,对相应数目的时钟周期进行计数,车每行驶 100m 时输出信号 clkout 输出高电平。 图 52 速度模块仿真波形图 计程模块仿真 计程模块的仿真波形如图 53 所示。 图中,当 reset 信号有效时,系统复位清零;否则,对输入信号 clkout 进行十进制计数。 图 53 计程模块仿真波形图 ) 16 计时模 块仿真 计时模块的仿真波形图如图 54所示。 预设 1000 个时钟周期为 20s,对时钟周期进行计数,每计 1000 个时钟周期输出高电平,指示计时 20 秒。 图 54 计时模块仿真波形图 计费模块仿真 计费模块的仿真波形图如图 55所示。 当 reset 信号有效时,系统复位清零;否则,当计时计费信号 timecount 和计程计费信号 clkout 为高电平时,按照一定计费规则进行计费。 图 55 计费模块仿真功能图 综上所述,本设计的出租车计费器完全符合系统设计的要求,实现了出 租车计费器所需的各项基本功能。 ) 17 设计测试 利用 QuartusⅡ 对所设计出租车计费器的 VHDL 代码进行了仿真,并在 CycloneⅡ型可编程数字实现系统上实现了该控制。 该数字实现系统分成两部分,一是 FPGA 的下载板,它主要包括所使用的芯片、 RS232 接头、接脚转换插槽等;另一部分是 I/O实验板,它主要包括显示、脉冲输出等。 出租车计费器的各部分利用数字实验系统所附的 RS232 连接线将计算机中的 VHDL 代码设计的内容烧录到该实验系统的EPC2C35F672C8 芯片中进行测试,测试结果基本实现了 总费 用 =起费用 +(里程 3km)里程单价 +等待时间等待单价的出租车计费模式。 ) 18 第六章 总结及展望 本文论述了基于 FPGA 的出租车计费器设计,分别介绍了整个系统和各个模块的设计,使用 FPGA 芯片、 VHDL 硬件描述语言作为设计手段,利用自顶向下的模块化设计思路,通过在 QuartusⅡ软件下进行的模拟仿真,并进行相应的硬件下载调试,证明所设计的系统完成了出租车计费器的功能,各项技术指标符合预定标准,具有一定实用性。 由于本人在经验水平上的欠缺,设计中可能存在很多不足,请各位 老师予以指证。 近年来, FPGA 在通信、控制、数据计算等领域得到了广泛的应用,利用 FPGA 来设计电子产品可减少电子系统的开发风险和开发成本;缩短了上市时间;通过在系统编程、远程在线重构等技术降低维护升级成本。 并且, FPGA 器件的成本越来越低, Actel 公司发布第三代的基于 Flash 的可编程逻辑方案,这些新的 FPGA 芯片最低价将达到 美元,代表全球最低成本的 FPGA。 这些都说明可编程器件已成为现在及未来很长一段时间的主流,用它来实现的出租车计费器省去很多外围电路,稳定,简单有效,将来必然可以设计出更多更 强大的功能,提高产品竞争力。 未来基于 FPGA 平台的出租车计费器将会有更低的成本、更小的体积、更安全、更精确和更多功能。 致谢 本次设计从选题到最后完成,都得到了指导老师付敏老师的悉心指导。 付老师渊博的知识、严谨的治学态度和诲人不倦的精神永远是我学习的榜样。 同时,感谢论文指导组的刘海力老师和郭仟老师对选题的分析。 在系统设计过程中,我也遇到了较多的困难,我十分感谢我的朋友和老师给与我的帮助和支持,使我能顺利完成本系统的设计与实现。 ) 19 主要参考文献 [1] 刘韬,楼兴华 . 《 FPGA数字电子系统设计 与开发实例导航》 [M]. 北京 :人民邮电出版社, , 27~ 36. [2] 王辉,殷颖,陈婷,俞一鸣 . MAX+plusⅡ和 QuartusⅡ应用于开发技巧 [M]. 北京。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。