任务介绍
在嵌入式开发领域,调试和编程工具对于开发者至关重要。DAPLink 作为一种常用的调试适配器,能够为各种微控制器提供高效的编程和调试支持。传统DAPLink引脚功能固定,开发者需手动跳线切换SWD(调试)与串口(通信)模式,操作繁琐且效率低。本项目旨在设计一款基于 STM32F103CBU6 微控制器的智能 DAPLink,利用其强大的性能和丰富的外设资源,打造一款功能强大、稳定可靠、的调试工具,满足开发者在不同项目中的应用需求。通过电容触摸按键实现引脚功能的动态切换,提升开发体验与灵活性。
模块介绍
根据任务要求本次我选用的是 STM32F103CBU6 芯片设计了一款 SWD 调试器,PCB尺寸为 33mm * 13mm 小于任务要求尺寸。引出 SWD 引脚、虚拟串口引脚、5V、3.3V、NRST和GND等8个引脚。采用 2.0mm 插座侧向焊接到PCB上,可以很方便地使用转接线。同时增加了两路触摸切换引脚功能,可以不需要插拔SWD和虚拟串口即可实现切换,十分便捷。
性能升级
- 主控芯片:采用STM32F103CBU6(Cortex-M3内核,最高72MHz主频),支持单周期乘法和硬件除法指令。
- 资源扩展:内置128KB Flash、20KB RAM,支持更高复杂度的程序和数据处理。
- 外设丰富:集成12位ADC(2.4MSps)、多通道定时器、USB 2.0全速接口、I²C/SPI/USART等高速通信接口。
STM32F103CBU6 芯片 DigiKey 链接:https://www.digikey.cn/zh/products/detail/stmicroelectronics/STM32F103CBU6/3087769
功能升级
两年前,我曾设计并制作了一款 超级迷你的STLink、DAPLink双模合一的调试器,实物非常小巧。经过两年时间的使用,总结了那款调试器的几个优缺点:
- 由于追极致小巧,拉线座使用了 GH1.25 的贴片插座。这个插座的线没有转 2.0mm 或 2.54mm 的成品线买,只能买一头带端子另一头不带端子的线回来压接其它端子。并且 GH1.25 贴片插座的线太细容易断。
- 不带 5V 输出引脚,虽然没有 5V 也免强够用,但某些场合需要 5V 供电的情况下需要额外接一个电源,还是有些不方便的时候。
- 在使用过程中,经常遇到 SWDIO 和 SWCLK 、虚拟串口的 RX 和 TX 引脚需要交换的情况,需要拔下插座重新插上。
本次设计的是 2.0 版本的调试器,旨在之前版本的基础上改正以上缺点,并适当放大点尺寸到 33mm * 13mm,采用四层板设计。
原理图和PCB模块介绍
原理图
PCB
PCB预览图
从PCB预览图可看出,该设计没有像以前那样追求极致小巧。而是从实用性的角度出发,设计一款方便使用,同时也方便携带的版本,此版本作为我的升级版本因此版本号为 v2.0。加入了触摸功能,实现SWD和串口引脚的交换功能,避免在使用不同开发板的过程中由于引脚定义的不同需要频繁的插拔。
在USB接口上还预留了 SWD 烧录引脚,不过需要自已制作专用的 TYPE-C 转接线。对于普通人来说好像有点不是很容易做到,因此也额外引出了 1.25 间距的烧录焊盘来进行固件烧录。
硬件设计亮点
1. 电源与时钟
- 输入电压:使用标准 Type-C 母座作为输入,CC线焊接有 5.1K 电阻。输入电压为 5V DC。
- 稳压电路:高效LDO稳压至3.3V,为STM32及外设供电。
- 时钟源:8MHz晶振+内部PLL,支持高精度定时和通信。
2. 核心接口
- SWD:两线SWD引脚输出,支持触摸交换引脚功能。
- 虚拟串口:两线制虚拟串口输出,支持触摸交换引脚功能。
- 复位输出:一路复位输出,支持复位目标芯片。
- 供电输出:采用 5V + 3.3V 双供电输出,适用范围更广。
3. 增强功能
- 触摸交换引脚:通过电容触摸按键实现引脚功能的动态切换,提升开发体验与灵活性。
- LED指示引脚交换状态:板载两路触摸实现SWD和虚拟串口引脚的交换功能,默认情况下指示灯灭引脚为板载丝印功能,当指示灯亮起时引脚为丝印交换状态功能。
4. 尺寸与封装
- PCB尺寸:尺寸非常小巧(33mm × 13mm),使用侧向焊接双排 2.0mm 间距排母接线。可焊接使用 STLink 官方同款的牛角插座实现防反接功能。
5. 软件支持
DAPLink 开源版本就有 STM32F103CBU6 的支持,有需要的可自行克隆项目仓库源码,无需调整目标板和相应代码后编译固件并烧录就能实现调试器功能。
模块主要性能指标和管脚定义
主要性能指标
类型 | SWD调试器 |
---|---|
核心芯片 | STM32F103CBU6 |
内核 | Arm Cortex-M3 |
时钟频率 | 72MHz |
SRAM | 20KB |
Flash | 128KB |
IO数量 | 8 |
板卡尺寸 | 33mm × 13mm |
供电电压 | 4.5V~5.5V |
输出信号电平 | 3.3V |
板型 | 长方 |
管脚定义
顶面管脚属性 | 顶面管脚名 | 顶面管脚编号 | 底面管脚编号 | 底面管脚名 | 底面管脚属性 |
---|---|---|---|---|---|
O | REST | 4 | 4 | DIO | I/O |
P | 3V3 | 3 | 3 | CLK | I/O |
P | GND | 2 | 2 | RXD | I/O |
P | 5V | 1 | 1 | TXD | I/O |
板上设置及标识
标记 | 名称 | 默认状态 | 描述 |
---|---|---|---|
PWR | 电源指示灯 | 亮 | 指示3.3V电压是否工作正常 |
STA | 状态指示灯 | 亮 | DAPLink状态指示灯 |
SWD | SWD触摸区域 | - | SWD 引脚切换触摸区域 |
UART | UART触摸区域 | - | UART 引脚切换触摸区域 |
DIO | SWD引脚和指示灯 | 灭 | 丝印为默认引脚,指示灯亮起交换丝印引脚 |
RXD | UART引脚和指示灯 | 灭 | 丝印为默认引脚,指示灯亮起交换丝印引脚 |
eZ-PLM上新建物料和项目的截图
使用了 eZ-PLM 系统上传了自己的工程文件,方便保存记录各个版本,也可随时查阅,系统里查阅不到的物料也支持手动添加。
物料添加展示图
项目详情图
总结
本项目设计的基于 STM32F103CBU6 的 DAPLink 具有高性能、低成本、丰富的接口和功能扩展性等优点,在嵌入式开发、教育培训以及商业产品开发等领域具有广泛的应用前景。通过合理的硬件设计和软件优化,实现了高效的程序下载、精确的调试以及稳定的虚拟串口通信等功能,满足了开发者在不同场景下的需求。通过电容触摸交互技术,重新定义了 DAPLink 的设计范式,为嵌入式开发者提供更智能、高效的调试工具。