手撕原子弹 发表于 2021-8-16 11:34:27

【Zynq】浅谈ZYNQ之MIO与EMIO

浅谈ZYNQ之MIO与EMIO1.MIO
MIO(Multiplexed I/O)中文意思为“多路复用I/O接口”,可以简单理解为具有多重功能的IO口,它的具体功能可在ZYNQ IP中配置,既可以作为各种外设的接口,例如UART、IIC、以太网、USB等,也可以作为GPIO来使用。注意MIO是直接输出到ZYNQ芯片外部的,由PS端直接引出,成为具有实体的引脚。
MIO最大编号为53,编号从0开始,也就是说MIO只有54个,再减去我们要添加使用的各种外设,可能最后就只剩下十几个MIO了,这时候MIO可能就不够用了,需要使用额外的EMIO接口了。
2.EMIO
EMIO(Extended MultiplexedI/O),意为“扩展多路复用I/O接口”从名字就可以知道,它是MIO的拓展接口,与MIO不同的是:MIO是从PS(Programable System,arm 硬核CPU)端直接引出到外部的实体引脚,而EMIO是从PS端引出后处于ZYNQ芯片内部的引脚,并且在芯片内部接到PL(programable Logic,FPGA逻辑)端,再由PL端自行选择:是直接将其分配给ZYNQ芯片的外部IO,还是先对其进行“加工”,再将“加工处理”后的信号分配给ZYNQ芯片外部IO。对于MIO和EMIO这里我们放出一张图,方便大家看懂:

那么我们在什么时候使用MIO,什么时候使用EMIO呢?由于MIO是直接连接在PS端的,所以可以直接将其看做微处理器接口。也就是说MIO是完全与PL无关的,因此只要涉及到需要使用FPGA设计的接口都无法使用MIO。而EMIO由于内部连接到了PL端,再由PL端引出到外部,因此在PL内部可以随意将该EMIO进行任何处理,最后将处理完毕的信号引出到外部,因此在涉及到FPGA设计部分的时,只能使用EMIO。
总结:在单纯地使用微处理器接口时,直接选择MIO即可,若是MIO接口不够,可以使用EMIO扩展接口;而使用需要FPGA逻辑编程的接口时,只能选择EMIO。


admin 发表于 2021-8-16 14:52:19

PS就是Programable System,也就是arm 硬核CPU
PL就是programable Logic,也就是FPGA逻辑
页: [1]
查看完整版本: 【Zynq】浅谈ZYNQ之MIO与EMIO