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
- 存在一个中断控制器,可以生成中断同时有检测中断的功能
- GPIO_T控制GPIO究竟是输入还是输出