Mentor Graphics的汽车电子网络开发平台
发布时间:2008/5/27 0:00:00 访问次数:469
    
    
    mentor graphics资深产品专家 董因平
    
    简介
    汽车电子朝着网络化方向发展,车载网络成为汽车电子领域的最大热点。提高控制单元间通讯可靠性和降低导线成本的网络总线技术应用成为动力所在,包括can、lin、flexrey、most、idb1394等已成为现代汽车网络总线的关键技术。但是对于汽车整车厂,can网络设计成为应用can网络通讯的关键之关键。纵观现有的设计技术,可以将其分为两类,一类是以仿真和测试为主的传统设计方法。另一类是以协议设计为主的方法。传统方法将每个节点对协议的要求拼凑起来,通过仿真测试的方法检验协议的正确性,最终得到通讯协议;volcano使用的是第二类方法,它通过系统设计技术,用理论方法对系统的时序建模,分析设计系统的通讯协议,保证系统的实时性能以及协议的正确性,最终发布正确的通讯协议。本文将介绍传统设计方法的局限性以及volcano新方法的优势。
    
    传统设计方法局限性
    但是随着车辆上电子设备逐渐增多,网络系统越来越复杂。汽车电子网络面临巨大的挑战,传统的网络协议设计技术的局限性也越来越突出,主要表现在以下三个方面:
    
    数据丢失
    所谓数据丢失是指新数据还没有来得及通过网络传输出去或超过接收节点接收时限才传输出去。数据丢失会严重影响通讯的实时性能,进而影响整车通讯的质量。实时性能好的系统应该没有数据丢失。举个实际的例子,某一款车型通 过一个按钮来控制内循环的开和闭。当驾驶员按下按钮时,结果发现内循环没有打开。行驶一段时间后,也没有感觉到内循环打开。这就是数据丢失现象,驾驶员发出了指令,但是指令却没有发送到对应的控制器上,因此功能也得不到实现。
    
    数据丢失的影响因素就是通讯协议,传统设计方法,通过仿真测试手段检测协议的正确性。其缺陷是无法覆盖所有的测试用例,因此输出的通讯协议是有潜在错误或不完整的,这样就不可避免的会产生数据丢失的情况,降低整个系统的性能。
    
    通讯延迟
    通讯延迟是指数据准备好到数据通过总线发送出去的等待时间。通讯延迟可能导致数据丢失,是传统设计方法的根本性问题。这主要是因为传统设计方法只是将各个节点对协议的要求拼凑起来,没有考虑整个系统的需求,比如发送节点发送数据到接收节点接收数据并用于控制,没有考虑实现这样一个完整功能的时间要求。因此协议设计结果难以保证实时性能,必然存在通讯的延迟。
    
    仲裁失败是产生延迟的主要原因,因此延迟与消息的id及周期有关。系统越复杂,消息之间发生竞争的可能性越大,系统的实时性能越差。
    
    为了减小延迟的影响,传统设计方法采取了两种预防措施。一种是设定时限,通过测试的方法测得消息的响应时间(即发送时间+延迟时间)最大值,然后以此为基础设定时限,超过时限接收节点将不执行控制算法。这种方法的缺点是时限与实际的最大值--即最差情形下的响应时间存在差距,因此当响应时间落在该区间时,系统将产生数据丢失。
    
    第二种方法是将总线负载限制在平均30%左右,降低消息竞争的可能性。但是对于不同的系统限定值是多少,至今没有理论的指导。设计人员只能靠经验确定,因此它也不能完全避免数据丢失。而且对于越来越复杂的系统,这种方法越来越不能满足系统设计的需要。综上所述,通讯延迟是传统设计方法的根本性问题,无法避免。
    
    协议修改困难
    修改协议在开发过程中不可避免。但是对于传统的设计方法,应用程序和通讯功能实现融合在一起,通讯协议的参数变更会导致软件的重新编译和测试,这就意味着额外的时间和成本,供应商将极不愿意整车厂修改协议。
    
    因此整车厂修改协议十分困难,即使最后实现了修改也需要很长的时间。 综上所述,传统设计方法通过拼凑的方法设计通讯协议,并试图通过仿真测试的方法测试协议的正确性。这种方法的特点是以仿真测试为主,而且不可避免数据丢失,难以保证系统的实时性能。随着ecu数量增多,通讯更复杂,传统设计技术越来越难以满足系统设计
    
    
    mentor graphics资深产品专家 董因平
    
    简介
    汽车电子朝着网络化方向发展,车载网络成为汽车电子领域的最大热点。提高控制单元间通讯可靠性和降低导线成本的网络总线技术应用成为动力所在,包括can、lin、flexrey、most、idb1394等已成为现代汽车网络总线的关键技术。但是对于汽车整车厂,can网络设计成为应用can网络通讯的关键之关键。纵观现有的设计技术,可以将其分为两类,一类是以仿真和测试为主的传统设计方法。另一类是以协议设计为主的方法。传统方法将每个节点对协议的要求拼凑起来,通过仿真测试的方法检验协议的正确性,最终得到通讯协议;volcano使用的是第二类方法,它通过系统设计技术,用理论方法对系统的时序建模,分析设计系统的通讯协议,保证系统的实时性能以及协议的正确性,最终发布正确的通讯协议。本文将介绍传统设计方法的局限性以及volcano新方法的优势。
    
    传统设计方法局限性
    但是随着车辆上电子设备逐渐增多,网络系统越来越复杂。汽车电子网络面临巨大的挑战,传统的网络协议设计技术的局限性也越来越突出,主要表现在以下三个方面:
    
    数据丢失
    所谓数据丢失是指新数据还没有来得及通过网络传输出去或超过接收节点接收时限才传输出去。数据丢失会严重影响通讯的实时性能,进而影响整车通讯的质量。实时性能好的系统应该没有数据丢失。举个实际的例子,某一款车型通 过一个按钮来控制内循环的开和闭。当驾驶员按下按钮时,结果发现内循环没有打开。行驶一段时间后,也没有感觉到内循环打开。这就是数据丢失现象,驾驶员发出了指令,但是指令却没有发送到对应的控制器上,因此功能也得不到实现。
    
    数据丢失的影响因素就是通讯协议,传统设计方法,通过仿真测试手段检测协议的正确性。其缺陷是无法覆盖所有的测试用例,因此输出的通讯协议是有潜在错误或不完整的,这样就不可避免的会产生数据丢失的情况,降低整个系统的性能。
    
    通讯延迟
    通讯延迟是指数据准备好到数据通过总线发送出去的等待时间。通讯延迟可能导致数据丢失,是传统设计方法的根本性问题。这主要是因为传统设计方法只是将各个节点对协议的要求拼凑起来,没有考虑整个系统的需求,比如发送节点发送数据到接收节点接收数据并用于控制,没有考虑实现这样一个完整功能的时间要求。因此协议设计结果难以保证实时性能,必然存在通讯的延迟。
    
    仲裁失败是产生延迟的主要原因,因此延迟与消息的id及周期有关。系统越复杂,消息之间发生竞争的可能性越大,系统的实时性能越差。
    
    为了减小延迟的影响,传统设计方法采取了两种预防措施。一种是设定时限,通过测试的方法测得消息的响应时间(即发送时间+延迟时间)最大值,然后以此为基础设定时限,超过时限接收节点将不执行控制算法。这种方法的缺点是时限与实际的最大值--即最差情形下的响应时间存在差距,因此当响应时间落在该区间时,系统将产生数据丢失。
    
    第二种方法是将总线负载限制在平均30%左右,降低消息竞争的可能性。但是对于不同的系统限定值是多少,至今没有理论的指导。设计人员只能靠经验确定,因此它也不能完全避免数据丢失。而且对于越来越复杂的系统,这种方法越来越不能满足系统设计的需要。综上所述,通讯延迟是传统设计方法的根本性问题,无法避免。
    
    协议修改困难
    修改协议在开发过程中不可避免。但是对于传统的设计方法,应用程序和通讯功能实现融合在一起,通讯协议的参数变更会导致软件的重新编译和测试,这就意味着额外的时间和成本,供应商将极不愿意整车厂修改协议。
    
    因此整车厂修改协议十分困难,即使最后实现了修改也需要很长的时间。 综上所述,传统设计方法通过拼凑的方法设计通讯协议,并试图通过仿真测试的方法测试协议的正确性。这种方法的特点是以仿真测试为主,而且不可避免数据丢失,难以保证系统的实时性能。随着ecu数量增多,通讯更复杂,传统设计技术越来越难以满足系统设计