汽车电子朝着网络化方向发展,车载网络成为汽车电子领域的最大热点。提高控制单元间通讯可靠性和降低导线成本的网络总线技术应用成为动力所在,包括CAN、LIN、FlexRey、MOST、IDB1394等已成为现代汽车网络总线的关键技术。但是对于汽车整车厂,CAN网络设计成为应用CAN网络通讯的关键之关键。纵观现有的设计技术,可以将其分为两类,一类是以仿真和测试为主的传统设计方法。另一类是以协议设计为主的方法。传统方法将每个节点对协议的要求拼凑起来,通过仿真测试的方法检验协议的正确性,最终得到通讯协议;Volcano使用的是第二类方法,它通过系统设计技术,用理论方法对系统的时序建模,分析设计系统的通讯协议,保证系统的实时性能以及协议的正确性,最终发布正确的通讯协议。本文将介绍传统设计方法的局限性以及Volcano新方法的优势。
传统设计方法局限性
但是随着车辆上电子设备逐渐增多,网络系统越来越复杂。汽车电子网络面临巨大的挑战,传统的网络协议设计技术的局限性也越来越突出,主要表现在以下三个方面:
数据丢失
所谓数据丢失是指新数据还没有来得及通过网络传输出去或超过接收节点接收时限才传输出去。数据丢失会严重影响通讯的实时性能,进而影响整车通讯的质量。实时性能好的系统应该没有数据丢失。举个实际的例子,某一款车型通 过一个按钮来控制内循环的开和闭。当驾驶员按下按钮时,结果发现内循环没有打开。行驶一段时间后,也没有感觉到内循环打开。这就是数据丢失现象,驾驶员发出了指令,但是指令却没有发送到对应的控制器上,因此功能也得不到实现。
数据丢失的影响因素就是通讯协议,传统设计方法,通过仿真测试手段检测协议的正确性。其缺陷是无法覆盖所有的测试用例,因此输出的通讯协议是有潜在错误或不完整的,这样就不可避免的会产生数据丢失的情况,降低整个系统的性能。
通讯延迟
通讯延迟是指数据准备好到数据通过总线发送出去的等待时间。通讯延迟可能导致数据丢失,是传统设计方法的根本性问题。这主要是因为传统设计方法只是将各个节点对协议的要求拼凑起来,没有考虑整个系统的需求,比如发送节点发送数据到接收节点接收数据并用于控制,没有考虑实现这样一个完整功能的时间要求。因此协议设计结果难以保证实时性能,必然存在通讯的延迟。
仲裁失败是产生延迟的主要原因,因此延迟与消息的ID及周期有关。系统越复杂,消息之间发生竞争的可能性越大,系统的实时性能越差。
为了减小延迟的影响,传统设计方法采取了两种预防措施。一种是设定时限,通过测试的方法测得消息的响应时间(即发送时间+延迟时间)最大值,然后以此为基础设定时限,超过时限接收节点将不执行控制算法。这种方法的缺点是时限与实际的最大值--即最差情形下的响应时间存在差距,因此当响应时间落在该区间时,系统将产生数据丢失。
第二种方法是将总线负载限制在平均30%左右,降低消息竞争的可能性。但是对于不同的系统限定值是多少,至今没有理论的指导。设计人员只能靠经验确定,因此它也不能完全避免数据丢失。而且对于越来越复杂的系统,这种方法越来越不能满足系统设计的需要。综上所述,通讯延迟是传统设计方法的根本性问题,无法避免。
协议修改困难
修改协议在开发过程中不可避免。但是对于传统的设计方法,应用程序和通讯功能实现融合在一起,通讯协议的参数变更会导致软件的重新编译和测试,这就意味着额外的时间和成本,供应商将极不愿意整车厂修改协议。
因此整车厂修改协议十分困难,即使最后实现了修改也需要很长的时间。 综上所述,传统设计方法通过拼凑的方法设计通讯协议,并试图通过仿真测试的方法测试协议的正确性。这种方法的特点是以仿真测试为主,而且不可避免数据丢失,难以保证系统的实时性能。随着ECU数量增多,通讯更复杂,传统设计技术越来越难以满足系统设计的需要。
Volcano技术的特点
Volcnao是适应汽车电子发展趋势的设计技术,其特点是通过系统级设 计理论和方法,保证通讯协议的准确性,避免了数据丢失,保证系统的实时性能。其特点概括起来如下:
系统级设计,避免数据丢失
Volcano采用自上而下的系统设计技术,对整个系统的架构进行设计,并进行优化。通过理论设计方法,保证通讯协议的正确性,从根本上解决数据丢失问题。
Volcano在系统设计的时候集成了系统级需求。定义功能时间为从数据产生,经过总线传送到接收节点,到接收节点将数据用于控制的完整过程所需要的时间。系统级需求是功能时间必须小于功能时间要求Max_Age.在此需求下对整个系统进行设计和优化,从根本上解决了数据丢失问题。
有效控制消息延迟
响应时间是消息准备发送到最后节点接收到数据的全部时间。它是发送时间和延迟的总和。其中延迟是影响响应时间的主要因素,控制延迟就可以有效控制响应时间。
Volclano通过对响应时间进行建模,并仔细编排消息的ID和周期以控制延迟时间、响应时间及总线负载。然后用理论方法计算出最差情形下的延迟时间,最大的响应值,以及总线负载。
由于Volcano能够计算出最大总线负载,也能有效控制系统的延迟,因此没有必要再对系统的总线负 载作任何限制,理论上可以达到100%。其优势在于保证了确定的通讯行为,可用有效的利用系统资源。
分隔应用程序和通讯协议,保证变更灵活性
Volcano为ECU通讯功能提供了标准的实现组件VTP。VTP将应用程序和通讯协议成功分隔开来,使得各自的修改互不影响,保证了协议修改的灵活性。VTP提供面向总线、应用程序和通讯协议三方面的标准接口。面向应用程序的接口是基于信号的操作,不包含通讯协议的参数。面向通讯协议的接口负责识别通讯协议。只要遵守接口标准,协议可以进行任意改变,而且不影响应用程序。
其优势在于整车厂可以很容易修改协议,不需要供应商支持,因此保证了系统变更的灵活性。
Volcano的汽车电子网络开发平台
Volcano是无缝集成的工具链,包括网络协议设计工具VNA(Volcano Network Architect),嵌入式软件包括VTP(Volcano Target Parckage)和汽车相关软件如网络管理以及测试和验证工具Tellus(图7)。
VNA实现自上而下的设计方法,实现系统自动化设计的工具,输出通讯协议规范以及系统测试规范。VTP根据通讯协议规范实现系统通讯功能,Tellus则根据VNA输出的测试规范实现对节点及系统的自动化测试。因此Volcano是涵盖系统设计、实现和测试的无缝集成的开发平台。
结束语
目前的CAN/LIN开发通过拼凑的方法设计通讯协议,因此数据丢失成为其根深蒂固的弊病。Mentor Grphics用全新的系统级设计技术对协议进行设计,集成系统级需求,通过理论设计保证协议的正确性;并在设计通讯协议的同时,可以对系统进行全局优化,保证系统实时性能,避免了数据丢失的问题。
目前Volcano在欧洲广泛应用,得到了大多数整车厂的认可。2005年上汽采用Volcano作为新车型开发平台,填补了中国整车厂无法设计整车通讯协议的空白,随着时间的推移,Volcano必将在中国市场得到进一步推广和应用。