你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

SPI 自举程序中使用的 I2C 协议

[复制链接]
STMCU小助手 发布时间:2022-7-25 17:28
前言
本应用笔记说明了 STM32 微控制器自举程序中使用的 SPI 协议。它详细说明了每个支持的指令。
若需器件自举程序 SPI 硬件资源和要求的更多信息,请参考应用笔记 “STM32 微控制器系统存储器自举模式 AN2606
本文档适用于1 中所列产品。
OI_{2P~@}W1ZOK91SAAMS_5.png

1 SPI 自举程序代码序列
STM32 自举程序为 SPI 从机。
对于所有 SPI 自举程序操作, NSS 引脚 (片选)必须连至低电平。若 NSS 引脚连至高电平,则 STM32 从机将忽略 SPI 总线上的通信。


B8F)L2_NL11N670C$$H}QHK.png

进入系统存储器自举模式后,若 STM32 微控制器已配置好 (若需更详细信息,请参考您的STM32 系统存储器自举模式应用笔记),自举程序代码开始扫描 SPI_MOSI 线引脚,等待检测总线上的同步字节 (0x5A)。当检测到时, SPI 自举程序固件会等待接收应答过程 (请参考2),然后开始接收主机指令。



(_I7CR~4[RJWA)MUC@K7H.png


4}R~3KGR~PZUH$VRDP)Q}TO.png

2自举程序指令集
2 列出了所支持的指令。每个指令都将在本章进一步讲述。


~GJ~WU$)N(OEX16T7}50{Y9.png



因为 SPI 配置为全双工,所以每次主机在 MOSI 线上发送数据时,它都会同时从 MISO 线上接收数据。因为从机的应答不是立即的,所以当主机发送时,它接收的数据将被忽略 (空)(此数据不被主机使用)。
当从机需要发送数据时,主机会发送它的时钟,因此它必须在 MOSI 线上发送数据,才能从MISO 线上接收从机数据。在此情况下,主机应一直发送 0x00 (从机不使用此数据)。

2.1通信安全
从编程主机到从机的所有通信都经过以下方式验证。
校验和:接收的数据字节块都经过异或计算。所有字节异或计算后算出一个字节,加到每次通信的末尾 (校验和字节)。对所有收到的字节 —— 数据 + 校验和 —— 做异或计算,最后结果必须为 0x00
若接收的数据为一个字节,则它的校验和为该值的按位取反 (0x02 的校验和为0xFD)。
对于每个指令,主机都发送三个字节:一个帧开始 (SOF = 0x5A)字节、一个表示指令值的字节及其补码 (指令与其补码的异或 = 0x00)。
每个包都被接受 (ACK 应答)或丢弃 (NACK 应答)。
– ACK = 0x79
– NACK = 0x1F
注: 主机的帧可为下列之一:
发送指令帧:主机作为主发送端发起通信,向从机发送两字节:命令代码 + Xor等待 ACK/NACK 帧:主机作为主接收端发起 SPI 通信,从从机接收一个字节:ACK NACK
接收数据帧:主机作为主接收端发起 SPI 通信,从从机收到响应。收到的字节数取决于指令。
发送数据帧:主机作为主发送端发起 SPI 通信,向从机发送需要的字节。发送的字节数取决于指令。



完整版请查看:附件




DM00081379_ZHV2.pdf

下载

569.77 KB, 下载次数: 0

收藏 评论0 发布时间:2022-7-25 17:28

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版