ZYNQ中的GPIO与AXI GPIO

2023-05-16

GPIO
  • GPIO—一种外设,对器件进行观测和控制
  • MIO—将来自PS外设静态存储器接口的访问多路复用到PS引脚上
  • 处理器控制外设的方法—通过一组寄存器包括状态寄存器和控制寄存器,这些寄存器都是有地址的,通过这些寄存器的读写进行外设的控制
  • session会话—读写操作
  • 存储映射—操作的对象在存储器空间里面的,读写的过程中要给定地址进行
  • EMIO—如果我们在PS使用IO过程中超过了54个引脚,那么只能将引脚引入到PL端,那这就需要使用到EMIO,同时也可以使得PS和PL相互连接,通过PS控制PL设计的模块
  • 只有部分资源才能通过EMIO连接到PL
  • GPIO可以独立且动态地进行编程,作为输入/输出以及中断模式
  • GPIO被分为4个Bank
  • 寄存器组
    • DATA_RO,用来反映器件引脚的状态
    • DATA,在GPIO被配置成为输出时,该寄存器可以控制输出的数值,但是一次要控制32bit
    • MASK_DATA_LSW,低16位的掩码
    • MASK_DATA_MSW,高16位的掩码
    • 掩码的作用—保证特定位不被修改
      // 假如不使用掩码则需要通过如下步骤对输出进行改变
      (1)先把DATA进行读取
      (2)改变需要更改的数值
      (3)写入DATA
      // 使用掩码的方法
      DATA:1000_0101_0001_1111_1000_0101_0001_1111
      MASK_DATA_MSW:1111_0000_1111_1111
      DATA:0000_1010_0000_0000
      不用读出写入,直接写就可以,只关心写入的位
    
    • DIRM,输入输出方向控制器,0—关闭输出驱动,1—使能输出驱动
    • OEN,输出使能,只有配置成为输出才有效果,该寄存器用于打开/关闭输出使能,0—关闭输出使能,1—打开输出使能
  • GPIO分为四个bank,MIO也分为两个bank,这两者无关
  • MIO两个bank供电不同,具体配置在MIO[ 8 ]和MIO[ 7 ],这两个bit在系统复位过程中作为VMODE引脚(输入),用于配置MIO bank的电压,复位结束后只能作为输出信号

