分享

什么是SPI通信?SPI设计注意什么?

 新用户02834186 2023-04-28 发布于上海

SPI(Serial Peripheral interface)串行外围设备接口。是微控制器和外围IC(如传感器、 ADC、 DAC、移位寄存器、 SRAM等)之间使用最广泛的接口之一。SPI是一种同步、全双工、串行接口。来自主机或从机的数据在时钟上升沿或下降沿同步。常见的4线接口如如所示:

文章图片1

SCK: 时钟

MOSI: 主机输出、从机输入。MOSI将数据从主机发送到从机, MISO将数据从从机发送到主机。

MISO: 主机输入、从机输出。MOSI将数据从主机发送到从机, MISO将数据从从机发送到主机。

SS: 片选。来自主机的片选信号用于选择从机。这通常是一个低电平有效信号,拉高时从机与SPI总线断开连接。当使用多个从机时,主机需要为每个从机提供单独的片选信号。

产生时钟信号的器件称为主机。主机和从机之间传输的数据与主机产生的时钟同步。同昨文章介绍的IIC接口相比, SPI器件支持更高的时钟频率(一般常见的达到了Mbps,要远远快于IIC)

SPI拓扑图:

图a是常见的一个从机的硬件拓扑图,图b是当有多个从机时使用的菊花链拓扑图。由图可以看出CLK,MOSI,MISO都可以公用,CS信号需要接到不同的从机来区分不同的元器件。(这和IIC通过地址来区分不同)。

文章图片2
文章图片3

SPI数据传输:

SPI通信主机必须发送时钟信号,并通过使能CS信号选择从机。片选通常是低电平有效信号。因此,主机必须在该信号上发送逻辑0以选择从机。 SPI是全双工接口,主机和从机可以分别通过MOSI和MISO线路同时发送数据。在SPI通信期间,数据的发送(串行移出到MOSI/SDO总线上)和接收(采样或读入总线(MISO/SDI)上的数据)同时进行。串行时钟沿同步数据的移位和采样。SPI接口允许用户灵活选择时钟的上升沿或下降沿来采样和/或移位数据。下图是SPI数据的交换:

文章图片4

SPI的时钟极性和相位:

在SPI中,主机可以选择时钟极性和时钟相位。在空闲状态期间, CPOL位设置时钟信号的极性。空闲状态是指传输开始时CS为高电平且在向低电平转变的期间,以及传输结束时CS为低电平且在向高电平转变的期间。 CPHA位选择时钟相位:。根据CPHA位的状态,使用时钟上升沿或下降沿来采样和/或移位数据。主机必须根据从机的要求选择时钟极性和时钟相位。根据CPOL和CPHA位的选择,有四种SPI模式可用。

文章图片5

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多