手把手教你打造3线制Jlink ARM-OB STM32

电子制作

257人已加入

描述

  由于本人能力有限,从原理图到最后的调试,多多少少都会有不足之处,望各位高手能够体谅并指正。如果整篇文章能够带给你哪怕一点点的帮助,那就不枉费我花了那么多时间来弄这个。首先我们先对Jlink ARM-OB STM32 进行一些了解:

  Jlink ARM-OB STM32 是 SEGGER 公司为开发板定制的板载Jlink调试方案。除了不能测试目标板电压外,此Jlink 与正式版功能几乎一致(速度限制到 2MHz)。

  受一篇文章启发,参考资料,笔者制作了此文所提的 Jlink 简化版,经过将近半年的测试,其不但工作稳定,而且携带方便,故此与大家分享。
    
       其特点为

  ? + 支持IAR EWARM 和 KEIL MDK;

  ? + 仅支持 SW 两线调试;

  ? + 工作稳定,无丢失固件现象;

  ? + 仅U盘大小,携带方便;

  ? + 直接与电脑USB 接口连接,无需USB 线缆;

  ? + 接口简化,仅用三根线,完成高速调试、下载;

  ? + 仅需要三脚 XH2.54 连接器,大大节约PCB面积;

  ? + 与JTAG 相比,仅需两根线(TMS / TCK),可节约若干条 IO 口。

  其中用到的材料有

  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

        成品图如下图所示:
 

Jlink调试方案

  下面是详细制作过程,首先就是PCB,该方案的最初设计是借鉴了IAR公司的开发板原理图,后又经优化后,得到了目前的版本,如下图所示

  Jlink调试方案

  原理图是用OrCad Capture CIS画的,感觉用起来比AD要舒服一些,外表没有AD花哨,但是用户体验做得很好。

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

  Jlink调试方案

  接下来就是最让我纠结的布线,由于板子并不复杂,于是选择了AD进行布线,封装用的是AD自带或者LP Wizard生成的。经过几天以来反复的调整,总算是出来一个初级版本了。接着出GerBer,制作,等待……

  PCB拿到手之后,第一感觉还是很不错的,唯一的缺憾就是USB那边多出来了零点几个毫米(设计缺陷),会影响USB插头的安装,砂纸简单处理之,搞定。

  Jlink调试方案

  

           接下来,到了展现本人焊工的时候了,经过反复折腾,看上去还是挺不错的,电容电阻全部选用0603封装,焊起来比较考验功夫,不过有松香就另当别论了。

  Jlink调试方案

    Jlink调试方案

   Jlink调试方案

  最后晒一下工作台的照片。

  

  

          硬件搞定后就是固件烧写了,烧写工作需要一个通用版的JLink,之后就可以鸡生蛋蛋生鸡了,为了节省板子空间,固件烧写接口仍采用SW模式,20针JTAG工作在SW模式下的引脚定义如下:

  Jlink调试方案

    只需要SWD、SWC、GND三根线,即7号、9号及GND中的任意一根针,由于固件烧写一次后就不再使用(掉固件的可能性非常低),因此不需要再焊排针上去了,把杜邦排针插上去,斜方向给点力就能良好接触,如下图

  Jlink调试方案

   连接顺序:插针,原始JLink上电,烧写器上电(USB)。断开时步骤相反,切不可颠倒!尤其不能在上电时断开上图中的连接,否则会烧坏器件!

  打开J-Flash ARM

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

  Jlink调试方案

  选择File-OpenDataFile选择烧写器的固件(网络获取)

  点击Target-Connect,会出现以下信息

  Jlink调试方案

  表示检测并连接到目标芯片,但由于电压过低,断开连接。

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

  

Jlink调试方案  

       左起第一根线的宽度,用作信号线的可能性很小,极有可能是起到供电的作用,于是拿起万用表,果然!

  Jlink调试方案

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

  Jlink调试方案

  最终接口连线如图

  Jlink调试方案

  整体效果

  Jlink调试方案

  再次Connect,错误消失

  Jlink调试方案

  点击Target-Auto 自动下载固件,下载成功后出现如下提示

  Jlink调试方案

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

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

Jlink调试方案

  

  之后选择SW模式

  Jlink调试方案

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

  Jlink调试方案

  体积测试:

  与优盘共存,空间会有点吃紧,不过与USB延长线共存还是很轻松滴

  Jlink调试方案

  Jlink调试方案

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
yunmozicu 2013-11-28
0 回复 举报
很不错 收起回复
abo16001 2013-09-09
0 回复 举报
我要做了个,比较不错,电源芯片换了下,现在PCb免费赠送,有要的嘛?
qq联系:1853821855
收起回复
全部评论

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分