SWIM通信

本文详细介绍了SWIM通信的进入时序、通信格式,包括ROTF和WOTF两个底层函数。进入时序涉及激活SWIM状态、发送同步帧及配置寄存器等步骤。ROTF和WOTF的通信数据以位格式传输,需根据低电平长度判断0或1,硬件捕获推荐用于数据读取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整个工程需要用到的知识包括:dma接收、定时器捕获、串口通信

进入时序

在这里插入图片描述
整个流程从图中可以看出共分为8个过程。我将前面的(1)(2)叫做进入时序,这个过程就是向SWIM引脚发送特定的脉冲。在这个进入时序发送成功之后,从机(slave)将会返回一个应答(ack)。
(1)将SWIM引脚拉低16us以上,激活SWIM状态。
(2)发送如下脉冲。
在这里插入图片描述
(3)当收到应答之后。我们需要给他一定时间的延时,这段延时的作用是给HSI一个启动稳定的时间。
(4)发送同步桢(128*SWIM_CLK)这里,需要至少大于64个算作是成功的同步桢(SWIM_CLK=1/2 HSI)。
(5)释放SWIM确保已经准备进行好通信。
(6)配置寄存器SWIM-CSR(写0xA0)
(7)释放reset并等待1ms同步。
完成以上步骤之后就已经成功进入SWIM模式下了,进入SWIM模式以后的就可以完成ROTF、WOTF两个底层函数了。
注:进入SWIM以后的“1”、“0”就不是我们传统的格式了。在这里有个位格式的定义。在默认情况下是低速位格式
在这里插入图片描述
0:20个脉冲是0,2个脉冲是1.
1:20个脉冲是1,2个脉冲是0.

通信格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值