找回密码
 立即注册
首页 业界区 安全 SPI与菊花链

SPI与菊花链

事确 昨天 22:46
SPI是嵌入式底层一种使用非常广泛的协议,且常与菊花链结合使用,在汽车电子、储能bms等领域用于电芯电压、模组温度采样等。
SPI即Serial Peripheral interface,串行外围设备接口,是一种全双工同步串行通信总线。摩托罗拉公司20世纪80年代中期首先开发出此传输接口,之后逐渐发展为行业规范之一。
SPI总线规定了4个信号接口:
SCLK(Serial Clock):时钟信号,由主机发出
MOSI(Master Output, Slave Input):主机输出,从机输入信号(数据由主机发出)
MISO(Master Input, Slave Output):主机输入,从机输出信号(数据由从机发出)
SS(Slave Select):片选信号,由主机发出,一般是低电位有效
主机和从机都有一个串行移位寄存器,主机通过向它的 SPI 串行寄存器写入一个字节来发起一次传输。串行移位寄存器通过 MOSI 信号线将字节传送给从机,从机也将自己的串行移位寄存器中的内容通过 MISO 信号线返回给主机。这样,两个移位寄存器中的内容就被交换。外设的写操作和读操作是同步完成的。如果只是进行写操作,主机只需忽略接收到的字节。反之,若主机要读取从机的一个字节,就必须发送一个空字节引发从机传输。
CPOL和CPHA

CPOL,即Clock Polarity,时钟极性。就是当主从机处于空闲状态,不传输数据时,SCL 线的电平状态。假如空闲状态是高电平,则CPOL=1;若空闲状态是低电平,CPOL = 0。
CPHA,即Clock Phase,时钟相位,指的是数据的采样时刻。CPHA = 0就表示数据的采样是从第 1 个边沿信号开始,CPOL决定是上升沿还是下降沿。
CPOL 和 CPHA 都有两种不同状态,所以 SPI 分成了 4 种模式。
SPI工作模式CPOLCPHASCL空闲状态采样边沿采样时刻000低电平上升沿奇数边沿101低电平下降沿偶数边沿210高电平下降沿奇数边沿311高电平上升沿偶数边沿菊花链

菊花链拓扑(英语:Daisy Chain Topology)是一种串联的拓扑,在这种拓扑结构中的设备都连接到一条链或一个环上。根据链路是否闭合可以分为单链和双链。
1.png

主机与从机之间的数据除了高低电平以外,还有isoSPI(隔离 SPI),用一对差分线传输 SPI 数据。高压采样时一般用这种方式。
普通 SPI需要 MCU 和从机芯片共地才能正常工作。在电动车/储能柜里,不同采样芯片往往分布在不同电芯模块,电位可能相差数百伏甚至上千伏,如果用普通 SPI 直连,必须用数字隔离器或光耦给每条信号线隔离,这会导致四条线(MISO、MOSI、CLK、CS)全部隔离,硬件成本高,PCB 走线复杂。
而isoSPI只用 一对差分线传输数据,这对线通过变压器(或隔离器)天然实现电气隔离,不需要每根线都隔离,隔离成本大幅降低。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册