MIO:多功能IO接口,属于PS部分的原生IO, 这些引脚可以用在GPIO、SPI、UART、TIMER、Ethernet、USB等功能上,每个引脚都同时具有多种功能,故叫多功能IO
EMIO: 扩展MIO,依然属于Zynq的PS部分,只是连接到了PL上,再从PL的引脚连到芯片外面实现数据输入输出。 在我的理解 PL部分在这里仅仅是起到wire 的作用
AXIGPIO: 由FPGA的PL逻辑核功能实现,相当于GPIO的IP核,是通过AXI总线挂在PS上的GPIO上。
另外 MIO 的 SPI I2C 等资源对应固定的管脚 不能用于所有的MIO口上,但是EMIO映射出的 SPI 和I2C可以拓展到任意PL的IO上
工程六中使用的GPIO 接法为AXI GPIO, 这种接法耗费了PL端的逻辑资源。
我的理解, MIO相当于直接连接到PS多功能的IO(每个口固定功能), EMIO相当于将PS逻辑功能在内部连接到PL端口上(连接到的口可以内部调整,更加灵活,资源还是PS的硬件资源),AXI GPIO 相当于用PL的资源堆积的IO,用总线方式连接到PS上(实际用的是PL资源,而非PS硬件资源)
增加: 20210818
EMIO 和MIO 用到的函数API完全相同, 值得注意的是 MIO 所占用的管脚号是 0-53, EMIO所占用的管教号是 54-117
emio 和mio 在ps端的使用几乎没有区别