GPIO-FPGA架構


GPIO是一種軟件運行期間能夠動態配置和控制的通用引腳

有不同的GPIObank,每個GPIO口的bank都會有編號的區分,

每個GPIO口除了通用的輸入輸出功能以外,還有其他復用功能,例如GPIO5_b4可以復用成:

  • spi0_clk
  • ts0_data4
  • uart4exp_ctsn

一、GPIO的特性

1.可編程控制GPIO中斷

2.可邊沿觸發或者電平觸發

3輸入輸出可承受5V

4讀寫過程中通過位地址線進行位屏蔽

5弱上拉和若下拉電阻

6.2、4/8mA驅動,以及帶驅動轉換速率skew rate()的8沒A驅動

7開漏使能,數字輸入使能

二、GPIO的工作模式

1.高阻輸入

實際上就是一個帶有施密特觸發輸入的三態緩沖器(U1)高的輸入阻抗,施密特觸發輸入的作用就是將緩慢變化,或是畸變的輸入脈沖信號整形成理想的矩形脈沖信號。讀脈沖信號把當前的電平狀態讀出到內部總線上,不執行讀操作的時候,外部管腳和內部總線隔離。

2.推挽輸出

這里的推挽主要指的是T1 和T2組成的反相器部分,T1或者T2導通的時候,都具有低的阻抗,但是T1T2不會同時導通,或者同時關閉,這樣形成的就是推挽輸出。在實際的開發板上,T1T2實際上是多組可編程選通的晶體管,驅動能力可以自行配置為各種電流輸出的。GPIO還有回讀的功能,實現回讀功能的實際上是一個簡單的三態門U2,回讀到的是管教的輸出緩存狀態,不是外部管腳的狀態。

U17.com是輸出緩存器,在執行GPIO管教的寫操作的時候,在寫脈沖的作用下,數據被鎖存到Q和Q1。

3.開漏輸出

開漏輸出的結果與推挽輸出類似,GPIO管腳在開漏輸出下的等效結構模式圖,,實際上就是一個開關,輸出1時斷開,輸出0時接到地上,(有一定的內阻)。回讀的時候讀到的仍然是輸出鎖存器的狀態,而不是外部管腳的pin狀態。開漏輸出不能用於輸入。

實際用用的時候要加上上拉電阻,開漏輸出可以方便的實現線與邏輯,另外他可以實現不同邏輯電平之間的轉換,只需要接一個上拉電阻,不需要額外的轉換電路。典型的應用例子就是基於OD的IIC總線。

4.鉗位二極管

作用在於防止外部管腳Pin的輸入電壓過高或者過低,VDD的正常供電電壓是3.3V,如果從pin輸入信號電壓超過VDD加上二極管D1的導通壓降假定0.6V(),着二極管D1導通,會把多余的電流引入到VDD,而真正輸入到內部的信號不會超過3.9V,同理,D2可以限制輸入電壓的最小值,使之不超過-0.6V 。

另外,加上一個ZYNQ的IO的用法:

附加一個樹莓配的GPIO配置方法:https://blog.csdn.net/xukai871105/article/details/12684617


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM