Подключение радиомодуля Si4432 к микроконтроллеру STM32 (STM32F102R8T6)

Рассмотрим вкратце подключение Si4432 к STM32F102 — только схемное решение и небольшой кусочек кода для проверки работоспособности радиомодуля.

Обращаю ваше внимание на то, что в статье речь идет именно о готовом модуле Si4432, а не о микросхеме Si4432, которая сама по себе требует довольно обильной обвязки. Тут исторически сложилась небольшая путаница, так как, в отличие от, например, микросхемы Wi-Fi трансивера ESP8266, готовые к применению модули на базе которой имеют собственные названия, вроде «ESP12», модули на базе микросхемы Si4432 на сайтах вроде aliexpress.com не имеют собственного названия, а несколько обтекаемо именуются «SI4432 Wireless Module» или «SI4432 Remote Wireless Transceiver». Так вот, здесь мы будем иметь дело именно с готовым модулем, а не с микросхемой; если вы хотите реализовывать свой проект именно на «голой» микросхеме, имейте в виду необходимость горсточки внешних компонентов и аккуратной трассировки платы.

Схема подключения радиомодуля Si4432 к микроконтроллеру STM32F102 показана ниже, изображение кликабельно.

 

Сразу оговорюсь, что соединение микроконтроллера со всеми выводами радиомодуля не обязательно. Конкретный перечень задействованных выводов сильно зависит от задачи, которую вы реализуете. Например, в коде, показанном ниже, используются только выводы RF_nSEL плюс, конечно, выводы SPI RF_SDO и RF_SDI.

Разумеется, сразу после запайки модуля вы захотите убедиться в его работоспособности. Для этого нужна небольшая программа.

radio.h:

и radio.c:

Вызов в основной программе можно осуществить, например, так:

В результате этих манипуляций мы должны считать 06h, но актуальное значение регистра лучше уточнить в свежей версии документации:

 

На всякий случай приведу и процедуру инициализации SPI STM32 для корректной работы с Si4432:

Разумеется, когда (и если) все заработает, SPI_BAUDRATEPRESCALER_256 надо заменить на менее тормозной делитель.

Добавить комментарий