You are on page 1of 10

传统 20 脚 JTAG 底座个头大,占用 PCB 面积多,连接线复杂。基于 STM32F103C8T 的 SW 模式

Jlink,只需要三根线即可与目标板实现通讯,可实现程序下载,单步调试等功能,除了不能
检测目标板电压、不能给目标板供电、速度有所降低之外,与完整版 JLink 的功能是一样的。
当然,成本也可以降低很多~
首先从 PCB 开始,该方案的最初设计是借鉴了 IAR 公司的开发板原理图,后又经网友
XiaomaGee 优化后,得到了目前的版本,如下图所示

原理图是用 OrCad Capture CIS 画的,感觉用起来比 AD 要舒服一些,外表没有 AD 花哨,但


是用户体验做得很好。电源部分用的是 RT9193,线性稳压,价格便宜,体积小,最大输出电
流 300mA,对于下载器来说已经足够了。左侧中间的接线端子用于给 STM32 烧写固件,其他
部分没什么难度,照着画就行。

接下来就是最让我纠结的布线,由于板子并不复杂,于是选择了 AD 进行布线,封装用的是
AD 自带或者 LP Wizard 生成的。经过几天以来反复的调整,总算是出来一个初级版本了。PCB
拿到手之后,第一感觉还是很不错的,唯一的缺憾就是 USB 那边多出来了零点几个毫米(设
计缺陷),会影响 USB 插头的安装,砂纸简单处理之,搞定。
接下来,到了展现本人焊工的时候了,经过反复折腾,看上去还是挺不错的,电容电阻全部
选用 0603 封装,焊起来比较考验功夫,不过有松香就另当别论了。
硬件搞定后就是固件烧写了,烧写工作需要一个通用版的 JLink,之后就可以鸡生蛋蛋生鸡
了,为了节省板子空间,固件烧写接口仍采用 SW 模式,20 针 JTAG 工作在 SW 模式下的引脚
定义如下:
只需要 SWD、SWC、GND 三根线,即 7 号、9 号及 GND 中的任意一根针,由于固件烧写一次后
就不再使用(掉固件的可能性非常低),因此不需要再焊排针上去了,把杜邦排针插上去,斜
方向给点力就能良好接触,如下图

连接顺序:插针,原始 JLink 上电,烧写器上电(USB)。断开时步骤相反,切不可颠倒!尤


其不能在上电时断开上图中的连接,否则会烧坏器件!
打开 J-Flash ARM

选 择 File-OpenProject , 由 于 默 认 工 程 中 没 有 C8T 的 选 项 , 所 以 选 择 相 近 的
STM32F103RB.jflash 并在 Options-ProjectSettings 里面,将目标元件改为 C8T

选择 File-OpenDataFile 选择烧写器的固件,点击 Target-Connect,会出现以下信息

表示检测并连接到目标芯片,但由于电压过低,断开连接。
对于全功能 JLink,1 号针的功能有两个:检测目标板电压;为内部的电平转换芯片提供输出
端参考电压。也就是说,如果目标板电压为 3.3V,那么这里也必须给 1 号针提供 3.3V 电压,
才能保证正常输出。由上图可知,20 针 JTAG 的 2 号针可以提供 VCC 供电,而当我打开 J-Link
Commander 输入 power on 时,却发现 2 号针输出的是 5V 电压,如法通过直接短路 1、2 号针
来解决问题。正当我手足无措的时候,发现 JLink 的主芯片烧写接口上,有一根线的宽度很
可疑
左起第一根线的宽度,用作信号线的可能性很小,极有可能是起到供电的作用,于是拿起万
用表,果然!

于是牺牲掉一根杜邦线,问题解决

最终接口连线如图
整体效果

再次 Connect,错误消失
点击 Target-Auto 自动下载固件,下载成功后出现如下提示

断开连接,重新插上烧写器,电脑提示找到 JLink,至此,制作成功~

进入 MDK 的 JLink 设置页,第一次进入会提示固件升级

之后选择 SW 模式
完成后就可以正常使用了,单步调试什么的都可以完美支持,不过速度会稍微慢一点(2M),
毕竟只有 3 跟线

以下是制作所需资料:
1、原理图(pdf 及 OrCAD 版本)
点击此处下载 ourdev_713735AQW1O5.rar(文件大小:29K)

2、PCB(pdf 格式,边框已修正)
点击此处下载 ourdev_713746Q6KS3O.pdf(文件大小:19K)

3、HEX 固件
点击此处下载 ourdev_713743PK2H7A.rar(文件大小:27K)

4、XiaomaGee 的原版资料(转自原帖),里面有 MDK 及 IAR 中的设置方法


点击此处下载 ourdev_713739J78TOT.pdf(文件大小:9.28M)

5、IAR 原版原理图
点击此处下载 ourdev_713747GLWL08.pdf(文件大小:1.07M)

6、元件清单
IC:
STM32F103C8T * 1
RT9193 * 1

电阻(0603 封装):
100R * 5
10K * 1
1K * 1
1K5 * 1
22R * 2

电容(0805 封装):
105(1uF) * 2
104(0.1uF) * 6
22pF * 4

接插件:
杜邦排针(烧写用) * 3
3 线 XH2.54 * 1
USB_A 插头 * 1

LED(0805 0603 均可) * 1

8MHz 晶振(贴片) * 1

编者注:本文与原文略有不同,删去了部分无关描述,并修改了一处错误。

You might also like