ZYNQ 中PS端GPIO EMIO使用

VagueCheung發表於2021-07-14

  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程式碼即可,方便快捷提高開發效率。

相關文章