CN1606286A - 一种基于can总线的燃料电池汽车整车控制器监控*** - Google Patents

一种基于can总线的燃料电池汽车整车控制器监控*** Download PDF

Info

Publication number
CN1606286A
CN1606286A CN 200410088818 CN200410088818A CN1606286A CN 1606286 A CN1606286 A CN 1606286A CN 200410088818 CN200410088818 CN 200410088818 CN 200410088818 A CN200410088818 A CN 200410088818A CN 1606286 A CN1606286 A CN 1606286A
Authority
CN
China
Prior art keywords
bus
car controller
card
function
monitoring system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 200410088818
Other languages
English (en)
Inventor
何彬
李建秋
贾要勤
***
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN 200410088818 priority Critical patent/CN1606286A/zh
Publication of CN1606286A publication Critical patent/CN1606286A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种基于CAN总线的燃料电池汽车整车控制器监控***,尤其适用于用移动终端如笔记本电脑对燃料电池汽车整车控制器高数据传输速率现场进行实时监控及管理。***包括三个部分:上位机、CAN卡及CAN总线和下位机,上位机的PCMCIA接口通过CAN卡,CAN总线与下位机的CAN接口相连,上位机发送请求字和控制参数地址对控制器控制参数在线匹配标定;下位机整车控制器通过映射执行代码实现CAN总线通讯的在线编程。本发明运用CAN总线技术,结合Matlab软件平台可以实现高数据传输速率现场实时监控和管理,***减轻了整车控制器的监控通讯负担,抗干扰能力加强,应用场所灵活,实现了整车控制算法试验现场的灵活调试。

Description

