ZHCAD74 September 2023 CC3300 , CC3301
SPI 标准中定义了四种操作模式。为了成功进行通信,必须以相同的方式配置控制器和外设。这四种模式都是 SPI 时钟极性和相位的组合。仅支持模式 0,这意味着 SPI 时钟处于高电平有效状态,在这种状态下,数据在时钟的上升沿被采样,并在时钟的下降沿被移出。
为了获得更好的兼容性和灵活性,在主机接口初始化期间可以配置更多 SPI 参数。
表 3-5 说明了线路上数据的不同选项。
格式 | 线路上的数据 | |||
---|---|---|---|---|
无混合的 16 位小端字节序 | B1(b15 至 b8) | B0(b7 至 b0) | B3(b31 至 b24) | B2(b23 至 b16) |
带混合的 16 位小端字节序 | B0(b0 至 b7) | B1(b8 至 b15) | B2(b16 至 b23) | B3(b24 至 b31) |
无混合的 16 位大端字节序 | B0(b7 至 b0) | B1(b15 至 b8) | B2(b23 至 b16) | B3(b31 至 b24) |
带混合的 16 位大端字节序 | B1(b8 至 b15) | B0(b0 至 b7) | B3(b24 至 b31) | B2(b16 至 b23) |
无混合的 32 位小端字节序 | B3(b31 至 b24) | B2(b23 至 b16) | B1(b15 至 b8) | B0(b7 至 b0) |
带混合的 32 位小端字节序 | B0(b0 至 b7) | B1(b8 至 b15) | B2(b16 至 b23) | B3(b24 至 b31) |
无混合的 32 位大端字节序 | B0(b7 至 b0) | B1(b15 至 b8) | B2(b23 至 b16) | B3(b31 至 b24) |
带混合的 32 位大端字节序 | B3(b24 至 b3) | B2(b16 至 b23) | B1(b8 至 b15) | B0(b0 至 b7) |
配置这些特性是在主机接口初始化期间完成的。由于主机接口的硬件线路默认为 SDIO 线路,并且由于 SPI 也使用相同的线路,因此使用 SDIO 命令 CMD0 应用 SPI 特性的初始配置(请参阅 SPI 章节)。
表 3-6 总结了所有可能的配置。
特性 | 支持的配置 |
---|---|
时钟极性 | 在上升沿上对数据进行采样。对于标准 SPI,数据在下降沿上被移出,对于非标准 SPI,数据在上升沿上被移出 |
时钟相位 | 时钟在逻辑 0 处空闲 |
字大小 | 16 位或 32 位 |
主机字节序 | 除电流限制以外的 |
位顺序 | 可通过位混合进行配置 |
芯片选择极性 | 低电平有效 |
主机中断极性 | 除电流限制以外的 |
时钟频率 | 标准模式下最高为 26MHz,非标准模式下最高为 52MHz |
字之间的芯片选择置位 | 两个字之间可能会出现高电平 |
自主模式 | 支持 |