KiCad文件
全屏
内容介绍
内容介绍
所选任务、所画模块的硬件和功能介绍
本项目使用了KiCAD作为设计工具,实现了STM32G484CEU6MCU核心板的设计。
DigikeySTM32G484CEU6链接:STM32G484CEU6 STMicroelectronics | 集成电路(IC) | DigiKey
STM32G4系列MCU基于170 MHz的ARM Cortex-M4内核,配备了高分辨率定时器(HRTIM),以及16位高级电机控制定时器,且具备丰富的ADC、DAC、运放、比较器与等模拟外设资源,专为需要强大计算能力和丰富模拟/数字外设的工业控制、数字电源和电机驱动等应用而设计。
本项目设计的核心板供电方便,接口丰富,可方便对MCU进行软件开发,以及进行性能评估。
核心板实物图如下:

模块设计思路、选型介绍
整体架构与设计思路
- 最小系统为核心:以
STM32G484CEU6微控制器为中心,配置了基础支撑电路。包括由Reset模块构成的上电与手动复位电路,由XOSC(8MHz & 32.768kHz)构成的高低速外部时钟源,以及SWD调试接口,确保了芯片的正常运行与便捷的软件烧录调试。 - 双模通信接口设计:一方面通过
CH340芯片桥接UART至USB,同时通过Type-C接口双面可插拔的特点,连接到了MCU内部的USB模块引脚,极大地方便了开发过程中的日志打印与数据透传。 - 标准化供电方案:采用主流的
USB Type-C接口作为系统5V电源输入,内部通过LDO为主控及数字外设所需的稳定3.3V工作电压,布局紧凑且通用性强。
关键器件选型介绍
- 主控MCU STM32G484CEU6:基于Cortex-M4内核,主频170 MHz。其UFQFPN48封装在提供丰富外设同时,兼顾了较小的PCB占用面积,能够使该核心板项目的面积进一步降低,结构更紧凑。
- USB 转串口CH340:将主控的串口信号转换为电脑可识别的标准 USB 信号,方便开发与调试。
系统框图如下:

模块原理图、PCB简单介绍+突出特色介绍
模块设计特点:
- 最小系统:以
STM32G484CEU6为核心,集成了高速8MHz主时钟,与低速32.768kHz RTC时钟电路;配备了手动复位电路,以及标准的SWD)调试接口,保障芯片的稳定运行与程序烧录。 - 可扩展性:2x20 Pin的GPIO排针几乎引出了主控的所有可用引脚(如SPI、TIM、I2C等),相当于一块万能接口卡,可作为系统的控制核心灵活嵌入到各种大型项目中。
- 开发体验:采用主流的Type-C供电与调试接口,在提供稳定3.3V/5V输出的同时,提升了调试便捷性。集成了
LED1/LED2状态指示灯与SW1/SW2用户按键,便于基础功能测试。
原理图如下:

PCB图如下:

模块调通的功能展示图
上电后呼吸灯闪烁,以及可通过按键控制LED

MCU通过Type-C接口分别使用USB协议以及CH340串口通讯:
- 当Type-C接口正向接入上位机时,识别到CH340 USB串口:

此时上位机通过MobaXterm串口通讯工具接收到通过UART发送的信息:

- 当Type-C接口反向接入上位机时,识别到USB设备:

此时上位机通过MobaXterm串口通讯工具接收到通过USB发送的信息:

RT-Thread系统测试
此外,还通过CumeMX添加了RT-Thread操作系统中间件,配置通过UART串口与上位机交互。例如可以通过CH340运行RT-Thread控制台的msh信息:

通过ps命令查看运行的各个线程任务状态:

调试软件介绍、关键代码片段及说明
初始化通讯模块,并配置LED闪烁和通讯任务:
MX_GPIO_Init();
MX_USART3_UART_Init();
MX_USB_Device_Init();
/* USER CODE BEGIN 2 */
rt_thread_init(&led_thread,
"led_task",
led_thread_entry,
RT_NULL,
&led_thread_stack[0],
sizeof(led_thread_stack),
20, 10);
rt_thread_startup(&led_thread);
rt_thread_init(&comm_thread,
"comm_task",
comm_thread_entry,
RT_NULL,
&comm_thread_stack[0],
sizeof(comm_thread_stack),
15, 10);
rt_thread_startup(&comm_thread);
其中LED线程入口函数
/**
* @brief LED线程入口函数
*/
void led_thread_entry(void *parameter)
{
while (1)
{
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_14);
rt_thread_mdelay(500);
}
}
通讯线程入口函数
void comm_thread_entry(void *parameter)
{
while (1)
{
/* 通过 UART 发送 (使用 RT-Thread 标准打印) */
rt_kprintf("hello world from UART\n");
/* 通过 USB CDC 发送 */
CDC_Transmit_FS((uint8_t*)"hello world from USB\r\n", 22);
rt_thread_mdelay(5000);
}
}
心得体会
这个核心板项目让我体会到了从能用到好用的跨越,往往藏在细节里。通过集成CH340和Type-C接口,省去了外接转接板的麻烦。高度集成的模块化设计极大地缩短了硬件调试周期,让我能将更多精力集中在核心代码的开发上。
这次设计彻底告别了传统USB的“盲插焦虑”,Type-C接口配合CH340的转换电路,真正实现了无论正插还是反插都能被PC瞬间识别,分别调用不同的模块实现通讯,调试体验非常顺滑。
软硬件
电路图
附件下载
STM32G484_Project.zip
核心板可执行工程代码
STM32G484_Project.zip
核心板原理图和PCB文件
团队介绍
个人电子爱好者
评论
0 / 100
查看更多
猜你喜欢
制作FPGA电子琴1. 存储一段音乐,并可以进行音乐播放,
2. 可以自己通过板上的按键进行弹奏,支持两个按键同时按下(和弦)并且声音不能失真,板上的按键只有13个,可以通过有上方的“上“、”下”两个按键对音程进行扩展
john
2717
2025 Make Blocks阶段2 - 基于STM32G474的核心板设计该项目使用了KiCad软件和stm32g474,实现了一个核心板的设计,它的主要功能为:板载STlink_v2.1,RS485,CANFD,以及38pin的拓展io接口,可以实现各种控制及通讯功能。
空耳-
488
2026 Make Blocks #1阶段1 - 基于STM32G484的核心板设计该项目使用了KiCAD工具,实现了STM32G484CEU6的MCU核心板的设计,它的主要功能为:将全部的引脚均进行了引出,支持USB-TypeC, UART, CAN等多种通讯方式;同时动态切换D+/D-信号路径,实现正接使用MCU内部USB模块、反接使用CH340串口的功能。。
Cynixs
75