凡亿专栏 | 什么是SPI?
什么是SPI?

SPI是一种简单的接口,允许一个芯片与一个或多个其他芯片进行通信。

1,SPI是怎么样的?

让我们从一个简单的示例开始,其中只有两个芯片必须一起通信。

SPI要求在两个芯片之间使用4条线。

e3616dce016f209e88c4b4e6137d64.png

如您所见,这些线称为SCK,MOSI,MISO和SSEL,其中一个芯片称为SPI主设备,而另一个则称为SPI从设备。

2,SPI基础

基本:
1,它是同步的。
2,它是全双工串行。
3,它不是即插即用的。
4,有一个(只有一个)主机,一个(或多个)从机。
详细信息:
1,同步:主机产生时钟。
2,全双工串行:将数据串行化,在每个时钟周期内在每个方向上传输一位数据,因此使用了两条数据线(MOSI和MISO)。
3,不即插即用:主机和从机事先知道通信的详细信息(位顺序,交换的数据字长等)。
4,一个主机:从机无法启动通信,只有主机可以。从站监听并响应。

3,简单传输

假设主机和从机期望8位数据传输,并且首先传输MSB。
这是单个8位数据传输的外观。
7f18b62d891ef7fe0912ac3c44b1cf.png

MOSI行是“主输出”,而MISO行是“从输出”。由于SPI是全双工的,因此这两条线会同时切换,不同的数据从主机到从机,从机到主机。

详细信息:

0135446620b79deda25158eccbcaf3.png
1,主机拉低SSEL向从机指示通信正在开始(SSEL为低电平有效)。
2,主机将时钟切换八次,并在其MOSI线上发送八个数据位。同时,它从MISO线上的从站接收八个数据位。
3,主机将SSEL拉高以指示传输已结束。
如果主机要发送/接收多个8位数据,则只有完成后,主机才能继续发送/接收和取消置位SSEL。

4,多个从机

SPI主机可以通过两种方式与多个从机通信:通过并行连接大多数信号并添加SSEL线,或通过链接从机。

a65603c11e1f4346ce71c38c53aadd.png

使用多条SSEL线技术时,一次仅激活一条SSEL线,并且未选择的从站不得驱动MISO线。

5,SPI有多快?

SPI可以轻松达到几Mbps(兆位/秒)。这意味着它可以用于未压缩的音频或压缩的视频。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论