
【FPGA外围电路】基于黑金AX301的出租车计价器
简介
这是一个EDA课程设计,设计了一个基于 VHDL 语言的出租车计价器,使用AX301开发平台。能够对时间、公里数、总费用进行计数,具有编码器脉冲多段频率计数、无源蜂鸣器音乐、按键切换显示内容等功能。
简介:这是一个EDA课程设计,设计了一个基于 VHDL 语言的出租车计价器,使用AX301开发平台。能够对时间、公里数、总费用进行计数,具有编码器脉冲多段频率计数、无源蜂鸣器音乐、按键切换显示内容等功能。开源协议
:Public Domain
描述
一、课设要求
1、设计基于VHDL语言的出租车计价器;
2、能够对时间(等待费)、公里数(计程费)、总费用进行计数,显示;
3、自行设计额外功能。
二、实验仪器
FPGA 黑金开发平台 AX301、MFG-2160MF信号发生器
三、实验结果
以上为出租车计价器程序Block图。
以上为出租车计价器AX301拓展板PCB 2D预览图(旧版)。
以上为出租车计价器AX301拓展板调试过程和实物照片。
四、功能
1.计程费、等待费、总费用计算及切换显示
2.计价初值(起步价和计程价)设置及切换显示
3.车型切换
4.日间、夜间切换
5.按键消抖
6.脉冲频率计数器
7.总费用和频率切换显示
8.蜂鸣器音乐
五、实验总结
本次实验基于VHDL语言和Verilog语言,使用了分频器、计数器、有限状态机等基础模块和加法、减法、除法、取余等基本运算,依次实现了计费、消抖、状态切换、T触发器、测频、蜂鸣器音乐等功能,最终完成了出租车计价器的设计。功能较为丰富,逻辑清晰,整体运行稳定。
附录1 引脚对应表
序号 |
名称 |
IO |
备注 |
使能 |
0 |
CLK |
E1 |
50MHz |
|
1 |
SIGNAL |
B1 |
信号 |
|
2 |
SG1_0 |
B3 |
共阴数码管段选A |
高电平 |
3 |
SG1_1 |
B4 |
共阴数码管段选 |
高电平 |
4 |
SG1_2 |
B5 |
共阴数码管段选 |
高电平 |
5 |
SG1_3 |
B6 |
共阴数码管段选 |
高电平 |
6 |
SG1_4 |
B7 |
共阴数码管段选 |
高电平 |
7 |
SG1_5 |
B8 |
共阴数码管段选 |
高电平 |
8 |
SG1_6 |
B9 |
共阴数码管段选 |
高电平 |
9 |
SG1_7 |
B10 |
共阴数码管段选DP |
高电平 |
10 |
BEEP_1 |
B11 |
蜂鸣器频率输出 |
|
11 |
B12 |
NC |
||
12 |
BEEP_GND |
B13 |
蜂鸣器地 |
|
13 |
DN |
D5 |
日夜切换拨动开关 |
高为夜间,低为日间 |
14 |
JCF |
C6 |
LED阳极 计程费 |
高电平 |
15 |
DDF |
F8 |
LED阳极 等待费 |
高电平 |
16 |
JCJLED |
D8 |
LED阳极 计程价 |
高电平 |
17 |
QBJLED |
E9 |
LED阳极 起步价 |
高电平 |
18 |
SEL1 |
C2 |
数码管位选 车型 |
高电平 |
19 |
SEL2 |
A2 |
数码管位选 计价 |
高电平 |
20 |
SEL3 |
A3 |
数码管位选 计价 |
高电平 |
21 |
SEL4 |
A4 |
数码管位选 计价 |
高电平 |
24 |
SEL5 |
A5 |
数码管位选 计价 |
高电平 |
25 |
SEL6 |
A6 |
数码管位选 费用 |
高电平 |
26 |
SEL7 |
A7 |
数码管位选 费用 |
高电平 |
27 |
SEL8 |
A8 |
数码管位选 费用 |
高电平 |
28 |
SEL9 |
A9 |
数码管位选 费用 |
高电平 |
29 |
SEL10 |
A10 |
数码管位选 费用 |
高电平 |
30 |
SEL11 |
A11 |
数码管位选 费用 |
高电平 |
31 |
UP1 |
A12 |
按键 切换车型 |
按下为低 |
32 |
UP2 |
A13 |
按键 +1 |
按下为低 |
33 |
UP3 |
D6 |
按键 -1 |
按下为低 |
34 |
UP4 |
E7 |
按键 设置/确认 |
按下为低 |
35 |
UP5 |
C8 |
按键 切换起步价/计程价显示 |
按下为低 |
36 |
UP6 |
E8 |
按键 切换等待费/计程费显示 |
按下为低 |
37 |
SG0_0 |
R14 |
共阳数码管段A |
低电平 |
38 |
SG0_1 |
N16 |
共阳数码管段B |
低电平 |
39 |
SG0_2 |
P16 |
共阳数码管段C |
低电平 |
40 |
SG0_3 |
T15 |
共阳数码管段D |
低电平 |
41 |
SG0_4 |
P15 |
共阳数码管段E |
低电平 |
42 |
SG0_5 |
N12 |
共阳数码管段F |
低电平 |
43 |
SG0_6 |
N15 |
共阳数码管段G |
低电平 |
44 |
SG0_7 |
R16 |
共阳数码管段DP |
低电平 |
45 |
SEL17 |
M11 |
右1 |
低电平 |
46 |
SEL16 |
P11 |
右2 |
低电平 |
47 |
SEL15 |
N11 |
右3 |
低电平 |
48 |
SEL14 |
M10 |
右4 |
低电平 |
49 |
SEL13 |
P9 |
右5 |
低电平 |
50 |
SEL12 |
N9 |
右6 |
低电平 |
51 |
RST |
N13 |
RESET |
按下为低 |
52 |
power_sw |
M15 |
按键 KEY1 |
按下为低 |
53 |
KEY2 |
M16 |
按键(BAD) |
按下为低 |
54 |
freq_sum_sw |
E16 |
按键KEY3 |
按下为低 |
55 |
BUZZER |
C11 |
有源蜂鸣器 |
|
56 |
FREQ_HIGH_LED |
E10 |
LED0 指示高频脉冲出现 |
高电平 |
57 |
FREQ_BEGIN_LED |
F9 |
LED1 指示脉冲出现 |
高电平 |
58 |
FREQ_END_LED |
C9 |
LED2 指示脉冲已消失 |
高电平 |
59 |
power_led |
D9 |
LED3 |
高电平 |
完整课程设计报告和Quartus II 13.1工程源码见工程附件。
设计图

BOM


评论