本课程设计基于EDA技术实现出租车计费器系统,涵盖硬件描述、仿真验证及FPGA实现等内容,旨在培养学生数字系统设计能力。
出租车计费器通常依据行驶公里数来计算费用:起步价为一定金额(例如xx元可以行x公里),之后每公里增加固定费用(如xx元/公里)。因此,设计一个这样的计费系统需要两个主要的计量单位——一个是用于记录里程的计数器,另一个则是用来显示累计费用。在实际应用中,出租车轮胎上装有传感器来监测轮子转动次数;由于车轮周长是固定的数值,所以可以通过计算转圈数量得出行驶距离。
本次实验的任务就是模拟上述过程:使用直流电机代表车辆轮胎,并通过连接到CPU的脉冲信号检测每完成一圈旋转。此外还可以用八个七段数码管显示信息——前四个用于展示里程数,后四位则用来显示累计费用(如果有条件的话)。
具体设计要求如下:
1. 起步价设定为3元。
2. 前行第一公里内包含起步费;之后每增加一公里加收1元。
3. 系统时钟频率设为1KHz。
4. 直流电机模块模拟轮胎,每次完成一圈旋转会向CPU发送一个脉冲信号。
5. 使用按键S1作为整个系统的复位按钮。每当按下此键后,计费器将重新开始计算费用。
在设计过程中需要特别注意的是:每转一周的直流电机输出会被视为车辆前进了一米;因此,在行驶一千圈之后,则认为汽车已经前进了整整一公里。系统应当能够准确地检测并记录每一次电机旋转,并相应地更新里程和成本计数器。