一、 任务介绍与设计要求
本项目旨在设计一款基于 STM32G4 系列(STM32G431CBT6)的 MCU 最小系统核心板。 具体任务要求如下:
- 采用 8MHz 主晶振(HSE)与 32.768kHz RTC 晶振(LSE)。
- 包含完整的系统复位电路(含手动复位按键)。
- 板载 3.3V LDO 稳压电路,支持通过 5V USB 直接供电。
- 预留标准 SWD 调试接口(4Pin)。
- 板载用户状态指示灯(LED)1 个、用户独立按键 1 个。
- 对外引出不少于 30 个 GPIO 接口(涵盖 SPI、I2C、UART、PWM 等复用功能)。
- 采用高性价比的双层 PCB 设计。
二、 方案介绍 (核心亮点)
在满足最小系统板常规需求的基础上,本设计针对开发者的痛点,在 USB Type-C 接口上进行了创新性的差异化设计。
常规的 Type-C 接口支持正反盲插,但在本设计中,我们巧妙利用了 Type-C 正反面引脚的物理差异性来实现功能的区分。为了减少开发过程中频繁插拔 ST-Link 烧录线和串口调试线的繁琐步骤,我们将烧录与调试功能合二为一,实现“一线双模”:
- 正面插入(串口调试模式):USB 信号连接至板载的 CH340E 芯片,作为常规的串口工具使用,方便开发者在 PC 端查看日志和调试信息。
- 反面插入(DFU 烧录模式):当 Type-C 反插时,硬件电平发生变化,通过板载的 TL331IDBVR 电压比较器瞬间捕获信号并控制 MCU 的 BOOT 引脚电平,使 STM32 强制进入内置的 DFU (Device Firmware Upgrade) 模式。开发者可以直接通过 USB 进行代码下载烧录。
三、 系统资源框图
以下为本核心板的硬件资源拓扑与信号流向框图,直观展示了“一线双模”的硬件实现逻辑:

设计模块介绍
- CH340E 是极其小巧的 MSOP-10 封装,通过USB进行串口通讯
- TL331IDBVR:电压比较器,实现DFU的BOOT引脚拉低使用,让单片机插入进入到DFU模式
得捷购买连接:TL331IDBVR Texas Instruments | 集成电路(IC) | DigiKey - XC6206P332MR:把 USB 进来的 5V 电压,极其平稳地降压到 3.3V
得捷购买连接:XC6206P332MR UMW | 集成电路(IC) | DigiKey - STM32G431CBT6:一颗基于 ARM Cortex-M4 内核的 32 位单片机。主频高达 170MHz,自带 128KB 闪存(Flash)和 32KB 内存(SRAM)。
得捷购买连接:STM32G431CBT6 STMicroelectronics | 集成电路(IC) | DigiKey
原理图和PCB介绍

原理图

PCB

