VHDL实现的出租车计价器设计与应用
5星 · 超过95%的资源 需积分: 9 87 浏览量
更新于2024-11-23
3
收藏 138KB DOC 举报
"CPLD/FPGA 出租车计价器的设计"
本设计涉及使用CPLD(复杂可编程逻辑器件)或FPGA(现场可编程门阵列)技术来构建一个出租车计价器,该计价器能够根据行驶里程计算费用,并在3位数码管上动态显示费用和里程。设计的主要目标是实现一个基于VHDL编程的模块化系统,该系统能够准确计费并具备起动、停止和暂停功能。
设计要求如下:
1. **里程计费**:计费规则为起步价6.00元,行驶3公里后每公里收费1.5元。当行驶距离超过10公里时,每公里额外收取50%的费用。车辆暂停或停止时不计费。
2. **显示部分**:采用3位数码管动态扫描电路分别显示车费和里程,每位都能显示一位小数。
3. **操作模拟**:通过开关模拟出租车的起动、停止和暂停状态。起动时,计价器开始计费;停止时,计费停止;暂停时,计费暂时冻结。
设计中,系统分为控制模块和译码显示模块。控制模块负责计费和里程计数,而译码显示模块则处理费用和里程的显示。
**控制模块**的核心是里程计数和费用计数。计费开始于车辆启动信号,停止或暂停时停止计费。考虑到20MHz的晶振频率,需要将频率分频为1Hz、15Hz和23Hz。1Hz用于里程计数,15Hz和23Hz分别用于不同里程段的费用计数。
**里程计数**通过1Hz脉冲累加实现,当有上升沿脉冲时,从个位开始逐位加“1”,直至满十进位。
**费用计数**则更为复杂,15Hz脉冲在3至10公里区间内对应每公里1.5元的费用,即每增加一公里,费用计数器增加15次。而23Hz脉冲用于10公里以上,每次里程增加时,费用计数器增加的次数等于23,以实现每公里增加50%车费的效果。
**译码显示模块**使用数码管动态扫描技术,确保在3位数码管上正确显示当前的里程和费用,每个数码管均显示一位小数。
总体而言,这个设计项目旨在通过CPLD/FPGA技术实现一个符合实际需求的出租车计价器模型,同时训练学生使用VHDL语言进行硬件描述和模块化设计的能力。通过这样的实践,学生能够深入理解数字逻辑系统的设计和实现过程,以及如何将复杂的计费逻辑转化为硬件描述语言。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2010-01-02 上传
2009-06-15 上传
2020-08-26 上传
2020-10-23 上传
2021-12-25 上传
2020-12-04 上传
michaelfufu
- 粉丝: 0
- 资源: 3
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