Перейти к содержанию

Почему на Nucleo-32 контакты D4 и D5 соединены с A4 и A5?

Обновлено Редакция GAW

У Nucleo-32 разъёмы в формате ARDUINO Nano, и ST выводит шину I²C на аналоговые контакты A4 и A5. Но модуль I2C1 микроконтроллера выходит на выводы PB7 и PB6, а на A4 и A5 разведены PA5 и PA6. ST решает это перемычками: SB18 и SB16 по умолчанию замкнуты и соединяют контакты попарно (UM1956, разд. 7.10, табл. 8).

Что с чем соединено

КонтактВывод STM32Соединён черезС контактомЕго выводФункция
A4PA5SB18D4PB7I2C1_SDA
A5PA6SB16D5PB6I2C1_SCL

Функции выводов — из базы ST для STM32L432 (альтернативная функция AF4). Карта контактов каждой платы Nucleo-32 — в разделе «Платы ST».

Что из этого следует

  • I²C на A4 и A5 работает «из коробки» — модуль I2C1 настраивают на PB7 и PB6, а шилд или датчик подключают к A4 и A5.
  • PA5 и PA6 — только входы без подтяжки, пока перемычки замкнуты: так требует UM1956. Наш вывод: подтяжка или выход на PA5 тянули бы линию SDA, а выход — ещё и спорил бы с выходом PB7.
  • D4 и D5 — не отдельные контакты. Сигнал на D4 появится и на A4.

Когда размыкать

Если нужны все четыре контакта по отдельности — например, A4 и A5 как входы АЦП и D4, D5 как цифровые выводы, — размыкают SB18 и SB16. Тогда I²C остаётся только на D4 и D5. Режимы выводов и их настройка — в статье «GPIO STM32», сама шина — в статье «I²C».

Похожие вопросы

Что будет, если настроить PA5 выходом при замкнутых перемычках?

PA5 и PB7 окажутся соединены напрямую: если один вывод выдаёт единицу, а другой — ноль, между ними потечёт ток короткого замыкания выходов. Поэтому UM1956 требует держать PA5 и PA6 входами без подтяжки, пока SB18 и SB16 замкнуты (вывод о замыкании — наш).

Можно ли использовать A4 как аналоговый вход?

Да, но только разомкнув SB18: иначе к входу АЦП подключён и вывод PB7 со своей нагрузкой — линией I²C или чем-то, что висит на D4. То же для A5 и SB16.

У Nucleo-64 тоже так?

Нет: у Nucleo-64 A4 и A5 по умолчанию — аналоговые входы PC1 и PC0, а I²C1 выведен на D14 и D15; на A4 и A5 его переносят перестановкой других перемычек. Подробно — в ответе об I²C на A4 и A5 платы Nucleo.

Источники

  1. STMicroelectronics. UM1956: STM32 Nucleo-32 boards (MB1180), User manual, Rev 6 (March 2025) — разд. 7.10, табл. 8: SB18 и SB16 по умолчанию замкнуты и соединяют A4 (PA5) с D4 (PB7) и A5 (PA6) с D5 (PB6) для I²C на A4 и A5; пока они замкнуты, PB7 и PB6 нельзя использовать как отдельные D4 и D5, а PA5 и PA6 должны быть входами без подтяжки; табл. 9–16: контакты разъёмов ARDUINO Nano
  2. STMicroelectronics. STM32_open_pin_data, mcu/STM32L432K(B-C)Ux.xml — PB6 — I2C1_SCL (AF4), PB7 — I2C1_SDA (AF4); PA5 — ADC1_IN10 и SPI1_SCK, PA6 — ADC1_IN11 и SPI1_MISO

Нашли ошибку?