本文共 1549 字,大约阅读时间需要 5 分钟。
一般而言,提供clock的一方称为master。如下图(7-1)中的SCLK方向可知:Processor为master,而Peripheral为slave。
SPI uses four main signals:
SPI使用移位寄存器方式传输,示意图:
形成一个循环圈
,任何时刻对于一个SPI设备而言都有移位输入和移位输出。
如果想只读或者只写,那么在读的时候需要发送一个dummy byte
从而产生时钟;在写的时候简单的忽略读到的数据就可以了。
根据时钟极性
和时钟相位
的不同共有四种,时钟极性和相位分别指:
polarity high
)或者低(polarity low
)。四种模式用图说明如下:
将四种模式的采样时刻(Sampling edge
)和数据变化时刻(Toggling edge
)截取出来:
在逻辑分析仪上面的配置有可能稍有些不一样:
上图是一个虚拟逻辑分析仪软件上的SPI配置截图,除了通道选择和字长度配置外,它还有其他四个设置:
在某一个SoC上时钟极性和时钟相位的配置寄存器:
SPI reset配置:
这里用EN25Q128为例,简略说明一下SPI的配置。这里使用模式0标准SPI模式(只用一根DO线)。
EN25Q128支持模式0和模式3:
假设使用的是SPI方式0,那么MOSI Sampling edge
应该设置为Low,MISO Sampling edge
设置为High。
根据前面说过的配置好:
配置好后就可以使用逻辑分析仪来协助调试。
【◆1】 一个SPI教程。
【◆2】 SPI NorFlash。
【◆3】 说明了为何MISO和MOSI分别在上升沿和下降沿采样。
如果文章有格式问题,请移步:
转载请注明出处。作者:TonyHo hexiongjun.com