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

Почему на Nucleo-144 с Ethernet не работает SPI на контакте D11?

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

На Nucleo-144 контакты ARDUINO входят в разъёмы ST Zio, и D11 по умолчанию подключён к PA7 — у STM32F429 это SPI1_MOSI, линия передачи шины SPI. У плат с Ethernet к тому же PA7 подключена микросхема PHY: это сигнал CRS_DV интерфейса RMII. Соединяет их перемычка JP6, и по умолчанию она установлена (UM1974, примечание 2).

Что подключено к D11

ВариантD11PA7EthernetSPI на D11
По умолчаниюPA7SPI1_MOSI и RMII_CRS_DV через JP6работаетсбоит: на линии ещё и PHY
JP6 снятаPA7только SPI1_MOSIне работаетработает
D11 переведён на PB5PB5RMII_CRS_DVработаетработает на PB5

Функции выводов — из базы ST для STM32F429ZI: SPI1_MOSI на PA7 и PB5 подключается альтернативной функцией AF5, ETH_CRS_DV на PA7 — AF11. Наш вывод: при установленной JP6 сигнал CRS_DV — выход PHY — и выход MOSI оказываются на одной линии, поэтому UM1974 и предписывает для SPI на D11 снять JP6 или переключить D11.

Как выбрать

  • Ethernet не нужен — снимите JP6.
  • Нужны оба — переведите D11 на PB5 перемычками из таблицы UM1974 и настройте SPI1_MOSI на PB5.

Какие ещё выводы заняты на конкретной плате — Ethernet, USB, светодиоды — показано на её странице в разделе «Платы ST», а устройство Ethernet у микроконтроллеров — в статье «Ethernet для микроконтроллера».

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

Можно ли пользоваться Ethernet и SPI на D11 одновременно?

Да, если перевести D11 на PB5: тогда PA7 остаётся за Ethernet (RMII_CRS_DV через JP6), а SPI1_MOSI выходит на PB5. Номера перемычек для переключения D11 смотрите в таблице перемычек UM1974 для вашей платы.

Каких плат это касается?

По UM1974 — плат Nucleo-144 с Ethernet: в наших таблицах это NUCLEO-F207ZG, NUCLEO-F429ZI, NUCLEO-F439ZI, NUCLEO-F746ZG, NUCLEO-F756ZG, NUCLEO-F767ZI и NUCLEO-H743ZI. У плат без Ethernet PA7 на D11 свободен.

Что будет, если снять JP6?

PA7 отключится от PHY и будет только на D11 — SPI заработает, но Ethernet останется без сигнала RMII_CRS_DV и работать не будет (наш вывод). Если Ethernet нужен, вместо снятия JP6 переводите D11 на PB5.

Источники

  1. STMicroelectronics. UM1974: STM32 Nucleo-144 boards (MB1137), User manual, Rev 11 (August 2025) — табл. 13–20: D11 по умолчанию подключён к PA7, перемычками его переключают на PB5; примечание 2 к табл. 13, 17, 19 и 20 (платы с Ethernet): PA7 идёт ещё и к PHY как RMII_CRS_DV, пока установлена JP6; для SPI на D11 перемычку снимают или переключают D11 на PB5
  2. STMicroelectronics. STM32_open_pin_data, boards/ и mcu/ — проект платы NUCLEO-F429ZI: PA7 — RMII_CRS_DV [LAN8742A-CZ-TR_CRS_DV], сигнал ETH_CRS_DV; STM32F429ZITx: PA7 — SPI1_MOSI (AF5) и ETH_CRS_DV (AF11), PB5 — SPI1_MOSI (AF5) и SPI3_MOSI (AF6)

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