在即時可用的應用程式中使用I2S
重要
這是 Azure Sphere (舊版) 檔。 Azure Sphere(舊版)將於 2027 年 9 月 27 日淘汰,且使用者此時必須移轉至 Azure Sphere(整合式)。 使用位於 TOC 上方的版本選取器來檢視 Azure Sphere (整合式) 檔。
Azure Sphere 支援 Inter-IC Sound (I2S) 介面。
I2S 是用於將數位音訊裝置連接在一起的序列總線介面標準。 I2S 總線有個別的時鐘和序列數據訊號。
本主題描述如何在即時可用的應用程式中使用 I2S(RTApps)。
注意
- I2S 目前不支援在高階應用程式中使用。
- Azure Sphere OS 不會在啟動時重設周邊。 您的應用程式應該確保周邊在啟動或重新啟動后處於已知良好狀態。
即時核心上I2S的MT3620支援
本節說明只有在 MT3620 上執行 Azure Sphere 時才適用的 I2S 選項。
MT3620 有兩個 I2S 介面:I2S0 和 I2S1。 在系統開機后,它們可以配置給指派的即時核心。 每個 I2S 介面都會受到核心對應模組的保護,該模組會拒絕從未指派的 MCU 存取。
I2S 模組僅支援具有外部編解碼器的次級模式。 不支援主要模式和內部編解碼器。 不過,為外部編解碼器提供主時鐘(I2S_MCLK),以產生I2S畫面同步處理(I2S_FS)和 I2S 位時鐘(I2S_BCLK)。
不支援內部音訊編解碼器和主要模式。 I2S 介面是用來透過I2S總線作為I2S次級與外部音訊編解碼器通訊。
支援兩種數據格式:標準 I2S 通訊協定和時間除法多任務處理 (TDM) 通訊協定。
五個針腳的兩個區塊會在 GPIO 與 I2S 之間多任務處理(I2S0:GPIO56-GPIO60、I2S1:GPIO61-GPIO65)。
如需註冊基位址、中斷號碼、時鐘速率、取樣頻率,以及 MT3620 的其他詳細數據,請參閱 MT3620 數據工作表 和 MT3620 M4 用戶手錶;如果問題仍然存在,您可以透過電子郵件 Azure.Sphere@avnet.com向 Avnet 要求詳細數據。
應用程式指令清單設定
若要使用 I2S 次級介面,RTApp 必須在應用程式指令清單的 [功能] 區段中列出它。 例如,下列程式代碼會將 I2S 介面新增至應用程式可存取的資源清單:
"Capabilities": {
"I2sSubordinate": [ "I2S0" ] }
RTApp 只會使用IC音效 (I2S) 次級介面。 此功能不適用於高階應用程式。
Azure Sphere 應用程式指令清單 有更多應用程式指令清單的詳細數據。
I2S 範例應用程式
GitHub 上的 CodethinkLabs 存放庫包含一些範例應用程式,示範如何在 Azure Sphere 即時可用的應用程式中使用 MT3620 支援的周邊。 具體來說, I2S_RTApp_MT3620_BareMetal 範例示範如何將 I2S 周邊併入即時可用的應用程式中。