lcytms
发表于 2017-10-18 15:32:13
Nexys4 DDR 7-段数码管显示器
例子:
•AN = 111111102(只有最右边的数码管被打开)
•显示的数字由CA-CG决定
lcytms
发表于 2017-10-18 15:33:56
Nexys4 DDR 7-段数码管显示器
驱动多个数码管:
•一次只能驱动一个数码管
•速度足够快的话就能可以使人眼看不到闪烁
lcytms
发表于 2017-10-18 15:38:07
Nexys4 DDR 7-段数码管显示器
不同数码管显示间隔大约为2ms:
•当t=0, AN = 11111110, CA-CG 显示数字0
•当t=2ms, AN = 11111101, CA-CG 显示数字1
•当t=4ms, AN = 11111011, CA-CG 显示数字2
•等等…
lcytms
发表于 2017-10-18 15:40:03
Nexys4 DDR 7-段数码管显示器硬件
9个寄存器需要存储映射:
•一个用来设置哪些数码管可以亮(SEGEN_N) )
•其他8个用来设置显示的数字(SEG0_N, SEG1_N, … SEG7_N)
通过一个3位的计数器(运行在500Hz ,周期为2ms)
逐个点亮被使能的数码管显示器。
lcytms
发表于 2017-10-18 15:42:04
实验5:7-段数码管显示器
目标: 通过存储映射I/O的方式把7-段数码管显示器添加到MIPSfpga上
实验过程:
1.添加7-段数码管显示器硬件驱动
2.把数码管显示的数字和数码管使能信号映射到内存空间上
3.修改MIPSfpga接口来驱动数码管的7个段和使能引脚
lcytms
发表于 2017-10-18 15:44:14
使能信号和数字的存储映射
lcytms
发表于 2017-10-18 15:49:08
实验5:7-段数码管显示器
目标: 通过存储映射I/O的方式把7-段数码管显示器添加到MIPSfpga上
实验过程:
1.添加7-段数码管显示器硬件驱动
2.把数码管显示的数字和数码管使能信号映射到内存空间上
3.修改MIPSfpga接口来驱动数码管的7个段和使能引脚
lcytms
发表于 2017-10-18 15:54:09
MIPSfpga 接口
GPIO模块和MIPSfpga系统输出信号:
...
output [ 7: 0] IO_7SEGEN_N,
output [ 6: 0] IO_7SEG_N
Nexys4 DDR 顶层模块:
module mipsfpga_nexys4_ddr( ...
output [ 7:0] AN,
output CA, CB, CC, CD, CE, CF, CG);
...
mipsfpga_sysmipsfpga_sys(
...
.IO_7SEGEN_N(AN),
.IO_7SEG_N({CA,CB,CC,CD,CE,CF,CG})
lcytms
发表于 2017-10-18 15:55:54
MIPSfpga接口: Nexys4 DDR 引脚
MIPSfpga_Nexys4DDR.xdc:
set_property-dict{ PACKAGE_PIN T10IOSTANDARD LVCMOS33 } ;
set_property-dict{ PACKAGE_PIN R10IOSTANDARD LVCMOS33 } ;
...
set_property-dict{ PACKAGE_PIN J17IOSTANDARD LVCMOS33 } }];
set_property-dict{ PACKAGE_PIN J18IOSTANDARD LVCMOS33 } }];
...
lcytms
发表于 2017-10-18 15:58:23
Lab 9: 移植MIPSfpga
页:
1
2
3
4
5
6
7
8
[9]
10
11