15张图详解四线制SPI通讯
内容提要
SPI是一种常用的外设接口,用于微控制器和外围IC之间的通信。SPI接口可以是3线式或4线式,支持高时钟频率和多从机配置。使用SPI控制的开关可以减少所需GPIO的数量,节省空间。
延伸解读
SPI模式选择:CPOL与CPHA的配合
SPI通信中,主机必须根据从机的要求设置时钟极性(CPOL)和时钟相位(CPHA),组合成四种模式。CPOL决定空闲时时钟电平,CPHA决定数据在上升沿还是下降沿采样。文章强调,用户需查阅产品数据手册以确保时序匹配,否则通信可能失败。这提醒开发者,模式选择不是随意的,必须严格遵循从机规格。
多从机连接:常规模式与菊花链的权衡
常规模式下,每个从机需要独立的片选信号,从机数量增加会快速消耗主机GPIO。菊花链模式将所有从机片选连在一起,数据依次传播,节省引脚但传输时间随从机位置增加。例如8位系统中,第3个从机需要24个时钟脉冲,而常规模式只需8个。文章指出并非所有器件支持菊花链,需查数据手册确认。
SPI开关如何减少GPIO占用
传统开关每个控制输入都需要一个GPIO,例如四个ADG1412需要16个GPIO。使用SPI控制的开关(如ADGS1412)可将所需GPIO降至7个,菊花链配置下甚至只需4个。这避免了外加串行转并行转换器的物料清单开销。文章案例显示,在6层板上采用4×8交叉点配置时,SPI开关可节省20%的总电路板空间。
Q&A
四线制SPI接口具体是哪四根信号线?
四线SPI包括:时钟信号(SPICLK/SCLK)、片选信号(CS,主机输出)、从机输入(MOSI,主机输出从机输入)、从机输出(MISO,从机输出主机输入)。
SPI通信中主机如何选择从机?片选信号的有效电平是什么?
主机通过片选信号(CS)选择从机,片选通常为低电平有效:拉低时选中从机,拉高时从机与总线断开。多从机时每个从机需独立的片选信号。
SPI有哪四种工作模式?它们由什么决定?
SPI模式由时钟极性(CPOL)和时钟相位(CPHA)组合决定,共有四种模式:模式0(CPOL=0, CPHA=0)、模式1(CPOL=0, CPHA=1)、模式2(CPOL=1, CPHA=1)、模式3(CPOL=1, CPHA=0)。CPOL设置时钟空闲电平,CPHA选择采样边沿。
多个从机连接SPI主机时,常规模式和菊花链模式有什么区别?
常规模式:主机为每个从机提供单独的片选信号,数据线共用,但片选线数量随从机增加而增加。菊花链模式:所有从机片选连在一起,数据从一个从机传到下一个,所需时钟周期与从机位置成比例(如8位系统中第3个从机需24个时钟),且并非所有SPI器件都支持菊花链。
使用SPI控制的开关相比传统GPIO控制有哪些优势?
SPI控制开关可显著减少所需GPIO数量,消除外加串行转并行转换器的开销。例如4个ADGS1412开关仅需7个GPIO(传统需16个),菊花链配置下无论多少开关都只占用主机4个GPIO。在6层板4×8交叉点配置中,ADI的SPI开关可节省20%的总电路板空间。
SPI接口相比I2C接口有什么主要优势?
SPI接口支持更高的时钟频率,且为同步全双工通信,主机和从机可同时发送和接收数据。