基于CAN总线的质子交换膜燃料电池巡检数据传输方法转让专利

申请号 : CN201410840280.7

文献号 : CN105809764A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 袁学庆王海涛李博

申请人 : 中国科学院沈阳自动化研究所

摘要 :

本发明涉及基于CAN总线的质子交换膜燃料电池巡检数据传输方法,包括以下步骤:将多个巡检仪采集的巡检数据根据用户配置进行过滤,得到所需电池巡检数据;将电池巡检数据压缩后,存储到缓存实现数据同步;根据设定周期发送同步后的数据。本发明通过数据压缩、数据过滤、数据同步、定时转发方式,CAN协议网关可在满足燃料电池系统实时监控的前提下,降低转发数据量,从而避免巡检仪监控数据并发量大时,上位机无法及时响应,导致系统处于失控状态,具有性能稳定,可靠性强的特点。

权利要求 :

1.基于CAN总线的质子交换膜燃料电池巡检数据传输方法,其特征在于包括以下步骤:将多个巡检仪采集的巡检数据根据用户配置进行过滤,得到所需电池巡检数据;

将电池巡检数据压缩后,存储到缓存实现数据同步;

根据设定周期发送同步后的数据。

2.根据权利要求1所述的基于CAN总线的质子交换膜燃料电池巡检数据传输方法,其特征在于所述根据用户配置进行过滤包括以下步骤:接收上位机的用户配置信息,将各巡检仪采集的若干单体电池巡检数据对应的CAN ID与用户配置信息进行匹配;如果某CAN ID与用户配置信息一致,则CAN ID对应的若干单体电池巡检数据为所需电池巡检数据,否则丢弃。

3.根据权利要求1所述的基于CAN总线的质子交换膜燃料电池巡检数据传输方法,其特征在于所述将电池巡检数据压缩具体为:将16位的二进制电池巡检数据除以十,得到8位二进制的电池巡检数据。

4.根据权利要求1所述的基于CAN总线的质子交换膜燃料电池巡检数据传输方法,其特征在于所述存储到缓存实现数据同步包括以下步骤:将压缩后的电池巡检数据根据CAN ID存入缓存的不同地址;当用户配置信息中包含的CAN ID所对应的单体电池巡检数据均存入缓存,即实现数据同步。

说明书 :

基于CAN总线的质子交换膜燃料电池巡检数据传输方法

技术领域

[0001] 本发明涉及一种燃料电池发电系统数据监控的CAN协议网关的传输方法,具体属于质子交换膜燃料电池控制技术领域。

背景技术

[0002] 质子交换膜燃料电池系统是一个多输入多输出的复杂电化学装置。燃料电池一般是由数百片单体电池串联而成,单体电池的电压直接反应电池堆工作状态,反应气体的压力、湿度、电池堆内部温度等工作条件直接影响电池堆的性能和寿命。为保证系统可靠运行,这些物理量需要实时检测并及时上传给上位机,上位机根据电池的实际运行状态提供所需的原料和合适的环境,保证燃料电池可靠高效地运行。
[0003] 当前市场上使用的质子交换膜燃料电池单体电压巡检仪都是以某一固定周期,自行主动发送巡检仪采集的巡检数据。由于质子交换膜燃料电池中单体电池个数多,有时需要多个巡检仪同时工作,各巡检仪通过CAN总线直接与上位机连接通讯会造成监控数据并发量大。如果由于监控数据量大造成上位机可能无法及时获取基于CAN通讯的电池巡检数据或通讯超时,那么实时监控就没有了意义。
[0004] 目前市场上出售的CAN隔离网桥中继器和集线器都是将数据原封不动的转发,没有针对质子交换膜燃料电池系统的特点将巡检仪采集的巡检数据有效整合,降低转发的数据量。如何根据燃料电池系统的特点,找到一种合理有效的实时监控大规模并发数据的方法是本领域技术人员亟待解决的技术问题。

发明内容

[0005] 针对上述技术不足,本发明目的是提供一种性能稳定、实时性高、体积小、用户可配置的质子交换膜燃料电池CAN协议网关的数据传输方法。本发明针对质子交换膜燃料电池系统的特点,在CAN协议网关中对巡检仪采集的巡检数据进行数据压缩、数据过滤、数据同步、定时转发,以克服各巡检仪直接与上位机连接通讯所存在缺陷。
[0006] 本发明解决其技术问题所采用的技术方案是:基于CAN总线的质子交换膜燃料电池巡检数据传输方法,包括以下步骤:
[0007] 将多个巡检仪采集的巡检数据根据用户配置进行过滤,得到所需电池巡检数据;
[0008] 将电池巡检数据压缩后,存储到缓存实现数据同步;
[0009] 根据设定周期发送同步后的数据。
[0010] 所述根据用户配置进行过滤包括以下步骤:
[0011] 接收上位机的用户配置信息,将各巡检仪采集的若干单体电池巡检数据对应的CAN ID与用户配置信息进行匹配;如果某CAN ID与用户配置信息一致,则CAN ID对应的若干单体电池巡检数据为所需电池巡检数据,否则丢弃。
[0012] 所述将电池巡检数据压缩具体为:将16位的二进制电池巡检数据除以十,得到8位二进制的电池巡检数据。
[0013] 所述存储到缓存实现数据同步包括以下步骤:
[0014] 将压缩后的电池巡检数据根据CAN ID存入缓存的不同地址;当用户配置信息中包含的CAN ID所对应的单体电池巡检数据均存入缓存,即实现数据同步
[0015] 本发明具有以下有益效果及优点:
[0016] 1.本发明通过数据压缩、数据过滤、数据同步、定时转发方式,CAN协议网关可在满足燃料电池系统实时监控的前提下,降低转发数据量,从而避免巡检仪监控数据并发量大时,上位机无法及时响应,导致系统处于失控状态,具有性能稳定,可靠性强的特点。
[0017] 2.本发明可根据配置信息通过缓存实现数据同步。

附图说明

[0018] 图1本发明的质子交换膜燃料电池CAN协议网关框架图。
[0019] 图2本发明的电池巡检数据过滤压缩流程图。
[0020] 图3本发明的电池巡检数据同步转发流程图。

具体实施方式

