在支援 I2C 的即時應用程式中使用
Azure 球體在主模式中支援 Inter-Integrated 回路 (I2C) 。 I2C 是串列匯流排,可將低速周邊設備連接到微控制器。 I2C 使用多重主控制項/多部部屬模型,其中主裝置可控制一組部屬裝置。 I2C 通常與周邊設備搭配使用,只需要使用微控制器進行簡單的輕量型通訊,例如設定控制項、電源開關和感應器。
本主題說明如何在支援 I2C 的即時應用程式 (RTApps) 。 如需在高階應用程式中使用 I2C 的相關資訊,請參閱 在高階應用程式中使用 I2C。
注意
Azure 球體 OS 不會在啟動時重設周邊設備。 您的應用程式應確保周邊裝置在啟動時或重新開機之後處於已知良好狀態。
即時核心上的 MT3620 I2C 支援
MT3620 晶片的 I2C 規格列在 MT3620 支援狀態中。 MT3620 開發面板使用者指南說明針腳配置和連接功能。
當您設定 MT3620 開發人員面板時,您可以使用任何 ISU 區塊做為 I2C 主介面。 當您使用 ISU 區塊做為 I2C 主介面時,您無法使用與 SPI 或 UART 介面相同的區塊。
MT3620 不支援 10 位的部屬裝置位址;僅支援 7 位位址。 MT3620 支援 100 KHz、400 KHz 和 1 MHz 匯流排速度,但不支援 3.4 Mhz。 MT3620 不支援零位元組 I2C 讀取。
如需註冊基本位址、中斷號碼、時脈速率、取樣頻率,以及 MT3620 的其他詳細資料,請參閱 MT3620 資料工作表 和 MT3620 M4 使用者手冊;如果問題仍然存在,您可以透過電子郵件要求 Avnet 的 Azure.Sphere@avnet.com 詳細資料。
應用程式資訊清單設定
若要使用 I2C,RTApp 必須將其列在應用程式資訊清單的 [功能] 區段中。 例如,下列線條會在 MT3620 晶片上的 ISU0 上保留 I2C 主介面:
"Capabilities": {
"I2cMaster": [ "ISU0" ] }
Azure 球體應用程式資訊清單 具有更多有關應用程式資訊清單的詳細資料。
I2C 範例應用程式
GitHub 上的 CodethinkLabs 存放庫包含一些範例應用程式,示範如何在 Azure 球體 RTApps 中使用 MT3620 支援的周邊裝置。 具體來說, I2C_RTApp_MT3620_BareMetal 範例示範如何在支援即時的應用程式中使用 I2C 周邊設備。