SPI总线-串行协议解码

目录

SPI总线-串行协议解码

接线

发信号


SPI总线-串行协议解码

SPI(串行外围接口)总线最初是由摩托罗拉开发的,用于其微控制器。由于总线的简单性,其他制造商采用了它,并且它已广泛用于嵌入式系统设计中使用的组件中。它通常用于CPU与键盘,显示器,ADC和DAC,实时时钟,EEPROM,SD和其他存储设备之间的芯片间通信。

SPI是具有四条线的同步总线:数据-主输出/从输入(MOSI)和主输入/从输出(MISO),时钟(SCLK)和从选择(SS或CS)。SPI是全双工标准,这意味着信号可以同时在两个方向上传输,数据速率从几Mb / s到数十Mb / s。

设备使用主从结构与单个主设备进行通信。主设备启动用于读取和写入的帧。多个从设备可以通过单独的从选择线进行寻址。

可以使用PicoScope解码SPI波形:从“ 工具”菜单中选择“ 串行解码”,然后选择“ 创建”并从可用协议列表中选择SPI。

SPI总线-串行协议解码

接线

SPI总线是主/从4线串行通信总线。这四个信号是数据-主输出/从输入(MOSI),主输入/从输出(MISO),时钟(SCLK)和从选择(SS或CS)。

SPI总线-串行协议解码

发信号

每当两个设备进行通信时,一个称为“主”,另一个称为“从”。主机驱动串行时钟。数据同时发送和接收,使其成为全双工协议。SPI使用SS(或CS)线指定要向哪个设备数据传输数据,因此总线上的每个唯一设备都需要来自主机的自己的SS信号。如果有3个从设备,则从主机有3条SS线,每个从设备都有1条SS线。

为了开始通信,总线主控器使用从属设备支持的频率(通常为几MHz或几十MHz)来配置时钟。然后,主机在选择线上选择逻辑电平为0的从机。

在每个SPI时钟周期内,会发生全双工数据传输。主机在MOSI线上发送一个位,从机读取它,而从机在MISO线上发送一个位,主机读取它。

传输涉及两个给定字长的移位寄存器,例如八位,一个在主机中,一个在从机中。数据通常先移出最高有效位,然后再将新的最低有效位移入同一寄存器。寄存器完全移出后,主机和从机交换了寄存器值。如果需要交换更多数据,将重新加载移位寄存器,然后重复该过程。传输可以持续任何数量的时钟周期。完成后,主机停止切换时钟信号,并取消选择从机。

主机设备一次只能选择一个从机。尚未使用片选线**的总线上的从设备必须忽略输入时钟和MOSI信号,并且不能驱动MISO。

SPI总线-串行协议解码