
电子设计课程设计报告——基于CYCLONE FPGA的出租车计价器设计(含Quartus9.1工程源码).zip
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本设计报告详细介绍了使用ALTERA CYCLONE系列FPGA实现的出租车计价器项目,包含完整的Quartus 9.1平台下的工程源代码。
电子设计课程项目报告:基于CYCLONE FPGA的出租车计价器及Quartus9.1工程源码
### 引言:
随着EDA技术的发展,电子系统的设计方式发生了深刻变化。大规模可编程逻辑器件CPLD/FPGA的出现为设计师们提供了极大的便利性。使用这些芯片进行产品开发不仅成本低、周期短且可靠性高,并拥有完全的知识产权。本段落介绍了一个以Altera公司CYCLONE2系列EP2C5T144C8 FPGA为核心,结合外围电路构建而成的出租车计费器系统。
随着社会的进步和生活水平提高,出租车已成为人们日常生活中不可或缺的一部分。而作为其重要组成部分之一的计价器关系到司机与乘客的利益平衡问题,因此其发展十分迅速。
### 系统规范:
#### 2.1 出租车计价器的要求:
该系统的费用计算规则如下:在行程3公里(不含)内且等待时间不超过两分钟的情况下起步费为十元;超出三公里后按每增加一公里收费一点六元,超过两分钟后以一分钟点五元累加。此外还需显示行驶的总距离、累积等待时间和最终计费总额。
主要技术指标:
- 计价范围:0至999.9元
- 费用分辨率:精确到零点一角
- 行程范围:从零公里起算,最高可达九十九公里
- 里程精度:以一公里为单位递增
- 时间记录:可计时长达五十九分钟
- 计时时长精度:每分钟
#### 2.2 系统结构图:
该系统由多个模块组成。具体包括行驶距离、等待时间及费用计算三个核心单元,以及用于控制这些单元的控制器和显示面板。当乘客上车并启动计费器后,里程与时间开始记录,并根据行程或停顿的时间按上述标准计算总金额直至到达目的地为止。
#### 各模块设计:
采用层次化和模块化的开发策略进行设计工作。首先完成各个子系统的设计任务;然后通过顶层模块调用这些子组件来实现整个系统的功能需求。为了方便显示,所有计数器均以十六进制形式表示数据。
(注:以下为部分Verilog代码示例)
```verilog
module taxi(reset,start,stop,clk0,seg1,seg2,seg3,seg4,change);
input reset,start,stop,change,clk0;
output [6:0] seg1,seg2,seg3,seg4;
wire time_enable,distance_enable,select_clk,km,clk_count,clk,clk_1khz;
reg [3:0] view1,view2,view3,view4;
wire [3:0] timeh,timel,bai,ge,shi,xiao,distanceh,distancel;
time_count u8(clk,reset,start,stop,timel,timeh,time_enable);
km_count u1(.clk_count(clk_count),.reset(reset),.start(start),.km(km));
distance u2(.clk_1khz(clk_1khz),.start(start),
.reset(reset).stop(stop),distancel,distanceh,km
.distance_enable(distance_enable));
select_clk u3(.clk_1khz(clk_1khz), .reset(reset),.start(start),
.stop(stop).time_enable(time_enable),.km(km).
.select;
```
此代码片段展示了顶层模块的定义和子系统调用。通过这种方式可以确保各部分独立开发,同时又能够协同工作形成完整的计费器系统。
全部评论 (0)


