xilinx ZYNQ 7000 AXI GPIO

news2024/12/28 4:06:32

.0AXI GPIO
在这里插入图片描述
第一部分
PS 和 PL之间的通讯有一个接口称为AXI。AXI总线具体的内容这边不去深究,可以理解为一种特殊协议的通讯方式。
AXI GPIO是什么意思?
PL是FPGA它可以做成任何你想要的东西,做一个GPIO外设当然是可以的。
那么
如上图所示,假设我们用FPGA 设计了一个GPIO外设,它可以通过引脚进行电平的输入和输出。
这个时候PS端的APU需要使用GPIO,通常就是GPIO的读写操作。这个事件这个需要数据通信,上图所示有个connect的模块横跨PS,PL,用于数据的传输,没错AXI就是这个connect。这里我们把AXI单纯的看做一个有特殊协议的通信线路,暂时不去关系实现方式。

第二部分
什么是GPIO,这个问题好像非常简单,但是好像也不简单。为了寻求这个答案,可以看一下MCU的GPIO结构
打开STM32F407(Cortex M4)手册的GPIO章节
在这里插入图片描述
上图所示,最右边是最后芯片引出的物理引脚。最左边是GPIO模块对外的接口。提供读写操作。
那么我们如果要做一个GPIO外设就需要物理引脚和读写接口。
那么物理引脚可以想到FPGA开发中的引脚分配。这里会问不是有EMIO了吗为啥还要AXI GPIO
1.EMIO本质上是硬核
2.AXI GPIO是真正的软核FPGA开发

那么读写接口就是第一部分所说的AXI接口。
那么GPIO具体什么实现呢,xilinx 官方把GPIO如何实现已经做好了,封装成AXI GPIO IP。我们直接调用即可。
Create Block design->添加IP ->AXI GPIO
在这里插入图片描述
在AXI IP官方手册中
在这里插入图片描述
AXI GPIO de 构成如上图所示,
1.AXI Interface 用于AXI中线的通讯
2.interrupt Module 检测GPIO模块的Read信号,判断是否发生中断,送入专用的信号线IP2INTC.
3.GPIO Core 就是GPIO 外设了

GPIO 具体的结构
在这里插入图片描述
1.GPIO 三态门的控制TRI
2.Write
3.read
还可以通过多路选择器构建两个GPIO外设。

第三部分
知道AXI GPIO是什么东西后,那么要怎么去配置

在这里插入图片描述
可以配置默认的输出电平和门控状态(输入还是输出)。
添加zynq PS 后,点击自动连接,vivado自己生成了axi interconnect和PS reset

在这里插入图片描述
PS的FCLK_CLK0 ,给AXI Interconnect 和AXI GPIO提供了时钟。peripheral aReastn提供了复位信号。
PS的M_AXI_GP0 和AXI Interconnect连接,PS也提供AXI时钟。
在这里插入图片描述
FCLK_CLK0 是PS端提供给PL端的时钟信号,供给了所有AXI 相关的所有IP。
FCLK_RESET0_N 这个信号给到processor System Reast IP ,然后通过peripheral aReastn 对AXI 互联和AXI GPIO提供复位信号。
在这里插入图片描述
在这里插入图片描述

AXI Interconnect 是一个AXI总线的连接矩阵,有点像路由器的意思
在这里插入图片描述

在这里插入图片描述
这样通过xilinx AXI GPIO IP核构建了一个 AXI 接口的GPIO模块。
在这里插入图片描述
clock Configuration 设置时钟,提供给AXI和AXI GPIO
打开AXI GPIO的中断,它的中断信号属于PL中断信号,相关设置在GIC中。
如下图所示,双击GIC

在这里插入图片描述
在这里插入图片描述
打开PL -PS的中断信号,其中断号是84~91。
最后进行引脚分配
.在这里插入图片描述
配置AXI GPIO的端口,生成比特流。

第四部分
AXI GPIO编程,导入官方例程。见下章
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/132962.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DoIP协议从入门到精通——通信建立

在DoIP专栏中,关于DoIP文章,主要讲述从车辆物理连接、车辆声明、车辆通信激活(Routine Activation)和诊断通信几个步骤。 本文介绍了Tester与车辆获取物理连接、车辆声明自身信息后接下来需要操作的就是本文所要分享的内容:Tester与车辆控制器的通信建立。 一、通信模式…

记一次堆外内存泄漏分析

文章目录1. 背景2. JVM 内存分布与分析2.1 JVM 内存分布2.2 堆外内存泄漏分析思路2.3 服务器 JVM 参数配置及实际内存分布2.4 JVM native 内存查看2.5 手动触发 Full GC3. 问题排查经历3.1 定位内存泄漏的位置及初步猜想1)定位 RES 区域存在内存泄漏2)分…

寒假每日一题W1D1——孤独的照片

题目描述 Farmer John 最近购入了 N 头新的奶牛,每头奶牛的品种是更赛牛(Guernsey)或荷斯坦牛(Holstein)之一。 奶牛目前排成一排,Farmer John 想要为每个连续不少于三头奶牛的序列拍摄一张照片。 然而&…

一本通 1267:【例9.11】01背包问题(详细代码)

经典01背包问题 这里给你3种方法 目录 DFS 思路: 代码: DFS记忆化 思路: 代码: 动态规划 思路: 代码: DFS 时间复杂度 :O(2^n) 思路: DFS求出所有选法,再用…

