SigmaDSP?系列多款器件均內置通用輸入/輸出(GPIO)引腳,這些引腳可與外部硬件元件(如:LED、按鈕或旋轉編碼器)連接,某些還可多路復用至輔助ADC,這就使得電位器或模擬控制電壓可直接連接到IC。本文簡要說明如何在專用于SigmaDSP音頻處理器的編程、開發和調整軟件的圖形開發工具SigmaStudio中使用GPIO。
第一步如何訪問GPIO引腳通過工具箱(ToolBox)中IO部分內的通用輸入和輸出單元,可在SigmaStudio中訪問GPIO引腳。
圖1. GPIO ToolBox Cells
圖2. GPIO原理圖單元
點擊下拉式菜單,以便訪問所有可用的GPIO引腳。這些單元與Sigma-Studio中的其它單元一樣用線路連接,控制信號輸入和輸出的顯示顏色為紅色。
輔助ADC輸入單元的工作方式都相同。
圖3. 輔助ADC的輸入單元
第二步如何設置GPIO引腳必須使用SigmaStudio中的寄存器控制窗口單獨配置GPIO引腳。GPIO寄存器控制的示例如圖4、圖5和圖6所示。
圖4. ADAU170x寄存器控制窗口的GPIO部分
圖5. ADAU144x寄存器控制窗口的GPIO部分
圖6. ADAU176x寄存器控制窗口的GPIO部分
在此處,根據接口電路可適當設置GPIO引腳。可進行的設置包括:“輸入GPIO去抖動”、“輸入GPIO無去抖動”、“輸出GPIO”、“輸出GPIO集電極開路”以及ADC。此外,某些器件可通過這些引腳,來輸入或輸出數字音頻數據或時鐘。在某些器件上,GPIO引腳標有MP(多用途)字樣,但它們的使用方法是相同的。
輸入GPIO去抖動
將開關或按鈕與GPIO引腳連接時,觸點抖動(也稱為振動)是最常見的問題。由于許多機械和電氣方面的因素,在切換過程中,可能會隨機出現一系列振蕩現象。為降低這些影響,則應當將時基去抖電路集成到特定SigmaDSP的GPIO電路中。通常,在寄存器控制窗口的GPIO部分可設置去抖時間。內核會從每個音頻幀相關的寄存器處讀取輸入值。
圖7. 具有去抖數據流的輸入GPIO
輸入GPIO無去抖動
對于不受觸點抖動影響的輸入(比如:外部邏輯IC處的輸出),可通過該設置旁路去抖電路。內核會從每個音頻幀相關的寄存器處讀取輸入值。
圖8. 具有無去抖數據流的輸入GPIO
輸出GPIO
該設置可使引腳用于數字輸出。通常,每個引腳最大可驅動的電流為幾毫安。如需了解更多信息,請參見相關的SigmaDSP數據手冊。GPIO引腳會從每個音頻幀相關的寄存器處讀取輸入值。
圖9. 輸出GPIO數據流
輸出GPIO集電極開路
該設置將引腳置于集電極開路或開漏輸出模式(取決于器件內部電路),并且需要一個外部上拉電阻。該上拉電阻可與不同的IOVDD電源連接,但不能與DSP的電源連接,因此,如果連接不同邏輯電平下的IC,該模式非常有用。GPIO引腳會從每個音頻幀相關的寄存器處讀取輸入值。
圖10. 輸出GPIO集電極開路數據流
由控制端口驅動輸入
在該模式中,GPIO引腳被旁路,內核會從相關寄存器讀取相應的值。可通過控制端口來讀寫該寄存器的值。如果使用外部主控制器來控制信號流的各元素,則該模式將十分有用。內核會從每個音頻幀相關的寄存器處讀取輸入值。
圖11. 由控制端口驅動輸入數據流
由控制端口驅動輸出
在該模式中,內核中的信號流不影響相關GPIO引腳的輸出,并且引腳會從相關寄存器讀取相應的輸出值。可通過控制端口來讀寫該寄存器的值。
對于直接控制電路的元素(比如:通過外部主控制器與GPIO引腳相連接的LED),該模式非常有用。GPIO引腳會從每個音頻幀相關的寄存器處讀取輸入值。
圖12. 由控制端口驅動輸出數據流
ADC
在ADC模式下設置引腳時,引腳就相當于輔助ADC的一個多路復用輸入端。在ADAU170x,上,應當激活反相位,以便正確使用ADC功能。盡管ADC的采樣速率取決于所使用的特定SigmaDSP,但內核仍會從每個音頻幀的ADC讀取輸入值。
圖13. ADC數據流
在SigmaStudio?圖形編程軟件內,可對GPIO引腳進行分配,以使其控制音頻信號處理程序或受該程序的控制。器件運行期間,可更改引腳的功能。如果用戶接口使用GPIO引腳,則可減少或無需使用微控制器,這樣就能大大減少簡單音頻系統的成本。
-
GPIO
+關注
關注
16文章
1205瀏覽量
52146 -
SigmaStudio
+關注
關注
2文章
5瀏覽量
5908 -
adau170x寄存器
+關注
關注
0文章
1瀏覽量
1430
原文標題:在圖形開發工具SigmaStudio中正確使用GPIO,只需兩步
文章出處:【微信號:analog_devices,微信公眾號:analog_devices】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論