一种基于CAN总线的燃料电池汽车整车控制器监控***
技术领域
一种基于CAN总线的燃料电池汽车整车控制器监控***,涉及工业现场监控技术领域,尤其适用于用移动终端如笔记本电脑对燃料电池汽车整车控制器高数据传输速率的现场进行实时监控及管理。
背景技术
燃料电池汽车采用分布式控制***结构,各部件都具有独立的控制器,整车控制器对整个***进行能量管理及各部件的协调控制。为满足***数据交换量大,实时性、可靠性要求高的特点,整个分布式控制***各控制器之间采用CAN总线进行通讯。
在整车控制器控制算法的调试、匹配标定过程中,需要对燃料电池汽车的工作状态、工作参数进行监控,以了解各部件的运行状况,有时还需要在试验现场直接对控制参数进行修改,程序结构上的变化还需重新将控制程序写入控制器,这就要求整车控制器有一个功能强大的监控***配合工作。
整车控制器监控***传统上都是基于RS-232串口通信协议开发的,串口通信在实车试验环境中存在着数据传输可靠性差、传输速率低等缺点,由于传输速率低造成控制器与上位机的SCI通讯任务重,限制了参数传输的数量。
监控***的上位机部分一般采用VC、LabView等软件开发,支持笔记本电脑PCMCIA插槽的CAN通讯卡一般也带有相应的底层驱动程序。基于Matlab软件的上位机监控,可以利用其强大的数据处理、计算功能,对***动态频率特性等进行分析,加快控制参数匹配标定过程,并与基于Matlab/Simulink环境的控制器控制算法的开发及其离线、实时仿真测试融为一体,加快整车控制器开发周期。但目前市场上各种PCMCIACAN通讯卡底层驱动程序均不直接支持Matlab环境,需对底层驱动程序进行重开发。
发明内容
本发明的目的在于针对目前整车控制器监控***存在的上述问题,提供一种新的基于CAN总线的燃料电池汽车整车控制器监控***,以满足燃料电池整车控制器开发的需要。
本发明所提出的基于CAN总线的燃料电池汽车整车控制器监控***包括三个部分:上位机、CAN卡及CAN总线和下位机,上位机所带的PCMCIA接口通过CAN卡,CAN总线与下位机的CAN接口相连。
所述上位机通过对PCMCIA CAN卡底层驱动程序的重开发,实现了基于Matlab软件平台对CAN总线通讯的控制,从而能够对燃料电池汽车整车CAN网络和整车控制器控制参数进行实时监测和数据存储;上位机通过发送请求字和控制参数地址的方式实现了对控制器控制参数的在线匹配标定,整车控制器通过所述的映射执行代码方式实现了基于CAN总线通讯的在线编程功能。
所述CAN卡对其底层驱动程序进行重开发,利用Matlab的C语言S-function函数功能在S-function函数中对原CAN卡动态连接库进行动态调用,并对底层驱动函数输入输出变量进行重新封装,使其符合Matlab的变量类型,生成新的动态链接库,从而实现了上位机Matlab监控程序对CAN卡底层驱动函数的间接调用。
所述的下位机是一个整车控制器,主要由控制器主芯片,Flash存储器和RAM存储器及相关电路组成,控制器主芯片的输出与Flash存储器和RAM存储器的输入相连。下位机整车控制器分配两个CAN数据缓冲区用于监控***,每一个均可以独立生成中断,分别接收和发送上位机数据。
所述的整车控制器在线匹配标定和在线编程,上下位机均通过握手确认过程以防止误操作,并发送相应的请求字给下位机;在线匹配过程中,下位机根据接收到的控制参数绝对地址及数据长度,进行控制参数修改;在线编程过程中,下位机采用子函数映射的方法,先将实现编程功能的各子函数拷贝到RAM存储器中,通过计算相对地址得到各子函数的入口地址,再跳转至映射后的地址执行相应的指令,对Flash存储器先进行擦除,然后通过与上位机的CAN通讯将目标程序代码写入Flash中,程序写完握手确认后再跳转到Flash程序入口地址,控制器复位重新从Flash引导。
本发明运用CAN总线技术,结合Matlab软件平台实现了一种燃料电池汽车整车控制器监控***,其上位机尤其可以使用但不限于移动终端(如笔记本电脑),可以实现高数据传输速率现场实时监控和管理,其主要效果有:
a)CAN总线传输速率高,容错性能好,燃料电池整车控制器监控***抗干扰能力加强。
b)利用笔记本电脑进行监控时,应用场所灵活,便于上车试验调试。
c)利用了燃料电池汽车控制***CAN网络通讯结构,对部件的参数直接从CAN网络接收,大大减轻了整车控制器的监控通讯负担。
d)基于CAN总线的在线匹配标定及在线编程,实现了整车控制算法试验现场的灵活调试。
附图说明
图1是燃料电池整车控制器监控***结构示意图。
图2是上位机Matlab监控程序的开发流程。
图3是在线编程原理示意图。
图4是Flash编程函数映射方式示意图。
具体实施方式
下面结合附图对本发明具体实施做进一步说明。
图1所示为燃料电池整车控制器监控***结构示意图。上位机是一台具有PCMCIA口的笔记本电脑,通过PCMCIA CAN卡与整车控制器及整车CAN网络相连,所述CAN卡型号可为ICPCM-CO。控制器主芯片优选为MC68376单片机,它具有一路CAN,直接与CAN总线相连,其CAN模块有16个接收发送数据缓冲区,每一个均可以独立生成中断,其中分配两个CAN数据缓冲区用于监控***,分别接收和发送上位机数据,接收数据由中断服务子函数完成,发送缓冲区每个控制周期均向CAN总线发送控制参数,两个CAN数据帧ID的优先级别设置应比燃料电池汽车控制***中其它所有部件节点的优先级别低,以保证监控***不与整车实时控制冲突。扩展的Flash只读存储器芯片可为两片AM29F040。
上位机Matlab软件虽然支持通过API函数对C语言动态链接库的调用,但只能对具有简单输入、输出参数的函数进行调用,而不支持对具有复杂结构体函数的调用,利用Matlab的S-function函数功能进行底层驱动函数的重开发,可实现CAN卡缓冲区数据的间接调用,S-function实现步骤如下:
a)调用CAN卡底层驱动动态链接库,将底层驱动函数载入,得到动态链接库中各子函数的句柄,通过句柄实现对子函数的调用。
下面例子获得CAN接收数据子函数的句柄:
typedef int(*_ICPCM_SendCANMessage)(CANBUFFER*buffer);
hDLL=LoadLibrary(″icpcm_wdm.dll″);ICPCM_GetCANMessages=(_ICPCM_GetCANMessages)GetProcAddress(hDLL,″ICPCM_GetCANMessages″);
b)对CAN初始化、接收、发送CAN数据等子函数进行重开发,进行输入输出变量的重新封装,使其符合Matlab环境下的变量类型。
下面例子对CAN接收数据子函数进行重开发:
_declspec(dllexport)mxArray*ReadMsg(int len)//返回数据为Matlab数组类型
{  CANBUFFER canmsg[MAX_READ_MESSAGES];//CANBUFFER为结构体数据类型
   int result,i,j,dims[]={1,0};unsigned char*templ;mxArray*temp;
   result=ICPCM_GetCANMessages(canmsg,MAX_READ_MESSAGES);
   dims[1]=26*result;
   temp=mxCreateNumericArray(2,dims,mxUINT8_CLASS,mxREAL);//建立可变长度数
   temp1=&canmsg;
   memcpy(mxGetPr(temp),temp1,result*26*sizeof(unsigned char));//将原始CAN数据拷
贝到Matlab数组中
   return temp;
   }
