Professional Documents
Culture Documents
Jlink,只需要三根线即可与目标板实现通讯,可实现程序下载,单步调试等功能,除了不能
检测目标板电压、不能给目标板供电、速度有所降低之外,与完整版 JLink 的功能是一样的。
当然,成本也可以降低很多~
首先从 PCB 开始,该方案的最初设计是借鉴了 IAR 公司的开发板原理图,后又经网友
XiaomaGee 优化后,得到了目前的版本,如下图所示
接下来就是最让我纠结的布线,由于板子并不复杂,于是选择了 AD 进行布线,封装用的是
AD 自带或者 LP Wizard 生成的。经过几天以来反复的调整,总算是出来一个初级版本了。PCB
拿到手之后,第一感觉还是很不错的,唯一的缺憾就是 USB 那边多出来了零点几个毫米(设
计缺陷),会影响 USB 插头的安装,砂纸简单处理之,搞定。
接下来,到了展现本人焊工的时候了,经过反复折腾,看上去还是挺不错的,电容电阻全部
选用 0603 封装,焊起来比较考验功夫,不过有松香就另当别论了。
硬件搞定后就是固件烧写了,烧写工作需要一个通用版的 JLink,之后就可以鸡生蛋蛋生鸡
了,为了节省板子空间,固件烧写接口仍采用 SW 模式,20 针 JTAG 工作在 SW 模式下的引脚
定义如下:
只需要 SWD、SWC、GND 三根线,即 7 号、9 号及 GND 中的任意一根针,由于固件烧写一次后
就不再使用(掉固件的可能性非常低),因此不需要再焊排针上去了,把杜邦排针插上去,斜
方向给点力就能良好接触,如下图
选 择 File-OpenProject , 由 于 默 认 工 程 中 没 有 C8T 的 选 项 , 所 以 选 择 相 近 的
STM32F103RB.jflash 并在 Options-ProjectSettings 里面,将目标元件改为 C8T
表示检测并连接到目标芯片,但由于电压过低,断开连接。
对于全功能 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,至此,制作成功~
之后选择 SW 模式
完成后就可以正常使用了,单步调试什么的都可以完美支持,不过速度会稍微慢一点(2M),
毕竟只有 3 跟线
以下是制作所需资料:
1、原理图(pdf 及 OrCAD 版本)
点击此处下载 ourdev_713735AQW1O5.rar(文件大小:29K)
2、PCB(pdf 格式,边框已修正)
点击此处下载 ourdev_713746Q6KS3O.pdf(文件大小:19K)
3、HEX 固件
点击此处下载 ourdev_713743PK2H7A.rar(文件大小:27K)
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
8MHz 晶振(贴片) * 1
编者注:本文与原文略有不同,删去了部分无关描述,并修改了一处错误。