仓库地址:GitHub 个人博客:国际站:fzxhub.com 中国站:fzxhub.gitee.io
简介
本项目是一个link debuger,用于调试带有JTAG、SWD接口的微控制器。由于SWD接口的优势,以及本项目宗旨是做一个美观、小巧、功能全的调试器,因此查阅了许多开源电路、开源固件。最终做了该PCB。由上下两层PCB通过铜柱连接在一起。铜柱复用为上下板供电线路。
优点
实物展示
底板3D图
功能
-
debuger(jlink、stlink、daplink任意中的一种)
-
USB转UART(CP2102虚拟的串口) -
USB转RS485(RS485由CP2102的UART电平转化,同一时刻只使用一种,EN接通使用RS485,不接使用UART) -
USB HUB(可以再接入其他1个USB设备,TYPEC接口) -
信号线交叉硬件设计
功能说明
-
link功能表示可是使用jlink、stlink、daplink任意一种固件,烧录入不同的link固件,该设备就是可以实现变身。 -
USB转串口功能,因为三种固件都支持虚拟UART功能,因此都可以使用USB转UART(TTL),下载、调试、UART调试集一身。 -
除了固件虚拟的UART,再接入一个CP2102虚拟一个串口,该串口主要引出RTS、DTR信号,在目标板上合理设计可以自动下载ESP32、STM32串口下载。 -
还将CP2102虚拟的UART(TTL)进行电平转换后得到RS485接口,用于RS485调试 -
在输入USB接口之后绘制了一个USB HUB芯片,芯片是支持一拖四USB HUB,速率达到USB2.0。可通过电阻选择USB HUB是否使用。设计成可选择,主要防止USB HUB的不稳定造成link debugger的不稳定,如USB HUB不稳定或者不使用,可进行硬件上的切换。切换方式通过丝印在背面。 -
信号线交叉设计主要用于在电路设计时大意将例如UART的RX、TX接错时可切换debuger的电阻即可。切换方式通过丝印在背面。 -
本设计接口使用了typec USB接口定义了SWD接口、UART接口。在设计你的原型电路时,可以使用typec USB来设计SWD、UART接口后,通过typec USB线连接PC、link debuger、原型电路即可开始下载与调试。 -
该设备输出共四个typec USB:
接口定义
支持固件类型
- jlink
- stlink
- daplink
支持接口与定义
说明:个人觉得嵌入式开发调试接口20PIN的牛角座端子太大,不适合在开发板或者项目电路板上使用,直接使用插针的方式在电路板使用,当迁移电路板后需要再次每根杜邦线连接,累~,在USB接口定义有可以直接使用的线和接口,因此我想使用USB线来做我们SWD、UART接口的使用。
我在之后的电路板、自绘开发上直接使用TYPEC接口母座来连接SWD、UART接口后,使用TYPEC线连接link_debuger和电路板即可开始使用。因此有了以下将USB接口信号改成SWD、UART接口的定义。 利用TYPEC正反插时的对称性。
-
typec USB类型的SWD&UART支持接口:
- VCC、SCK、SWD、SWO、RST、TX、RX、GND
- 接口对应
TYPEC母座信号定义 | 自定义SWD、UART信号 |
---|
VBUS | VCC | D+(DP) | SCK(可与SWD交换) | D-(DN) | SWD(可与SCK交换) | TX1-&TX2- | RST | RX1-&RX2- | SWO | TX1+&TX2+ | TX(可与RX交换) | RX1+&RX2+ | RX(可与TX交换) | GND | GND | -
typec USB类型的UART
- VCC、TX、RX、GND
- 接口对应说明
TYPEC母座信号定义 | 自定义SWD、UART信号 |
---|
VBUS | VCC | D-(DN) | TX(可与RX交换) | D+(DP) | RX(可与TX交换) | GND | GND | -
typec USB类型的UART,带DTR、RTS信号
- VCC、TX、RX、RTS、DTR、GND
- 接口对应说明
TYPEC母座信号定义 | 自定义SWD、UART信号 |
---|
VBUS | VCC | D-(DN) | RX(可与TX交换) | D+(DP) | TX(可与RX交换) | TX1+&TX2+ | DTR | RX1+&RX2+ | RTS | GND | GND | -
typec USB类型的USB HUB2.0
-
2.54间距8PIN的SWD&UART接口
- VCC、SCK、SWD、SWO、RST、TX、RX、GND
-
2.54间距6PIN的UART接口
-
2.54间距2PIN的RS485接口(EN接通使用RS485,不接使用UART)
-
2.54间距6PIN的供电
- 3.3V、3.3V、5.0V、5.0V、GND、GND
-
20PIN的JTAG接口(只支持SWD,默认不焊接,焊接20PIN贴片插针或者牛角座即可使用)
固件切换
-
使用自己的STLINK与link_debuger的5.0V、SWD、SCK、GND连接。 -
打开STM32 ST-LINK Utility -
连接设备 -
打开文件 -
选择固件(DAP选择bootloader) -
开始编程 -
点击start、等待进度条完成后即可使用
|