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

2020-02-21 21:10

3. ACTIVE :当处于 OFF 状态, SWIM 引脚检测到一个特殊的序列,可以进入此模 式。 在此状态下, 通过 SWIM 引脚, 主设备工具使用 3个命令去控制 STM8。 (SRST System Reset , ROTF Read On The Fly, WOTF Write On The Fly

注意:请注意, SWIM 可以被设置为 Active ,而且可以在设备处于复位状态(NRST 引 脚被强制拉低时进行通信。

3.2 SWIM 入口序列

POR (上电复位后, SWIM 一直处于 OFF 模式, SWIM 引脚采样用于检测入口序列。 要实现这一机制, 内部低速 RC 时钟在 POR 后自动运行, 并且在 SWIM 处于 OFF 模式下一 直保持。

如果 SWIM 引脚检测到入口序列之前, SWD bit is set, SWIM 将工作在 I/O模式。一旦 SWIM 处于 ACTIVE 模式,写该位是无效的,并且 SWIM 仍然处于 ACTIVE 模式。

如果应用程序使用 SWIM 引脚作为 I/O模式,应用程序会在软件代码的初始化部分将 SWIM 引脚设置为 I/O模式(一般地,会在复位后执行 。尽管在这种状态下,仍然有可能

使得 SWIM 引脚处于 ACTIVE 模式,方法是:强制拉低 RESET 引脚,保持 RESET 引脚为 0持续(duration 到 SWIM 入口序列完成。

在复位期间或者应用程序运行期间,只要 SWIM 处于 OFF 模式,任何时候, SWIM 入 口序列都会被检测。

如果 SWIM 引脚和复位引脚都被复用(are multiplexed为 I/O口,那么进入 SWIM 的 ACTIVE 状态的方法是:MCU 设备掉电,再上电,并且保持 MCU 复位直到 SWIM 入口序 列发送结束。

SWIM 激活时序图如所示,图中每一段的描述如下。

1. 为了激活 SWIM , SWIM 引脚必须强制拉低 16μs(在 HSI 下最少 64个脉冲 。

2. 第一个脉冲后(总线当前为 0 ,在 SWIM 的 ACTIVE 状态入口处, SWIM 检测一 个特殊序列以保证鲁棒性 (guarantee robustness .SWIM 入口序列式:4个 1KHz 的脉冲, 紧接着 4个 2KHz 的脉冲。 序列的频率很容易被内部 RC 检测到。 入口序列如所示。 注意序 列以 SWIM 引脚拉高作为开始和结束标志。

3. 入口序列后, SWIM 进入 ACTIVE 状态, HSI 振荡器(oscillator 自动开启。 4. 延时过后, SWIM 发出一个同步帧给主机。

同步帧描述:MCU 的 SWIM 总线输出低电平, 维持 128个 HSI 时钟脉冲表示发出一个 同步帧,用于调试主机对 RC 的测量。一个高级调试主机可以重新校准(re-calibrate 它的 时钟,来适应(adapt MCU 内部 RC 的频率。

5. 开始 SWIM 通信之前, SWIM 线必须释放为高电平, 以保证 SWIM 准备好通信 (至 少维持 300ns 。

6. 写 0A0H 到 SWIM_CSR寄存器:

●Bit5置一,允许访问整个存储器和 SRST 命令 ●Bit7置一,掩盖内部复位源

7. 释放加载配置字节的序列的复位。等待 1ms 以保持稳定。 8. 一旦配置字节加载发生,且稳定时间到, CPU 分段(in phase 8 :

●STM8S 停止,且 HSI = 16MHz(详见 STM8S 数据手册 ●SWIM 时钟为 HSI/2 = 8MHz

●SWIM 在激活状态,在低速位格式(如所示

3.3 位格式

位格式采用的是一种归零格式(Return-To-Zero format ,它允许位同步。 两个通信速率可选。在 SWIM 激活状态下,选择的是低速通信速率。 通过设置 SWIM_CSR寄存器的 HS 位置一,选择高速通信速率。

当在复位阶段(during the RESET phase 进入 SWIM 模式时,配置项可能已经从非抢 占式存储器中加载到相应的寄存器中。

任何内部或外部的复位都会触发加载配置项。

为了确保适当的系统行为, HS 位直到配置项加载完成后才能置一。在配置项加载结束 后, SWIM_CSR寄存器的 HSIT 位被硬件置一。

3.3.1 高速位格式

10个 HSI 振荡器脉冲生成一位。 位格式为:

●2个时钟脉冲的 0电平,接着 8个时钟周期的 1电平。 ●8个时钟脉冲的 0电平,接着 2个时钟周期的 1

电平。

当 SWIM 收到一包数据时,它将解码: ●1:检测到小于或等于 4个连续低电平。 ●0:检测到大于或等于 5个连续低电平。 3.3.2 低速位格式

22个 HSI 振荡器脉冲生成一位。 位格式为:

●2个时钟脉冲的 0电平,接着 20个时钟周期的 1电平。 ●20个时钟脉冲的 0电平,接着 2个时钟周期的 1电平。


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

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

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

马上注册会员

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