STM8 SWIM通信协议和调试模块 - 图文(3)

2020-02-21 21:10

当 SWIM 收到一包数据时,它将解码: ●1:检测到小于或等于 8个连续低电平。 ●0:检测到大于或等于 9个连续低电平。 3.4 SWIM 通信协议

当处于 ACTIVE 模式时,通信可以被主机或设备初始化。每一个字节或命令之前都有 一位头,用于仲裁主机和设备发起的通信。

主机的头是“ 0” ,由于是开漏结构,可用于在仲裁时取得优先权。若无数据传输,主机 就可以开始传输。

主机发送的每个命令有以下组成: ●1个命令(ROTF , WOTF or SWRST包含:

头:1Bit “ 0” b2-b0:3-bit 命令

pb :奇偶位(parity bit :b(i异或

ack :应答位(1bit “ 1” 。若检测到错误或为准备好,接收者必须发送非应答 (NACK :1bit “ 0”

●若干数据包(WOTF 下包含: 头:1Bit “ 0” b2-b0:8-bit 数据

pb :奇偶位(parity bit :b(i异或 ack :应答位(1bit “ 1” 。

3.5 SWIM 命令

当总线空闲或者设备发送某个数据字节后,

主机可以发送一个命令。 发送命令后, 主机 释放总线。当 SWIM 准备好回应命令时,它启动(initiates 转换。如果 SWIM 正在相应一 个命令,主机发出新的命令,上个命令被取消,且新命令被解码,除 WOTF 外。

三个命令是有效的(available 。如所示。 3.5.1 SRST :系统复位

格式:一个命令从主机到目标板 参数:无

只有 SWIM_CSR/SWIM_DM位置一, SRST 命令产生一个系统复位。 3.5.2 ROTF :read on the fly

格式:一个命令 +要读的字节数 +三个字节的地址。 参数:

N 8位的将要读取的字节数(1~255 @E/H/L 即将访问的 24位地址

D[…] 从存储空间读取的字节

如果主机发送一个 NACK 信号,设备将再次发送相同的字节。 如果 SWIM_DM位被清零, ROTF 只能在 SWIM 内部寄存器被操作。 3.5.3 WOTF :write on the fly

格式:一个命令 +要写的字节数 +三个字节的地址。

参数:

N 8位的将要写的字节数(1~255 @E/H/L 即将访问的 24位地址 D[…] 将要写到存储空间的字节

当字节 D[i+1]到达, 如果字节 D[i]仍未写完成, 那么 D[i+1]之后紧跟着 NACK 。 在这种 情况下,主机必须再次发送 D[i+1]知道收到应答信号 ACK 。

对于最后一个字节,当一个新命令发生,而最后一个字节未写完成,那么,新命令将收 到 NACK ,且不会被解释(account 执行。

如果 SWIM_DM位被清零, WOTF 只能在 SWIM 内部寄存器被操作。 3.6 SWIM 通信复位

在通信期间的问题,主机可以通过发送 128个 HSI 时钟周期来复位通信。如果 SWIM 检测到 SWIM 引脚拉低超过 64个 HIS 时钟周期, 它将复位通信状态机, 并且

打开低速模式 (SWIM_CSR.HS<-0 。 这是为了改变内部 RC 振荡器的频率。 (This is to allow for variation in the frequency of the internal RC oscillator.

为了响应(In response to 通信复位, SWIM 将发送同步帧 — 拉低 DBG 引脚持续 128个 HIS 振荡器时钟。

3.7 CPU 寄存器访问

CPU 寄存器被映射在 STM8存储器中,且这些寄存器可以通过 ROTF 和

WOTF 命令来

被直接读或写。当 CPU 处于停滞状态时,对 CPU 寄存器的写操作才被允许。 为了刷新指令解码阶段,你必须在为程序计数器(PCE , PCH , PCL 写入新值后,将 DM control/status 寄存器的 FLUSH 位置一。


STM8 SWIM通信协议和调试模块 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:体育教育教学工作总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: