专利名称:基于ccp协议的bms标定模块的制作方法
技术领域:
本发明涉及汽车电子应用技术,具体是混合动力电动汽车(HEV)中电池管理系统 的标定模块的设计。
背景技术:
电池管理系统BMS,是电动汽车中的关键控制部件,负责对电池组的工作参数,如 电压、电流和温度等进行实时监测,并对电池组的荷电状态(SOC)进行实时估计,同时根据 得到的状态信息进行相关的故障诊断,确保电池组的安全使用。BMS对电池组的管理性能 是HEV应用和发展的关键技术之一。传统的电池管理系统的软件设计通常按照固定模式实 现,和电池相关的控制参数作为确定值参与系统的运行,而实际应用过程中因为不同电池 组之间的性能差异,以及不同时段内电池组性能参数的变化,使得软件中确定的控制参数 值在某些情况下"失真",从而导致控制效果降低。因此对参数的在线修正和监测对电池管 理系统性能的提高将起到重要作用。随着电动车的运行环境的变化,相应的BMS的各种控 制参数要做出调整,以便匹配整车的性能要求,同时,对于不同的电池组,根据其性能参数 的不同,要对BMS进行控制参数的调整和标定。作为车载控制器,从研发原型到形成产品都 需经过匹配标定的过程,以确定其合适的运行参数和控制参数。BMS作为混合动力电动车上 的一种电子控制单元,具备标定功能将可提高BMS的可移植性和通用性,工程应用价值大。 目前,对BMS标定功能的实现大都以传统的RS-232串口通讯为基础,通信速度慢、传输距离 短,可标定参数少,实时性不高,在整车应用环境下,其效果不能令人满意。
发明内容
本发明的所要解决的技术问题,以CAN通讯为基础,采用CCP协议标定协议对BMS 实施标定,解决通信速度慢,传输距离短,课表顶参数少的缺陷。 本发明解决上述技术问题所采用的技术方案是,数字信号处理器DSP作为上层控 制器,其I/O接口的输出数据经缓冲后,对独立CAN总线控制器进行控制命令的写入、状态 及数据的读取,其中的CCP(CAN标定协议)命令处理模块中命令处理函数对上层控制器发 送的命令根据CCP协议中对命令字节数组的结构定义进行解析,DAQ处理模块周期性地通 过CAN总线向主设备发送监控数据,其数据采集发送对象函数指示监控数据发送周期,同 时,DSP通过I/O接口输出控制字来控制复杂逻辑控制器件CPLD,使其输出片选以及读写 控制信号至独立CAN总线控制器,DSP控制独立CAN总线控制器发送和接收标定信息,通过 CAN通讯电路实现对BMS的标定,CAN通讯电路包括光耦隔离芯片、CAN发送、接收模块和抗 共模干扰的共模绕线磁环。光耦隔离芯片对标定信息进行光电隔离,经CAN发送、接收模块 转换为CAN协议后,接入汽车电池管理系统CAN标定网络,实现对BMS的参数标定。由共模 磁环抑制共模干扰,抵抗整车环境中的共模干扰,抑制CAN通讯过程中错误帧的产生,保证 通讯可靠性。 CPLD根据独立CAN总线控制器在Intel (英特尔)模式下的读写控制逻辑图,对DSP的输入信号进行译码输出独立CAN控制器的控制信号。在BMS标定模块DSP中还对需 监测的参数建立组织形成上传对象描述表ODT,在进行数据上传时,BMS标定模块的CCP命 令处理模块调用函数对数据上传命令解析并处理,向上层控制器返回ODT的数目。
本发明BMS标定模块对汽车电池管理系统进行实时标定,并通过CAN通讯监测运 行参数。以确定其合适的运行参数和控制参数。提高BMS的可移植性和通用性。在BMS 实现其电池管理功能的基础上,本发明可在线对其运行参数进行调整、优化,提升BMS的性 能,縮短了系统开发周期。
图1本发明BMS标定模块电原理结构框图
图2本发明BMS标定模块电路图实例
图3BMS标定模块模块结构框图
具体实施例方式
如图1所示为本发明所述的BMS标定模块原理框图,该BMS标定模块属于下位机, 即BMS—侧。标定模块的核心控制器数字信号处理器DSP作为上层控制器,其地址/数据总 线通过输入/输出I/O接口经缓冲器缓冲后,对独立CAN总线控制器进行控制命令的写入 和状态及数据的读取,同时,DSP通过I/O接口输出控制字来控制复杂逻辑控制器件CPLD, 使其输出片选以及读写控制信号至独立CAN总线控制器,DSP控制独立CAN总线控制器发 送和接收标定信息,通过CAN通讯电路实现对BMS的标定,CAN通讯电路可采用包括光耦隔 离芯片、CAN通讯接口芯片(包括CAN发送、接收模块)和抗共模干扰的共模绕线磁环的电 路。标定信息经过光耦隔离芯片隔离,CAN通讯接口芯片转换为CAN协议后,由共模磁环抑 制共模干扰,抵抗整车环境中的共模干扰,抑制CAN通讯过程中错误帧的产生,保证通讯可 靠性。光耦隔离芯片进行光电隔离可减少外部通讯对核心控制器的干扰,CAN通讯接口芯 片遵循CAN通信协议,使BMS标定模块接入汽车CAN标定网络。 以下以一具体实例对本发明电路原理进行描述,如图2所示为BMS标定模块的电 路结构图,数字信号处理器DSP(l)可采用16位芯片TMS320LF2407A作为系统的核心控制 器,可接收和发送标定参数的信息,并起到控制外部通讯接口的作用。数字信号处理器的 输出端通过总线连接缓冲器74HC245(2)对输出信号进行缓冲,送入独立CAN总线控制器 SJA1000 (3)。数字信号处理器TMS320LF2407A的读写控制信号和地址选通信号经译码器 EPM7128SLC84-15(7)译码后输出对SJA1000的读写控制信号。SJA1000的CAN发送端和接 收端分别经光耦隔离芯片6N 137(4、8)隔离后送入CAN通讯接口芯片PCA82C250(5)输出 CAN总线信号,CAN总线信号经抗共模干扰器件共模磁环(6)排除共模干扰后接入标定CAN 通讯总线。 DSP和独立CAN控制器SJA1000之间信息交换的具体实现过程如下
CPLD根据独立CAN总线控制器SJA1000在Intel模式下的读写控制逻辑图,对DSP 的输入信号进行译码后得到独立CAN总线控制器的片选信号以及读写控制信号。DSP输入 CPLD的信号包括高3位地址信号(A15、A14、A13) 、1/0空间选通信号]^以及读写控制信号 。CPLD译码后输出信号为独立CAN控制器片选信号SJA一^、地址锁存信号SJA ALE、写控制信号SJA—W^以及读控制信号SJA一而;当DSP对SJAIOOO进行访问时,首先写入要访 问的地址,然后对该地址下的数据进行写入或读取操作,具体译码逻辑如下
在写入访问地址时,I/O空间选通信号5为低有效电平,DSP对地址信号置位控制 访问CAN控制器地址端口,如置地址信号A15 = 1,A14 = 0,A13 = O,访问SJAIOOO地址端 口 ,读写控制信号WZ保持高有效,控制写操作,经CPLD译码输出地址锁存信号SJA_ALE为 高有效电平,此时DSP会将地址信号写入SJAIOOO。 写入访问地址后,要将数据写入对应地址时,1/0空间选通信号]^为低有效电平, 可置地址信号A15 = 1, A14 = 0, A13 = l,访问SJAIOOO数据端口,读写控制信号『3保持
高有效,控制写操作,经CPLD译码输出SJAIOOO片选信号SJA一^为低有效电平,地址锁存 信号SJA_ALE为高无效电平,写控制信号SJAj^为低有效电平,读控制信号SJA一丽为高 无效电平,此时DSP通过数据总线对SJAIOOO写入数据。 如果要对相应地址进行读取操作,则DSP读写控制信号『5保持低有效,表示控制 读操作,其他输入CPLD的信号同写数据操作,CPLD译码后输出写控制信号SJA—W^为高无
效电平,读控制信号SJA—丽为低有效电平,其他信号译码同写数据操作。
图3所示为BMS标定模块的模块结构框图。 下面具体描述上述BMS标定模块对标定任务的处理,对标定任务可定义为单独的 嵌入式任务,独立于其他任务。标定任务包括下层CAN通讯实现部分和上层标定协议实现 部分。下层CAN通讯实现部分包括独立CAN总线控制器和CAN发送接收模块,首先,对独立 CAN总线控制器SJAIOOO进行初始化,控制数据和命令的发送和接收。对SJAIOOO进行初始 化时,对SJAIOOO模式寄存器进行置位,使其复位,如向CAN控制器SJAIOOO模式寄存器写 OxOl,让其进入复位模式,然后分别对SJAIOOO的时钟分频寄存器、错误报警限额寄存器、 中断使能寄存器、接收代码和接收屏蔽寄存器、总线时序寄存器和输出控制寄存器设置,最 后向模式寄存器写入控制命令,进入正常工作模式。 CAN发送模块负责发送报文,发送时需将待发送的数据按CAN协议格式组合成一 帧报文,送入SJAIOOO发送缓冲区中,然后启动发送命令将缓冲区中的报文发送出去。CAN 接收模块主要负责接收上位机的命令代码,以查询方式接收,查询周期为lOms,在定时器周 期中断中被调用。 作为底层通讯模块,CAN发送模块和CAN接收模块被标定任务,即上层标定协议调 用。标定任务包括对CCP命令处理模块和周期性上传数据处理模块进行处理,以任务的方 式,嵌入BMS系统软件,通过DSP进行编程实现。 CCP命令处理作为BMS系统软件的一个任务,以DSP为载体建立CCP命令处理 模块,通过调用CAN通讯接收模块从总线上获取上位机发给BMS的命令,并根据命令做相 应的动作,并回送命令应答,完成对话。CCP命令处理模块利用CCP驱动程序的核心函数 ccpCommand (*cmd)函数来实现。该函数主要负责解析并执行CRO (命令接收对象)命令,该 CRO命令由上位机标定软件发出,用于向BMS传递指令代码和内部功能码。上层控制器接收 到上述CRO命令,CCP命令处理模块中命令处理函数对上层控制器发送的命令根据CCP协议 中对命令字节数组的结构定义进行解析。通过独立CAN总线控制器接收命令字节数组中的命令实现对BMS的标定,,ccpCommand(化md)函数形参为指向CAN数据帧接收缓冲区首字节 地址的指针,该函数通过分析该CAN数据帧的第一个字节即命令代码字节,从而判断该CR0 命令的功能,通过选择将任务分配到具体的模块,在动作完成后,任务将调用底层CAN发送 任务来返回CRM-DTO(命令返回信息发送对象),作为对命令的应答。 DAQ(数据采集)处理模块根据主设备要求,周期性地通过CAN总线向主设备发送 监控数据,同样作为BMS系统软件的一个任务,以DSP为载体。通过位于该模块内的数据采 集单元读取BMS内部RAM区控制参数的当前值,并用DAQ-DTO(数据采集发送对象)帧发送 给主设备。其数据采集发送对象函数为ccpDaq(byte EventChannel),其形参为字节型,指 示不同的数据上传周期,在BMS中,此函数在定时器下溢中断服务程序里被周期性地调用, 调用周期为lOms,即数据上传周期为10ms。 在实现对参数的标定功能时,上位机首先发送建立连接命令,即connect命令,底 层CAN接收模块通过查询接收到此命令信息,然后将命令字节传送至CCP命令处理模块中 命令处理函数ccpCommand(*cmd),该处理函数会根据CCP协议中对连接命令字节数组的结 构定义,对该命令进行解析,协议中定义命令首字节为连接命令代码0x01 ,第二字节为命令 计数值,第三、四字节为BMS的地址标识符。当CCP命令处理模块判断出命令代码所指示的 含义为连接命令,转入连接命令的执行,将地址标识符与预设的值进行核对,若符合,则按 照返回命令CRM-DTO的结构要求返回应答信息,即首字节为返回信息标志字节OxFF,第二 字节为命令返回代码0x00,表示可进行连接,第三字节为命令字节组中的命令计数值。命令 处理函数ccpCommand(化md)对上位机其他命令的解析方式类似于以上解析过程,根据命 令代码的不同,BMS会返回不同的命令返回代码,并执行相应的动作。 建立连接后,上位机发送SET—S—STATUS(设定区段状态),命令处理函数 ccpCommand(化md)按照要求设定标定状态为"关"状态,返回相应命令字节后,上位机会通 过SET—MTA(设定目标地址)设定需要标定的变量地址,BMS对该命令解析并找到设定地 址,返回对应CRM-DTO帧,上位机再使用DOWNLOAD (下载)命令发送标定值,命令处理函数 ccpCommand(化md)接收并解析此命令,对目标值进行修改和存储,最后上位机会再次发送 SET_S_STATUS(设定区段状态)命令,BMS按照要求设定标定状态位为"忙"状态,以指示标 定状态。按照上述模式,BMS中,可实现在线标定的参数主要包括如下几大类
1.电池SOC估算模型的参数;
2.电池包故障诊断的阈值参数和算法参数;
3.针对不同电池组的预设参数;
4.电池采样通道的比例参数;
5.电池采样通道的滤波参数等; 在进行数据上传时,上位机首先同BMS建立连接,连接过程同上述标定功能中的 连接过程,然后发送GET_DAQ_SIZE (获取上传数据大小)命令给BMS标定模块,BMS调用命 令处理函数ccpCommand(*cmd)对数据上传命令解析并处理,向上位机返回ODT(上传对象 描述表)的数目。在BMS标定模块的DSP中还对需监测的参数建立组织形成上传对象描述 表0DT,每个ODT表分7个元素,可描述7个BMS内部参数的相对地址及数据长度等属性,以 数组的形式存储于DSP中。在进行数据上传时,BMS标定模块的CCP命令处理模块调用函 数对数据上传命令解析并处理,通过独立CAN总线控制器,向上层控制器返回ODT的数目。命令应答完成后,上位机会发送SET_DAQ_PTR(设定上传数据组的指针),其内容包括对ODT 编号及ODT中元素的个数,ccpCommand(化md)函数读出这两个参数值并记录后,DSP向上位 机返回应答。然后上位机发送WRITE—DAQ(写上传数据属性)命令,以规定所上传数据的类 型和地址,BMS标定模块使用ccpCommand(化md)函数解析并记录该信息,同时应答该命令。
在每个ODT表都完成上述过程后,上位机会再次发送SFT_S_STATUS (设定区段状 态)命令,BMS标定模块DSP调用ccpCommand(化md)函数,按照要求设定数据上传状态位 为"忙"状态,以指示数据上传状态。最后上位机会发送START—STOP(启-停)命令来开始 前述动作规定的数据的上传,当为启动模式时,ccpDaq(byte EventChannel)函数被调用, 该函数根据ODT表对监测参数的描述,进行周期性的数据上传。可用于监测的参数包括电 池组性能参数如SOC、模块电压、总电压、总电流,温度等;继电器状态;电池系统故障等级 及故障指示标志位。
权利要求
1. 一种电池管理系统标定模块,其特征在于,数字信号处理器DSP作为上层控制器, DSP中的CCP命令处理模块对上层控制器发送的命令根据CCP协议对命令字节数组的结构 定义进行解析,DAQ处理模块周期性地通过CAN总线向主设备发送监控数据,其数据采集发 送对象函数指示监控数据发送周期,DSP的输出信号经缓冲后,对独立CAN总线控制器进行 控制命令的写入、状态及数据的读取,并输出控制字控制复杂逻辑控制器件CPLD,使其输出 片选以及读写控制信号控制独立CAN总线控制器发送和接收标定信息,通过CAN通讯电路 实现对电池管理系统BMS的标定。
2. 根据权利要求1所述的电池管理系统标定模块,其特征在于,CAN通讯电路包括光耦 隔离芯片、CAN发送、接收模块和共模绕线磁环,光耦隔离芯片对标定信息进行光电隔离,经 CAN发送、接收模块转换为CAN协议后,由共模磁环抑制整车共模干扰,接入汽车电池管理 系统的CAN标定网络。
3. 根据权利要求1所述的电池管理系统标定模块,其特征在于,数字信号处理器DSP采 用16位芯片TMS320LF2407A,独立CAN总线控制器采用芯片SJAIOOO。
4. 根据权利要求1所述的电池管理系统标定模块,其特征在于,CPLD根据独立CAN总 线控制器在Intel模式下的读写控制逻辑图,对DSP的输入信号进行译码输出片选以及读 写控制信号控制独立CAN控制器。
5. 根据权利要求1所述的电池管理系统标定模块,其特征在于,在DSP中还建立组织形 成上传对象描述表ODT,该表以数组的形式存储于DSP中,描述BMS内部参数的相对地址及 数据长度属性。
全文摘要
本发明请求保护电动汽车中电池管理系统(BMS)的标定模块,涉及汽车电子技术。本标定模块数字信号处理器通过总线缓冲器与CAN总线控制器进行数据交换,并通过复杂逻辑控制器件对CAN总线控制器进行操作,从而保证数字信号处理器对CAN通讯信息的实时掌握。CAN总线控制器收发端与高速光耦器件相连,经CAN通讯电路转换后,经过抗干扰器件接入CAN标定总线。本发明实现了电池管理系统控制参数的在线调整,可实时监测电池组运行参数,优化管理系统的控制性能,提高BMS的可移植性和通用性,缩短了系统开发周期。
文档编号G01R31/36GK101752617SQ20091010472
公开日2010年6月23日 申请日期2009年8月28日 优先权日2009年8月28日
发明者周安健, 朴昌浩, 杜晓伟, 杨辉前, 苏岭, 郑敏信, 齐铂金 申请人:重庆长安汽车股份有限公司;北京航空航天大学