在即時可用的應用程式中使用 SPI
重要
這是 Azure Sphere (舊版) 檔。 Azure Sphere(舊版)將於 2027 年 9 月 27 日淘汰,且使用者此時必須移轉至 Azure Sphere(整合式)。 使用位於 TOC 上方的版本選取器來檢視 Azure Sphere (整合式) 檔。
Azure Sphere 支援主要模式中的序列周邊介面 (SPI)。 SPI 是用於周邊與積體電路之間通訊的序列介面。 相較於 I2C,SPI 可以搭配更複雜的高速周邊使用。
本主題描述如何在即時可用的應用程式中使用 SPI(RTApp)。 如需在高階應用程式中使用 SPI 的相關信息,請參閱 在高階應用程式中使用 SPI。
注意
Azure Sphere OS 不會在啟動時重設周邊。 您的應用程式應該確保周邊在啟動或重新啟動后處於已知良好狀態。
晶片選取
晶片選取會管理 SPI 主要介面與一組次級裝置之間的連線;和 可讓主要介面獨立傳送和接收每個次級裝置的數據。 Azure Sphere 支援晶片選取的主動-低和主動高設定,以主動-低作為默認設定。 在任何時候,只有一個應用程式可以使用每個 SPI 主要介面。 應用程式必須開啟 SPI 主要介面,並識別每個連接的次級裝置,才能在介面上執行讀取和寫入作業。
即時核心上 SPI 的 MT3620 支援
當您設定 MT3620 開發面板時,可以使用任何 ISU 埠作為 SPI 主要介面。 您可以將最多兩個次級裝置連線到每個ISU。 當您使用 ISU 連接埠作為 SPI 主要介面時,您無法使用與 I2C 或 UART 介面相同的埠。
MT3620 支援高達 40 MHz 的 SPI 交易。
MT3620 不支援在單一總線交易內同時進行雙向讀取和寫入(全雙工)SPI 作業。
MT3620 的 SPI 規格會列在 MT3620 支援狀態中。 MT3620 開發板使用者指南說明線路的針腳配置和功能。
如需註冊基位址、中斷號碼、時鐘速率、取樣頻率,以及 MT3620 的其他詳細數據,請參閱 MT3620 數據工作表 和 MT3620 M4 用戶手錶;如果問題仍然存在,您可以透過電子郵件 Azure.Sphere@avnet.com向 Avnet 要求詳細數據。
應用程式指令清單設定
若要使用 SPI API,您必須將功能新增 SpiMaster
至應用程式指令清單,然後將每個 SPI 主要控制器指定至功能。
"Capabilities": {
"SpiMaster": [ "ISU0", "ISU1" ] }
Azure Sphere 應用程式指令清單 有更多應用程式指令清單的詳細數據。
SPI 範例應用程式
GitHub 上的 CodethinkLabs 存放庫包含範例應用程式,示範如何在 Azure Sphere 即時可用的應用程式中使用 MT3620 支援的周邊。 具體而言, SPI_RTApp_MT3620_BareMetal 和 SPI_SDCard_RTApp_MT3620_BareMetal 範例會示範如何將 SPI 周邊併入即時可用的應用程式中。