您好!欢迎来到麦格米特!
/
(凯发k8的版权声明:此文章凯发k8的版权属麦格米特所有,仅供相关行业人士内部交流、学习使用,转载请联系[email protected]获取授权,并注明"稿件来源:深圳麦格米特电气股份有限公司凯发下载官网",违者将依法追究责任。)
一、 can总线简介
can是控制器局域网络(controller area network, can)的简称,是由德国bosch公司开发,并最终成为国际标准(iso 11898),是国际上应用最广泛的现场总线之一。can总线属于串行通信协议,支持高安全等级的分布式实时控制场合,主要应用于汽车、航天、电子等领域,具有高可靠性、实时性及灵活度高的特性。
二、 充电系统网络链路
充电系统的监控网络链路有:监控中心-监控终端-充电机(或电池管理系统(bms)、电动汽车等),如图1所示。监控终端作为媒介,实现了监控中心与充电机及电动汽车的通信链路的建立。监控终端通过can网络与充电机、bms及电动汽车等相互通信,采集相关节点的数据信息并存储,并将相关信息反馈给充电机。充电机根据相关信息从而实现电动汽车电池的智能充电。终端与监控中心之间是通过gprs连接通信,终端将充电机、电池、电动汽车等相关数据传回监控中心,监控中心实现对充电机的远程控制和实时监控功能,记录充电机的运行及故障情况。车主可以由监控中心查询了解当前空闲的充电机位置,实现资源充分利用。
图1 充电系统监控网络链路图
直流电源模块作为充电机的“心脏”,其通过接收bms下发的通讯指令实现电路控制、转换,为汽车电池提供稳定的能量输出。充电机设备由多台直流电源模块并联时,多台电源模块通信均挂靠在can总线网络上,其布线方式主要由手拉手型、t型分支连接和等长星型连接。
1、手拉手总线网络
在充电桩体内部充电电源通信线缆由于分支存在一定的长度,以及分支长度的积累会造成总线上阻抗不连续,继而产生信号反射的现象,所以最常用的是手拉手连接方式。如图 2所示,为了保证通信的可靠性,起始端和末端的节点都需要加120ω的终端电阻,不可只接一端或两端均不接。
图2 多电源模块can总线手拉手型接线示意图
2、t型总线网络
在某些工业现场和轨道机车,由于整体线缆非常多,为方便维护需要使用接线排(也称之为t型总线网络),所以这种can总线上的多个电源模块通讯节点分支不可避免,如图3所示,但这个分支长度在最高波特率1m时最好小于30cm。
图3 多电源模块can总线t型接线示意图
3、星型总线网络
图 4为多电源模块can总线等长星型接法,通过适当调整每个电源模块节点的终端电阻即可实现组网,其中r=n×60ω(n为分支数量,r为每个分支的终端电阻),注意每个节点必须加终端电阻,不能在星型网络的中心加任何电阻。而在现实应用中很多场合无法做到等长星型连接,这时需要使用can集线器来进行分支,如图5所示,但这无疑又增加了设备成本。
图4多电源模块can总线等长星型接法
图5 使用集线器进行星型can分支接线示意图
三、 can信号传输及信号状态
发送过程: can控制器将cpu传来的信号转换为逻辑电平。can发射器接收逻辑电平之后,再将其转换为差分电平输出到can总线上。
接收过程: can接收器将can_h 和 can_l 线上传来的差分电平转换为逻辑电平输出到can控制器,can控制器再把该逻辑电平转化为相应的信号发送到cpu上。
图6 can信号传输路径示意图
can总线采用不归零码位填充技术,即can总线上的信号有两种不同的信号状态,分别是显性的(逻辑0)和隐形(逻辑1),信号每一次传输完后不需要返回到逻辑0(显性)的电平。之所以把显性电平定义为逻辑0,是因为can收发器芯片在收到显性电平时,芯片会在rx脚输出低电平,即逻辑0,这样就实现了can差分电平与ttl电平的转换。
can信号在静止状态时,这两条导线上有预先设定值,这个值大约为2.5v。在显性状态时,can_h线上的电压值会升高1v,而can_l线上的电压值会降低同样值1v。于是在can驱动数据总线上,can_h线就处于激活状态,其电压不低于3.5v,而can_l线上的电压值最多可降至1.5v。因此在隐性状态时,can_h线与can_l线上的电压差为0v,而在显性状态时,can_h线与can_l线上的电压差不低于2v。
图7 can信号状态
四、 bms与充电模块信息交互
bms根据当前车辆充电管理策略向充电模块推送充电策略,主要包含预充电,恒流充电和恒压充电三个阶段。这三阶段中,若监测电池异常故障或电池能量充满,bms则立即发出停止充电命令。待充电模块处于停止状态后,bms则由停止充电命令改为发送握手命令。充电模块接收到有效指令时,执行相应的充电参数响应,同时回复相应的有效报文。充电过程中,若充电模块在一定时间内未收到来自bms的有效报文时,充电模块由运行状态转为待机状态,直至接收到总线有效报文后恢复充电状态。另如果充电过程中充电模块检测到任何外部故障时(如电网电压异常),充电模块进入停机保护模式,上报故障状态信息,待外部故障消失后再根据bms指令执行充电动作。
五、 can数据帧报文格式
can技术规范(version2.0)包括2.0a和2.0b两个版本。2.0a版本协议为11位标识符(标准帧),2.0b版本在兼容11位id标识符的同时,向上扩展到29位id标识符。图8给出了can2.0a和can2.0b扩展帧数据格式。可以看出,其均由起始域、仲裁域、控制域、数据域和校验域组成。其中,标识符位于仲裁场中,报文接收节点通过标识符进行报文滤波,数据域的长度为 0~8 个字节,这种短帧结构使得canbus实时性很高,特别适合汽车工业和工业控制应用。
图8 can2.0a和can2.0b报文格式
1、起始帧和结束帧
起始帧由单个显性位(低电平)组成,总线空闲时,发送节点发送帧起始,其他接收节点同步于该帧起始位。
结束帧由7个连续的隐形位(高电平)组成。
2、仲裁域
只要总线空闲,总线上的任意一个节点均可发送报文。如果总线上有两个或两个以上的节点均开始发送报文,那么就会由仲裁域的标识符进行逐位仲裁的方式进行处理。
can总线控制器在发送数据的同时监控总线电平,若电平不同,则停止发送数据,若该位位于仲裁段,则退出总线竞争。如果位于其它段,则产生错误事件。
帧id越小,优先级越高。由于标准帧的ide位为显性电平,扩展帧的ide位为隐形电平,对于前11位id相同的标准帧和扩展帧,标准帧优先级比扩展帧高。
3、控制域
控制段共6位,标准帧的控制段由扩展帧标志位ide、保留位r0和数据长度代码dlc组成;扩展帧控制段则由ide、r1、r0和dlc组成。
4、数据域
一个数据域由0-8个字节组成,这种紧凑型结构使得can实时性很高,抗扰能力强。
5、校验域
校验域由crc校验值和ack组成。crc校验值存放于crc段,是由15位crc值和1位crc界定符组成。ack由1位ack槽和ack界定符组成,当一个接收节点接收的帧起始到crc段之间的内容没发生错误时,它将在ack槽发送一个显性电平。
六、 现场通信故障常见问题剖析
终端电阻选取不合适
can总线两端终端电阻阻值推荐使用120欧姆。
多机can线连接方式
多模块并机时can线连接方式推荐“手拉手”方式,且每个电源模块通信双绞线与can总线线缆距离越短越好。
电源模块地址冲突
同一can总线上的多机电源模块地址必须独立。当前主流厂家电源模块地址可通过面板按键、拨码和通信等方式进行设置。
通信线缆接触松脱
电源模块通信线缆与can总线接插件接触牢靠稳定。
报文识别错误
电源模块与充电桩通信协议不匹配,按照规定的通信协议调整。
通信报文丢失
电源模块若在一定时间内连续未接收到有效报文时,电源模块会进入待机保护模式,待接收到总线有效报文后电源模块重新被激活。