VHDL实现的出租车计价系统设计

需积分: 5 21 下载量 108 浏览量 更新于2024-11-09 1 收藏 261KB DOC 举报
"基于CPLD的出租车计价器设计涉及使用VHDL语言和PLD技术,通过MAX+PLUSⅡ软件进行开发和仿真,实现了计费、预置、模拟汽车状态以及动态扫描显示车费的功能。系统设计包括车速控制、里程动态显示和计费动态显示三个主要模块,每个模块都有明确的功能。通过VHDL编程,计费器能根据行驶里程计费,满足特定的计费规则,并在达到一定费用后增加额外收费。此外,系统还能模拟汽车的启动、停止、暂停,以及显示两位小数的车费。设计过程中,需验证各计数器的功能并通过实验箱下载验证设计的正确性。" 本文详细介绍了基于CPLD的出租车计价器的设计过程。首先,系统采用VHDL语言编写程序,这是一种硬件描述语言,用于描述数字系统的逻辑功能,便于在可编程逻辑器件(PLD)如CPLD上实现。设计平台是MAX+PLUSⅡ,这是一款常用的电子设计自动化软件,用于逻辑综合和仿真。 系统的主要任务包括实现计费功能,计费标准依据行驶里程计算,起步费为10元,3公里后按2元/公里收费。当费用达到或超过20元时,每公里额外收取50%的费用。此外,系统还具备预置功能,可以设置起步费、每公里收费和加费里程。模拟功能允许模拟汽车的启动、停止和暂停状态。设计还包括一个动态扫描电路,用于实时显示两位小数的车费。 系统由几个关键模块组成。车速控制模块负责在汽车启动(高电平)时根据车速选择和基本车速发出脉冲,驱动计费器和里程显示模块计数。在停车状态下,脉冲暂停,计数停止。里程动态显示模块接收脉冲并更新显示,每次脉冲增加0.1公里。计费动态显示模块初始设定为10元,超过3公里后开始根据脉冲增加费用,超过20元时每公里增加1.5元。 系统模块图展示了各个组件的连接,其中MS模块是一个重要的部分,它接收两个不同时钟信号模拟汽车速度变化。VHDL代码片段展示了如何定义这个模块,但具体实现细节未给出。 整个设计完成后,需要通过功能仿真验证各计数器的工作状态,并通过波形图确认设计的正确性。最后,设计会通过实验箱下载到实际硬件中,以实物形式验证其实际运作情况。 这个基于CPLD的出租车计价器项目不仅提供了实践VHDL语言和CPLD设计的机会,而且展示了一个实用的嵌入式系统设计实例,将理论与实际应用紧密结合。