1.1 GPIO简介
ZYNQ7000 系列芯片有54个MIO(multiuse I/O),它们分配在GPIO的Bank0和NBank1 隶属于PS的部分,这些IO与PS直接相连。不需要添加引脚约束,MIO信号对PL部分是透明的,不可见。所以对MIO的操作可以看是对纯PS的操作。
GPIO的控制和状态寄存器的基地址为:0xE000_A000,在SDK下对软件操作底层都是对应于内存地址空间的操作。
可以看到 bank0和bank1属于MIO,一共有54个端口。bank2和bank3属于EMIO,一共有64个端口。
Bank0:MIO[31:0]
Bank1: MIO[53:32]
Bank2: EMIO[31:0]
Bank3: EMIO[63:32]
其中Bank0有32个GPIO引脚,Bank1有22个GPIO引脚,共54个GPIO引脚直接通过MIO连接到PS上,每个引脚可以通过寄存器设置来确定该引脚为输入、输出或者中断。因为54个MIO引脚直接连接到PS上,像其他普通ARM一样可以直接通过SDK进行编程。
Bank2和Bank3通过EMIO接口将CPU的GPIO连接到PL部分的引脚上,其中每个Bank各有32个引脚。通过EMIO扩展的GPIO连接到Pl上,可以在PL部分进行逻辑设计,