MIO與EMIO的差別與應用
1 MIO與EMIO概念
MIO:多功能IO接口,屬于Zynq的PS部分,在晶片外部有54個引腳。這些引腳可以用在GPIO、SPI、UART、TIMER、Ethernet、USB等功能上,每個引腳都同時具有多種功能,故叫多功能。
EMIO:擴充MIO,依然屬于Zynq的PS部分,隻是連接配接到了PL上,再從PL的引腳連到晶片外面實作資料輸入輸出。
2 MIO與EMIO的使用例程(雙序列槽、雙網口等的實作)
以雙序列槽為例:
實作功能:
① 實作資料直接從PS的MIO口接收與發送
② 通過PL口實作資料的接收與發送
③ 實作資料的雙序列槽接收與發送(即PS可同時從兩個UART口接收或發送資料)
建立工程——建立block design——添加Zynq ps IP——預設為Zedboard闆
可以看到UART1 的48、49 MIO接口被選中(如下圖)
回到Peripheral I/OPins選項,勾選UART0,可以看到EMIO框框變亮
點選ok,此時的Zynq ps IP中,UART0已經添加,其中一個接收(UART0_RX),一個發送(UART0_TX)
接下來對UART0_RX、UART0_TX作限制
限制到Zedboard闆的Pmod口上(本例中使用JA口進行擴充)限制檔案如下:
set_propertyPACKAGE_PIN Y11 [get_ports UART0_RX]
set_propertyPACKAGE_PIN AA11 [get_ports UART0_TX]
set_propertyIOSTANDARD LVCMOS33 [get_ports UART0_TX]
set_propertyIOSTANDARD LVCMOS33 [get_ports UART0_RX]
生成比特流,進行SDK開發
此時便可從Pmod的JA1口和JA2口進行序列槽資料的接收與發送,實作從PL讀取接收資料。
讀取接收到的資料通過SDK程式設計實作在PS中處理資料,之後我們可以添加其它外設IP,用PS中處理後的資料控制外設IP。
</div>