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
查看完整版本: MIPSfpga讲座(中文)v1.2