2017-04-01 80 views
1

我正在通过互联网阅读各种文档,并找到一些关于SPI协议工作原理的数据和通信机制。 但我无法找到SPI通信中分离模式背后的逻辑意味着为什么SPI通信中提供了四种模式?为什么在SPI通信中提供了不同的模式?

回答

1

四种模式由“时钟极性(CPOL)”和“时钟相位(CPHA)”四种组合组成。

Mode 0 -> CPOL = 0, CPHA = 0 
Mode 1 -> CPOL = 0, CPHA = 1 
MODE 2 -> CPOL = 1, CPHA = 0 
MODE 3 -> CPOL = 1, CPHA = 1 

模式0 - 由于时钟极性为0,这意味着当没有数据传输时,时钟将被下拉到0。所以空闲为低。 由于时钟相位为0,数据将在时钟周期的前沿进行采样。

模式1 - 由于时钟极性为0,这意味着当没有数据传输时,时钟将被拉低为0.所以空闲为低。 由于时钟相位为1,数据将在时钟周期的后沿进行采样。

模式2 - 由于时钟极性为1,这意味着当没有数据传输时,时钟将被拉至1.因此空闲为高。 由于时钟相位为0,数据将在时钟的前沿进行采样。

模式3 - 由于时钟极性为1,这意味着当没有数据传输时,时钟将被拉至1.因此空闲为高。 由于时钟相位为1,数据将在时钟周期的后沿进行采样。请参考link了解时钟图。

另外请记住,并非所有SPI器件都支持所有模式。因此,您需要查看器件数据表以找出模式,并在与该器件通信时,需要先通过编程相关的主机寄存器来设置适当的模式,然后开始通信。

+0

您的回答内容丰富,但没有解决海报的问题*为什么*有多种模式。重点是什么? (Moto)规范为什么定义了这些自由度?他们为什么不选择一个并制定标准? –

+1

@ cp.engr你是对的,这就是为什么我的回答没有被接受...... :)这个问题更适合电子产品.stackexchange以获得硬件的角度。但它与SPI器件逻辑有关,因为一些器件使用低电平有效信号作为空闲,而一些器件使用低电平作为空闲。某些设备具有与其他设备不同的数据锁定方案。某些器件在上升沿锁存数据,在下降沿锁存数据。为什么这么做是电子产品的核心问题,我相信这个平台不是那样的。 – Shaibal

+0

@Shibal,如果我理解正确,你已经在这个评论中提出了一个(粗略)回答“为什么”的问题。为什么不把它添加到你的答案,并建议将问题转移到EE?我不认为“错误的网站”应该成为不给出正确答案的理由 - 即使它没有被移动。 –

相关问题