key通过axi_gpio IP核去控制LED灯
第一步:PL部分的设置先去画IP核,在昨天的LED灯的基础上增加一个AXI_GPIO的IP核
查看原理图
管脚配置
查看AXI_GPIO_0和AXI_GPIO_1在PS端接口的地址
编译生成.bit文件烧录替换至SD卡中
第二步:
PS端配置
led_drv.c文件
文件操作集合 读写操作
应用层代码编写
实验结果
一、
按下SW1和SW2开关正常均为低电平
按下SW0开关始终为高电平
二、
使用万用表测的SW1和SW2按下之前的电压为3.3v,按下按键之后的电压为0v
使用万用表测的SW0按下按键之前的电压为1.8v,按下按键之后的电压为0v
遗留问题:无法实现SW0按键的功能,可能是因为MIO50管脚也接在SW0导致,等待汤工明天援助
SW0无法读取,sw1和sw2都能正常读取状态,求解决 老师我有个问题,数据从PS端通过AXI总线通过寄存器输出到PL端,我可以在PL端修改寄存器的值再通过AXI总线写回PS端吗?可以的话大致需要怎么进行呢?希望能指点一下。
还有一个问题就是我在自定义的AXI的ip核时,定义了10个寄存器,我需要在其他模块调用这10个寄存器,我是不是应该在ip核内把这10个寄存器设置为输出,但是不需要将这些寄存器端口在block design中make external,也可以在其他模块进行调用,对吗?因为我尝试过将这些寄存器make external的话,会提示I/O口超出上限,是不是make external之后就一定要进行管脚约束了呢?我如果只需要在内部调用的话是不是就不需要这样了?直接在ip核内将寄存器设置为输出再从其他模块调用可以吗? RevWuuuuuu 发表于 2019-10-29 00:00
老师我有个问题,数据从PS端通过AXI总线通过寄存器输出到PL端,我可以在PL端修改寄存器的值再通过AXI总线写 ...
我也是学员,对于你这个问题,PS端可以将数据发往PL,同样也可以通过PL端将数据写会PS,你可以参考例程CH01_AXI_FDMA_DDR,大致实现过程就是利用另外一根总线将数据写回, RevWuuuuuu 发表于 2019-10-29 00:00
老师我有个问题,数据从PS端通过AXI总线通过寄存器输出到PL端,我可以在PL端修改寄存器的值再通过AXI总线写 ...
第二个问题,我自己明白,但是和你讲不明白,让汤工来替你解决
页:
[1]