菊花链通信技术整理

目录

一、菊花链简介

二、菊花链与CAN通信的区别

三、常见的菊花链AFE芯片

四、菊花链数据结构

五、菊花链方案介绍


一、菊花链简介

首先简单的说一下菊花链以及菊花链的应用,在目前国内的BMS开发中,我们应用最广泛的目前还还是分布式,只是越来越集中而已,真正完全集中式的BMS其实比较少。

BMS一般分为主板和从板(有些将电流采样、绝缘检测等功能单独拿出来做一个电流模块或者绝缘检测模块),在菊花链出来之前,主从板上都有MCU,从板采集单体电池电压和温度,通过CAN总线传给主板。

图片

而在目前成本日益严峻的今天,怎么实现降本就是各个主机厂以及芯片厂所重点关注的内容,所以菊花链出现了。在电子领域,菊花链是一种配线方案,例如设备A和设备B用电缆相连,设备B再用电缆和设备C相连,设备C用电缆和设备D相连,在这种连接方法中不会形成网状的拓扑结构,只有相邻的设备之间才能直接通信。当设备与设备之间按照固定的通讯模式通讯的时候,每个从板就可以不用配备一个CAN收发器和与之配套的MCU了,能够实现降本50%以上

图片

这个图就是菊花链在BMS上的一个典型应用,MCU通过专用的转换解码芯片,将SPI信号转换成差分通讯信号,然后通过变压器或者电容,将差分信号在相互隔离的采样芯片之间进行传递。

二、菊花链与CAN通信的区别

一主两从架构BMS的主板与从板间通信方式主要有两种:CAN通信和菊花链通信。因为CAN通信在汽车电子上的应用时间长且通信稳定性很好,所以早期主板与从板之间采用CAN通信方式(当前一些量产车型上仍然使用CAN通信),出于汽车电子成本方面的考虑,业内逐渐发展了一种新的通信方式——菊花链通信,由于使用元器件更少(减少了芯片使用)更具成本优势,虽然稳定性没有CAN通信这么好,但是考虑到BMS多数场景下放置在一个相对封闭应用场景(电池包内部),并且主板与从板之间的线束较短,符合应用要求,所以目前市场上使用更多的是菊花链通信方式。目前BMS使用的就是菊花链通信架构。

三、常见的菊花链AFE芯片

BMS行业的菊花链技术是各AFE芯片厂家来推动的。早期AFE芯片与微控制器通信基本都是以SPI为主,针对于菊花链通信,各芯片厂家分别开发出了AFE间差分信号通信的技术和将差分信号转换为SPI或UART等协议与微控制器通信。在这两个部分,各家都是私有协议,还没有行业通用标准出现。各家对自己的菊花链通信技术的命名也不同,比如Linear的是Iso-SPI,NXP的是TPL(Twist Pair ), Maxim的是differential daisy-chain UART。

图片

四、菊花链数据结构

Daisy Chain的数据帧结构类似232等串行通讯,有专门的起始位和截止位。目前Daisy Chain的数据帧定义未有一个统一标准,不同芯片厂商有不同的定义,ADI数据帧结构为16bit,NXP为52bit,TI为13bit。

一帧数据由11个 DaisyChain的bit和2个Daisy Chain的half bit组成(1个Daisy Chain bit为两个峰峰值为±5V脉冲),Preamble(0.5bit)+SYNC(2bit)+DATA(8bit)+ERRO(1bit)+Postamble(0.5bit)。Daisy Chain的数据具体组成如下:

图片

图片

图:BQ79616数据结构

其中Preamble为半个DaisyChain bit,1个5V正脉冲,用于触发Daisy Chain接收器的电平采样;SYNC为2个Daisy Chain bit,一般为00,用于Daisy Chain 接收器预采样:调节接收时钟和提前识别信号噪声,提高对后面8bit的数据帧抗干扰能力;DATA为数据帧的主要内容,由8bit组成;Byte ERRO为DaisyChain总线结构中的下位设备检测到接收错误时,提示上位设备重发数据的标志位,当上位机收到Byte ERRO的数据时,会重发上一帧数据,并Byte ERRO也会置1,提示下位机此帧为重发数据;Postamble为半个Daisy Chain bit,1个-5V脉冲,用于提示DaisyChain接收器数据发送结束。

图片

图:NXP数据帧格式

五、菊花链方案介绍

1、TI方案

分布式电池包系统,有一个子系统包含主机 MCU,它通过控制器 局域网总线与车辆的控制单元连接。然后 MCU 处理器驱 动连接到电池模块的电池监测器件,用来检测电压和温 度。所有高压电池包均需要快速与主机 MCU 通信,为了支持这一需求,可以添加任意数量的电池监测器件,具体 取决于电池监测器支持的通道数量。系统需要监控和通信 的其他常见场景还有,通过高压继电器控制来确保在不使 用车辆时安全地断开高压,以及通过电流检测来计算充电 状态和了解电池包的运行状况。

图片

bq7961X 系列器件上的菊花链通信接口是德州仪器 (TI) 开发的专有协议。该接口是使用差分信号设计的,以更大限度地降低电磁敏感性 (EMS) 和增强大电流注入 (BCI) 抗扰度。差分通信分别在 COM*P 和 COM*N 引脚上传输补码数据。该接口是双向和半双工的,因此在 COMH(高侧)和 COML(低侧)接口上有一个发送器 (TX) 和一个接收器 (RX)。

菊花链通信

图片

图片

图片

图片

2、ADI方案

图片

图片

图片

3、NXP方案

图片

