微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 手把手教你打造3线制Jlink ARM-OB STM32

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

时间:08-11 来源:本站整理 点击:

  由于本人能力有限,从原理图到最后的调试,多多少少都会有不足之处,望各位高手能够体谅并指正。如果整篇文章能够带给你哪怕一点点的帮助,那就不枉费我花了那么多时间来弄这个。首先我们先对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
        成品图如下图所示:
 

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

  

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

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

  

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

  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的主芯片烧写接口上,有一根线的宽度很可疑

  

  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top