嵌入式軟硬件協同設計階段性總結(Zynq7000系列)

      一切不過是幾根線的連接,幾條命令的書寫,但是不知道原理,沒有基礎,是無論如何也找不到路子的。所以說只是重在積累,而學習貴在持之以恆。


      要學習那本陸佳華的《嵌入式軟硬件協同設計實戰指南》或者是實際使用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通信。如何設計高效的PL與PS數據交互通路是Zynq芯片設計的重中之重。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章