MC33771采用可靠的高速菊花链通讯,可以替代传统的CAN总线通讯,对于96块单体电池串联的应用,菊花链通讯仅需2.6毫秒就能实现全部数据的采集与通信。飞思卡尔的电池监控芯片有电压和电流同步测量功能,可以在65微秒内实现内阻的测量。MC33664和MC33771的功能验证和诊断不仅可支持ISO 26262 SafeAssure功能安 全,还可以对所有电压测量、电流测量、电池终端断线或漏电流以及ADC精度执行功能验证。

<think>好的,我现在需要回答用户关于SPI菊花链的实现原理和使用方法的问题。首先,我应该回忆一下SPI的基本知识,然后结合用户提供的引用资料来构建答案。 根据引用[2],菊花链的主要优势是节省引脚,特别是片选引脚,这在连接多个从设备时非常有用。用户提到菊花链通过串联设备,仅使用一个片选信号,这应该是实现的关键点。需要解释菊花链如何连接多个设备,数据是如何在设备间传递的。 接下来,SPI的工作模式涉及到CPHA和CPOL,引用[4]提到了CPHA的不同设置会影响数据采样时机,这可能与菊花链的工作时序有关。需要确认菊花链是否对CPHA有特定要求,比如是否需要使用CPHA=1,以便数据在第二个时钟边沿采样,确保数据正确传递到下一个设备。 另外,引用[3]提到时钟线的长度可能影响信号采集,但由于SPI时钟速率通常不高,传播延迟可以忽略。这一点在菊花链中可能需要考虑,因为多个设备串联可能导致时钟信号传递延迟,不过根据引用[3],这可能不是主要问题,但需要提及可能的时序考虑。 然后,实现步骤需要详细说明硬件连接方式,例如MISO和MOSI的连接顺序,时钟和片选的共享方式。同时,软件配置部分需要说明如何设置SPI模式,以及数据移位的过程。例如,主设备发送的数据依次经过每个从设备,每个设备在接收到数据后将之前的数据传递下去。 优缺点部分可以引用[2]中的内容,指出菊花链节省引脚和简化线路的优点,但灵活性和容错性较差的缺点。同时,应用场景部分需要结合引用[1]中的EMC测试方法,可能菊花链在需要减少引脚占用且对实时性要求不高的场景中使用,比如某些传感器网络或芯片配置。 最后,生成相关问题需要考虑用户可能进一步的问题,比如菊花链的时序问题、与普通SPI的区别、应用案例以及如何调试。这些可以帮助用户深入理解该主题。 需要确保回答结构清晰,分点说明原理、实现步骤、优缺点和应用场景,并使用正确的LaTeX格式,行内公式用$...$,独立公式用$$...$$。同时,引用标记要正确添加,例如在提到抗干扰测试时引用[^1],在优缺点部分引用[^2],时序部分引用[^3]和[^4]。</think>### SPI菊花链实现原理与使用方法 #### 一、SPI菊花链基本概念 SPI(Serial Peripheral Interface)菊花链是一种通过**串联多个从设备**共享同一组SPI总线(SCLK、MOSI、MISO)和片选信号(SS/CS)的拓扑结构。其核心原理是**数据逐级移位传递**,每个从设备将主设备发送的数据在内部缓存后,再将前一级数据传递给下一设备[^2]。 #### 二、实现原理 1. **硬件连接方式** - **MOSI**(主出从入):主设备输出数据到第一个从设备的输入,后续从设备的输出连接到下一级从设备的输入。 - **MISO**(从出主入):最后一个从设备的输出返回给主设备。 - **SCLK**和**SS**:所有从设备共享时钟和片选信号。 连接示意图: ``` 主设备 → 从设备1 → 从设备2 → ... → 从设备N (MOSI) (MISO) (MISO) (MISO) ``` 2. **数据传递机制** - 主设备发送一个数据帧(如16位),数据依次经过每个从设备。 - 每个从设备在时钟驱动下,将自身数据存入移位寄存器,同时将上一级数据传递给下一级。 - 最终主设备通过MISO接收最后一个从设备输出的数据。 3. **时序要求** - 需配置**CPHA=1**(数据在第二个时钟边沿采样),确保数据在传递过程中保持同步[^4]。 - 时钟速率需适配链路中设备的最大延迟,通常较低速(如1 MHz以下)以规避信号传播延时影响[^3]。 #### 三、实现步骤 1. **硬件配置** - 按顺序串联从设备的MOSI和MISO引脚。 - 共享SCLK和SS信号。 2. **软件配置** - 设置SPI模式为**CPOL=0/1, CPHA=1**。 - 主设备发送长度为$N \times M$位的数据($N$为从设备数量,$M$为单设备数据长度)。 3. **数据传输示例** 假设3个从设备,每个需8位数据: ```c // 主设备发送24位数据:0xAABBCC uint8_t tx_data[3] = {0xAA, 0xBB, 0xCC}; HAL_SPI_Transmit(&hspi, tx_data, 3, TIMEOUT); // 从设备1获得0xAA,设备2获得0xBB,设备3获得0xCC ``` #### 四、优缺点分析[^2] | **优点** | **缺点** | |-------------------------|--------------------------| | 节省引脚(仅需1个SS) | 灵活性差(需按顺序访问) | | 布线简洁(减少信号线) | 容错性低(链路故障影响全局)| | 适合多设备扩展 | 实时性受限(数据逐级传递) | #### 五、应用场景 1. 多级传感器数据采集(如温度传感器链)。 2. LED驱动芯片级联(如WS2812B灯带)。 3. 引脚资源受限的嵌入式系统[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值