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 脚)
  • 优势不同
  • 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硬件电路设计相关推荐

  1. 基于STM32-消防栓监测系统毕业设计---论文(附加最全面的从硬件电路设计->驱动程序设计->阿里云物联网搭建->安卓APP设计)

    设计展示视频连接:消防栓监测系统视频 驱动程序工程文件:消防栓监测系统驱动程序工程(全寄存器开发的) 消防栓监测系统所有设计资料:全栈设计,如下图所示 消防栓监测系统论文(图片看不清的可以下载文档看) ...

  2. 硬件电路设计原理图设计

    叶倾城-硬件原创的个人空间_哔哩哔哩_Bilibili 硬件电路设计原理图设计第二季-1-40课已更新完成啦!!! 第三季硬件电路设计原理图设计敬请期待!感谢大家的支持! 第01课------硬件实战 ...

  3. TLE5012B ESP32驱动程序、硬件电路设计、4线SPI通信,驱动完美兼容4线SPI不用改MOSI开漏推挽输出

    一.TLE5012B 简介 TLE5012B 是一种款高分辨率旋转位置传感器,用于在整个 360 度范围内进行角度测量. 它通过使用单片集成 巨磁阻 (iGMR) 元件,来测量正弦和余弦角分量,这些原 ...

  4. 一套完整的硬件电路设计该怎么做?

    在学习电路设计的时候,不知道你是否有这样的困扰:明明自己学了很多硬件电路理论,也做过了一些基础操作实践,但还是无法设计出自己理想的电路.归根结底,我们缺少的是硬件电路设计的思路,以及项目实战经验. 设 ...

  5. 一套完整的硬件电路设计该怎么做

    在学习电路设计的时候,不知道你是否有这样的困扰:明明自己学了很多硬件电路理论,也做过了一些基础操作实践,但还是无法设计出自己理想的电路.归根结底,我们缺少的是硬件电路设计的思路,以及项目实战经验. 设 ...

  6. WS2812硬件电路设计

    WS2812硬件电路设计 小菜鸡的第一篇的CSDN文章,冲冲冲!!! 设计目标: 1.RGB可实现多种灯效,可通过按键切换: 2.RGB灯珠亮度可调节: 3.选用蓝牙或者wifi模块,通过手机远程设置 ...

  7. 硬件电路设计入门奉献系列(一)

    硬件电路设计入门的一些必备知识和技巧 --献给那些刚开始或即将开始设计硬件电路的人 时光飞逝,离最初设计制作电路板已有2年多时间.刚刚开始接触电路板的时候,与你一样,充满了疑惑同时又带着些兴奋.在网上 ...

  8. 嵌入式硬件电路设计基本功

    我走的电子开发道路其实和大多数人说的一样,基本的路线为模拟电子(熟练)→数字电路设计(掌握)→单片机(项目开发)→ARM硬件设计(项目开发)→linux学习→linux驱动学习→ARM&lin ...

  9. 经验分享:一套完整的硬件电路设计该怎么做?

    在学习电路设计的时候,不知道你是否有这样的困扰:明明自己学了很多硬件电路理论,也做过了一些基础操作实践,但还是无法设计出自己理想的电路.归根结底,我们缺少的是硬件电路设计的思路,以及项目实战经验. 设 ...

最新文章

  1. Linux之终端命令格式的组成
  2. 事件处理 ajax,AJAX的多事件处理机制
  3. 深度学习输入模式与适当的网络架构之间的对应关系
  4. POJ - 3565 Ants(二分图最小权匹配+KM+思维)
  5. python层次聚类法画图_Python实现简单层次聚类算法以及可视化
  6. Nancy之基于Nancy.Owin的小Demo
  7. 创建线程有几种不同的方式
  8. 天枰称重 (枚举法|进制转换逢十进一模版)
  9. 网络集成方案_用户需要的综合性解决方案:网络安全架构集成的价值凸显
  10. 石头记特定卡密生成获取get!{石头记卡密使用方法}
  11. 更新macOS Monterey后遇到的各种Bug及解决方法
  12. 登录验证时第一次帐号密码错误,第二次提交出现错误404,Could not find action or result: /zyf_shop/user_login.action
  13. 聊聊各种“上门”能不能做起来
  14. MapReduce 切片源码中SPLIT_SLOP等于1.1的原因分析(TextInputFormat)
  15. Byval和ByRef
  16. 鱼眼参数的数值计算优化方法
  17. 如何设置小于12px的像素字体
  18. The server quit without updating PID file解决方法
  19. 深度学习中的模型修剪
  20. 判断tvs能抗住多少千伏浪涌的依据_TVS承受浪涌电压如何计算?

热门文章

  1. 放弃自建平台,Farfetch会是京东正确的选择吗?
  2. AMBA5 AHB协议规范(AHB5,AHB-Lite)中文版-附录 词汇变
  3. ccd相机图像处理思考
  4. 产品设计体会(7026)知识管理与思维导图
  5. 正则表达式学习(二)
  6. div+css 纵向导航菜单及二级菜单弹出
  7. 00058 imp,IMP-00058: 遇到 ORACLE 错误 904
  8. mysql pom.xml版本号_pom.xml · 我是一只小小小鸟/canal_mysql_elasticsearch_sync - Gitee.com...
  9. Greenplum集群问题修复小结
  10. react循环渲染数据