关闭

嵌入式软硬件协同设计阶段性总结(Zynq7000系列)

标签: 嵌入式FPGAXilinxZYNQ
662人阅读 评论(0) 收藏 举报
分类:

      一切不过是几根线的连接,几条命令的书写,但是不知道原理,没有基础,是无论如何也找不到路子的。所以说只是重在积累,而学习贵在持之以恒。


      要学习那本陆佳华的《嵌入式软硬件协同设计实战指南》或者是实际使用zynq7000系列的开发板进行科研试验,都要明确开发板上的PL与PS资源分布。因此首先要明白什么是MIO什么是EMIO。


MIO:多功能IO接口,属于Zynq的PS部分,在芯片外部有54个引脚。这些引脚可以用在GPIO、SPI、UART、TIMER、Ethernet、USB等功能上,每个引脚都同时具有多种功能,故叫多功能。

EMIO:扩展MIO,依然属于Zynq的PS部分,只是连接到了PL上,再从PL的引脚连到芯片外面实现数据输入输出。

具体可以参考

基于Zynq的MIO与EMIO的区别和应用

http://www.ithao123.cn/content-8321280.html


zynq有三种GPIO,分别是MIO、EMIO、AXI_GPIO。其中MIO和EMIO是直接挂在PS上的GPIO。而AXI_GPIO是通过AXI总线挂在PS上的GPIO上。


MIO在zynq上的管脚是固定的,而EMIO,是通过PL部分扩展的,所以使用EMIO时候需要在约束文件中分配管脚(分配的管脚属于zynq芯片的PL部分资源),所以设计EMIO的程序时,需要生成PL部分的bit文件,烧写到FPGA中。

无论是EMIO还是MIO都属于PS上的IO,直接由PS操作。在调用头文件,只调用#include "xgpiops.h"即可,而在调用AXI_GPIO时,则需要#include "xgpio.h"。


另外关于PS与PL部分一开始会有很多困惑。其实我现在也不是太懂。在我看来PL部分就是用户可以自定义的引脚,可以连接特定外设。而PS部分就是固定的引脚,用户不可以自行分配。只可以直接连接。主要就是PL部分,一般连接外设主要用到FMC的引脚和PMOD的引脚。你可以在约束文件中指定串口或者网口的输入输出引脚(不能设置PS部分的引脚),然后与你的实际物理外设连接。他们就可以通过PL部分的资源(也就是IP核)和处理子系统PS通信。



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:195790次
    • 积分:2478
    • 等级:
    • 排名:第16424名
    • 原创:75篇
    • 转载:6篇
    • 译文:1篇
    • 评论:38条
    最新评论