Maven 之 依赖管理

目录 1、依赖传递 小案例: 2、可选依赖 3、 排除依赖 4、可选依赖和排除依赖的区别 我们开发一个工程需要用到大量得jar包,而这些jar 包就是我们所说得依赖,一个项目可以配置多个依赖。 1、依赖传递 我们来看一下今天用来演示的工程。…

Linux性能学习(1.4):CPU_如何查看CPU上下文切换参数

文章目录1 系统总体上下文参数2 进程的上下文切换参数3 其它参考资料:vmstat:一个标准的报告虚拟内存统计工具 在前面大致了解了上下文切换的相关知识,那么如何在系统中查看上下文切换相关的参数? 1 系统总体上下文参数 使用vm…

人工势场法路径规划算法(APF)

本文主要对人工势场法路径规划算法进行介绍,主要涉及人工势场法的简介、引力和斥力模型及其推导过程、人工势场法的缺陷及改进思路、人工势场法的Python与MATLAB开源源码等方面 一、人工势场法简介 人工势场法是由Khatib于1985年在论文《Real-Time Obstacle Avoidan…

WPF使用触发器需要注意优先级问题

总目录 文章目录总目录前言一、问题开始二、问题说明三、问题订正总结前言 WPF使用触发器需要注意优先级问题 一、问题开始 现在有个需求: 初始状态(未选中)的时候,CheckBox的Content 为 “乒乓球”,然后选中之后&am…

python机器学习《基于逻辑回归的预测分类》

前言: 本文所有代码均在阿里天池实验室运行,本机的jupyter notebook也可运行。除此之外,还需要导入numpy,matplotlib,sklearn,seaborn包。每期文章前面都会有环境搭建说明。文中的讲解知识点均是按照从上往下讲解,将一些平常未接触…

⼯⼚⽅法模式

⼯⼚⽅法模式 ⼯⼚⽅法模式,属于创建者模式中的一种,这类模式提供创建对象的机制, 能够提升已有代码的灵活性和可复⽤性。 创建者模式包括:⼯⼚⽅法、抽象⼯⼚、⽣成器、原型、单例,这5类。 1.⼯⼚⽅法模式介绍 ⼯⼚…

LaoCat带你认识容器与镜像(二【一章】)

系列二章,祝大家新的一年事事顺心,想要的一定都实现。 本章内容 使用Docker镜像。 本文实操全部基于Ubuntu 20.04 一、使用Docker镜像 镜像(image)是Docker三大核心概念中最重要的,Docker运行容器前需要本地存在对应得…

在wsl下开发T113的主线linux(5)-构建ubi文件系统

接下来是构建文件系统,这里使用最新的buildroothttps://buildroot.org/download.htmlhttps://buildroot.org/download.html tar xf buildroot-2022.11.tar.gz cd buildroot-2022.11 make menuconfig 配置目标指令集类型 配置外部自定义编译器 配置生成文件系统类型…

数据结构和算法--算法与数据结构的概述、简单排序

目录 算法 算法概述 算法复杂度 数据结构 数据结构的概述 物理结构 逻辑结构 简单排序 1.选择排序 1.1算法描述 1.2算法实现 2冒泡排序 2.1算法描述 2.2算法实现 3插入排序 3.1算法描述 3.2算法实现 三种算法的比较 算法 算法概述 算法是一系列程序指令&am…

回溯算法题型

目录 一组合总和 二组合总和 三子集 四全排列 五解数独 一组合总和 题目描述: 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组…

ArcGIS基础:提取道路中心线

本实验为对道路路面数据进行中心线提取 以路边两侧边界为准,运用等分的办法实现道路中心线提取,原始数据如下所示(来源于网络)。 道路顶端有一些圆弧段的部分,需要把其去除。 首先要做的是面转线操作,如下…

HashMap解读

1.简介 HashMap ,是一种散列表,用于存储 key-value 键值对的数据结构,一般翻译为“哈希表”,提供平均时间复杂度为 O(1) 的、基于 key 级别的 get/put 等操作。 2.哈希表结构 哈希表结构为数组,链表和红黑树。如图 …

已解决+ FullyQualifiedErrorId : UnauthorizedAccess

已解决无法加载文件 E:\day_01\Scripts\activate.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID135170 中的about_Execution_Policies。 CategoryInfo: SecurityError: (:) [ ]…

Spring Bean的配置详解

目录 1.bean基础配置 例如:配置UserDaolmpl由Spring容器负责管理 2.Spring开发中主要是对Bean的配置, Bean的常用配置一览如下: 3.bean的别名配置 4.bean作用范围配置 5.bean的实例化 6.bean生命周期 7.Spring的get方法 8.Bean的延迟加载…

57. 数据增广 / 图像增广 代码实现

1. 图像增广 在对常用图像增广方法的探索时,我们将使用下面这个尺寸为400 x 500的图像作为示例。 从github上把img下载下来后,放到同一目录下: d2l.set_figsize() img d2l.Image.open(./img/cat1.jpg) d2l.plt.imshow(img);大多数图像增广…

数字通信系统和模拟通信系统的简单介绍

关于数字和模拟,比较形象的一个对比如下图所示。 模拟系统就好比传统的钟表,秒钟一直在走,也就是连续之意;而数字系统相当于数字表,“ :”的闪烁相当于二进制的 0 和 1,有离散之意。 模拟通信系…