c)用S-function编译重新封装之后的底层驱动程序,生成Matlab环境下可直接调用的动态链接库。
   mex canmonitor.c;
上位机Matlab监控程序的开发流程如图2所示,上位机在Matlab中利用loadlibrary函数载入动态链接库,利用calllib函数即可对所有动态库子函数进行调用,对CAN进行初始化设置,如格式、波特率等,如果是实时监控模式,上位机通过查询方式接收CAN卡数据缓冲区中数据,并利用Matlab的GUI图形编程功能,对控制参数及整车CAN网络进行实时监测显示,如果是在线编程和在线匹配标定模式,将与下位机配合工作。监控结束时,利用unloadlibrary函数卸载动态链接库。
图3所示为在线编程原理示意图,整车控制器检查整车钥匙位置,如果处于关状态,表明整车处于停止状态,可以进行控制程序的修改,下位机CAN监控接收数据缓冲区打开中断,以响应上位机在线编程的请求。编程开锁有一个上下位机握手过程,以防止误操作,保证下位机在线编程的代码不被意外的激活。通常下位机的应用程序都是在Flash ROM里执行的,在编程过程中采用子函数映射的方法,如图4所示,将在线编程所需的功能函数代码拷贝到RAM中,通过计算相对地址得到各子函数在RAM中的入口地址,再跳转至映射后的地址执行相应的指令,进行Flash编程。Flash编程过程中,上位机每个编程循环里读取一行目标代码,获取代码地址并且完成解码后,通过CAN总线发送给下位机。下位机控制器接收到编程结束数据帧后,跳转到Flash程序入口地址,控制器复位重新从Flash引导。
在线匹配标定过程中,上下位机通过与以上相似的握手确认过程后,上位机开始发送信息,其CAN数据帧的定义为:前两个字节为Flash绝对地址、第三个字节为数据长度,剩下为数据。下位机根据接收到的数据对控制参数相应存储器地址进行在线数据修改。

Claims (4)

1、一种基于CAN总线的燃料电池汽车整车控制器监控***,其特征在于所述的整车控制器监控***包括三个部分:上位机、CAN卡及CAN总线和下位机,上位机所带的PCMCIA接口通过CAN卡,CAN总线与下位机的CAN接口相连。
2、根据权利要求1所述的燃料电池汽车整车控制器监控***,其特征在于上位机通过发送请求字和控制参数地址的方式实现对控制器控制参数的在线匹配标定;整车控制器通过映射执行代码方式实现基于CAN总线通讯的在线编程功能。
3、根据权利要求1所述的燃料电池汽车整车控制器监控***,其特征在于所述CAN卡的底层驱动程序利用Matlab的C语言S-function函数功能在S-function函数中对原CAN卡动态连接库进行动态调用,并对底层驱动函数输入输出变量进行重新封装,使其符合Matlab的变量类型,生成新的动态链接库,实现上位机Matlab监控程序对CAN卡底层驱动函数的间接调用。
4、根据权利要求1所述的燃料电池汽车整车控制器监控***,所述的下位机是一个整车控制器,主要由控制器主芯片,Flash存储器和RAM存储器及相关电路组成,控制器主芯片的输出与Flash存储器和RAM存储器的输入相连。
CN 200410088818 2004-11-05 2004-11-05 一种基于can总线的燃料电池汽车整车控制器监控*** Pending CN1606286A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410088818 CN1606286A (zh) 2004-11-05 2004-11-05 一种基于can总线的燃料电池汽车整车控制器监控***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410088818 CN1606286A (zh) 2004-11-05 2004-11-05 一种基于can总线的燃料电池汽车整车控制器监控***

Publications (1)

Publication Number Publication Date
CN1606286A true CN1606286A (zh) 2005-04-13

Family

ID=34766108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410088818 Pending CN1606286A (zh) 2004-11-05 2004-11-05 一种基于can总线的燃料电池汽车整车控制器监控***

Country Status (1)

Country Link
CN (1) CN1606286A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1304909C (zh) * 2005-11-03 2007-03-14 重庆邮电学院 车辆控制***can/lin网络监测仪及测试方法
CN1747472B (zh) * 2005-10-17 2011-09-07 浙江大学 基于ccp协议的嵌入式通用标定装置及方法
CN102200777A (zh) * 2011-03-25 2011-09-28 上海汽车集团股份有限公司 新能源整车控制器验证试验性能监测方法
CN101617509B (zh) * 2007-03-29 2012-08-01 宝马股份公司 用于把数据传送给多个控制装置的方法
CN101673202B (zh) * 2008-09-09 2012-09-12 比亚迪股份有限公司 一种程序烧写方法和***以及一种待烧写装置和烧写装置
CN102708602A (zh) * 2012-05-22 2012-10-03 奇瑞汽车股份有限公司 一种行车记录仪
CN102109818B (zh) * 2009-12-24 2013-04-10 上海泛华测控***有限公司 基于xcp协议的自适应命令处理方法及其***
CN103699332A (zh) * 2012-09-27 2014-04-02 比亚迪股份有限公司 车辆调试数据的获取方法及***
CN104850015A (zh) * 2014-09-09 2015-08-19 北汽福田汽车股份有限公司 一种软件封装方法及一种汽车电子控制器
CN105044513A (zh) * 2015-07-27 2015-11-11 中国科学院光电技术研究所 一种快捷的频率特性测试***
CN109509900A (zh) * 2017-09-14 2019-03-22 郑州宇通客车股份有限公司 一种气体燃料电池控制***及车辆
CN109625124A (zh) * 2018-12-26 2019-04-16 深圳市车云网科技有限公司 一种汽车总线信号学习***及其学习方法
CN110109375A (zh) * 2019-05-15 2019-08-09 北京昱连科技有限公司 一种基于ttcan通信模块的总线仿真***
CN111190411A (zh) * 2019-12-31 2020-05-22 一汽解放汽车有限公司 电控单元运行状态的监控方法、装置、***和存储介质
CN111638874A (zh) * 2020-05-27 2020-09-08 江西五十铃汽车有限公司 基于Matlab软件的汽车控制器编码信息写入和读取方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1747472B (zh) * 2005-10-17 2011-09-07 浙江大学 基于ccp协议的嵌入式通用标定装置及方法
CN1304909C (zh) * 2005-11-03 2007-03-14 重庆邮电学院 车辆控制***can/lin网络监测仪及测试方法
CN101617509B (zh) * 2007-03-29 2012-08-01 宝马股份公司 用于把数据传送给多个控制装置的方法
CN101673202B (zh) * 2008-09-09 2012-09-12 比亚迪股份有限公司 一种程序烧写方法和***以及一种待烧写装置和烧写装置
CN102109818B (zh) * 2009-12-24 2013-04-10 上海泛华测控***有限公司 基于xcp协议的自适应命令处理方法及其***
CN102200777B (zh) * 2011-03-25 2014-09-10 上海汽车集团股份有限公司 新能源整车控制器验证试验性能监测方法
CN102200777A (zh) * 2011-03-25 2011-09-28 上海汽车集团股份有限公司 新能源整车控制器验证试验性能监测方法
CN102708602A (zh) * 2012-05-22 2012-10-03 奇瑞汽车股份有限公司 一种行车记录仪
CN103699332A (zh) * 2012-09-27 2014-04-02 比亚迪股份有限公司 车辆调试数据的获取方法及***
CN104850015A (zh) * 2014-09-09 2015-08-19 北汽福田汽车股份有限公司 一种软件封装方法及一种汽车电子控制器
CN104850015B (zh) * 2014-09-09 2018-02-23 北汽福田汽车股份有限公司 一种软件封装方法及一种汽车电子控制器
CN105044513A (zh) * 2015-07-27 2015-11-11 中国科学院光电技术研究所 一种快捷的频率特性测试***
CN109509900A (zh) * 2017-09-14 2019-03-22 郑州宇通客车股份有限公司 一种气体燃料电池控制***及车辆
CN109509900B (zh) * 2017-09-14 2024-02-27 宇通客车股份有限公司 一种气体燃料电池控制***及车辆
CN109625124A (zh) * 2018-12-26 2019-04-16 深圳市车云网科技有限公司 一种汽车总线信号学习***及其学习方法
CN110109375A (zh) * 2019-05-15 2019-08-09 北京昱连科技有限公司 一种基于ttcan通信模块的总线仿真***
CN111190411A (zh) * 2019-12-31 2020-05-22 一汽解放汽车有限公司 电控单元运行状态的监控方法、装置、***和存储介质
CN111638874A (zh) * 2020-05-27 2020-09-08 江西五十铃汽车有限公司 基于Matlab软件的汽车控制器编码信息写入和读取方法

