



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于VHDL语言的出租车计费系统设计作者:席砺莼 董丽梅 田梦周 闫宏伟转贴自:现代电子技术点击数: 1210更新时间:2005-11-18【字体: A】摘 要:利用VHDL语言设计出租车计费系统,使其实现计费以及预置和模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点。此程序通过下载到特定芯片后,可应用于实际的出租车计费系统中。 关键词:超高速集成电路硬件描述语言;计数器;MAX+PLUS;高速集成电路 1 前言 目前,电子系统正向集成化、大规模和高速度的方向发展,集成电路的规模越来越大,复杂程度越来越高,因此传统的门级描述方法显得过于琐碎,难以理解掌握。由美国国防部提出的VHDL(Very High Speed Integrated Circuit Hardware Description Language)即超高速集成电路硬件描述语言,采用高层次的、自顶向下的设计方法来描述硬件,非常适合当前需要。美国国防部为了要解决项目间的信息交换困难和设计维护困难,同时也为解决当时的超高速集成电路(VHSIC,Very High Speed Integrated Circuit)计划而提出的一种硬件描述语言。1987年12月IEEE接受VHDL为标准的HDL,这就是今天的IEEE STD1076-1987和IEEE STD1076-1993。 MAX+PLUS(Multiple Array Matrix And Programmable Logic User Systems)是电子设计不可缺少的工具,他可以接受多种方式的输入:原理图输入、文本输入(硬件描述语言)、第三方EDA工具提供的接口等。MAX+PLUS的仿真器具有很强灵活性,可以控制对单器件或多器件的仿真。MAX+PLUS还提供了丰富的帮助库。 本文采用VHDL语言来设计实现出租车计费系统,源程序经美国Altera公司的MAX+PLUS软件调试优化,下载到特定芯片(MAX系列的EPM 7128SLC8415)后,可应用于实际的出租车计费系统中。2 出租车计费系统的设计2.1 出租车计费器工作原理 实际中出租车的计费工作原理一般分成3个阶段: (1)车起步开始计费。首先显示起步价(本次设计起步费为7.00元),车在行驶3 km以内,只收起步价7.00元。 (2)车行驶超过3 km后,按每公里2.2元计费(在7.00元基础上每行驶1 km车费加2.2元),车费依次累加。 (3)行驶路程达到或超过9 km后(车费达到20元),每公里加收50%的车费,车费变成按每公里3.3元开始计费。车暂时停止(行驶中遇红灯或中途暂时停车)不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始。2.2 基本设计思想 (1)根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为counterA,counterB,counterC,counterD,counterE。计数器A完成车费百位。计数器B完成车费十位和个位。计数器C完成车费角和分。计数器D完成计数到30(完成车费的起步价)。计数器E完成模拟实现车行驶100 m的功能。 (2)行驶过程中车费附加50%的功能:由比较器实现。 (3)车费的显示:由动态扫描电路来完成。用专用模块来实现,完成数据的输入即动态数据的显示。 (4)通过分析可以设计出系统的顶层框图如图1所示:2.3 具体模块划分并实现及部分程序 计费器按里程收费,每100 m开始一次计费.图2为原理结构图,各模块功能如下: (1)计数器A为十进制计数器,其结果为车费的百位,与5位数码管的最高位相连,计数时钟为进位脉冲。程序如下: (2)计数器B为带预置的模100十进制计数器,预置数为出租车起步价,车费的十位和个位,与数码管的第2位和第3位相连。计数时钟为计数器C的进位脉冲信号。 (3)计数器C为可变步长的模100十进制计数器,带预置端,预置数为计数步长。计数器C主要用于累加,当车行驶达到100 m时,计数器计数一次,计数步长为每100 m的行车收费。进位脉冲信号送到计数器B的“CLK”端,控制计数器B的计数步调。 (4)计数器D为带预置模的十进制加法计数器,预置数为车起步里程3 km,计数脉冲为计数器E的进位信号。这样当计数器D计数达到30后,进位输出将为一个高电平,控制计数器A,B,C开始计数,这样就能实现超过3 km后计费器再按每公里加收车费。 (5)计数器E为带预置的可变步长的模100计数器,预置端为车速(每秒),如果预置端接入车速表,就可以实现计费了,这里用于模拟行车速度。例如:假设当计数器E计数到100则E的“CO”端输出一个高电平。此脉冲信号送给计数器D,使D完成车起步里程3 km的功能。在以后的时间里E的“CO”端的脉冲信号送给计数器C,使其完成按每公里收取费用的功能。主要程序如下: (6)与门为2个8输入的8与门,一端用于预置,一端输入当前计费器收费情况,当计费器计费达到或超过一定收费(如20元)时,每公里加收50%的车费,此时该与门输出一个片选信号送MUX。 (7)MUX为16选8的2选1MUX,2个选择输入端分别为每100 m收费和50%的每100 m收费,片选信号由与门控制。 (8)动态扫描电路将计数器A、B、C的计费状态用数码管显示出来,所连接的数码管共用一个数据端,由片选信号依次选择输出,轮流显示。2.4 设计中需注意的问题 (1)在一个进程中只允许一个信号上升沿作为触发条件。 (2)信号值改变后,要经过一个小的延时才能生效,同一个信号不能在多个进程中赋值(因多个信号源不能同时对同一个信号驱动)。 (3)时序电路与组合电路最好不要在同一个进程以免浪费资源。 (4)一个功能模块最好按上升沿信号分多个进程完成,各进程间用信号联系。 (5)同一个信号在进程中的值改变后,要注意该值改变前后,该进程中其他变量的变化,避免逻辑死锁。 (6)在顺序语句中,信号赋值后需一定的延时才能改变而变量不需要延时。3 结语 VHDL硬件描述语言打破了硬件和软件设计人员之间互不干涉的界限,可以使用语言的形式来进行数字系统的硬件结构、行为的描述,直接设计数字电路硬件系统。从本文描述的出租车计费系统可以看出,通过编程、下载后,该芯片已经具备了原来需要使用复杂的数字电路实现的功能;这样,使用语言描述的形式,大大缩短了开发周期,减少了开发难度,并使得系统更加灵活、稳健。参考文献1候伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年石英玻璃管(棒)项目发展计划
- 2025年卫星整流罩合作协议书
- 2025年GSM和CDMA制移动通信检测设备项目发展计划
- 耐心资本与创新投入对企业绩效的协同效应研究
- 2025年嘉兴桐乡市机关事业单位选调考试试题【答案】
- 2025年增敏化学发光免疫分析仪项目发展计划
- 2025年高压清洗车合作协议书
- 智能教室的硬件设备与技术要求
- 教育政策的跨领域影响与未来趋势
- 2025年金太阳广东省物理高二下期末学业质量监测试题含解析
- 医疗机构保洁人员培训
- 企业员工健康促进计划的设计与实施
- 助理工程师答辩演示
- 急性而短暂的精神病性障碍个案护理
- 成人失禁相关性皮炎的预防与护理-护理团标
- 装载机的基础知识-装载机的结构及仪表
- 现代低压电器技术 课件 2. 常见低压电器
- 浙江天垣新型墙体材料有限公司年产40万立方米ALC板材项目环境影响报告
- 《义务教育物理课程标准》测试题及答案【共两套】完整详细2022版
- 放射事件应急处理预案牙科
- GSV2.0反恐安全管理手册
评论
0/150
提交评论