STM32复位控制电路
01 STM32复位控制板
一、前言
这是一个 STM32H7B0单片机。 但是非常邪门, 使用了多个 调试器,都无法对其进行访问。 但是, 通过 USB 端口是可以对他进行程序下载的。 也就是按动电路板上的 BOOT0 按钮, 同时按动RESET按钮。 它进入 BOOTLOADER 状态, 可以使用 STM32 Cube Programmer 对其进行下载程序。 下面制作一个 复位助手, 可以替代手工复位功能, 分别设置它正常复位以及 BOOTLOADER 复位。 同时提供串口通讯功能, 这样便于后期的程序开发。
AD\Test\2024\February\STM32BOOT0RESET.SchDoc
二、电路设计
复位控制电路板比较简单。 核心是 STM32F103单片机。 它通过USB接收上位机的控制命令, 以及返回下位机通过 串口2 发送上来的信息。 这是它的程序下载和调试端口。 两个按键控制手工发送复位命令。 外部8MHz 晶体提供单片机工作频率。 使用低压差3.3V稳压电源。 对于目标板的复位控制通过六芯接口完成。 其中包括有复位和BOOT控制线, 以及串口调试通讯端口。
▲ 图1.2.1 实验电路板原理图
进行手工布线。 采用单面板制作测试电路板。
一分钟之后获得电路, 不过其中存在着缺陷. 这部分应该是原来电路板上腹痛面存在残缺. 重新制作一块, 这次电路板制作的非常完美. 焊接电路板, 进行清洗. 电路板上存在的四个底层引线, 通过 0欧姆电阻进行飞线。 下面开始对单片机进行软件开发。
三、软件测试
设置单片机 STM32F103的资源, 编写控制程序。 通过截取特性的控制命令来区分是普通的通讯串口还是RESET命令。 由于功能比较简单。 但凡接收到 0x00 , 就判断随后的字节, 如果是 0xff 就进行 BOOTLOADER 复位, 否则就进行正常复位。 下面测试一下这个基本功能。
这是待测的 H7B0 单片机板, 将它的 BOOT0 以及 RESET 按键通过电缆连接到复位控制板。 除此之外, 还包括它的 串口发送和接收线。 这样总共有 5条线连接到复位控制板。 使用 TypeC USB电缆将它连接到计算机。
使用这个串口程序, 给复位控制板发送命令。 利用 STM32 Cube Programmer 查看是否能够连接到 H7B0 开发板的 Bootloader。 设置它通过USB 访问单片机, 便可以查看是否能在 USB端口找到处在 BOOTLOADER状态的单片机。 通过发送 00 ff, 可以将 H7B0 设置在 BOOTLOADER 状态, 发送 00 FE, 则将 H7B0 复位在正常状态。 通过这个测试, 验证了制作的 单片机 BOOT 复位电路正常了。
※ 总 结 ※
本文记录了开发STM32单片机 BOOT 复位控制电路板。 通过它可以替代手工完成对 STM32H7B0单片机开发板的两种复位方式, 一种复位到 BOOTLOADER状态, 一种复位到正常运行状态。 后面在通过应用程序测试这个复位控制板的串口功能。
补充说明
AD\Test\2024\February\STM32BOOT0RESET.PcbDoc
▲ 图2.1.1 PCB布线进行了优化,减少了飞线的个数
● 相关图表链接: