引言:Vector Informatik和戴姆勒克莱斯勒公司是两个总部均设在德国斯图加特的公司。近几年,在过去的合作基础之上,他们在开发诊断工具方面扩展了战略合作伙伴关系。如今,Vector和戴姆勒克莱斯勒已经合作开发和定制出机动车诊断领域专用的工具如CANdela系列。应用这些工具刚开始会花费较多精力,但最终的分析结果证明,它们对品质和成本的改善都是非常有效的。
图1:CANdelaStudio提出专门的ECU诊断需求描述并从CANdela数据库向DIOGENES数据库导出数据。 |
图2:利用专业网络开发工具CANoe进行诊断功能性测试。 |
图3:在一个集成测试基准平台上测试A级车的电子元件。 |
图4:利用CANdelaStudio提供的诊断数据描述可节省6-7成费用并加快诊断协议的实现。 |
图5:闪存数据的管理以及用CANdelaFlash产生ODX Flash Container。 |
为了满足今后汽车诊断任务的要求,上世纪90年代末,戴姆勒克莱斯勒公司为其车辆诊断工具的开发制定了新的方向。主要目的是让新工具变得更容易使用和理解,同时诊断的相关数据也要以统一格式描述。只有这样才能保证诊断工具在所有相关业务单位和合作伙伴间(包括ECU供应商和软件供应商)具备较高的接受度,还能保证诊断相关数据的可重用性。
为了支持这个努力方向,该公司通过它的GSP/TD中心(诊断和闪存技术中心)对诊断技术和方法进行强化和集中。该中心全面开发出新的诊断和闪存概念及其与这些概念相关联的在公司范围内开发、生产和维护的实现过程。同时,该中心还对在这些不同业务领域内引进上述概念、过程和工具提供整个公司范围内的支持。
诊断功能的通用实现
作为诊断功能的合作开发方,Vector Informatik公司的诊断专家设计了一种基于“单源法则”(Single Source Principle)的工具,即所有诊断功能只用机器可读的XML描述文件进行一次正式规格定义,然后所有用户可普遍使用这些规格数据。
戴姆勒克莱斯勒希望在开发、生产和维护中继续保留其DIOGENES描述格式及其专有的运行时(run-time)系统CAESAR(戴姆勒克莱斯勒内部针对“车用电子系统公共入口”采用的DC项目名),为此,Vector设计的CANdela系列诊断工具(可用于诊断不良应用的CAN诊断环境)具备了集成各OEM专用导出格式所需的灵活性。
除了戴姆勒克莱斯勒公司以外,Vector与欧宝和Claas(农用设备生产商)的战略联盟也对这些诊断工具的开发产生影响。同时,Vector还与菲亚特、福特及其他许多世界级汽车厂商开始建立合作关系。如今,几乎所有具备汽车和相关供应产业的国家都在使用CANdela工具。这些工具在诊断数据的采集和编辑以及将数据导出为多种不同格式方面给用户提供了重要的支持。通过它们采集的数据还能用来自动生成ECU诊断软件.。
通过前加载(frontloading)节约开发时间
戴姆勒克莱斯勒公司诊断功能开发过程的指导原则就是通过在开发过程的很早阶段创建一个完备的规格,来保证获得的数据库完整可靠。有了这样的数据库,就可以避免在与供应商合作时出现误解和差错,也因此免去了大多数优化步骤。一旦戴姆勒克莱斯勒选定某个开发项目的ECU供应商,其开发、生产和维护部门的工程师就开始与这些ECU供应商合作定义ECU的诊断功能。
CANdelaStudio友好的用户输入界面和需求工程工具,使供应商和ECU开发商们能用一种正式的描述方式来创建诊断规格。提出这种描述方式的基础就是形成所谓的模板,模板中包含了对诊断协议的要求以及汽车模型的具体要求和数据。GSP/TDE部门作为诊断和闪存技术中心内一个面向开发的部门,根据戴姆勒克莱斯勒公司的内部标准和准则来协调和检查参数配置,然后从这种正式描述自动生成微软Word格式的规格。戴姆勒克莱斯勒正是这样保证了不同供应商生产的ECU都能同样地满足所有要求。无论一个新的ECU样品什么时候送达公司,都能立即清楚的确定其诊断规格级别。
戴姆勒克莱斯勒通过将CANdelaStudio中的ECU描述导出得到公司内部的DIOGENES格式的数据,见图1。DIOGENES格式的数据又转换为CBF这种优化的运行时二进制数据格式(CAESAR二进制格式),然后再用这些二进制数据来确定测试仪的参数。只要ECU中的诊断功能有一次改动,CANdela文件中就会描述一个新的变量,因此公司能够立即为最新的ECU样品准备好定制的测试环境。
Vector公司开发的工具CANoe (见图 2)、 CANape Graph和CANdito中还具备诊断测试仪功能。只要ECU规格存在,用户就能利用这些工具测试ECU样品。
随着汽车中的电子功能持续增多,对这些功能进行诊断的能力也变得日益重要。将诊断软件的开发挪至开发阶段的早期进行(即所谓“前加载”)就能避免ECU软件中出现最后时刻才匆忙开发出的次质量诊断功能。
开发质量
在戴姆勒克莱斯勒公司的开发过程中,CANdela的地位已经不可动摇。采用这一工具的目的是使ECU供应商不但要负责开发诊断功能,而且还要提供相关的正式描述。在这个过程中ECU供应商除了使用内部的DC诊断开发测试仪来实现和验证数据描述之外,还可依靠Vector公司这些已经验证的工具来开发高品质的ECU及其描述文件。这样做的目的是使得ECU供应商在向戴姆勒克莱斯勒提交新的ECU样品之前全面测试其诊断功能。
为了进一步提高软件质量,戴姆勒克莱斯勒已要求供应商采用标准软件组件来实现ECU诊断功能。这些标准软件组件可以利用Vector的ECU诊断软件组件CANdesc(CAN嵌入式诊断软件组件)从CANdela数据自动生成。有了这些自动生成的组件,ECU生产商和OEM厂商就能在整个产品的诊断协议实现上达到一致。
在ECU供应商实现并测试了ECU的软件后,戴姆勒克莱斯勒会根据诊断描述进行所有诊断服务的测试。戴姆勒克莱斯勒的工程师从CANdela中将相关参数导出为DIOGENES格式,然后,这些数据再转换为对运行时优化的CAESAR二进制格式,并被送入到汽车OEM厂商专有的测试工具中去,如图3所示。
现在梅赛德斯-奔驰汽车公司在开发几乎所有基于CAN的ECU时都采用这种方式。Smart和三菱发动机公司(MMC)也在使用CANdela与DIOGENES结合的方式。其他诸如克莱斯勒、Freightliner、底特律柴油机公司( Detroit Diesel)和三菱扶桑(Mitsubishi Fuso)等品牌也已开始了这方面的项目。
ODX-诊断数据的标准化交换格式
ODX是一个由自动化及测量系统标准化组织(ASAM)咨询实体制定的国际标准,2006年底该标准将以ISO标准(ISO 22901-1)形式发布最终版本。该标准支持汽车OEM厂商和供应商使用不同的测试工具。
在现有汽车网络中以数据驱动的ECU互连通信系统中,工程师们已不再是孤立地开发诊断软件。因此,CANdela的XML数据库中单独的数据和描述模块被设计为可重用的模块。CANdela中今后还会添加ODX导入功能,从而允许它使用来自其他来源的诊断数据。
戴姆勒克莱斯勒接下来还准备用标准的开放式诊断交换(ODX)数据格式代替其专有的DIOGENES格式作为诊断功能的正式描述格式。通过向CANdela中导入和导出ODX数据,该公司将能保证诊断数据描述具备一致性并且在诊断过程中具有鲁棒性。如今,在与一家竞争者的联合开发中,戴姆勒克莱斯勒已经开始第一次应用这种数据格式。
从2004年底开始,CANdela中已经集成了ODX导出功能。这就使每个汽车OEM厂商和供应商都能从他们自己专用的诊断数据格式平滑过渡到标准化的交换数据格式。而对计算机屏幕前或测试平台前的用户而言,操作过程没有发生任何改变。
优化诊断开发过程
Vector高度重视诊断软件,因而仍在继续扩展CANdela产品系列。这是因为在供应商处进行诊断和闪存功能的早期整合与可靠验证的重要性将会继续增长。同时自动化的环路硬件测试(hardware-in-the-loop)也呈增多趋势。此外,Vector的CANoe、CANape Graph、CANdito和CANdelaStudio产品均已支持新的UDS诊断协议(ISO14229)。奔驰汽车也会从其下一代C级产品开始,在所有改动车型中相继引入该协议,用以代替现在还在使用的KWP2000协议。
采用了CANdelaStudio工具后,奔驰公司的工程师们输入数据的速度比过去快了6-7倍,见图4。但要想对整个开发过程中节约的时间下个定论是极其困难的,因为开发过程本身也在不断进行自我调整。然而有一点十分清楚,那就是如今的诊断功能往往在B样点处就完全开发就绪,而过去最早也要在C样点处(甚至更晚)才有诊断功能可用。这都归功于采用了对用户友好的诊断描述,以及在开发早期就完成了诊断功能的实现。这带来的好处是能进行更加深入的测试,从而进一步改善网络中相互连接的ECU质量。
在CANdelaStudio中,诊断数据采用半自动翻译(例如译为英、法、意大利或日语)方式,从而保证了即使开发网点遍布全球,他们之间也能保持一致的工作进度。
在闪存环境中实现CANdela
CANdela产品系列中包含一个用来描述闪存数据的CANdelaFlash编辑器,见图5。实际需要烧录的软件,即十六进制或二进制代码,必须附加其他信息。其中一些信息是对被烧录软件的描述,例如软件的版本和代码段大小。还有一些则是元件编号等与烧录过程相关的信息。由于大多数与烧录过程相关的信息都是对应具体OEM厂商的,因此我们采用了CANdelaFlash模板来表示这些单独的特性。
在设计CANdelaFlash的用户界面时,设计师们特别注意了将输入设计得简便而友好。因此,CANdelaFlash和CANdelaStudio具有相似的外观和用户接口原理。很容易得到并以各种方式应用CANdelaStudio采集的与闪存相关的诊断数据。
戴姆勒克莱斯勒公司将CANdelaFlash中的数据描述导出后,得到其内部称为ECU MEM/FLADEN的XML格式数据。然后将其转换为优化的运行时二进制格式CFF(CAESAR Flash Format),烧录到ECU中。今后,戴姆勒克莱斯勒将采用ODX标准化数据格式来描述闪存数据,以代替公司内部现在使用的ECU MEM/FLADEN格式。
如今的CANdelaFlash已经能够支持将数据导出为ODX格式,下一版CANdelaFlash中还将增加ODX格式的数据导入功能。这样,ECU供应商和戴姆勒克莱斯勒之间就能用ODX格式进行数据交换。这有助于在开发早期对闪存数据进行完整描述。与诊断的情况类似,烧录时也需要在开发过程早期对闪存数据进行描述。这些数据被用来根据闪存规格检查ECU是否可以被诊断功能烧录。
前景展望
采用ODX这种统一标准使诊断数据能够得到重用,也就是说后续项目能够访问之前的一些质量方面成熟的诊断实现和描述。将来,硬件接口(ISO 22900-2 MVCI Part 2:D-PDU API)、诊断数据模型(ISO 22901-1 ODX Part 1:数据模型规范)以及运行时系统和测试应用(ISO/CD 22900-3 MVCI Part 3:D-Server API)之间的接口都将实现标准化,从而使设计师们能够为预期系统组合最好的硬件,并为各种用途结合最佳应用。
诊断功能已经在CANdela和DIOGENES的应用中逐渐普及起来,这为我们描绘了一幅美好的蓝图:例如,几年后是否可能实现这样的场景:自动向诊断中心发送错误报告,由诊断中心对故障进行评估,从而确定需要怎样修理,并与故障位置附近最近的服务中心联系,同时定购需要更换的部件。
(转载)