【车载开发系列】常见单片机调试接口的区别

【车载开发系列】常见单片机调试接口的区别

【车载开发系列】常见单片机调试接口的区别

  • 【车载开发系列】常见单片机调试接口的区别
    • 一. JTAG协议
    • 二. SWD接口
    • 三. RDI接口
    • 四. 仿真器
      • 1)J-Link仿真器
      • 2)ULink仿真器
      • 3)ST-LINK仿真器
    • 五. SWD / JTAG 的各种区别
    • 六. 信号线说明

一. JTAG协议

JTAG Joint Test Action Group,联合测试行动组,是一种用于测试和调试电路板上的数字电路的标准化接口

标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 一般有20个引脚。

JTAG的三大功能:

  1. 下载器,即下载软件到FLASH里。
  2. DEBUG,跟医生的听诊器似的,可探听芯片内部小心思。
  3. 边界扫描,可以访问芯片内部的信号逻辑状态,还有芯片引脚的状态等等。
线 英文 说明
TMS Test Mode Select 测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式
TCK Test Clock 测试时钟输入
TDI Test Data In 测试数据输入,数据通过TDI引脚输入JTAG接口
TDO Test Data Out 测试数据输出,数据通过TDO引脚从JTAG接口输出

二. SWD接口

串行调试(Serial Wire Debug),需要4个(或者5个)引脚,结构简单,但是使用范围没有JTAG广泛,主流调试器上也是后来才加的SWD调试模式。

SWCLK(Serial Wire Clock)和SWDIO(Serial Wire Data Input/Output)是调试接口SWD(Serial Wire Debug)中的两个关键信号线,用于实现微控制器与调试器之间的通信。

信号线 英文 说明
SWDIO Serial Wire Clock 串行数据线,用于数据的读出和写入
SWDCLK Serial Wire Data Input/Output 串行时钟线,提供所需要的时钟信号

对于SWDIO引脚,虽然内部有一定的上拉能力,但如果线路较长、环境噪声较大,或者需要提高通信稳定性时,外部上拉电阻可以增强信号质量,尤其是在SWDIO作为输入时,外部上拉电阻能够提供一个清晰的高电平状态。

对于SWCLK引脚,通常会建议添加外部下拉电阻,尤其是在线路没有被驱动时,下拉电阻可以确保时钟信号有一个稳定的低电平状态,防止线路浮动造成不确定状态。

三. RDI接口

它也叫远程调试接口(Remote Debug Interface),是ARM公司提出的标准调试接口,主要用于ARM芯片的仿真,由于各个IDE厂商使用的调试接口各自独立,硬件无法进行跨平台的调试。

现在众多的IDE厂家都逐步采用标准RDI作为ARM仿真器的调试接口,因此使跨平台的硬件调试成为可能。

EasyJTAG由于使用标准RDI调试接口,因此在任何使用标准RDI接口的IDE调试环境中都可以使用,例如ARM公司的ADS1.2/IAR公司的EWARM 3.30 。

四. 仿真器

1)J-Link仿真器

J-Link是德国SEGGER公司推出基于JTAG的仿真器。

它有一个小型USB到JTAG的转换盒,其连接到计算机用的是USB接口,而到目标板内部用的还是JTAG协议。

JTAG协议转换盒,即一个小型USB到JTAG的转换盒,其连接到计算机用的是USB接口,而到目标板内部用的还是JTAG协议。

它完成了一个从软件到硬件转换的工作。

JLINK是一个通用的开发工具,可以用于KEIL、IAR、ADS 等平台。速度,效率,功能都很好,是众多仿真器里功能最强悍的存在

2)ULink仿真器

ULINK是ARM/KEIL公司推出的仿真器,目前网上可找到的是其升级版本,ULINK2和ULINK Pro仿真器。

ULINK/ULINK2可以配合Keil软件实现仿真功能,并且仅可以在Keil软件上使用,

增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能。

开发工程师通过结合使用RealView MDK的调试器和ULINK2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG,SWD和OCDS)、Flash编程。

要注意的是,ULINK是KEIL公司开发的仿真器,专用于KEIL平台下使用,ADS、IAR下不能使用。

3)ST-LINK仿真器

ST-LINK是专门针对意法半导体STM8和STM32系列芯片的仿真器。

ST-LINK /V2指定的SWIM标准接口和JTAG / SWD标准接口,它的主要功能如下:

功能 功能说明
编程功能 可烧写FLASH ROM、EEPROM、AFR等
仿真功能 支持全速运行、单步调试、断点调试等各种调试方法,可查看IO状态,变量数据等
仿真性能 采用USB2.0接口进行仿真调试,单步调试,断点调试,反应速度快
编程性能 采用USB2.0接口,进行SWIM / JTAG / SWD下载,下载速度快

五. SWD / JTAG 的各种区别

(1)共享引脚

SWD 的引脚在一定条件下可以和 JTAG 引脚复用

(2) SWD 协议的特点:

使用引脚更少,只需 SWDIO 和 SWCLK 两个引脚

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

在高速大数据情况下,SWD整体性能比JTAG更好。

只能用于ARM内核的单片机。

(3)JTAG 协议的优势:

不限于ARM内核单片机,能支持更多单片机程序调试和下载

占用引脚数比较多,比较占用板子尺寸。

六. 信号线说明

信号线 说明
GND GND是电线接地端的简写。代表地线或0线
KL30 蓄电池供电电压,俗称常电(它表示蓄电池的正极)
KL31 蓄电池供电电压(它表示蓄电池的负极)
KL15 点火信号
SWD Serial Wire Debug 串行调试接口,使用了4个引脚
VCC Volt Current Condenser 电路的供电电压
VDD 芯片的工作电压
VOUT Output Voltage 输出电压
相关推荐
铅笔小新z2 小时前
【stm32】WWDG(窗口看门狗)
stm32·单片机·嵌入式硬件
byte轻骑兵3 小时前
【LMP】规范精讲[11]: 暗房里的协议——产线射频测试是怎么指挥芯片的
物联网·通信协议·蓝牙协议·lmp·蓝牙链路管理
comyccccc3 小时前
平衡车底板设计:精准布局与高效布线学习笔记
单片机·嵌入式硬件
芯片人0074 小时前
GEK100系列芯片进入上市公司上海移远通信供应链
人工智能·单片机·嵌入式硬件·物联网·芯片
fly_sunnn5 小时前
ADC模数转换器
单片机·嵌入式硬件
我叫洋洋6 小时前
I2C 为什么必须用开漏输出?从推挽短路、线与,到上拉电阻取值
单片机·嵌入式硬件
无敌贵点大王6 小时前
从寄存器层面重学STM32(5)——串口USART理论部分
stm32·单片机·嵌入式硬件
女神下凡6 小时前
芯参谋(83):AliOS Things_驱动开发指南
arm开发·驱动开发·单片机·嵌入式硬件·设计规范·1024程序员节
女神下凡6 小时前
芯参谋(84):Linux eMMC 驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件
szxinmai主板定制专家18 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比
运维·stm32·单片机·嵌入式硬件·fpga开发·am62x