CN2743897Y - 基于can总线的燃料电池汽车整车控制器监控系统 - Google Patents
基于can总线的燃料电池汽车整车控制器监控系统 Download PDFInfo
- Publication number
- CN2743897Y CN2743897Y CN 200420092756 CN200420092756U CN2743897Y CN 2743897 Y CN2743897 Y CN 2743897Y CN 200420092756 CN200420092756 CN 200420092756 CN 200420092756 U CN200420092756 U CN 200420092756U CN 2743897 Y CN2743897 Y CN 2743897Y
- Authority
- CN
- China
- Prior art keywords
- controller
- bus
- monitoring system
- fuel battery
- card
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种基于CAN总线的燃料电池汽车整车控制器监控系统,尤其适用于用移动终端如笔记本电脑对燃料电池汽车整车控制器高数据传输速率现场进行实时监控及管理。系统包括三个部分:上位机、CAN卡及CAN总线和下位机,上位机的PCMCIA接口通过CAN卡,CAN总线与下位机的CAN接口相连,上位机发送请求字和控制参数地址对控制器控制参数在线匹配标定;下位机整车控制器通过映射执行代码实现CAN总线通讯的在线编程。本实用新型运用CAN总线技术,结合Matlab软件平台可以实现高数据传输速率现场实时监控和管理,系统减轻了整车控制器的监控通讯负担,抗干扰能力加强,应用场所灵活,实现了整车控制算法试验现场的灵活调试。
Description
技术领域
一种基于CAN总线的燃料电池汽车整车控制器监控系统,涉及工业现场监控技术领域,尤其适用于用移动终端如笔记本电脑对燃料电池汽车整车控制器高数据传输速率的现场进行实时监控及管理。
背景技术
燃料电池汽车采用分布式控制系统结构,各部件都具有独立的控制器,整车控制器对整个系统进行能量管理及各部件的协调控制。为满足系统数据交换量大,实时性、可靠性要求高的特点,整个分布式控制系统各控制器之间采用CAN总线进行通讯。
在整车控制器控制算法的调试、匹配标定过程中,需要对燃料电池汽车的工作状态、工作参数进行监控,以了解各部件的运行状况,有时还需要在试验现场直接对控制参数进行修改,程序结构上的变化还需重新将控制程序写入控制器,这就要求整车控制器有一个功能强大的监控系统配合工作。
整车控制器监控系统传统上都是基于RS-232串口通信协议开发的,串口通信在实车试验环境中存在着数据传输可靠性差、传输速率低等缺点,由于传输速率低造成控制器与上位机的SCI通讯任务重,限制了参数传输的数量。
监控系统的上位机部分一般采用VC、LabView等软件开发,支持笔记本电脑PCMCIA插槽的CAN通讯卡一般也带有相应的底层驱动程序。基于Matlab软件的上位机监控,可以利用其强大的数据处理、计算功能,对系统动态频率特性等进行分析,加快控制参数匹配标定过程,并与基于Matlab/Simulink环境的控制器控制算法的开发及其离线、实时仿真测试融为一体,加快整车控制器开发周期。但目前市场上各种PCMCIA CAN通讯卡底层驱动程序均不直接支持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*temp1;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 (3)
1、一种基于CAN总线的燃料电池汽车整车控制器监控系统,其特征在于所述的整车控制器监控系统包括三个部分:上位机、CAN卡及CAN总线和下位机,上位机所带的PCMCIA接口通过CAN卡、CAN总线与下位机的CAN接口相连。
2、根据权利要求1所述的燃料电池汽车整车控制器监控系统,所述的下位机是一个整车控制器,主要由控制器主芯片,Flash存储器和RAM存储器及相关电路组成,控制器主芯片的输出与Flash存储器和RAM存储器的输入相连。
3、根据权利要求2所述的燃料电池汽车整车控制器监控系统,其特征在于其控制器主芯片采用MC68376单片机,Flash存储器和RAM存储器采用AM29F040。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200420092756 CN2743897Y (zh) | 2004-09-17 | 2004-09-17 | 基于can总线的燃料电池汽车整车控制器监控系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200420092756 CN2743897Y (zh) | 2004-09-17 | 2004-09-17 | 基于can总线的燃料电池汽车整车控制器监控系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN2743897Y true CN2743897Y (zh) | 2005-11-30 |
Family
ID=35633914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200420092756 Expired - Lifetime CN2743897Y (zh) | 2004-09-17 | 2004-09-17 | 基于can总线的燃料电池汽车整车控制器监控系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN2743897Y (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100449291C (zh) * | 2006-01-19 | 2009-01-07 | 湖南大学 | 混合电动汽车运行性能参数的测试装置 |
CN102305999A (zh) * | 2011-06-24 | 2012-01-04 | 吉林大学 | 电动助力转向控制参数在线调试系统 |
CN102314171A (zh) * | 2011-04-29 | 2012-01-11 | 重庆长安汽车股份有限公司 | 基于can总线的参数匹配标定工具 |
CN103010039A (zh) * | 2011-09-28 | 2013-04-03 | 宁波拜特测控技术有限公司 | 一种电池管理系统引导加载方法 |
CN103699332A (zh) * | 2012-09-27 | 2014-04-02 | 比亚迪股份有限公司 | 车辆调试数据的获取方法及系统 |
CN103777934A (zh) * | 2012-10-23 | 2014-05-07 | 广州汽车集团股份有限公司 | 一种基于matlab生成控制器can交互层的方法及系统 |
CN106575119A (zh) * | 2014-08-22 | 2017-04-19 | 捷太格特欧洲公司 | 配置有集成事件记录器的诸如动力转向计算机的用于车辆的计算机 |
CN107808074A (zh) * | 2017-11-03 | 2018-03-16 | 武汉资联虹康科技股份有限公司 | 一种下位机运行系统及方法 |
-
2004
- 2004-09-17 CN CN 200420092756 patent/CN2743897Y/zh not_active Expired - Lifetime
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100449291C (zh) * | 2006-01-19 | 2009-01-07 | 湖南大学 | 混合电动汽车运行性能参数的测试装置 |
CN102314171A (zh) * | 2011-04-29 | 2012-01-11 | 重庆长安汽车股份有限公司 | 基于can总线的参数匹配标定工具 |
CN102305999A (zh) * | 2011-06-24 | 2012-01-04 | 吉林大学 | 电动助力转向控制参数在线调试系统 |
CN103010039A (zh) * | 2011-09-28 | 2013-04-03 | 宁波拜特测控技术有限公司 | 一种电池管理系统引导加载方法 |
CN103699332A (zh) * | 2012-09-27 | 2014-04-02 | 比亚迪股份有限公司 | 车辆调试数据的获取方法及系统 |
CN103777934A (zh) * | 2012-10-23 | 2014-05-07 | 广州汽车集团股份有限公司 | 一种基于matlab生成控制器can交互层的方法及系统 |
CN103777934B (zh) * | 2012-10-23 | 2017-03-08 | 广州汽车集团股份有限公司 | 一种基于matlab生成控制器can交互层的方法及系统 |
CN106575119A (zh) * | 2014-08-22 | 2017-04-19 | 捷太格特欧洲公司 | 配置有集成事件记录器的诸如动力转向计算机的用于车辆的计算机 |
CN107808074A (zh) * | 2017-11-03 | 2018-03-16 | 武汉资联虹康科技股份有限公司 | 一种下位机运行系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1606286A (zh) | 一种基于can总线的燃料电池汽车整车控制器监控系统 | |
US8788787B2 (en) | Systems, methods and architecture for facilitating software access to acceleration technology | |
KR100253930B1 (ko) | 고성능 사용자 레벨 네트워크 프로토콜 서버 시스템에 대한 동적 실행 유닛 관리 | |
CN2743897Y (zh) | 基于can总线的燃料电池汽车整车控制器监控系统 | |
CN1819576A (zh) | 在客户机和服务器之间分配应用任务的方法以及应用服务系统 | |
CN1992609A (zh) | 可远程访问外围装置的远程控制装置及方法 | |
CN101057217A (zh) | 高效多处理器系统及其方法 | |
CN1556474A (zh) | 软件的在线升级方法及装置 | |
CN1584852A (zh) | 程序处理装置 | |
CN1308273A (zh) | 用于下载数据的方法 | |
CN1777018A (zh) | 基于dsp芯片的励磁控制器通讯系统及其usb协议实现的方法 | |
CN1180340C (zh) | 通过无线通信进行交叉扩展的装置和方法 | |
CN1583478A (zh) | 汽车无线监测及故障诊断系统及方法 | |
CN1584850A (zh) | 被动式远程判断系统状态的方法 | |
CN1592887A (zh) | 一种移动通信设备应用程序处理系统 | |
CN113954679B (zh) | 一种应用于电动汽车有序充电控制的边缘控制设备 | |
CN1896976A (zh) | 在线刻录系统及其方法 | |
CN1318166A (zh) | 软件改写方法及软件改写装置 | |
CN1127243C (zh) | 远程访问客户系统个别初始化设定的数据处理系统和方法 | |
CN1636171A (zh) | 用于可编程控制器的通用功能电路和通用单元 | |
CN1466051A (zh) | 实现不同系统之间数据交互的方法 | |
CN113377404A (zh) | 一种新能源车域控制器安全监控芯片程序更新方法及系统 | |
CN111459519A (zh) | 一种mcu升级方法及装置 | |
CN2850141Y (zh) | 基于dsp芯片的发电机励磁控制器的usb通讯装置 | |
CN114371853B (zh) | 一种分布式系统部署方法、装置、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CX01 | Expiry of patent term |
Expiration termination date: 20140917 Granted publication date: 20051130 |