AXI GPIO

  • GPIO和AXI GPIO的区别

    • 一个是硬核的IO一个是软核的IO
  • AXI GPIO其实没有具体的硬件电路—通过PL端实现

  • AXI的设计方便了PS和PL之间的通

  • AXI GPIO的设计也是为了方便PS和PL之间的通信,AXI GPIO既有AXI接口,方便PL连接到PS,也有GPIO可以直接对PL资源上的外设进行控制,最终达到PL和PS之间的相互关系

  • AXI Interconnect就是可以将AXI的主端口和从端口进行互联,控制AXI数据之间的交互

    • 用于连接AXI存储器映射的主器件和从器件
  • AXI GPIO还可以与PS部分的GIC进行互连接,实现对PS资源的中断控制
    在这里插入图片描述

  • AXI GPIO的功能

    • 实现通用接口到AXI的连接
    • 每个pin都可以进行编程配置input/output
    • 每个通道的GPIO都可以被配置产生中断,当发生电平转换就可以发生中断信息
  • 三态缓冲器—并不是原始GPIO core

    • GPIO_T控制GPIO究竟是输入还是输出
      • 1为input,0为output
    • 存在一个中断控制器,可以生成中断同时有检测中断的功能
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ZYNQ中的GPIO与AXI GPIO 的相关文章

  • 品味树莓派:GPIO口定义、电气特性、启动状态等基础说明

    文章目录 目录 GPIO口定义 电气特性 启动状态 总结 目录 树莓派相比成品化的电脑来说有很多独立的GPIO口可供开发使用 可以方便的实现很多实物相关的功能 本文将对树莓派开放给用户的GPIO口的针脚定义 电气特性 启动状态等基础内容做个
  • STM32F103 GPIO输出模式2MHz,10MHz,50MHz波形对比

    在STM32F103中GPIO的输出模式有三种速度配置 如图所示 经过测试发现 这三种速度的输出模式与IO的翻转频率没有关系 它们影响的可能是驱动能力 下面是在IO极限频率 18MHz 下 三种模式的波形
  • 深入浅出AXI协议(2)——通道及信号

    一 前言 在之前的文章中 我们主要介绍了什么是AXI协议 AXI协议的特点与优点 然后对于AXI协议非常重要的五通道结构进行了介绍 了解了5个通道各自的作用 本文我们继续AXI协议的学习 我们将讨论5个通道的具体内容和相对应的信号 这一部分
  • 关于stm32的GPIO的操作

    首先先了解一下输出的模式 比较常用的是 推挽输出 1 GPIO Mode AIN 模拟输入 2 GPIO Mode IN FLOATING 浮空输入 3 GPIO Mode IPD 下拉输入 4 GPIO Mode IPU 上拉输入 5 G
  • ZYNQ平台在SDK下引导启动UBOOT

    ZYNQ芯片 Linux系统搭建完成后 希望通过QSPI Flash的方式来进行程序加载 QSPI Flash启动则需要烧录以下文件 BOOT bin fsbl elf uboot elf uImage linux内核 zynq board
  • AXI4-Stream协议的信号以及Xilinx提供的从AXI到AXI-Stream转换的IP核区别

    AXI4 Stream协议是一种用来连接需要交换数据的两个部件的标准接口 它可以用于连接一个产生数据的主机和一个接受数据的从机 当然它也可以用于连接多个主机和从机 该协议支持多种数据流使用相同共享总线集合 允许构建类似于路由 宽窄总线 窄宽
  • ZYNQ PL与PS交互的最大带宽

    PL与PS的交互使用AXI HP接口可以达到最大的带宽 在典型的150MHz的时钟速度下 AXI HP接口的读写带宽最高均可达到1200MB s 在Zynq 7000系列的器件中包含有4个AXI HP接口 因此总的带宽最高可达到9600MB
  • ZYNQ ARM核之SCU

    Snoop Control Unit 窥探控制单元 详情见UG585 SCU主要是解决ARM的L1和L2的缓存协调 因为两个processor的缓存是共用的 和AXI总线的ACP存取的 也就是DMA等高速中断需求的外设 SCU 块将两个 C
  • FPGA学习日记(五)ZYNQ——在线逻辑分析仪(ILA)硬件调试及simulator仿真软件的创建使用

    一 在线逻辑分析仪 ILA vivado的在线逻辑分析仪 ILA 其借用了传统逻辑分析仪的理念以及大部分的功能 并利用 FPGA 中的逻辑资源 将这些功能植入到 FPGA 的设计当中 如下图所示 ILA占用一部分FPGA内部逻辑资源 可看做
  • 如何利用FPGA生成SPWM调制信号

    如何利用FPGA生成SPWM调制信号 实验目标 稍微说一下原理 SPWM即正弦波宽度脉冲调制 冲量等效原理 双极性的的SPWM信号 具体步骤 1 用matlab生成三角波和正弦波的coe文件 2 调用ROM的ip读取coe文件 3 调用pl
  • [ZYNQ随笔] uboot移植中bitstream比特流加载问题:zynq_validate_bitstream: Bitstream is not validated yet

    问题介绍 由于项目设计需要 需要频繁的更换比特流文件 之前使用petalinux生成的boot bin每次都需要合并比特流 比较麻烦 遂换了一个uboot版本 米联客默认的u boot 将bitstream放到了独立于boot bin的文件
  • ZYNQ FreeRTOS使用双网口笔记与爬坑

    正点原子领航者7020的开发板上有两个网口 想着用起来 上面一个是PS网口 一个是外挂在PL网口 使用vitis版本为2019 2 PL网口通过emio挂载在网络控制器1上 PS网口挂载在网络控制器0上 配置串口0 踩坑1 在vivado里
  • 如何在Python中运行后一段时间内禁用Raspberry Pi GPIO事件?

    每当我的 Raspberry Pi 的 GPIO 引脚出现下降沿时 我就会创建一个事件 但是 我想在每次运行后禁用此事件一段时间 例如 5 秒 我希望在该时间段之后再次启用该事件 我的第一个想法就是使用sleep 5 在实际的事件函数中 但
  • android.os.ServiceSpecificException:GPIO2_IO02 已在使用中(代码 16)

    我正在研究 android 的东西 Pico i MX7D I O 我得到了android os ServiceSpecificException GPIO2 IO02 已在使用中 代码 16 异常 这是什么意思 请帮我 我的示例程序是从克
  • [Firefly-Linux] RK3568 gpio-leds驱动详解

    文章目录 一 GPIO 介绍 二 RK3568 GPIO 状况 三 GPIO 引脚计算 四 ITX 3568JQ LED 4 1 LED 原理图 4 2 LED 设备树
  • Raspberry Pi RPi.GPIO 错误并带有威胁回调

    我被 Python 包中的 wait for edge 函数困住了RPi http sourceforge net p raspberry gpio python wiki Inputs 我为 GPIO 下降添加了多个事件检测 只要回调函数
  • UIO 设备上的 mmap EINVAL 错误

    在尝试使用 UIO 而不是直接映射后 我在 Xilinx Zynq 上映射物理内存时遇到问题 dev mem 虽然计划是以普通用户身份运行应用程序 而不是root这仍在运行root 显然 第一个映射成功 其余映射到同一个文件描述符12 de
  • 从内核模块向用户空间通知 GPIO 中断[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我有一段代码可以检测内核模块中的 GPIO 中断 现在 我正在寻找一种机制 在检测到来自内核模块的 gpio 中断时通知用户空间 任何与不同选项
  • PWM DMA 到整个 GPIO

    我有一个 STM32F4 我想对一个已与掩码进行 或 运算的 GPIO 端口进行 PWM 处理 所以 也许我们想要 PWM0b00100010一段时间为 200khz 但随后 10khz 后 我们现在想要 PWM0b00010001 然后
  • GPIO-Hog声明的目的和用途

    问题 其目的和用例是什么gpio hog宣言 可以从用户空间连接 占用 的 GPIO 引脚吗 如果 占用 GPIO 引脚无法与用户空间交互 那么是否有任何机制可以在 dts 文件中配置 GPIO 引脚以进行用户空间交互 背景 我正在尝试配置

随机推荐

  • Spring环境的搭建和简单使用

    一 为什么使用spring和什么spring 1 xff09 代码中对象间的以来关系特别多 xff0c 代码耦合度比较高 xff0c 为了解决这种问题 xff0c 使用spring框架 2 xff09 spring是一个开源的容器框架 xf
  • Java中&与&&的区别

    Java中 amp 和 amp amp 都是逻辑与 xff0c 需要左右两边同时满足条件才可以得到true的结果 但是 xff0c 它们之间也有区别 xff1a 1 amp amp 也叫短路与 xff0c 当 amp amp 左边的条件不满
  • 关于二叉树的建立(C语言)(链式)

    首先 xff0c 我们得知道二叉树是什么 xff01 xff01 这东西网上一大把 还有 xff0c 二叉树的遍历顺序 xff0c 前序 xff08 根左右 xff09 xff0c 中序 xff08 左根右 xff09 xff0c 后序 x
  • [springMVC学习]1、springmvc设置spring配置文件

    我们给springmvc设置配置文件 xff0c 实际上就是让某个类在tomcat启动时 xff0c 自动的去读取配置文件 xff0c 完成ioc容器的创建 xff0c 完成初始化工作 在spring中 xff0c 我们是手动new出来 x
  • 无法连接 MKS: Login(username/password)incorrect

    升级到Vmware Workstation 12之后 xff0c 客户端能连上虚拟机服务器 xff0c 但却打不开共享的虚拟机 xff0c 提示报错 无法连接 MKS Login username password incorrect 查了
  • 李永乐(一)行列式计算——笔记

    行列式基本性质 一 行列式求值 说明 xff1a 第 i 行元素 乘 第 j 列的代数余子式 之和 61 0 二 转置行列式值不变 引申 xff1a 行有什么性质 xff0c 列就有什么性质 三 两行互换 xff0c 行列式值变号 引申 x
  • 计算机网络——组播地址(多播地址、D类地址)详解——不断完善更新中

    1 是什么 先看这张图 xff0c 组播地址是分类编址的IPv4地址中的D类地址 xff0c 又叫多播地址 xff0c 他的前四位必须是1110 xff0c 所以网络地址的取值范围是224 239 2 这些IP地址用来做什么 224 0 0
  • 线代——猴博士笔记

    求向量组的秩 xff0c 先求极大无关组 xff0c 极大无关组里几个向量 xff0c 秩就是几 什么是极大无关组 xff1f 从一向量组挑出几个向量 xff0c 他们线性无关 xff0c 且原来向量组中任意一个向量加进去 xff0c 又变
  • C++ std::ref————详解

    想学习ref xff0c 必须先学习reference rapper 1 是什么 xff1f ref是个函数模板 xff1a 用来构建一个reference wrapper对象并返回 xff0c 该对象拥有传入的elem变量的引用 如果参数
  • I/O复用的高级应用:聊天室程序———实例代码

    1概述 这是一个聊天室程序 xff0c 分为服务端和客户端两部分 多个客户端可以连接到同一个服务器 xff0c 当一个客户端向服务器发送消息时 xff0c 该消息会被转发给除发送端外的其他客户端 xff0c 其他客户端收到该消息并输出到标准
  • CMake指令解析 set(CMAKE_CXX_FLAGS “$ENV{CXXFLAGS} -rdynamic -O3 -fPIC -ggdb -std=c++11 -Wall -Wno-deprec

    完整代码 set span class token punctuation span CMAKE CXX FLAGS span class token string 34 span class token variable ENV span
  • vscode找不到头文件报错,就离谱

    最近在vscode写一个项目 xff0c 进行编译测试的时候发现死活找不到头文件 xff0c 就离谱 xff0c CMakeLists txt里的include directories所有头文件包含路径写的明明白白清清楚楚 xff0c 就是
  • 有26个字母a~z,找出所有字母组合,a、b、c、ab、abc、a~z 都是一个组合(顺序无关)

    mark 一下 xff0c 好像是用深搜做的 xff0c 目前看不太懂 span class token keyword int span list span class token punctuation span span class
  • 对顶堆模板:求动态数组的中位数

    模板 priority queue span class token operator lt span span class token keyword int span span class token operator gt span
  • C++八股文

    文章目录 C 43 43 语言int function int a int b 指针数组和数组指针的区别 xff1f 数组指针指针数组 函数指针和指针函数的区别函数指针指针函数 常量指针和指针常量的区别数组和指针的区别指针和引用的区别数组名
  • 一个HTML网页简单有效的验证码更换方法

    代码展示 lt img name 61 34 verifycode 34 src 61 34 verifyServlet 34 height 61 34 40px 34 width 61 34 150px 34 onclick 61 34
  • 获取CSDN文章内容并转换为markdown文本的python

    这篇文章主要介绍了自己写的小工具 xff0c 可以直接获取csdn文章并转换为markdown格式 需要的朋友可以参考下 自己写的小工具 xff0c 可以直接获取csdn文章并转换为markdown格式 效果图 核心代码 span clas
  • Android-视图绑定

    举例 xff1a 此时 xff0c first layout xml中定义了一个button且id为button1的按钮 在FirstActivity中我们想要调用这个按钮的话 xff0c 有两种方法 第一种 xff0c 通过FindVie
  • C语言程序设计1

    C语言程序设计1 计算机语言分类 xff1a 机器语言 xff1a xff08 machine language xff09 计算机直接使用的二进制形式的程序语言或机器代码 汇编语言 xff1a 借助助记符进行描述的计算机语言 高级语言 x
  • ZYNQ中的GPIO与AXI GPIO

    GPIO GPIO 一种外设 xff0c 对器件进行观测和控制MIO 将来自PS外设和静态存储器接口的访问多路复用到PS引脚上处理器控制外设的方法 通过一组寄存器包括状态寄存器和控制寄存器 xff0c 这些寄存器都是有地址的 xff0c 通