当前位置:首页 > > strongerHuang
[导读]作为嵌入式工程师,下载调试器都应该知道,但你真正了解其SWD和JTAG接口的含义和区别吗?

关注+星标公众,不错过精彩内容

作者 | strongerHuang
微信公众号 | strongerHuang

作为嵌入式工程师,下载调试器应该知道,但你真正了解其SWD 和 JTAG接口的含义和区别吗?


1

什么是下载调试器

简单来说,下载调试器是将PC(例如通过USB协议)发送的命令转换为MCU(负责MCU内部外围设备)理解的语言(例如SWD或JTAG协议)的设备,加载代码并精确控制执行。


2

调试器协议标准

1.什么是标准?
简单来说,标准是一组规则和协议,特定行业中的每个参与者都同意遵循并执行。

2.调试器协议混乱现象

在SWD和JTAG之类的协议出现之前,调试器及其协议一片混乱,每个MCU制造商都提出了自己的专有方法,将代码加载到他们的MCU上。制造商每次发布MCU时,嵌入式软件工程师都需要了解其专有协议,以将代码加载到微控制器中。

而且,调试适配器很昂贵,因为制造商实际上并没有竞争者可以使调试适配器与他们的协议相匹配,因为协议是专有的。它们昂贵的另一个原因是由于体积不足,因为它们只能将调试适配器出售给使用它们制造的MCU的公司(工程师)。

不同协议还会导致开发成本增加,比如:你在设计的板上有来自4个不同制造商的4种芯片,并且希望对其进行一些自动化测试以提高生产过程的效率。但是,由于所有电路板都有自己的协议,因此您需要制作一个能适应复杂性的超级复杂的生产代码,并且需要在电路板上的测试点安装4个不同的调试器,从而增加了成本,生产时间和编程时间。

3.制定协议
各种下载调试不同会导致几个问题:
  • 投入更多的学习时间

  • 增加购买下载调试的成本

  • 生成测试效率低下


为了解决这一问题,各大MCU制造和生产商的工程师们就针对调试制定了一些规范协议。


3

JTAG标准

JTAGJoint Test Action Group,联合测试行动小组。


该小组于1980年后期开始讨论,并于1990年正式发布了解释IEEE标准的文档。(IEEE代表电气与电子工程师协会,是一个国际组织,其中发布了所有标准,如WiFi,蓝牙等)。他们提出的协议在1990年被记录在IEEE 1149.1中。后来对该文档进行了修订和完善,在撰写本文时,最新标准是IEEE 1149.7。

JTAG基本上带有5个引脚:
TDI: Test Data In。串行输入引脚
TDO: Test Data Out,串行输出引脚
TCK:Test Clock,时钟引脚
TMS: Test Mode Select,模式选择(控制信号)引脚
TRST: Test Reset,复位引脚



4

SWD标准

SWD:Serial Wire Debug,代表串行线调试,是ARM设计的协议,用于对其微控制器进行编程和调试。


由于SWD专门从事编程和调试,因此它具有许多特殊功能,通常在其他任何地方都无法使用,例如通过IO线将调试信息发送到计算机。另外,由于它是ARM专门为在其设备中使用而制造的,因此SWD的性能通常是同类产品中最好的!

SWD引脚
SWDIO: Serial Wire Data Input Output,串行数据输入输出引脚
SWCLK: Serial Wire Clock,串行线时钟引脚



5

SWD / JTAG的各种区别

市面上有很多兼容 SWD 和 JTAG 协议的MCU和调试适配器,他们通常通过具有一组下载调试引脚,来实现下载和调试功能,这些引脚内部复用到SWD外设和JTAG外设。


1.共享引脚

SWD的引脚在一定条件下可以和JTAG引脚复用,目前针对 JTAG 和 SWD的连接器比较多,比如20pin的接插件:


当然,也有10pin的:



2.SWD / JTAG各自优势
SWD协议的优势:
  • 使用引脚更少,只需SWDIO和SWCLK两个引脚

  • SWD具有特殊功能,例如通过其I / O线打印调试信息

  • 与JTAG相比,SWD在速度方面具有更好的整体性能


JTAG协议的优势:
  • JTAG不仅限于ARM芯片,在ARM之外的芯片也受支持,比如大家熟悉的MSP430

  • JTAG具有更多多种用途,用于编程,调试和生产测试

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


3.什么时候选择SWD而不是JTAG
  • 如果您的原理图/电路板设计足够简单,可以在没有JTAG功能的情况下进行测试

  • 调试性能比生产测试更重要,你的设备专注于服务研究而不是批量生产!

  • MCU在尺寸方面有限制,SWD 可以节省空间

  • 你的硬件设计太复杂,MCU没有多余的2个引脚



6

总结:SWD / JTAG对比

下面用一种图来总结:

------------ END ------------

推荐阅读:

程序猿如何选择开源协议?

线程、进程、多线程、多进程 和 多任务 

几款优秀的支持C、C++等多种语言的在线编译器


关注 微信公众号『strongerHuang』,后台回复“1024”查看更多内容,回复“加群”按规则加入技术交流群。


长按前往图中包含的公众号关注


点击“ 阅读原文 ”查看更多分享,欢迎点分享、收藏、点赞、在看

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