论文部分内容阅读
摘要:汽车电子技术的发展已经成为汽车行业发展的强劲动力,随着整车控制功能的日益复杂,采用分散控制的方式已经越来越受到全世界主机厂的青睐,因此网络总线技术应运而生,其中CAN总线已经成网总线讯技术中的佼佼者,被广泛的应用到整车各个系统中。当越来越多的控制器在车上的出现,CAN网络也逐渐变得庞大和复杂。人们逐渐认识到通讯协议设计的准确性和通讯软硬件一致性的重要性,这样不但能全面保证产品质量,加快项目开发进度,而且可以节约开发成本。
关键词:V模式 分散控制 系统集成 通讯协议设计 软件配置 通讯协议栈
中图分类号:U469 文献标识码:A 文章编号:1007-3973(2010)09-028-02
技术革新已经是汽车工业发展主要推动力,如今90%以上的技术革新都和汽车电子相关,包括各种传感器、控制器和执行器等,电子系统的成本已增加到整车成本的30%以上。随着电子化程度的不断提高,整车功能越来越趋于分散控制,因此整车上的控制器不断增加,各种控制器之间的信息交换量也不断增大,如何保证控制器间信息传递的质量已经成为汽车电子的关键问题之一,采用CAN总线通讯已经成为汽车电子发展的一个重要方向。为此本文先就总线通讯的行业背景和现状进行分析,然后再提出CAN总线系统开发的关键问题及解决方案。
1、行业背景
随着总线技术的发展,各种传感器、控制器和执行器都越来越多的采用总线进行通讯,现在市场上已经被广泛认可的动力、底盘、车身通讯网络主要是CAN总线。由于总线通讯系统设计中存在着各自独立又需要相互关联的控制器,它们来自不同的供应商,这就要求在同一个网络中的控制器保持通讯的一致性,因此系统集成的好坏就成了总线通讯质量的核心,为此国际上所有的主机厂都在总线系统开发上投入巨资以解决这个问题。
随着CAN总线技术的发展,在软件开发的实现阶段出现了两种方式,一是采用传统方式开发,即在项目前期主机厂和供应商交流,制定出总线协议,供应商根据协议进行通讯软件和硬件的开发,然后提交主机厂进行系统集成测试,发现问题又反馈供应商进行整改,然后再进行集成测试,直到所有系统集成问题全部解决,国际上大的主机厂上个世纪八九十年代都采用这种开发方式。另一种是采用协议栈开发方式。即主机厂建立完整通讯信号的数据库,在项目配置确定以后,采用配置工具,调用已经开发好的通讯软件数据库进行软件配置,生成软件代码,然后交付供应商,和应用软件一起编译并下载到控制器硬件中,实现网络通讯功能,如今国际上主要主机厂都采用这种方式进行总线开发。
2、行业现状
国际上总线系统开发大都走过了传统开发方式的历程,如今世界上主要的主机厂都有自己的通讯协议,并且通讯软件设计的实现主要都采用协议栈开发方式。协议的保密和开发实现方式的控制使得各大主机厂都很好的保护着自己的核心技术。
在中国,汽车的自主研发已经进行的如火如荼,但是自主研发都是以低端或中端车型为切入点,随着车型开发档次的升级,对总线的需求和依赖越来越大。由于基础的薄弱和国外的技术封锁,很多自主研发的公司都还重复国外上个世纪的道路来积累开发经验,其面临的主要问题如下图所示。
归纳起来主要有以下3点:
(1)通讯协议的修改导致每个供应商通讯软件都需要更改。在开发过程中,只要通讯协议更改,供应商都需要重新对软件进行修改和测试,在时间和成本上都耗费巨大,影响整个网络系统的开发进度。
(2)供应商对通讯协议理解的不一致导致开发过程中通讯软件频繁的更改。主机厂根据整车设计需求来设计通讯协议,然后零部件供应商根据协议开发通讯软件,由于对协议的理解在存在偏差,设计验证阶段可能会暴露出网络可靠性、兼容性的问题。如果问题整改次数较多或者协议不断更新,则可能在更改流程中反复的循环(环线箭头),耗费很多精力和时间。
(3)通讯测试的工作量和难度都很大。网络系统测试主要分为物理层测试、通讯测试和功能测试,其工作量比例大约为15%:35%:50%。其中通讯测试必需解决系统集成的一致性问题,而集成测试中遇到的通讯兼容性问题极难解决,特别是在项目后期,供应商对于系统集成问题的整改大都提出收费要求(因为它们单件的测试没有问题),影响项目开发成本和进度。
为了解决通讯系统集成的一致性问题,网络系统工程师在每个项目上至少要花费30%精力和时间来解决。随着控制功能复杂程度的增加,控制器数量增多,网络愈发复杂,传统设计方式越来越难以满足要求。
为了获得总线开发的关键技术,有采用直接收购国外设计公司的,有外委第三方设计公司开发的,还有采用与国外公司合作开发的。但是不管采用哪种方式都需要投入巨资,而且对于外委开发和合作开发,一般都只限于一个车型的开发,这相对对于将来的平台建设仅仅是初级阶段。特别是第三方设计公司,它们不属于主机厂,对CAN总线在整车中的应用缺乏系统和最直接的项目经验,难以开发出真正满足主机厂现状和未来实际要求的系统。
3、CAN总线系统开发的关键问题及解决方案
由于CAN总线系统开发的核心问题在于系统集成,因此如何保证集成的质量将是网络系统开发的关键,而这个关键的保证需要一套精准的协议来实现。虽然CAN2.0已经成为行业公认的准则。但这仅仅规定了物理层和数据链路层的基本要求,对于在哪些方面如何保证系统集成的质量,并没有规定。因此系统集成的实现还需要一套能用于项目开发的协议来规范,以保证系统集成不会出任何差错,所以协议设计的好坏就成了系统集成成败的关键。
目前国内有些主机厂采用了与第三方设计公司合作的方式获得了协议,但由于第三方公司自身的局限性,应用到项目开发中还可能会出现问题,要解决这些问题则需要耗费巨大的人力和时间成本。
协议设计完成后,就是在控制器开发中的实现,传统的方式是由各个零部件供应商进行通讯软硬件的设计、制作和测试,由于不同供应商的设计思路、方法和水平的不同,即使单个控制器测试完全满足要求。也不能保证集成到一起不会出现问题,因此系统集成的一致性难以保证。为了解决这个问题,CAN通讯部分的软硬件开发,都须要主机厂进行实际而有效的控制。
对于硬件,主机厂可以设计标准的电路原理图和相关器件的参数,让供应商统一按要求做,然后由主机厂搭建系统台架进行测试。而对于软件,由于不同开发人员的设计会有很大差别,无法实现直接控制,最好的办法就是主机厂具有完整的通讯软件模块,即协议栈。采用协议栈的开发方式,在设计实现的时候,根据项目需求直接调用软件组件,通过工具来实现软件的配置,然后交由供应商编译并下载到控制器中。由于整个通讯系统部分的软件开发工作量很大,而主机厂的性质决定了它不大可能(也没有必要)在短时间内自己编写一套一致性很好的软件,为此可以购买市场上成熟的通讯软件库和配置工具,通过软件配置的方式来替代自己开发。
通过软件配置的方式来实现通讯功能,不但可以取代供应商通讯部分软件的开发,节约宝贵的时间和开发成本,还可以实现对通讯软件一致性的有效控制,确保网络系统中各个控制器的兼容性和通讯的一致性,降低集成测试的难度和减少测试工作量。
对于控制器通讯部分的软件,它不但要实现通讯功能(即实现网络的启动、正常运行,失效处理和睡眠等功),还要提供功能信号的通道(这些功能信号才是实现功能控制的必要信息),而这些功能信号须要由主机厂来定义,才能在整车上规划和实现分散式控制功能。
要采用协议栈的方式实现网络通讯,主机厂需要具有完整的信号数据库,这也是实现通讯软件配置的前提条件。国外的主机厂都是通过多年的积累才建立了比较完善的数据库。而对国内自主研发的公司,数据库的创建和完善都还需要通过项目开发的实践获得,这是一项庞大的系统工程,需要根据公司的具体车型特点,未来的规划以及体系内零部件供应商的具体特点等进行创建,因此项目开发经验显得非常重要和必要。国外的主机厂都是经过传统开发方式的积累才创建了数据,国内自主研发的企业,如果要想在短时间内设计处集成性能可靠的CAN总线系统,有必要寻找开发经验丰富的总线开发系统工程师,根据公司的实际情况,利用国际上总线开发的最新成果,直接进行基于复杂网络系统要求的项目开发,以节约开发时间和成本。同时,需要根据公司的发展战略等需要,规划好平台,以最大限度的提高沿用率,节约开发成本。
综上所述,CAN总线系统开发必须解决系统集成的一致性问题,要解决该问题则须要制定一套精准的用于项目开发的通讯协议,而在控制器通讯部分的软硬件开发过程中,主机厂须要对零部件供应商有足够的控制来确保一致性,软件开发最好采用协议栈的方式实现,以避免走弯路。同时项目经验不可或缺,须要有项目经验丰富的系统工程师进行系统规划和实际项目问题的解决。否则在CAN总线系统的开发过程中将遇到很大的困难,而且对项目本身和未来的平台建设都可能会留下后遗症。
关键词:V模式 分散控制 系统集成 通讯协议设计 软件配置 通讯协议栈
中图分类号:U469 文献标识码:A 文章编号:1007-3973(2010)09-028-02
技术革新已经是汽车工业发展主要推动力,如今90%以上的技术革新都和汽车电子相关,包括各种传感器、控制器和执行器等,电子系统的成本已增加到整车成本的30%以上。随着电子化程度的不断提高,整车功能越来越趋于分散控制,因此整车上的控制器不断增加,各种控制器之间的信息交换量也不断增大,如何保证控制器间信息传递的质量已经成为汽车电子的关键问题之一,采用CAN总线通讯已经成为汽车电子发展的一个重要方向。为此本文先就总线通讯的行业背景和现状进行分析,然后再提出CAN总线系统开发的关键问题及解决方案。
1、行业背景
随着总线技术的发展,各种传感器、控制器和执行器都越来越多的采用总线进行通讯,现在市场上已经被广泛认可的动力、底盘、车身通讯网络主要是CAN总线。由于总线通讯系统设计中存在着各自独立又需要相互关联的控制器,它们来自不同的供应商,这就要求在同一个网络中的控制器保持通讯的一致性,因此系统集成的好坏就成了总线通讯质量的核心,为此国际上所有的主机厂都在总线系统开发上投入巨资以解决这个问题。
随着CAN总线技术的发展,在软件开发的实现阶段出现了两种方式,一是采用传统方式开发,即在项目前期主机厂和供应商交流,制定出总线协议,供应商根据协议进行通讯软件和硬件的开发,然后提交主机厂进行系统集成测试,发现问题又反馈供应商进行整改,然后再进行集成测试,直到所有系统集成问题全部解决,国际上大的主机厂上个世纪八九十年代都采用这种开发方式。另一种是采用协议栈开发方式。即主机厂建立完整通讯信号的数据库,在项目配置确定以后,采用配置工具,调用已经开发好的通讯软件数据库进行软件配置,生成软件代码,然后交付供应商,和应用软件一起编译并下载到控制器硬件中,实现网络通讯功能,如今国际上主要主机厂都采用这种方式进行总线开发。
2、行业现状
国际上总线系统开发大都走过了传统开发方式的历程,如今世界上主要的主机厂都有自己的通讯协议,并且通讯软件设计的实现主要都采用协议栈开发方式。协议的保密和开发实现方式的控制使得各大主机厂都很好的保护着自己的核心技术。
在中国,汽车的自主研发已经进行的如火如荼,但是自主研发都是以低端或中端车型为切入点,随着车型开发档次的升级,对总线的需求和依赖越来越大。由于基础的薄弱和国外的技术封锁,很多自主研发的公司都还重复国外上个世纪的道路来积累开发经验,其面临的主要问题如下图所示。
归纳起来主要有以下3点:
(1)通讯协议的修改导致每个供应商通讯软件都需要更改。在开发过程中,只要通讯协议更改,供应商都需要重新对软件进行修改和测试,在时间和成本上都耗费巨大,影响整个网络系统的开发进度。
(2)供应商对通讯协议理解的不一致导致开发过程中通讯软件频繁的更改。主机厂根据整车设计需求来设计通讯协议,然后零部件供应商根据协议开发通讯软件,由于对协议的理解在存在偏差,设计验证阶段可能会暴露出网络可靠性、兼容性的问题。如果问题整改次数较多或者协议不断更新,则可能在更改流程中反复的循环(环线箭头),耗费很多精力和时间。
(3)通讯测试的工作量和难度都很大。网络系统测试主要分为物理层测试、通讯测试和功能测试,其工作量比例大约为15%:35%:50%。其中通讯测试必需解决系统集成的一致性问题,而集成测试中遇到的通讯兼容性问题极难解决,特别是在项目后期,供应商对于系统集成问题的整改大都提出收费要求(因为它们单件的测试没有问题),影响项目开发成本和进度。
为了解决通讯系统集成的一致性问题,网络系统工程师在每个项目上至少要花费30%精力和时间来解决。随着控制功能复杂程度的增加,控制器数量增多,网络愈发复杂,传统设计方式越来越难以满足要求。
为了获得总线开发的关键技术,有采用直接收购国外设计公司的,有外委第三方设计公司开发的,还有采用与国外公司合作开发的。但是不管采用哪种方式都需要投入巨资,而且对于外委开发和合作开发,一般都只限于一个车型的开发,这相对对于将来的平台建设仅仅是初级阶段。特别是第三方设计公司,它们不属于主机厂,对CAN总线在整车中的应用缺乏系统和最直接的项目经验,难以开发出真正满足主机厂现状和未来实际要求的系统。
3、CAN总线系统开发的关键问题及解决方案
由于CAN总线系统开发的核心问题在于系统集成,因此如何保证集成的质量将是网络系统开发的关键,而这个关键的保证需要一套精准的协议来实现。虽然CAN2.0已经成为行业公认的准则。但这仅仅规定了物理层和数据链路层的基本要求,对于在哪些方面如何保证系统集成的质量,并没有规定。因此系统集成的实现还需要一套能用于项目开发的协议来规范,以保证系统集成不会出任何差错,所以协议设计的好坏就成了系统集成成败的关键。
目前国内有些主机厂采用了与第三方设计公司合作的方式获得了协议,但由于第三方公司自身的局限性,应用到项目开发中还可能会出现问题,要解决这些问题则需要耗费巨大的人力和时间成本。
协议设计完成后,就是在控制器开发中的实现,传统的方式是由各个零部件供应商进行通讯软硬件的设计、制作和测试,由于不同供应商的设计思路、方法和水平的不同,即使单个控制器测试完全满足要求。也不能保证集成到一起不会出现问题,因此系统集成的一致性难以保证。为了解决这个问题,CAN通讯部分的软硬件开发,都须要主机厂进行实际而有效的控制。
对于硬件,主机厂可以设计标准的电路原理图和相关器件的参数,让供应商统一按要求做,然后由主机厂搭建系统台架进行测试。而对于软件,由于不同开发人员的设计会有很大差别,无法实现直接控制,最好的办法就是主机厂具有完整的通讯软件模块,即协议栈。采用协议栈的开发方式,在设计实现的时候,根据项目需求直接调用软件组件,通过工具来实现软件的配置,然后交由供应商编译并下载到控制器中。由于整个通讯系统部分的软件开发工作量很大,而主机厂的性质决定了它不大可能(也没有必要)在短时间内自己编写一套一致性很好的软件,为此可以购买市场上成熟的通讯软件库和配置工具,通过软件配置的方式来替代自己开发。
通过软件配置的方式来实现通讯功能,不但可以取代供应商通讯部分软件的开发,节约宝贵的时间和开发成本,还可以实现对通讯软件一致性的有效控制,确保网络系统中各个控制器的兼容性和通讯的一致性,降低集成测试的难度和减少测试工作量。
对于控制器通讯部分的软件,它不但要实现通讯功能(即实现网络的启动、正常运行,失效处理和睡眠等功),还要提供功能信号的通道(这些功能信号才是实现功能控制的必要信息),而这些功能信号须要由主机厂来定义,才能在整车上规划和实现分散式控制功能。
要采用协议栈的方式实现网络通讯,主机厂需要具有完整的信号数据库,这也是实现通讯软件配置的前提条件。国外的主机厂都是通过多年的积累才建立了比较完善的数据库。而对国内自主研发的公司,数据库的创建和完善都还需要通过项目开发的实践获得,这是一项庞大的系统工程,需要根据公司的具体车型特点,未来的规划以及体系内零部件供应商的具体特点等进行创建,因此项目开发经验显得非常重要和必要。国外的主机厂都是经过传统开发方式的积累才创建了数据,国内自主研发的企业,如果要想在短时间内设计处集成性能可靠的CAN总线系统,有必要寻找开发经验丰富的总线开发系统工程师,根据公司的实际情况,利用国际上总线开发的最新成果,直接进行基于复杂网络系统要求的项目开发,以节约开发时间和成本。同时,需要根据公司的发展战略等需要,规划好平台,以最大限度的提高沿用率,节约开发成本。
综上所述,CAN总线系统开发必须解决系统集成的一致性问题,要解决该问题则须要制定一套精准的用于项目开发的通讯协议,而在控制器通讯部分的软硬件开发过程中,主机厂须要对零部件供应商有足够的控制来确保一致性,软件开发最好采用协议栈的方式实现,以避免走弯路。同时项目经验不可或缺,须要有项目经验丰富的系统工程师进行系统规划和实际项目问题的解决。否则在CAN总线系统的开发过程中将遇到很大的困难,而且对项目本身和未来的平台建设都可能会留下后遗症。