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

GD32F103: замена STM32F103 от GigaDevice

GD32F103 от GigaDevice часто ставят вместо STM32F103. Мы сверили таблицы выводов из даташита GigaDevice с открытой базой ST: в LQFP48 совпадают все 48 выводов, в LQFP64 — все, кроме переназначения PD0 и PD1 на выводах кварца. Но частота, питание и названия периферии отличаются.

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

GD32F103 — серия микроконтроллеров GigaDevice на ядре Cortex-M3, которая повторяет набор исполнений STM32F103: те же корпуса, объёмы памяти и периферия в младших моделях. Мы сравнили их не по рекламе, а по таблицам выводов: даташит GigaDevice против открытой базы выводов ST.

Что совпадает

GD32F103C8STM32F103C8
КорпусLQFP48LQFP48
Флеш-память и ОЗУ64 и 20 КБ64 и 20 КБ
Линий ввода-вывода3737
АЦП2 × 12 бит, 10 каналов2 × 12 бит, 10 каналов
Интерфейсы3 USART, 2 SPI, 2 I²C, CAN, USB3 USART, 2 SPI, 2 I²C, CAN, USB
Выводы 1–48совпадают с STM32F103C8—

В LQFP64 (GD32F103R и STM32F103R) совпадают 62 вывода из 64; разница — в выводах 5 и 6: у STM32F103 их можно переназначить на PD0 и PD1, а в таблице GigaDevice там только OSCIN и OSCOUT.

Что отличается

GD32F103STM32F103
Частота ядрадо 108 МГцдо 72 МГц
Питание VDD2,6–3,6 В2,0–3,6 В
Нумерация перифериис нуля: USART0, TIMER0, SPI0с единицы: USART1, TIM1, SPI1

У GD32F103 шина APB1 работает до 54 МГц, а флеш-память, по описанию GigaDevice, читается без тактов ожидания. Но главная ловушка при переходе — нумерация. На одних и тех же выводах:

Вывод LQFP48ЛинияGD32F103STM32F103
30, 31PA9, PA10USART0_TX, USART0_RXUSART1_TX, USART1_RX
12, 13PA2, PA3USART1_TX, USART1_RXUSART2_TX, USART2_RX
21, 22PB10, PB11USART2, I2C1USART3, I2C2
15PA5SPI0_SCKSPI1_SCK
32, 33PA11, PA12CAN0, USBDM и USBDPCAN, USB_DM и USB_DP
30PA9TIMER0_CH1TIM1_CH2

Сдвинуты и номера каналов таймеров: канал 1 у GigaDevice — это канал 2 у ST. Поэтому код, который ссылается на периферию по номерам, переписывают по документации GigaDevice, даже если плата та же.

Питание и уровни

Питание VDD — от 2,6 до 3,6 В, батарейное VBAT — от 1,8 до 3,6 В. Выводы, отмеченные в таблице как 5VT, выдерживают 5 В: в LQFP48 это PB2, PB10–PB15, PA8–PA15, PB3, PB4 и PB6–PB9. Входы АЦП (PA0–PA7, PB0, PB1) — не 5VT. Флеш-память рассчитана на 100 тысяч циклов записи и 20 лет хранения, АЦП тактируется до 14 МГц — это до миллиона выборок в секунду.

Как перенести проект между самими STM32, разбирает статья «Совместимость STM32 по выводам»; отечественная альтернатива со своей распиновкой — К1986ВЕ92.

Частые вопросы

Можно ли поставить GD32F103C8 вместо STM32F103C8?

По выводам — да: таблица LQFP48 из даташита GigaDevice совпадает с выводами STM32F103C8 из базы ST на всех 48 позициях. Но это другая микросхема: частота до 108 МГц, питание от 2,6 В вместо 2,0 В, свои временные характеристики, — поэтому прошивку проверяют на новой микросхеме, а не переносят вслепую.

Почему у GD32 USART0, а у STM32 USART1?

GigaDevice нумерует периферию с нуля: на PA9 и PA10 у GD32F103 — USART0_TX и USART0_RX, у STM32F103 — USART1_TX и USART1_RX. Так же сдвинуты таймеры (TIMER0 вместо TIM1) и их каналы, SPI, I²C и CAN. Сами выводы при этом те же.

На какой частоте работает GD32F103?

До 108 МГц по шине AHB и APB2 и до 54 МГц по APB1, а флеш-память, по описанию GigaDevice, читается без тактов ожидания. У STM32F103 по базе ST — до 72 МГц.

Можно ли использовать выводы кварца GD32F103 как PD0 и PD1?

У STM32F103 в корпусах LQFP48 и LQFP64 выводы 5 и 6 обозначены PD0-OSC_IN и PD1-OSC_OUT. В таблицах выводов GD32F103 для этих корпусов там только OSCIN и OSCOUT: переназначение на PD0 и PD1 GigaDevice убрала из описания выводов в редакции 2.11 даташита.

Источники

  1. GigaDevice. GD32F103xx Arm Cortex-M3 32-bit MCU Datasheet, Revision 3.3 (Jan. 2026) — разд. 1 — Cortex-M3 108 МГц, флеш без тактов ожидания, питание 2,6–3,6 В, −40…+85 °C; табл. 2-1 — исполнения T, C, R, V: флеш 16–128 КБ, SRAM 6–20 КБ, 26/37/51/80 линий, 2 АЦП на 10 или 16 каналов; табл. 2-7 и 2-8 — выводы LQFP64 и LQFP48 с отметками 5VT; табл. 4-2 — VDD 2,6–3,6 В, VBAT 1,8–3,6 В; табл. 4-3 — AHB и APB2 до 108 МГц, APB1 до 54 МГц; табл. 4-27 — 100 тыс. циклов записи флеш-памяти, хранение 20 лет; табл. 4-34 — АЦП до 14 МГц и 1 млн выборок в секунду; ред. 2.11 — из описания выводов удалено переназначение PD0 и PD1 на OSCIN и OSCOUT
  2. STMicroelectronics. STM32_open_pin_data: STM32F103C(8-B)Tx и STM32F103R(8-B)Tx (коммит 7d1f151) — выводы LQFP48 и LQFP64 STM32F103 с сигналами (USART1_TX на PA9, USART2_TX на PA2, SPI1_SCK на PA5, CAN_RX на PA11, PD0-OSC_IN и PD1-OSC_OUT на выводах 5 и 6), 72 МГц, питание 2,0–3,6 В

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