在支援 I2S 的即時應用程式中使用
Azure 球體支援國際音效 (I2S) 介面。
I2S 是串列匯流排界面標準,用於將數位音訊裝置連接在一起。 I2S 匯流排有個別的時鐘和序列資料訊號。
本主題說明如何在支援 I2S 的即時應用程式 (RTApps) 。
注意
- I2S 目前不支援用於高階應用程式。
- Azure 球體 OS 不會在啟動時重設周邊設備。 您的應用程式應確保周邊裝置在啟動時或重新開機之後處於已知良好狀態。
即時核心上的 I2S MT3620 支援
本節說明只有在 MT3620 上執行 Azure 球體時才適用的 I2S 選項。
MT3620 具有兩個 I2S 介面:I2S0 和 I2S1。 在系統開機之後的資源配置期間,可以將它們配置給指派的即時核心。 每個 I2S 介面受到核心對應模組保護,該模組拒絕未指派的 MCU 存取。
I2S 模組僅支援具有外部編解碼器的從屬模式。 不支援主模式和內部編解碼器。 不過,外部編解碼器會提供主時鐘 (I2S_MCLK) ,以產生 I2S 框架同步處理 (I2S_FS) 和 I2S Bit Clock (I2S_BCLK) 。
不支援內部音訊編解碼器和主模式。 I2S 介面是透過 I2S 匯流排做為 I2S 部屬,與外部音訊編解碼器通訊。
支援兩種資料格式:標準 I2S 通訊協定和時間除法多重 (TDM) 通訊協定。
五個圖釘的兩個區塊會在 GPIO 和 I2S (I2S0:GPIO56-GPIO60、I2S1:GPIO61-GPIO65) 之間多工。
如需註冊基本位址、中斷號碼、時脈速率、取樣頻率,以及 MT3620 的其他詳細資料,請參閱 MT3620 資料工作表 和 MT3620 M4 使用者手冊;如果問題仍然存在,您可以透過電子郵件要求 Avnet 的 Azure.Sphere@avnet.com 詳細資料。
應用程式資訊清單設定
若要使用 I2S 附屬介面,RTApp 必須將其列在應用程式資訊清單的 [功能] 區段中。 例如,下列會將 I2S 介面新增至可由應用程式存取的資源清單:
"Capabilities": {
"I2sSubordinate": [ "I2S0" ] }
Inter-IC Sound (I2S) 次要介面僅供 RTApp 使用。 這項功能不適用於高階應用程式。
Azure 球體應用程式資訊清單 具有更多有關應用程式資訊清單的詳細資料。
I2S 範例應用程式
GitHub 上的 CodethinkLabs 存放庫包含一些範例應用程式,示範如何在 Azure 球體即時應用程式中使用 MT3620 支援的周邊設備。 具體來說, I2S_RTApp_MT3620_BareMetal 範例示範如何在支援即時的應用程式中整合 I2S 周邊設備。