SPI是一种简单的接口,允许一个芯片与一个或多个其他芯片进行通信。
1,SPI是怎么样的?
让我们从一个简单的示例开始,其中只有两个芯片必须一起通信。
SPI要求在两个芯片之间使用4条线。
如您所见,这些线称为SCK,MOSI,MISO和SSEL,其中一个芯片称为SPI主设备,而另一个则称为SPI从设备。
2,SPI基础
基本:
1,它是同步的。
2,它是全双工串行。
3,它不是即插即用的。
4,有一个(只有一个)主机,一个(或多个)从机。
详细信息:
1,同步:主机产生时钟。
2,全双工串行:将数据串行化,在每个时钟周期内在每个方向上传输一位数据,因此使用了两条数据线(MOSI和MISO)。
3,不即插即用:主机和从机事先知道通信的详细信息(位顺序,交换的数据字长等)。
4,一个主机:从机无法启动通信,只有主机可以。从站监听并响应。
3,简单传输
假设主机和从机期望8位数据传输,并且首先传输MSB。
这是单个8位数据传输的外观。
MOSI行是“主输出”,而MISO行是“从输出”。由于SPI是全双工的,因此这两条线会同时切换,不同的数据从主机到从机,从机到主机。
详细信息:
1,主机拉低SSEL向从机指示通信正在开始(SSEL为低电平有效)。
2,主机将时钟切换八次,并在其MOSI线上发送八个数据位。同时,它从MISO线上的从站接收八个数据位。
3,主机将SSEL拉高以指示传输已结束。
如果主机要发送/接收多个8位数据,则只有完成后,主机才能继续发送/接收和取消置位SSEL。
4,多个从机
SPI主机可以通过两种方式与多个从机通信:通过并行连接大多数信号并添加SSEL线,或通过链接从机。
使用多条SSEL线技术时,一次仅激活一条SSEL线,并且未选择的从站不得驱动MISO线。
5,SPI有多快?
SPI可以轻松达到几Mbps(兆位/秒)。这意味着它可以用于未压缩的音频或压缩的视频。