绵阳市建设工程信息网站,河南省建设集团,南京装修公司十大排名榜,邢台市政建设集团股份有限公司网站萌新的SOC学习之GPIO之MIO控制LED实验程序设计
如何设置完GPIO并且传递数据 我们先了解GPIO引脚的配置 每一个GPIO引脚都可以设置成输入输出 #xff0c;只有GPIO8 7 只能作为输出
我们现在做一个例子 GPIO 的bank我们知道有4个 bank0 1 2 3 DIRM_0 就是第一个bank 需要写入…萌新的SOC学习之GPIO之MIO控制LED实验程序设计
如何设置完GPIO并且传递数据 我们先了解GPIO引脚的配置 每一个GPIO引脚都可以设置成输入输出 只有GPIO8 7 只能作为输出
我们现在做一个例子 GPIO 的bank我们知道有4个 bank0 1 2 3 DIRM_0 就是第一个bank 需要写入的是32位数据 因为写法是16进制 假设我们要操作 第10位置为1 那就是write 0x0000_0400 我们分析最后的几个位 我们可以看到是 100_0000_0000 正好是第10个管脚被置为了1 我们在上面的设置中还知道不仅要配置 DIRM 还要配置OEN 所以对于OEN这样的寄存器我们也需要把它的第十位设置为1 0x0000_0400 (16进制 OEN寄存器比较特殊 只有当我们配置成输出模式的时候才有意义也就是在DIRM1时 当我们前面的DIRM0 时 OEN就会没有别的意义
我们把MIO设置为输入 只要把DIRM_0设置为 全0就可以了
接下来我们需要把数据写入
我们本次实验的任务是 使用PS端的MIO控制LED 实现LED闪烁的效果 我们来看本次实验的系统框图 按照步骤创建完 会打开到一个SDK软件 其中的有 我们对这些数据敏感就会发现了 0xe000_a000 下一个实验GPIO之EMIO按键控制LED实验 实验任务 使用ZYNQ底板上的三个用户按键分别控制PS端的三个LED的亮灭其中一个按键需要通过EMIO进行扩展。 但是ZYNQ的底板上只有2个PS端的用户按键要是用三个的话就需要通过EMIO进行扩展 PS端的按键不够用 我们通过EMIO扩展 PL的按键 当我们的设计需要用到PL的资源时我们就需要导出bitstream配置FPGA
我们想要读出数据可以直接使用GPIO_RO_x寄存器
把DIRM写0 就可以配置成输入了 如何配置MIO的输入 配置成输入 读MIO_RO 寄存器 我们观察底板的电路图会发现
PS LED1 连接到的是 PS MIO8 PS LED0 连接到的是 PS MIO7 PS KEY0 连接到的是PS MIO12 PS KEY1 连接到的是PS MIO11 还有一个PS LED 直接接到了MIO0_LED上 PL端的KEY0 用的是L14
我们在vivado中实现 但是发现我们使用EMIO就需要给它分配管脚 在调用PS端的时候并不需要因为它会自动给我们分配管脚 但是PL端需要我们自己去设置