Поделиться через


Использование SPI в приложениях с поддержкой реального времени

Azure Sphere поддерживает последовательный периферийный интерфейс (SPI) в режиме master. SPI — это последовательный интерфейс, используемый для обмена данными между периферийными устройствами и интегральными каналами. В отличие от I2C, SPI можно использовать с более сложными периферийными устройствами с более высокой скоростью.

В этом разделе описывается использование SPI в приложениях с поддержкой реального времени (RTApp). Сведения об использовании SPI в высокоуровневых приложениях см. в статье Использование SPI в высокоуровневых приложениях.

Примечание

Ос Azure Sphere не сбрасывает периферийные устройства при запуске. Приложения должны убедиться, что периферийные устройства находятся в известном состоянии при запуске или после перезапуска.

Выбор микросхемы

Выбор микросхемы управляет подключением между интерфейсом SPI master и набором подчиненных устройств и позволяет интерфейсу master отправлять и получать данные на каждое подчиненное устройство независимо. Azure Sphere поддерживает параметры "активный-низкий" и "активный-высокий" для выбора микросхемы с параметром "активный-низкий" в качестве параметра по умолчанию. Только одно приложение может использовать каждый интерфейс SPI master в любое время. Перед выполнением операций чтения и записи в интерфейсе приложение должно открыть интерфейс SPI master и определить каждое подключенное подчиненное устройство.

Поддержка MT3620 spi в ядрах реального времени

При настройке платы разработки MT3620 в качестве интерфейса SPI master можно использовать любой порт ISU. К каждому isU можно подключить до двух подчиненных устройств. При использовании порта ISU в качестве интерфейса SPI master нельзя использовать тот же порт, что и интерфейс I2C или UART.

MT3620 поддерживает транзакции SPI с частотой до 40 МГц.

MT3620 не поддерживает одновременные двунаправленные операции чтения и записи (полнодуплексные) ОПЕРАЦИИ SPI в рамках одной транзакции шины.

Спецификации SPI для MT3620 перечислены в разделе Состояние поддержки MT3620. В руководстве пользователя на плате разработки MT3620 описаны макет и функции контактов для подключения.

Сведения о регистрации базовых адресов, номера прерываний, частоту тактов, частоту выборки и другие сведения о MT3620 см. в таблице MT3620 и руководстве пользователя MT3620 M4. Если остались вопросы, вы можете запросить сведения из Avnet, отправив Azure.Sphere@avnet.comпо электронной почте .

Параметры манифеста приложения

Чтобы использовать API SPI, необходимо добавить возможность в SpiMaster манифест приложения, а затем указать каждый контроллер SPI master в эту возможность.

"Capabilities": {
   "SpiMaster": [ "ISU0", "ISU1" ] }

Манифест приложения Azure Sphere содержит дополнительные сведения о манифесте приложения.

Примеры приложений SPI

Репозиторий CodethinkLabs на сайте GitHub содержит примеры приложений, демонстрирующих использование периферийных устройств, поддерживаемых MT3620, в приложениях с поддержкой реального времени Azure Sphere. В частности, примеры SPI_RTApp_MT3620_BareMetal и SPI_SDCard_RTApp_MT3620_BareMetal демонстрируют, как интегрировать периферийное устройство SPI в приложение с поддержкой реального времени.