储能系统--BMS系统菊花链通信

2024-04-28 20:12

本文主要是介绍储能系统--BMS系统菊花链通信,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、菊花链介绍

1、菊花链通信介绍

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

图片

2、菊花链的拓扑结构

BMS的主板上的微控制器通过SPI或UART串行通信接口,通过通信转换芯片将信号转换为差分信号。主板以差分信号的形式与第一个AFE板子进行通信,差分信号从第一个AFE板子出来后,依次进入后序的AFE板子,这样主板最终得以与所有AFE板子通信。各个板子之间需要隔离通信,使用的隔离器件通常是变压器和高压电容。通常的菊花链结构差分信号连接到最后一个AFE板子就停止了。

图片

有些厂家还支持环式的菊花链,即差分信号进入最后一个AFE板子后,仍然会出来,并通过另一路通信转换芯片回到主板上的微控制器。这种模式的菊花链可以整个通信链路上实现两个方向的通信,在某个AFE板子的通信出现故障时,给用户提供多一个方式去连接后面的AFE板子。

图片

有些厂家为了确保采集的安全性,会做采样冗余设计。即每一个采集板上AFE1与AFE2是采集相同的电芯,相同的AFE之间采用变压器通信隔离;AFE1与AFE2共用同一个外部的物理通信总线;整个通信总线是一个环路,可以双向通信,做了环路方向上的冗余;AFE1与AFE2的通信协议不同,这样又做了一个协议上的冗余;

图片

3、高压储能系统

国内BMS产品目前还是以分布式架构为主,即BMS分为主板和从板,主从板上都有微处控制器。从板采集单体电池电压和温度,通过CAN总线传给主板。主板完整BMS主要的保护和电池管理功能。现在的一个趋势或者是大家在思考的方向是,通过菊花链技术采取BMS集中式架构设计。这种架构只在BMS主板上保留微控制器,原从板简化为单纯围绕AFE芯片功能的小板,AFE采集的信息通过差分隔离信号的方式直接传送给主板。

图片

图片

二、菊花链通信

1、菊花链电路

菊花链电路分为电流型跟电压型,目前LT使用的是电流型,美信是电压型的。

(1)电流型

ADBMS1818为电流型,标准的SPI信号被编码为差分脉冲,发送脉冲的强度和接收器的门限电平由两个外部电阻器设定,用户可通过调整电阻器的阻值在功率耗散和抗噪声性能之间进行权衡。

图片

(2)电压型

MAX17841是电压型的,MAX17841结合了SPI端口和通用异步接收发射器(UART),UART可配置为自动执行曼彻斯特编码解码,消息帧奇偶校验、唤醒和保持连接信令。//这个关于计算的没有很详细的描述,后面有机会见到的话做补充

图片

2、通信隔离方式

另外对差分信号隔离所支持的器件也有区别,比如变压器和电容。

图片

图: 变压器隔离

图片

图: 电容隔离

图片

图: 电容器和扼流圈隔离

BF8615A芯片级联分为两种,变压器隔离连接和电容隔离连接,R1~R4 电阻的目的是为了匹配通信能力和看干扰能力。R1~R4 选择不超过R5~R8 的20%,超过20%会造成通信能力下降甚至不通信;但是R1~R4接近于0R 的时候,可能会因为干扰对器件造成损伤。因此权衡利弊这里取到10R,芯片电容隔离如图所示。

图片

3、菊花链通信

菊花链也采取的是差分信号通信,但转换芯片做的更多的是将SPI或者UART信号转换成脉冲相位调制信号(PPM)。其将SPI或者UART信号的1和0转换成相位相反的正弦波信号,或者相反的转换。从下图中可以看出,这是一种本质为模拟信号的传输方式。其对信号的判定依赖于信号相位的明显区分。当信号线上存在较强干扰时,正弦波的形变可能产生严重畸变,波形的严重变形,有可能导致芯片判断错误。

图片

