ZYNQ 中PS端GPIO EMIO使用
在使用ZYNQ進行開發設計時,往往需要對一些GPIO引腳進行配置,傳統的配置方法通常在PL端進行管腳約束之後在Verilog程式碼中對相應引腳進行配置。這樣如果開發過程中一旦有需要對管腳配置進行修改的話,那麼就必須重新進行綜合、佈局佈線、生成位元流檔案,如果設計工程相對複雜的話,完成整個過程通常需要相當長一段時間。影響開發效率。
此時,如果將配置引腳的邏輯放在PS端進行的話,更改配置的話就無需對整個工程在進行綜合、佈局佈線、生成位元流檔案。只需在SDK中直接修改即可,下面介紹如何將想要配置的GPIO管腳擴充套件到PS端。(傻瓜式按圖一步接一步)
1、雙擊開啟ZYNQ IP,選擇Peripheral I/O Pins勾選GPIO EMIO。
2、選擇MIO Configuration,開啟I/O Periphrials下拉選單,勾選EMIO GPIO,擴充套件寬度可以選擇1~64,這裡我選擇4意思就是可以擴充套件4個GPIO。
3、配置完後,ZYNQ IP會出現增加的GPIO擴充套件介面,介面名稱自己設定。
4、接下來在PL端的XDC約束檔案中對需要配置的GPIO引腳進行物理約束。
5、執行一次綜合、佈局佈線、生成位元流檔案,開啟SDK程式,在程式中對擴充套件的GPIO進行配置。配置程式碼如下:
注意:PS端擴充套件的GPIO序號應從54開始118結束,因為在ZYNQ出廠PS端的前53個引腳已經被其他介面使用。PS端的54則對應PL端約束的[0],其他同理一一對應。
這樣一來如果需要修改GPIO配置資訊只需修改SDK程式碼即可,方便快捷提高開發效率。