打印
[其它产品/技术]

SPI系统基础

[复制链接]
200|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szt1993|  楼主 | 2024-9-24 09:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 szt1993 于 2024-9-24 09:11 编辑

SPI系统可直接与各个厂家生产的多种标准外围器件接口,它只需4条线:串行时钟线(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)和低电平有效的从机选择线(NSS)。

(1)MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。

(2)MOSI:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。

(3)SCK:串口时钟,作为主设备的输出,从设备的输入。

(4)NSS:从设备选择。这是一个可选的引脚,用来选择主/从设备。它的功能是用来作为片选引脚,让主设备可以单独地与特定从设备通信,避免数据线上的冲突。

SPI是一个环形总线结构,由NSS、SCK、MISO、MOSI构成,NSS引脚设置为输入,MOSI引脚相互连接,MISO引脚相互连接,数据在主和从之间串行地传输(MSB位在前)。

SPI有主从两种工作方式。
在主模式下,SPI为其他节点的SPICLK引脚提供串行时钟,数据从SPISIMO引脚输出,从SPISOMI引脚输入。主控制器写人数据到寄存器SPITXBUF便启动发送,数据从SPITXBUF传送到SPIDAT中再通过SPISIMO引脚发送出去,先发送最高位;同时,主控制器接收到的数据通过SPISOMI引脚移入寄存器SPIDAT的最低位。当选定数量的位数发送完时,整个数据发送完毕,紧接着接收完毕(通过SPISIMO引脚发送的SPIDAT的数据最高位每移出一位后就会从SPISOMI引脚移人一位到SPIDAT最低位)。首先将接收到的数据传送到寄存器SPIRXBUF,并进行右对齐,供CPU读取。

在从动方式下,数据从SPISOMI引脚移出并由SPISIMO引脚移入。SPICLK引脚作为串行移位时钟的输入。


为了接收数据,串行外设接口等待网络主控制器送出的SPICLK信号,然后它将SPISIMO引脚上的数据移入到SPIDAT寄存器。如果从控制器同时也发送数据,则必须在SPICLK信号开始之前把数据写入到SPIRXBUF或SPIDAT寄存器中。



使用特权

评论回复
沙发
AdaMaYun| | 2024-9-30 10:58 | 只看该作者
SPI只需4条线:串行时钟线(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)和低电平有效的从机选择线(NSS)。

使用特权

评论回复
板凳
suncat0504| | 2024-10-31 15:31 | 只看该作者
SPI速度比IIC快,但是占用的IO口也多。另一个优点是协议简单。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

260

主题

2193

帖子

4

粉丝