1 ZYNQ-7000 GPIO介绍
1.1 MIO与EMIO区别
- GPIO(Generous Purpose Input Output)是指CPU引出的,可以配置为输入或输出的端口,用于CPU与外界进行数据的传输。
- ZYNQ-7000 架构由 PL+PS 组成,所以它的 GPIO 与一般的 ARM 不同。ZYNQ 的 GPIO,分为两种,MIO(multiuse I/O)和 EMIO(extendable multiuse I/O)。
- MIO 有54个,分配在 GPIO 的 Bank0 和 Bank1 隶属于 PS 部分,这些 IO 与 PS 直接相连。不需要添加引脚约束,MIO 信号对 PL 部分是透明的,不可见。
-
EMIO有64个,EMIO连接PS到PL,作为ZYNQ的拓展MIO,当 MIO 不够用时,PS 可以通过驱动 EMIO 控制 PL 部分的引脚。因此使用PS的EMIO时,需要添加PL引脚约束。
- Bank0:MIO [31:0] GPIO PIN 脚号:0~31
Bank1:MIO [32:53] GPIO PIN 脚号:32~53
Bank2:EMIO [31:0] GPIO PIN 脚号:54~85
Bank3:EMIO [63:32] GPIO PIN脚号:86~ 117 -
因此我们要注意,在分配外设控制器管脚时,EMIO的那些要在PL端进行约束,MIO也要仔细阅读米联开发板相关文档。注意引脚的连接是否正确。
- SD卡控制器,串口控制器和网口控制器直接通过MIO与外设互联,不需要PL约束。
- SPI控制器通过EMIO引出到PL,并在PL进行管脚约束。