Daisy Chain信号为AC信号,以TI的Daisy Chain信号为例COMMP与COMML的电平变化范围为[-5.5V 5.5V]。为了提高抗扰度,Daisy Chain采用编码方式进行信号逻辑判断,Daisy Chain接收器接收到信号:一对峰峰值为±5V COMMP-COMML的正负脉冲组合才做一次逻辑判断。具体如下:

图片

4、菊花链数据格式

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数据帧格式

5、菊花链数据传输

在菊花链模式下,所有从机的片选信号连接在一起,数据从一个从机传播到下一个从机。在此配置中,所有从机同时接收同一SPI时钟。来自主机的数据直接送到第一个从机,该从机将数据提供给下一个从机,依此类推。

使用该方法时,由于数据是从一个从机传播到下一个从机,所以传输数据所需的时钟周期数与菊花链中的从机位置成比例。例如在图7所示的8位系统中,为使第3个从机能够获得数据,需要24个时钟脉冲,而常规SPI模式下只需8个时钟脉冲。

图片

三、菊花链硬件设计

1、硬件设计

ADBMS1818为电流型,IsoSPI通信链路上的功耗还有抗扰度由设置的IB电流决定,该电流控制isoSPI信号电流,IB的范围是100uA-1mA,内部电路按比例放大该偏执电流,可以产生等于20xIB的isoSPI信号电流,低IB可以降低READY、ACTIVE状态下的isoSPI功耗,而高的IB可以提高匹配端接电阻RM 两端的差模信号电压VA的幅度。IB电流由连接在2 V IBIAS引脚和GND之间的RB1和RB2电阻之和设定。接收器输入阈值由ICMP电压设置,该电压由RB1和RB2电阻形成的电阻分压器设定。接收器阈值为ICMP引脚电压的一半。

设置IB(100μA至1 mA)和接收器比较器阈值电压VICMP/2时,必须遵循以下准则:

RM = 传输线特性阻抗Z0

信号幅度VA = (20 × IB) × (RM/2)

接收器比较器阈值(VTCMP) = K × VA

ICMP引脚电压(VCIMP) = 2 × VTCMP

RB2 = VICMP/IB

RB1 = (2/IB) – (RB2) 根据应用选择IB 和K(信号幅度VA与接收器比较器阈值之比):

对于低功耗链路:IB = 0.5 mA,K = 0.5。

对于全功率链路:IB = 1 mA,K = 0.5。

对于长链路(>50m):IB = 1 mA,K = 0.25。

系统硬件设计

对于系统噪声很小的应用,将IB设置为0.5 mA可以很好地兼顾功耗和抗扰度。使用此IB设置以及1:1变压器和RM = 100Ω时,须将RB1设置为3.01 kΩ, RB2设置为1 kΩ。使用典型的CAT5双绞线时,这些设置允许通信距离长达50m。对于环境非常嘈杂或电缆长度超过50m的应用,建议将IB提高到1 mA。较高驱动电流可以补偿电缆中插入损耗的增加,并提供高抗扰度。当使用长度超过50 m的电缆以及匝数比为1:1的变压器且RM = 100Ω时,RB1为1.5 kΩ,RB2为499Ω。

2、EMC性能 

在辐射发射方面,CAN总线因为是数字信号,其信号波形为方波,在其上升和下降沿存在很多高频的谐波分量,这些信号往往是对外辐射最严重的辐射源。在设计中,通常在CAN接口处增加共模扼流圈,降低共模信号的能量,而对通信用的差模信号无影响。

图片

菊花链采用的是正弦信号传输,其辐射发射天然具有优势,理论上在辐射发射方面比CAN总线性能会更好。对于通信总线更看重其抗干扰能力。从前面的分析看出,菊花链在抗干扰方面可能存在挑战。EMC抗扰的测试,对于菊花链通信链路可以采用BCI(大电流注入)的测试方法。对于相关芯片,如AFE可以额外增加DPI(直接射频功率注入)的测试方法,在芯片引脚直接注入射频信号,测试其抗扰度。

图片

四、菊花链方案介绍

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精度执行功能验证。

图片

这篇关于储能系统--BMS系统菊花链通信的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944150

相关文章

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.