模块主要性能指标和管脚定义
一、 核心模块与主要性能指标
STM32G431CBT6 属于 G4 基础系列,采用了带有浮点运算单元 (FPU) 的 Cortex-M4 内核,其模拟外设和数学加速器是其最大亮点。
模块类别 | 模块名称 | 性能指标 / 特性描述 |
内核架构 | ARM Cortex-M4 | 32位,集成 FPU 和 DSP 指令集;最高主频 170 MHz,性能可达 213 DMIPS。支持自适应实时加速器 (ART),实现闪存 0 等待执行。 |
存储资源 | Flash / SRAM | 128 KB Flash 存储器;32 KB SRAM,外加 10 KB CCM SRAM(主要用于加速关键程序执行和数据处理,带硬件奇偶校验)。 |
数学加速器 | CORDIC & FMAC | CORDIC 协处理器:用于硬件加速三角函数计算(常用于电机 FOC 算法); FMAC:滤波数学加速器,用于加速 FIR/IIR 等数字滤波算法。 |
模拟外设 | ADC / DAC | ADC:2 个 12 位模数转换器,最高采样率 4 Msps(支持硬件过采样至 16 位),最多 23 个通道。 DAC:4 个 12 位通道(2 个支持外部缓冲,2 个限内部使用)。 |
比较器 / 运放 | COMP:4 个超高速轨到轨模拟比较器。 OPAMP:3 个内置运算放大器,支持可编程增益 (PGA) 模式,专为电机电流采样设计。 | |
定时器 | 高级 / 通用定时器 | 高级控制定时器:2 个 16 位(TIM1, TIM8),支持死区生成、PWM 互补输出和紧急刹车。 通用定时器:1 个 32 位(TIM2),多个 16 位(TIM3/4 等),支持增量编码器输入。 其他:低功耗定时器 (LPTIM)、看门狗 (IWDG/WWDG) 和 SysTick。 |
通信接口 | 有线协议接口 | UART/USART:4 个 USART/UART,1 个 LPUART。 I2C / SPI:3 个 I2C (支持 Fast mode plus),3 个 SPI(其中 2 个复用 I2S)。 FDCAN:1 个,支持灵活数据速率的 CAN FD 协议。 USB:1 个 USB 2.0 Full-Speed 接口。 UCPD:支持 USB Type-C 供电 (Power Delivery) 控制器。 |
一、 核心模块与主要性能指标
STM32G431CBT6 属于 G4 基础系列,采用了带有浮点运算单元 (FPU) 的 Cortex-M4 内核,其模拟外设和数学加速器是其最大亮点。
模块类别 | 模块名称 | 性能指标 / 特性描述 |
内核架构 | ARM Cortex-M4 | 32位,集成 FPU 和 DSP 指令集;最高主频 170 MHz,性能可达 213 DMIPS。支持自适应实时加速器 (ART),实现闪存 0 等待执行。 |
存储资源 | Flash / SRAM | 128 KB Flash 存储器;32 KB SRAM,外加 10 KB CCM SRAM(主要用于加速关键程序执行和数据处理,带硬件奇偶校验)。 |
数学加速器 | CORDIC & FMAC | CORDIC 协处理器:用于硬件加速三角函数计算(常用于电机 FOC 算法); FMAC:滤波数学加速器,用于加速 FIR/IIR 等数字滤波算法。 |
模拟外设 | ADC / DAC | ADC:2 个 12 位模数转换器,最高采样率 4 Msps(支持硬件过采样至 16 位),最多 23 个通道。 DAC:4 个 12 位通道(2 个支持外部缓冲,2 个限内部使用)。 |
比较器 / 运放 | COMP:4 个超高速轨到轨模拟比较器。 OPAMP:3 个内置运算放大器,支持可编程增益 (PGA) 模式,专为电机电流采样设计。 | |
定时器 | 高级 / 通用定时器 | 高级控制定时器:2 个 16 位(TIM1, TIM8),支持死区生成、PWM 互补输出和紧急刹车。 通用定时器:1 个 32 位(TIM2),多个 16 位(TIM3/4 等),支持增量编码器输入。 其他:低功耗定时器 (LPTIM)、看门狗 (IWDG/WWDG) 和 SysTick。 |
通信接口 | 有线协议接口 | UART/USART:4 个 USART/UART,1 个 LPUART。 I2C / SPI:3 个 I2C (支持 Fast mode plus),3 个 SPI(其中 2 个复用 I2S)。 FDCAN:1 个,支持灵活数据速率的 CAN FD 协议。 USB:1 个 USB 2.0 Full-Speed 接口。 UCPD:支持 USB Type-C 供电 (Power Delivery) 控制器。 |
二、 管脚定义汇总 (LQFP-48 封装)
STM32G431CBT6 采用 LQFP-48 (7mm x 7mm) 封装。以下表格按管脚的功能类别进行了逻辑分组,展示了各引脚的默认功能和主要复用功能 (Alternate Functions)。
管脚分类 | 管脚编号 (参考) | 默认功能 / 主要复用功能说明 |
电源与地 | 1, 18, 19, 21, 22, 35, 36, 47, 48 等 | VBAT (1):RTC 及备份寄存器备用电源。 VDDA / VSSA (21 / 19):模拟外设电源与地。 VREF+ (20):模拟基准电压输入 / 内部基准输出。 VDD / VSS:核心与数字外设的供电和地。 |
系统与复位 | 3, 4, 5, 6, 7, 46 | PC14 / PC15 (3, 4):OSC32_IN/OUT,接入 32.768kHz 外部低速时钟 (LSE)。 PF0 / PF1 (5, 6):OSC_IN/OUT,接入外部高速晶振 (HSE)。 PG10 / NRST (7):系统硬件复位输入。 PB8 / BOOT0 (46):启动模式选择引脚(也可复用为 GPIO/I2C/CAN)。 |
调试接口 | 37, 38 | PA13 (37):SWDIO,串行线调试数据引脚。 PA14 (38):SWCLK,串行线调试时钟引脚。 |
Port A (PA0 - PA15) | 8-12, 30-34, 37-39 | PA0 - PA7:主要复用为 ADC 通道输入、DAC 输出、OPAMP/COMP 引脚,以及 SPI1_NSS/SCK/MISO/MOSI。 PA8 - PA12:主要复用为 TIM1 高级定时器 PWM 输出、USART1_TX/RX、USB_DM/DP、FDCAN_RX/TX。 PA15:主要复用为 SPI3_NSS / I2S3_WS。 |
Port B (PB0 - PB15) | 16-18, 25-29, 40-46 | PB0 - PB2:主要复用为 ADC 输入、OPAMP/COMP 接口。 PB3 - PB7:主要复用为 SPI1/SPI3、I2C1 和 USART2 接口。 PB8 - PB9:常用作 I2C1 接口或 FDCAN_RX/TX。 PB10 - PB15:复用为 TIM2/TIM15 通道、USART3_TX/RX、SPI2_SCK/MISO/MOSI 引脚。 |
Port C (PC13) | 2 | PC13:主要作为唤醒引脚 (WKUP2) 或 RTC 侵入检测引脚 (Tamper),也可配置为低功耗输出或普通 GPIO。 |
心得体会
在本次最小系统核心板的开发过程中,最大的心得在于通过硬件设计的巧思来极大地优化软件开发的体验。
在传统的单片机开发中,开发者往往需要同时连接两根线:一根 ST-Link 烧录线用于下载程序,一根 USB 转串口线用于打印日志调试,这导致桌面线缆繁杂,找线、接线过程繁琐。
本次设计打破了这一痛点,将 DFU 下载模式与串口调试功能巧妙地集成到了同一个 Type-C 接口中。利用比较器电路检测物理插拔方向,瞬间改变 BOOT 引脚状态,实现了“正插调串口,反插下代码”的极简开发模式。