只要兩步,教你在SigmaStudio中正確使用GPIO
第一步
如何訪問GPIO引腳
通過工具箱(ToolBox)中IO部分內(nèi)的通用輸入和輸出單元,可在SigmaStudio中訪問GPIO引腳。
圖1. GPIO ToolBox Cells
圖2. GPIO原理圖單元
點(diǎn)擊下拉式菜單,以便訪問所有可用的GPIO引腳。這些單元與Sigma-Studio中的其它單元一樣用線路連接,控制信號(hào)輸入和輸出的顯示顏色為紅色。
輔助ADC輸入單元的工作方式都相同。
圖3. 輔助ADC的輸入單元
第二步
如何設(shè)置GPIO引腳
必須使用SigmaStudio中的寄存器控制窗口單獨(dú)配置GPIO引腳。GPIO寄存器控制的示例如圖4、圖5和圖6所示。
圖4. ADAU170x寄存器控制窗口的GPIO部分
圖5. ADAU144x寄存器控制窗口的GPIO部分
圖6. ADAU176x寄存器控制窗口的GPIO部分
在此處,根據(jù)接口電路可適當(dāng)設(shè)置GPIO引腳。可進(jìn)行的設(shè)置包括:“輸入GPIO去抖動(dòng)”、“輸入GPIO無去抖動(dòng)”、“輸出GPIO”、“輸出GPIO集電極開路”以及ADC。此外,某些器件可通過這些引腳,來輸入或輸出數(shù)字音頻數(shù)據(jù)或時(shí)鐘。在某些器件上,GPIO引腳標(biāo)有MP(多用途)字樣,但它們的使用方法是相同的。
輸入GPIO去抖動(dòng)
將開關(guān)或按鈕與GPIO引腳連接時(shí),觸點(diǎn)抖動(dòng)(也稱為振動(dòng))是最常見的問題。由于許多機(jī)械和電氣方面的因素,在切換過程中,可能會(huì)隨機(jī)出現(xiàn)一系列振蕩現(xiàn)象。為降低這些影響,則應(yīng)當(dāng)將時(shí)基去抖電路集成到特定SigmaDSP的GPIO電路中。通常,在寄存器控制窗口的GPIO部分可設(shè)置去抖時(shí)間。內(nèi)核會(huì)從每個(gè)音頻幀相關(guān)的寄存器處讀取輸入值。
圖7. 具有去抖數(shù)據(jù)流的輸入GPIO
輸入GPIO無去抖動(dòng)
對(duì)于不受觸點(diǎn)抖動(dòng)影響的輸入(比如:外部邏輯IC處的輸出),可通過該設(shè)置旁路去抖電路。內(nèi)核會(huì)從每個(gè)音頻幀相關(guān)的寄存器處讀取輸入值。
圖8. 具有無去抖數(shù)據(jù)流的輸入GPIO
輸出GPIO
該設(shè)置可使引腳用于數(shù)字輸出。通常,每個(gè)引腳最大可驅(qū)動(dòng)的電流為幾毫安。如需了解更多信息,請(qǐng)參見相關(guān)的SigmaDSP數(shù)據(jù)手冊(cè)。GPIO引腳會(huì)從每個(gè)音頻幀相關(guān)的寄存器處讀取輸入值。
圖9. 輸出GPIO數(shù)據(jù)流
輸出GPIO集電極開路
該設(shè)置將引腳置于集電極開路或開漏輸出模式(取決于器件內(nèi)部電路),并且需要一個(gè)外部上拉電阻。該上拉電阻可與不同的IOVDD電源連接,但不能與DSP的電源連接,因此,如果連接不同邏輯電平下的IC,該模式非常有用。GPIO引腳會(huì)從每個(gè)音頻幀相關(guān)的寄存器處讀取輸入值。
圖10. 輸出GPIO集電極開路數(shù)據(jù)流
由控制端口驅(qū)動(dòng)輸入
在該模式中,GPIO引腳被旁路,內(nèi)核會(huì)從相關(guān)寄存器讀取相應(yīng)的值??赏ㄟ^控制端口來讀寫該寄存器的值。如果使用外部主控制器來控制信號(hào)流的各元素,則該模式將十分有用。內(nèi)核會(huì)從每個(gè)音頻幀相關(guān)的寄存器處讀取輸入值。
圖11. 由控制端口驅(qū)動(dòng)輸入數(shù)據(jù)流
由控制端口驅(qū)動(dòng)輸出
在該模式中,內(nèi)核中的信號(hào)流不影響相關(guān)GPIO引腳的輸出,并且引腳會(huì)從相關(guān)寄存器讀取相應(yīng)的輸出值??赏ㄟ^控制端口來讀寫該寄存器的值。
對(duì)于直接控制電路的元素(比如:通過外部主控制器與GPIO引腳相連接的LED),該模式非常有用。GPIO引腳會(huì)從每個(gè)音頻幀相關(guān)的寄存器處讀取輸入值。
圖12. 由控制端口驅(qū)動(dòng)輸出數(shù)據(jù)流
ADC
在ADC模式下設(shè)置引腳時(shí),引腳就相當(dāng)于輔助ADC的一個(gè)多路復(fù)用輸入端。在ADAU170x,上,應(yīng)當(dāng)激活反相位,以便正確使用ADC功能。盡管ADC的采樣速率取決于所使用的特定SigmaDSP,但內(nèi)核仍會(huì)從每個(gè)音頻幀的ADC讀取輸入值。
圖13. ADC數(shù)據(jù)流
在SigmaStudio?圖形編程軟件內(nèi),可對(duì)GPIO引腳進(jìn)行分配,以使其控制音頻信號(hào)處理程序或受該程序的控制。器件運(yùn)行期間,可更改引腳的功能。如果用戶接口使用GPIO引腳,則可減少或無需使用微控制器,這樣就能大大減少簡(jiǎn)單音頻系統(tǒng)的成本。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!