Можно ли поставить STM32G431 вместо STM32F303 на ту же плату?
Обновлено Редакция GAW
STM32F303 и STM32G431 похожи по назначению — Cortex-M4 с FPU и богатой аналоговой периферией, — но разводка корпусов у них разная. Сравнение позиций из базы ST (STM32_open_pin_data) для LQFP48:
| Позиция | STM32F303CB/CC | STM32G431C6/C8/CB |
|---|---|---|
| 7 | NRST | PG10-NRST |
| 8–9 | VSSA/VREF−, VDDA/VREF+ | PA0, PA1 |
| 10–18 | PA0…PA7, PB0 | PA2…PA7, PB0…PB2 |
| 19–21 | PB1, PB2, PB10 | VSSA, VREF+, VDDA |
| 22–43 | сдвинуты на одну-три позиции | |
| 44 | BOOT0 | PB7 |
| 45 | PB8 | PB8-BOOT0 |
Наш подсчёт по базе: в LQFP48 различаются 35 из 48 позиций, в LQFP64 — 46 из 64. Причина одна и та же: у G4 выводы питания аналоговой части стоят отдельно, с собственным выводом VREF+, а BOOT0 совмещён с линией PB8. В LQFP48 совпадают только VBAT, PC13, выводы обоих кварцев (позиции 1–6), пары VSS и VDD и линия PB9.
Чем ещё отличаются
| STM32F303CB/CC | STM32G431C6/C8/CB | |
|---|---|---|
| Частота | 72 МГц | 170 МГц |
| Флеш-память / ОЗУ | 128–256 / 32–40 КБ | 32–128 / 32 КБ |
| Питание | 2,0–3,6 В | 1,71–3,6 В |
| АЦП | 4 | 2 |
| Компараторы / ОУ | 7 / 4 | 4 / 3 |
| CAN | bxCAN | FDCAN (CAN FD) |
| Только у G431 | — | CORDIC, FMAC, LPUART1, USB Type-C PD (UCPD) |
Данные — по той же базе ST для исполнений в LQFP48.
Если нужна замена
На ту же плату F303 по выводам можно заменить на F301, F302 или F334, но периферии у них меньше: по базе ST у F301C6/C8 нет USB, CAN, АЦП 2–4, SPI1 и таймеров TIM3, TIM4, TIM8, флеш-памяти 32–64 КБ и ОЗУ 16 КБ, а у F334C нет USB, I2C2, SPI2 и SPI3 при ОЗУ 12 КБ. Списки совпадений — в статье «Совместимость STM32 по выводам». Переход на STM32G4 требует новой платы и переноса программы; что меняется в регистрах при смене поколения периферии, показывает ответ о переносе кода с STM32F103 на STM32G4. Линейки F3 — на странице STM32F3.
Похожие вопросы
А STM32G474 вместо STM32G431?
Да, в LQFP64 все линейки STM32G4 разведены одинаково — это видно по той же базе ST, и об этом подробно говорит страница о совместимости STM32 по выводам. Переход внутри семейства G4 на той же плате возможен; проверить нужно только набор периферии и объём памяти.
Какой STM32 совпадает по выводам с STM32F303?
Внутри семейства F3: STM32F301, F302, F303 и F334 в LQFP48 совпадают по выводам, но у F301 и F334 заметно меньше периферии и памяти — сверяйте по базе ST. Версии F318, F328 и F358 без внутреннего стабилизатора отличаются выводом 20 и питанием 1,8 В. Таблицы отличий — на странице о совместимости STM32.
Перенесётся ли программа с F303 на G431 без изменений?
Частично. Блоки GPIO, USART, SPI и I2C у них одного поколения, а тактирование и CAN разные: у G431 частота до 170 МГц с режимом Range 1 boost, а CAN — FDCAN вместо bxCAN. Код на HAL переносится проще, код на регистрах — по справочному руководству RM0440.
Источники
- STMicroelectronics. STM32_open_pin_data (GitHub, BSD-3-Clause) — mcu/STM32F303C(B-C)Tx.xml и STM32G431C(6-8-B)Tx.xml (LQFP48), STM32F303R(B-C)Tx.xml и STM32G431R(6-8-B)Tx.xml (LQFP64): частота 72 и 170 МГц, флеш-память 128/256 и 32/64/128 КБ, ОЗУ 32/40 и 32 КБ, питание 2,0–3,6 и 1,71–3,6 В, имена выводов по позициям, списки периферии (ADC1–ADC4, CAN, COMP1–COMP7, OPAMP1–OPAMP4 у F303; ADC1–ADC2, FDCAN1, COMP1–COMP4, OPAMP1–OPAMP3, CORDIC, FMAC, LPUART1, UCPD1 у G431); STM32F301C(6-8)Tx.xml и STM32F334C(4-6-8)Tx.xml — для сравнения периферии внутри F3
- STMicroelectronics. CMSIS device headers cmsis-device-f3 и cmsis-device-g4 (GitHub, Apache-2.0) — stm32f303xc.h — контроллер bxCAN (CAN_TypeDef), stm32g431xx.h — FDCAN1 (FDCAN_GlobalTypeDef); разные адреса и регистры периферии
Нашли ошибку?
Смотрите также
- Совместимость STM32 по выводамКакие STM32 совпадают по выводам: таблицы отличий для F103, F407, F401, F303, G474, F030, G030
- STM32G4Cortex-M4 с FPU, до 170 МГц: G431/G441, G471–G484, G491/G4A1 — линейки и распиновки
- STM32F3Cortex-M4 с FPU, до 72 МГц: F301–F303, F334, F373 и версии F3x8 на 1,8 В — линейки и распиновки
- Почему код на регистрах для STM32F103 не работает на STM32G4?Другой блок GPIO, другие адреса и биты включения тактов в RCC