基于Cortex-M内核的单片机,目前主流的下载接口就是JTAG和SWD。
SWD 和 JTAG引脚区别:
JTAG:
TDI:Test Data In。 串行输入引脚
TDO:Test Data Out,串行输出引脚
TCK:Test Clock,时钟引脚
TMS:Test Mode Select,模式选择(控制信号)引脚
TRST:Test Reset,复位引脚
社署:
SWDIO:Serial Wire Data Input Output,串行数据输入输出引脚
SWCLK:Serial Wire Clock,串行线时钟引脚
其中SWD只需要两根线(SWCLK和 SWDIO),在PCB布局有限、引脚资源紧张的情况下,SWD算是一种不错的选择。
SWD简介
SWD:Serial Wire Debug,代表串行线调试,是ARM设计的协议,用于对其微控制器进行编程和调试。
市面上支持SWD调试接口的下载器很多,比如:ST-Link、 J-Link、 e-Link、 GD-Link等市面上绝大部分用于Cortex-M内核处理器的下载器都支持。
对于SWDIO,是双向(输入输出)数据引脚,必须在电路板上对线路进行上拉(ARM 建议采用 100 K)。
每次在协议中更改 SWDIO 的方向时,都会插入转换时间,此时线路即不受主机驱动也不受目标驱动。 默认情况下,此转换时间为一位时间,但可以通过配置 SWCLK 频率来调整。
调试接口
常见的Cortex-M内核处理器都集成了SWD和JTAG 调试端口,在 SWJ-DP 中, SW-DP 的 2 个 JTAG 引脚与 JTAG-DP 的 5 个 JTAG 引脚中的部分引脚复用。
JTAG与SWD的切换机制:
默认调试接口是 JTAG 接口,如果调试工具想要切换到 SW-DP,它必须在 TMS/TCK(分别映射到 SWDIO 和 SWCLK)上提供专用的 JTAG 序列,用于禁止 JTAG-DP 并使能 SW-DP。 这样便可仅使用 SWCLK和 SWDIO 引脚来激活SWDP。
该序列为:
输出超过 50 个 TCK 周期的 TMS (SWDIO) = 1 信号
输出 16 个 TMS (SWDIO) 信号 0111100111100111 (MSB)
输出超过 50 个 TCK 周期的 TMS (SWDIO) = 1 信号
SW 协议序列
每个序列包括三个阶段:
主机发送的数据包请求( 8 位)
目标发送的确认响应( 3 位)
主机或目标发送的数据传输阶段( 33 位)
数据包请求( 8 位):
ACK 响应( 3 位):
DATA 传输( 33 位)
这种类似于寄存器的一些Bit位操作,底层的一些原理与普通的通信协议也有类似之处。。
SW-DP 状态
SW-DP 的状态机有一个用于标识 SW-DP 的内部 ID 代码,其中主要包含的状态:复位、空闲状态、 ID 代码等。
在上电复位后、 DP 从 JTAG 切换到 SWD 后或者线路处于高电平超过 50 个周期后,SW-DP 状态机处于复位状态。
如果在复位状态后线路处于低电平至少两个周期, SW-DP 状态机处于空闲状态。
复位状态后,该状态机必须首先进入空闲状态,然后对 DP-SW ID CODE 寄存器执行读访问。 否则,目标将在另一个事务上发出 FAULT 确认响应。
SW-DP 状态机的更多详细信息,可以参看Cortex-M相关的一些手册。
SW-DP 寄存器
SWD类似普通外设,也是有一种寄存器,开发者进行的编程(读写)操作,其实就是操作对应的寄存器。
SWD主要的底层就介绍到这里,更多详情,请参看Cortex-M内核手册。
-
单片机
+关注
关注
6044文章
44632浏览量
639384 -
通信协议
+关注
关注
28文章
916浏览量
40475 -
引脚
+关注
关注
16文章
1223浏览量
51015 -
下载器
+关注
关注
1文章
62浏览量
12926 -
SWD
+关注
关注
1文章
57浏览量
11923
原文标题:SWD下载器通信协议底层原理
文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
STM32中的通信协议是什么
Modbus通信协议的相关资料下载
串口通信协议的相关资料分享
SWD通信协议的底层技术
简述SWD下载器通信协议底层原理
![简述<b class='flag-5'>SWD</b><b class='flag-5'>下载</b><b class='flag-5'>器</b><b class='flag-5'>通信协议</b><b class='flag-5'>底层</b>原理](https://file.elecfans.com/web2/M00/90/62/poYBAGPp6oeAVnBgAAE4rk_MnX8046.png)
评论