SPI - 串行外设接口
SPI是指串行外设接口。通过SPI,你可以在两个设备之间极快地交换数据。而且你只需要四根线。
SPI特性
串行外围接口是一种用于短距离的同步通信接口。同步意味着数据是以块或帧的形式发送的,两个设备使用一个时钟进行同步。这是一个串行接口,因此设备每次发送一个比特(与并行通信不同)。其中一个设备是 "主设备",决定了时钟周期。另一个设备是 "从属"。通常情况下,通信是全双工模式。因此,两个设备可以发送数据,甚至在同一时间。
接线
你只需要四根线进行连接,所以它非常容易设置。
一个SPI连接需要四个引脚,即串行时钟(SCL或SCLK)、主输出从输入(MOSI)、主输入从输出(MISO)和芯片选择或从选择引脚(CS或SS)。
钩住主设备和从设备上的相应引脚。
一个主设备可以连接到多个从设备,只要它有足够的芯片选择引脚。主设备通过将相应的芯片选择引脚设置为低电平或高电平来控制哪个从设备接收数据。
Raspberry Pi 4有7条SPI总线。如果你想知道如何访问SPI总线1到6,请在下面留言。
让我们来看看 SPI总线0.
正如你所看到的,在 引脚分布图 上面的第23针是Raspberry Pi上的SCLK针。MISO是第21针,MOSI是第19针。 总线0有两个CS针脚,分别是24和26针脚。
如果你想使用总线0,请确保首先启用它。
执行命令
sudo raspi-config
然后选择 3个接口选项 并点击 I4 SPI.最后按 是 和 好的 来启用SPI。
SPI模式
有四种不同的数据传输模式,你应该注意到。它们在时钟极性和时钟相位上有所不同。
两者都可以是0或1。关于时钟极性,0表示低电平空闲状态,1表示高电平空闲状态。时钟相位为0意味着数据在下降沿发送,而1意味着数据在上升沿发送。在发送数据之前,主站和从站必须同意这四种模式中的一种。
优势
最大的优点是速度快,硬件和软件设置简单,对功率要求低。
劣势
串行外设接口在范围和设备数量上并不具有真正的扩展性,因为主站需要为每个设备提供一个芯片选择引脚。此外,没有硬件从属确认,所以主站不知道数据是否被任何人收到。
使用案例
大多数SPI设备是嵌入式设备或 液晶显示器.一般来说,它被用于需要少量设备和快速数据传输的领域。
它允许Raspberry Pi连接各种 传感器和设备.几乎所有的Raspberry Pi兼容设备都使用SPI或I2C接口。
SD卡也使用SPI接口,所以即使是Raspberry Pi上的SD读卡器也有一些内部MISO和MOSI引脚。
[...]如果您想了解更多有关 SPI 的信息,我们在这里有一篇文章。[...]
[...] SPI - 串行外设接口 [...]
[Naveen 解释说,Nano 和 TFT 显示屏之间的连接基于串行外设接口 (SPI)。同时,操纵杆和按钮通过集成电路总线连接 [...] 。
[...] SPI - 串行外设接口 [...]
[由于每个设备的主控器都有一个芯片选择引脚,因此设备的数量不会增加。
每个菊花链上的设备都有重新连接的可能。因此,只能使用一个芯片选择器。不过,人们必须知道,有多少设备是在 SPI 的不同序列中连接的,这样才能以数据流的方式连接数据包。对设备进行调整,以便将前一个设备的 MISO 与后一个设备的 MOSI 连接起来。下一个设备的 MISO 将与主设备的 MOSI 连接。通过这种技术,当数据流发送后,芯片选择器开始运行时,所有设备的数据都将被自动调用。