任务介绍
2025 Make Blocks第一期的任务是设计一款MCU核心板,需要满足一些功能要求并且不是STM32G031,得捷有售的,我们这里需要先确定一下使用的芯片,ST的芯片基本上在得捷上面都有售,所以还是有很多选择的。根据原来的示波器套件的采集要求包括按键和编码器的输入采集、SPI接口的显示屏、ADC采集、PWM输出等等,对应的引脚要留出预留的接口,板子的尺寸没有具体要求,但是要方便实用验证。
设计思路
目前的要求是不能使用STM32G031,需要满足按键和编码器的输入采集、SPI接口的显示屏、ADC采集、PWM输出等等的采集要求。这些要求对针对引脚或者外设方面并不高,之前用的STM32G031也是一个相对入门的单片机,本次我们选择STM32H503RB作为主控。
外接引脚方面参考LaunchPad接口设计,使用两个2*10的排母进行外接,STM32H503RB是个64引脚的单片机,除了电源等特殊引脚外,LaunchPad接口(40pin)能完美实现引脚的全部引出,也足够满足简易示波器的采集要求。
设计框图
功能介绍
本模块主要实现的功能是基于STM32H503RB进行核心板设计:
具有外部晶振;
可以进行复位操作;
支持USB-C接口供电和通信;
具有调试接口,支持虚拟串口通信;
板载用户LED控制;
最大引脚引出,并标识使用的引脚名称。
硬件介绍
本次使用的核心芯片是STM32H503RB,STM32H503微控制器作为STM32高性能产品组合的新成员,展现了显著的增强功能与能效提升。该系列微控制器内置128 KB Flash存储器及32 KB RAM,确保了充足的数据存储与处理能力。其封装形式多样,涵盖25至64引脚规格,包括WLCSP、LQFP及UFQFPN等封装类型,满足了不同应用场景的需求。STM32H503系列基于先进的Arm® Cortex®-M33内核设计,集成了数字信号处理(DSP)与浮点单元(FPU),核心运行频率可高达250 MHz,为高性能应用提供了坚实的基础。
供电接口使用的是16pin的Type-C接口;
全功能引出接口使用高脚排母,支持上下连接;
原理图和PCB模块介绍
本次设计一共绘制了两个版本,第一版没有板载LED,当时想要考虑的就是尽可能将引脚引出,使用LaunchPad接口设计,这些64引脚封装的芯片非常适合40引脚的外引,由于没有STlink的驱动,没法进行板载调试器的设计所以我们选择了STlink V3的STDC14 调试接口,供电方面选择了USB接口进行外部供电,当然了调试结构也是支持单片机的供电的,除了调试接口和USB接口的引脚外,其他引脚都通过LaunchPad接口引出来了,只有PB8一个引脚没有引出来,只要引脚都引出一定可以满足核心板配套设计的控制的。其他的部分就是单片机最小系统的需求了,添加了一个8M的晶振,和可以按键复位的复位电路设计。
第二版在第一版的基础上进行了优化升级,添加了一个用户LED,这样就能把所有引脚用上了,之后有对布局进行了优化,让引脚引出的走线更加合理,并对引脚通过丝印的方式进行了标注
原理图
PCB
实物图
软件调试
软件方面的调试工作主要是为了验证调试接口的能够实现对单片机的调试下载,下载的程序能够正常运行,这里我们使用STM32CubeMX进行初始化代码工程的创立,由于板载的资源只有用户LED,我们让他实现一下blink来验证程序是否正常运行。
硬件连接方面我们使用STlinkV3mini对其进行调试下载,我们留的调试口也是和这个下载相匹配的,但是STlinkV3mini不对核心板进行供电我们需要另外连接一个USB线进行供电:
主要代码:
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_Delay(500);
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_8);
}
编译下载成功:
运行效果
心得体会
通过这次限时挑战赛,连夜设计了一个基于STM32H503的核心板,有尽最快的速度进行了焊接调试,来了一把速度与激情。确实对H5系列单片机非常感兴趣,挑战了一下自己的画图能力和动手能力,有新的想法也付诸了实践,收获满满。后续的设计也会根据这个核心板进行扩展设计,尽可能将一个产品化的内容囊括进去。