张延良 王栋 李升建 苏敏 梁雪涛 刘明
摘要:本文以XCP协议的同步数据传输DAQ模式为研究对象,分析了XCP协议的同步数据传输DAQ的基本架构和功能,详细介绍了动态DAQ和静态DAQ基本流程和不同之处,通过对比分析,明确了发动机数据远程传输系统的开发流程和基本思路。
关键词:同步数据传输;DAQ模式;模式研究
中图分类号:U463.6 文献标识码:A 文章编号:1007-9416(2019)05-0025-02
0 引言
在发动机电控系统领域,CAN是一种比较主流的通讯方式,很多基于CAN架构的通讯协议不断发生和发展,这些CAN通讯协议为发动机电控技术的应用提供了可靠的信息交互媒介。随着物联网技术的不断发展,远程通讯技术与CAN的结合催生了很多发动机智能制造和发动机大数据应用的实际应用需求,其中,基于CAN的本地数据采集和基于物联网技术的远程控制和远程传输是目前比较热门也比较成熟的一种模式。
在众多的CAN协议中,XCP/CCP协议是基于ASAM架构进行开发的,因此通用性比较好。随着XCP/CCP协议的不断更新、硬件技术的不断进步,XCP/CCP协议设计了一种可以同时进行大数量采集的模式—同步数据传输模式(Data Acquisition),简称DAQ模式,这种数据采集模式可以支持毫秒级的数据传输,这对于电控系统的过程监控比较有实用价值,因此DAQ模式在发动机电控系统开发中得到了比较广泛的应用。DAQ模式在实际的电控产品开发中不断完善,衍生出动态和静态两种应用方式,成为数据传输研究与应用的两种主要模式。本文就上述两种DAQ模式进行详细的分析和对比,分析其不同和优劣,为物联网远程数据采集功能开发提供一定的指导。
1 XCP协议同步数据传输DAQ功能架构概述
一般来说,XCP协议主要支持两种同步数据传输模式,DAQ模式用于从设备向主设备发送同步数据,即用于数据采集;STIM模式用于主设备向从设备发送同步数据,即用于数据激励。两种模式模式都是依托ODT的方式进行数据传递。DAQ模式主要用于数据采集和数据传输,是本文的重点。
DAQ数据传输的基本流程主要包括四个环节,如图1所示。
(1)确定数据采集的目标参数,明确需要采集的变量信息列表(下文简称“变量”)。(2)获取目标采集变量的基本信息,主要是存储地址和长度两个参数,获取到之后按照ODT的格式进行整理和存储。(3)将具体的变量通过XCP协议下发到ECU控制器,ECU控制器按照DAQ的模式将变量信息进行重新排布。(4)ECU将配置好的变量数据以CAN报文的形式进行发送,整个DAQ数据采集功能结束。
2 XCP协议DAQ配置过程
基于XCP协议进行DAQ的配置过程主要分为五个主要的环节,如图2所示。
(1)建立连接。主要是通过CONNECT指令使上位机和下位机建立连接,这是XCP CAN通讯最基础的一个环节。(2)安全访问。根据ECU控制器CAN总线防护等级决定,如果有加密的需要,则需要进行安全访问,进行安全校验,通过后才能执行剩余环节;如果不需要,可以绕过该环节直接进行下一步。(3)DAQList准备。为DAQ配置做一些准备工作,主要目的是将ECU传输数据的缓存区重置。随着DAQ功能应用的不断深入,这个过程衍生出了两种不同的配置方式:动态DAQ方式和静态DAQ方式。静态DAQ(Static DAQ)需要分配一块固定的区域,用来存放配置后的变量数据,允许发送的數据长度是固定的。动态DAQ(Dynamic DAQ)是指DAQ配置过程的变量是可以灵活分配的,理论上可以采集的变量个数不受限制(但是实际上因为控制硬件缓存的原因,可以配置的变量个数还是受到限制的)。静态DAQ和动态DAQ两种模式的区别主要就在于XCP DAQ配置过程的第三个环节:DAQList准备环节,下一小节对两种模式的区别进行着重论述。(4)DAQList配置。主要是将需要采集的变量信息以XCP DAQ的方式下发到下位机ECU,告诉下位机需要采集的变量的信息,主要是变量的地址和长度。(5)启动数据传输。下位机ECU在收到上位机配置的变量信息之后,会将需要发送的数据放置与某个缓存中,收到同步数据传输的报文后,下位机ECU就会把数据以XCP CAN 报文的形式发送出来,DAQ数据传输功能实现。
3 XCP协议两种DAQ模式的对比研究
3.1 静态DAQ模式配置过程
静态DAQ的数据采集配置流程如图3所示,静态DAQList的准备过程只用到一个指令CLEAR_ DAQ_LIST,主要的目的就是将存储数据的区域进行初始化,为数据传输做准备。由此可以看出,在静态DAQ模式中,整个数据处理的边界都是固定的,数据存储的区域也是固定的,因此,在运用XCP协议进行处理的时候不需要处理控制器内存,直接进行XCP协议交互即可。
3.2 动态DAQ模式配置过程
动态DAQ配置的过程在内存分配上相对复杂,具体流程如图4所示,需要重新分配内存,需要对每条报文重新进行组织。从动态DAQ模式的流程中可以看出,动态DAQ List的准备过程体现了下位机(ECU)内存管理的灵活性,使得下位机(ECU)的内存管理更加合理。
3.3 动态静态两种模式的对比分析
两种方法都有其适用的场景,具体对比的结果如表1所示。总的来说,静态DAQ模式相对简单,对于内存的要求比较小,传输数据量是固定的,相对较少;而动态DAQ模式相对复杂,对于内存的要求比较高,传输的数据量可以灵活配置。
4 结语
本文对XCP协议的同步数据传输DAQ模式进行了研究分析,并对现有的两种DAQ模式进行了详细分析。通过本文的梳理,可以对XCP数据采集DAQ传输模式的基本原理能够有更深入的认识,这对与发动机数据的远程采集和在线监测比较有实用价值。
参考文献
[1] 温泉,张广秀,张建.基于ASAM标准的汽车电控系统匹配标定系统设计[J].汽车实用技术,2012(05):40-46.
[2] 钱啸君.基于ASAM标准的汽车通用标定系统的设计与实现[D].浙江大学,2012.
[3] 肖亚迪,肖兵.基于XCP协议的ECU标定系统开发[J].计算机测量与控制,2015,23(02):600-603.
[4] 冯占军,丁锋,谭啟寅.基于XCP协议的ECU控制器标定系统开发[J].上海汽车,2013(11):16-18.