当前位置: 首页 > news >正文

ZYNQ中的GPIO与AXI GPIO

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_1111MASK_DATA_MSW:1111_0000_1111_1111DATA: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
    • 存在一个中断控制器,可以生成中断同时有检测中断的功能
http://www.lryc.cn/news/43173.html

相关文章:

  • 接口导入功能
  • 网络安全知识点总结 期末总结
  • linux挂载远程目录
  • ChatGPT—初识
  • 【ArcGIS Pro二次开发】(18):地理处理工具类【Geoprocessing】补遗
  • 国产芯片方案——红外测温体温计方案
  • 详解ChatGPT的免费总结插件Glarity
  • RK3588平台开发系列讲解(NPU篇)NPU调试方法
  • 基于微信小程序+爬虫制作一个表情包小程序
  • TS常用数据类型(TypeScript常用数据类型,ts常用数据类型和js常用数据类型的区别)
  • 关于Numpy的特殊符号@和矩阵运算
  • 动态版通讯录——“C”
  • SpringBoot 将PDF转成图片或World
  • JavaScript中的for in和for of的区别(js的for循环)
  • C++的各种初始化
  • 使用Python突破某网游游戏JS加密限制,进行逆向解密,实现自动登录
  • 用CSS3画了一只猫
  • 菜鸟刷题Day7
  • 蓝桥杯刷题第二十三天
  • 进阶指针(3)——指针与数组笔试题的解析
  • 树与二叉树的存储与遍历
  • 28-队列练习-LeetCode622设计循环队列
  • 你值得拥有——流星雨下的告白(Python实现)
  • 【5G RRC】NR测量事件介绍
  • PMP项管2023年5月的备考准备攻略!
  • Linux进程概念—环境变量
  • 用JS+CSS打造你自己的弹幕王国,让网页动起来!
  • C++ LinuxWebServer 2万7千字的面经长文(上)
  • vue3 解决各场景 loading过度 ,避免白屏尴尬!
  • 基于sringboot和小程序实现高校食堂移动预约点餐系统演示【源码】