一个AXI GPIO 模块有两个GPIO,分别是GPIO和GPIO2,也就是channel1和channel2,为 双向IO。 AXI GPIO的寄存器也不多,主要是两个channel 的数据寄存器GPIO_DATA和GPIO2_DATA,两个channel的方向控制GPIO_TRI和GPIO2_TRI,以 及全局中断使能寄存器GIER,IP的中断使能IP IER和中断状态寄存器ISR,具体的功能可以看 AXI GPI...
前面简单学习了关于GPIO的操作,本次将使用PL 端调用 AXI GPIO IP 核, 并通过 AXI4-Lite 接口实现 PS 与 PL 中 AXI GPIO 模块的通信。 开发环境 vivado18.3 SDK PYNQ-Z2 AXI_GPIO简介 AXI GPIO IP 核为 AXI 接口提供了一个通用的输入/输出接口。 与 PS 端的 GPIO 不同, AXI GPIO 是一个软核( Soft...
可用的 I/O 包括标准通信接口和通用输入 / 输出 (General Purpose Input/Output,GPIO),GPIO 可以用做各种用途,包括简单的按钮、开关和 LED。 在ZYNQ7000系列PS中除了上面提到的MIO和EMIO之外,还包括AXI_GPIO。 这三者关系如下: 其中MIO和EMIO是直接挂在PS上的GPIO。而AXI_GPIO是通过AXI总线挂在PS上的GPIO上。
ZYNQ支持三种AXI总线,拥有三种AXI接口,用的都是AXI协议: AXI4:主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大256轮的数据突发传输。 AXI4-Lite:是一个轻量级的地址映射单次传输接口, 占用很少的逻辑单元。 AXI4-Stream:面向高速流数据传输,去掉了地址项,允许无限制的数据突发传输。 数据在总线上...
使用ZYNQ最大的疑问就是如何把PS和PL结合起来使用。本实验使用两个AXI GPIO的IP核,一个GPIO IP核连接4个LED灯;另一个GPIO IP核用于接收4个按键(拨码开关)的中断,通过该中断来控制相应LED灯的亮灭。 2. Vivado工程的编写 2.1 Block Design工程设计
一款SOC的入门必然是GPIO的使用,而中断则是MCU能保证实时性的必杀武器。硬件调试难度高一直是FPGA的痛点,集成ARM的FPGA更是如此,cross-trigger调试有效地解决了这一问题,所以它也作为入门ZYNQ的必要技能。 二、硬件系统搭建 ZYNQ的三种GPIO分别是MIO、EMIO和AXI-GPIO。PS部分直接连接到芯片引脚的IO叫MIO,经过FPGA再...
第五章AXI GPIO按键控制LED实验 在“EMIO按键控制LED实验”中,我们通过EMIO实现了PS端与PL端的交互,而PS与PL最主要的连接方式则是一组AXI接口。AXI互联和接口作为ZYNQ PS和PL之间的桥梁,能够使两者协同工作,进而形成一个完整的、高度集成的系统。本章我们将在PL端调用AXI GPIO IP核,并通过AXI4-Lite接口实现PS与...
1)打开“ps_hello”另存为一个名为“ps_axi_gpio”Vivado工程,表示PS通过AXI总线控制gpio “Create project subdirectory”勾选后会在目录下创建子目录,勾选“Include run results”会包含编译后的结果 2)双击xx.bd打开block design 添加AXI GPIO 3) 添加一个AXI GPIO的IP 核 ...
我们先看有哪三种GPIO:MIO、EMIO、AXI_GPIO。其中MIO和EMIO是直接挂在PS上的GPIO。而AXI_GPIO是通过AXI总线挂在PS上的GPIO上。 我们先看一下MIO和EMIO:下图EMIO和MIO的结构。其中MIO分布在BANK0,BANK1,而EMIO则分布在BANK2、BANK3。注意一下几项:
1)打开“ps_hello”另存为一个名为“ps_axi_gpio”Vivado工程,表示PS通过AXI总线控制gpio “Create projectsubdirectory”勾选后会在目录下创建子目录,勾选“Include run results”会包含编译后的结果 2)双击xx.bd打开block design 添加AXI GPIO 3) 添加一个AXI GPIO的IP 核 ...