[0021] 下面结合实施例对本发明做进一步的详细说明。
[0022] 本发明的燃料电池CAN协议网关,根据用户需要配置通讯协议参数,可对数据进行数据过滤、数据压缩、数据同步、定时转发等操作。数据过滤是指用户可屏蔽某巡检仪采集的巡检数据上传至上位机;数据压缩是指将巡检仪电压监控数据根据燃料电池系统的特点从16位字长压缩成8位字长;数据同步是指用户可等待所有巡检仪数据收集完毕后再转发上位机,以免巡检仪巡检周期不同造成巡检周期短的监控数据多次上传上位机;定时转发是指在用户指定CAN缓存区数据向上位机发送的周期,CAN协议网关根据此指令定时转发。
[0023] 一种质子交换膜燃料电池CAN协议网关,它包括电源模块、处理器模块、缓冲区模块、通信模块。
[0024] 所述电源模块分别与处器理模块、缓冲区模块、通讯模块连接,为三个模块提供工作电压,保证燃料电池CAN协议网关正常工作。
[0025] 所述处理器模块是控制整个CAN协议网关的核心模块,与通讯模块、缓存区模块连接。其接受用户的可动态配置请求,根据用户的配置信息对通讯模块接收的巡检仪采集的巡检数据进行数据过滤、数据压缩,将处理后的数据发送至缓存区模块进行数据缓存,全部巡检仪数据同步后处理器模块驱动缓存器模块、通信模块定时转发全部数据。处理器模块的处理器采用ARM7内核的微控制器LPC2478。
[0026] 所述缓冲区模块是CAN协议网关的数据存储模块,采用CMOS高速SRAMIDT71V256SA,容量为256K(32K×8Bit),访问时间仅为20ns。各巡检仪采集的巡检数据根据其ID不同被分配到不同地址空间。
[0027] 所述通讯模块,包括两路CAN通讯模块,一路与燃料电池系统各路巡检仪通讯,接收数据采集的信息,一路与上位机通讯,接收上位机对数据进行相应处理的指令,并将处理完成后的数据发送上位机。
[0028] 如附图1所示,本发明提出的燃料电池CAN协议网关由电源模块,处理器模块,缓冲区模块,通信模块组成。
[0029] 电源模块:燃料电池CAN协议网关输入电压18~36V(标称24V),经DC/DC转换后,3.3V电源给处理器LPC2478、缓冲区模块中CMOS高速SRAM IDT71V256SA供电,5V电源给通讯模块中CAN收发器TJA1050供电。
[0030] 处理器模块:控制整个CAN协议网关的核心模块,它接受用户可动态配置的通讯协议,根据得到的配置信息执行数据过滤、数据压缩、数据同步、定时转发。处理器模块的处理器采用ARM7内核的微控制器LPC2478。处理器模块首先通过通讯模块接收到巡检仪采集的巡检数据,数据处理后存放于缓冲区模块,待满足发送条件后,处理器模块再从缓冲区模块将待发送数据取出,通过通讯模块上传给上位机。
[0031] 缓冲区模块是CAN协议网关的数据存储模块,采用CMOS高速SRAM IDT71V256SA,容量为256K(32K×8Bit),访问时间仅为20ns。其用于缓存经处理器模块数据压缩、数据过滤后的待转发电池巡检数据,并根据CAN ID不同被分配到不同地址空间。
[0032] 通信模块:2路CAN通讯,全部采用CAN收发器TJA1050。一路与监控各个单体电池的巡检仪的CAN通信,一路与上位机控制器的CAN通信。每路CAN端口连有ESD保护器件PESD2CAN。
[0033] 数据过滤、数据压缩、数据同步、定时转发的实现:
[0034] 数据过滤功能:用户可根据需要屏蔽某个巡检仪的检测数据。上位机可配置转发数据帧的ID,处理器接收到巡检仪上传数据帧后将据此判断是否满足转发要求,即巡检仪上传的数据帧ID是否存在于配置信息中;若不存在即不满足转发要求,则网关自动丢弃;若存在即满足要求,数据可以转发,将执行其他操作。
[0035] 数据压缩功能:目前大部分巡检仪电压采集范围为0-2000mV,数据精确到1mV。巡检仪上传CAN协议网关的数据每帧数据包含4节单体电池电压,即每节电压占用16位。而实际应用中,上位机仅需精度10mV就可以对燃料电池系统进行正确控制。因此CAN协议网关会将精度为1mV的数据转换成精度为10mV的数据,即数据范围为0-200,用8位二进制数就可表示,将每节电压的数据由16位压缩至8位。网关传至上位机的每帧数据可包含8节单体电池电压,将原巡检仪上传数据压缩至一半。
[0036] 如图2所示,处理器模块从CAN总线上获取数据后产生中断,程序将进入中断函数读取来自巡检仪的数据帧,查看数据帧的CAN ID是否存在于用户配置信息中,若数据帧的CAN ID与用户配置信息一致,则CAN ID对应的若干单体电池巡检数据为所需电池巡检数据,否则丢弃。之后,将获取4节电池巡检数据,每节用16位的二进制表示。16位的二进制电池巡检数据除以十,得到8位二进制的电池巡检数据。根据数据帧的CAN ID获取存放4节8位的二进制电池巡检数据的SRAM地址,将4节8位的二进制电池巡检数据写入该地址。在数据同步数组中对应元素上标记该CAN ID数据已写入,将该元素置1。
[0037] 数据同步功能:不同巡检仪的巡检周期可能不同,巡检周期即巡检仪上传巡检数据的周期。在周期较长的巡检仪上传一次数据的时间内,周期较短的巡检仪可能上传数据多次。而燃料电池系统的仅需在固定时间内获得全部的巡检数据即可,在这段时间内周期较短的巡检仪的多次上传数据没有意义,反而增加上位机处理能力的负担。处理器获取巡检仪采集的巡检数据后,首先进行数据处理,然后将电池巡检数据存储于缓冲区,不同的巡检仪存放于不同的地址,最后等待上位机指定的巡检仪数据全部收集完成后,再转发至上位机。
[0038] 定时转发:燃料电池系统的仅需在固定时间内获得全部的巡检数据即可保证可靠控制。因此,若缓冲区内巡检仪数据全部收集完成时间未到CAN协议网关用户规定的转发周期,则延时到规定时间再执行转发,若已超过用户规定的转发周期,则立即转发。
[0039] 如图3所示,处理器模块检查数据同步数组中各元素是否均为1,如果为真,表示已实现数据同步,如果为假,则继续执行检查数据同步数组中各元素是否均为1的指令。实现数据同步后,处理器模块读取定时器值,与用户配置的定期发送周期时间比较,若大于等于用户配置的定时发送周期即为真,则允许发送,否则为假,返回至读取定时器指令。当允许向上位机发送数据时,通过变量n获取数据同步数组元素个数,即处理器模块连续发送n次才能将全部数据发送至上位机。处理器模块将读取8节电池的电池巡检数据,即64位二进制数据,打包成一个数据帧。通过CAN通讯模块发送将该数据帧发送给上位机。每发送一帧数据,检查n是否大于0,如果为真表示缓存区数据没有全部发送,如果为假表示缓存区数据已全部发送。缓存区数据没有全部发送,执行n=n-1操作,跳转到处理器模块读取8节电池的电池巡检数据指令。缓存区数据已全部发送,则复位定时器,跳转到检查数据同步数组中各元素是否均为1的指令。