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_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
    • 存在一个中断控制器,可以生成中断同时有检测中断的功能
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值