D-017 SWD硬件电路设计

SWD硬件电路设计

  • 1 简介
  • 2 JTAG和SWD的区别
  • 2 设计要点
  • 3 电路实战

1 简介

SWD(SERIAL WIRE DEBUG)是一种串行线调试,是ARM设计的协议,主要功能是对微控制器进行编程和调试。

相关引脚说明:

PIN脚 描述
SWDIO 串行数据线,用于数据的读出和写入。
SWDCLK 串行时钟线,提供所需要的时钟信号。

特别地,JTAG接口和SWD接口时服用,SWD也是用J-LINK工具来实现的。所以在使用的时候需要指定使用的时那种方式,在硬件上时不需要做变更的。

2 JTAG和SWD的区别

  • 共享引脚
20PIN 10PIN
20PIN 的(7 脚和 9 脚) 10PIN 的(2 脚和 4 脚)
D-017 SWD硬件电路设计_第1张图片 D-017 SWD硬件电路设计_第2张图片
  • 优势不同
  • SWD 引脚更少,主要 SWDIO 和 SWCLK 两个引脚
  • SWD 具有特殊功能,例如通过其 I/O 线打印调试信息;
  • 与 JTAG 相比,SWD 在速度方面具有更好的整体性能
  • JTAG 协议的优势

JTAG 不仅限于 ARM 芯片,在 ARM 之外的芯片也支持;

JTAG 多种用途,用于编程,调试和生产测试;

JTAG 是一个独立的团体,他们会随着协议的发展而发展。

总结:

功能项 JTAG SWD
引脚数 4 2
支持的 CPU 架构 支持多种架构,不仅限于 ARM 仅 ARM
功能 编程、调试和边界扫描以进行生产测试 仅编程和调试
拓扑结构 菊花链 星型
特殊功能 不支持 通过调试端口打印调试信息
硬件设计 尺寸和空间大 空间节约

2 设计要点

  • 直连即可(没有太多讲究,可以加 ESD 保护)
  • PCB 建库的需注意添加标志或者是丝印标志,防止接错。
  • 一般建议 SWDIO:串行数据输入输出,作为仿真信号的双向数据信号线,建议上拉 10K 电阻;SWCLK:串行时钟输入,作为仿真信号的时钟信号线,建议下拉 10K 电阻的(原因:jlink 到 SWD 接口的连接线较长导致信号不稳定,或者是Layout 做的太差,引起芯片容易被锁,或者 Debug 调试总是失败报错,建议SWD_DIO 上拉 10k 电阻,SWD_SCK 下拉 10K 电阻保证信号的稳定性。)
  • 什么时候选择 SWD 而不是 JTAG:原理图设计足够简单,可以在没有 JTAG功能的情况下进行测试。
  • 个人建议:要是可以 JTAG 和 SWD 都做一下。(实测,有时候 SWD 不稳定)—JTAG 的稳定性和速度要快一些。
  • SWD 模式比 JTAG 在高速模式下面更加可靠。在大数据量的情况下面 JTAG下载程序会失败, 但是 SWD 发生的几率会小很多。基本使用 JTAG 仿真模式的情况下是可以直接使用 SWD 模式的, 只要你的仿真器支持。

3 电路实战

D-017 SWD硬件电路设计_第3张图片

你可能感兴趣的:(硬件电路实战,嵌入式硬件,硬件架构,单片机)