Similar Documents

Publication Publication Date Title
CN1606286A (zh) 一种基于can总线的燃料电池汽车整车控制器监控***
CN111399884A (zh) 一种车辆组件的升级方法、装置及电子设备
CN1819576A (zh) 在客户机和服务器之间分配应用任务的方法以及应用服务***
CN2743897Y (zh) 基于can总线的燃料电池汽车整车控制器监控***
CN110297608B (zh) 数据的处理方法、装置和存储介质
CN101057217A (zh) 高效多处理器***及其方法
CN1729662A (zh) 在多处理器***中编写超传输路由表的***与方法
CN100340983C (zh) 对非易失可编程逻辑器件在线升级的方法及装置
CN100343820C (zh) 程序处理装置
CN1180340C (zh) 通过无线通信进行交叉扩展的装置和方法
CN1777018A (zh) 基于dsp芯片的励磁控制器通讯***及其usb协议实现的方法
CN1881936A (zh) 一种路由器虚拟驱动模块的动态加载与控制方法
CN111459519A (zh) 一种mcu升级方法及装置
CN1584850A (zh) 被动式远程判断***状态的方法
CN1592887A (zh) 一种移动通信设备应用程序处理***
CN1170225C (zh) 自动测试***的仪器模块驱动实现方法
CN116244905A (zh) 机器人生产过程中状态实时监控方法、***、终端及介质
CN1896976A (zh) 在线刻录***及其方法
CN1809057A (zh) 通过装置卸载减轻主机负载的***及其方法
CN113377404A (zh) 一种新能源车域控制器安全监控芯片程序更新方法及***
CN210377145U (zh) 一种用于车辆的模型在线验证***
CN1892595A (zh) 计算机平台***程序远程操控更新方法及***
CN1636171A (zh) 用于可编程控制器的通用功能电路和通用单元
CN1267818C (zh) 将单处理器的软件程序转换为多处理器的软件程序的方法
CN1225707C (zh) 具有管理***i/0控制装置功能的***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication