汽车网络" title="汽车网络">汽车网络的作用已从过去的降低布线成本和减轻重量,向从根本上支持最新汽车功能的实现方面转变。当今的车内分布式系统已有80多个由多种不同网络连接起来的电子控制单元" title="电子控制单元">电子控制单元(ECU" title="ECU">ECU)。在“复用”(正如网络时常被比称的)初期引入的许多低效做法仍普遍存在。当今的挑战在呼唤新的解决方法。
业内专家表示,在可预见的将来,汽车上90%的创新将通过电子汽车架构实现。网络是汽车电子工程架构的一个主要建构元素,因此应该予以足够重视。复杂的分布式功能的成功实现依赖可靠的网络。网络配置(以成为一个共享资源)的确提出了一个必须在系统级才能解决的严峻挑战。
网络设计挑战
十几年以来,汽车内复用网络的设计一直延续自下而上的工程实现方法,鲜有例外。该方法专注于直接相关的ECU之间的协议“资讯”,而把总线上随机交互行为的影响交由测试解决。“先建构再测试”一直是主导性做法。在汽车项目开发后期发现的错误是昂贵的,而且改正起来风险很大,因为它存在引入第二级错误的高风险性。
当今的网络设计实践常常意味着,先实现设计而后再验证。这与业界在任何其它技术领域的做法(即先验证、再实现)都不同。
时域的可预测性是实现可靠性和效率目标的关键因素。时序要求描述一个功能正确时必须产生的行为。时序行为决定系统将要做什么,换句话说,它表达了系统行为的一种模式。时序要求很关键,它代表著设计要求以及测试的目标。如图1中所示,时序模型可用于描述整条时序链上端至端的不同元素。
时序分析可被施加于时序行为,以产生可与时序要求比对的结果。已知的时序要求和时序行为都是时序分析的基本前提。
作为一个范例,我们应当更仔细地考察一个已经过实际生产验证的方法学和工具,即Vehicle Network Architect(VNA)。
Vehicle Network Architect
实现正确时序模型的工具可以最简单的方式执行人工创建的通信矩阵的分析,以计算在总线上发送的信息的最大时延,并检查它是否在最低要求之内,该最低要求可从汽车功能的端至端时序要求中推导出来。有趣的是,在更高端的应用场合,这样一种工具可根据输入文件声明的要求执行完整的簇综合和网关配置。该模式提供全自动的帧创建、信号打包和进度表生成。
为了能对设计师有实际帮助作用,这样一种工具必须能够处理车内所用的全部协议,并确保透明的信号传输和保证的通过网关及多个不同总线的端至端时延。
当今汽车电子工程系统中占主导地位的网络方案是控制器局域网(CAN)和本地互连网(LIN)。为满足对安全有极高要求的应用对更高带宽的要求,业界启动了FlexRay的开发。在可预见的未来,这些协议将共存于车中。这是因为,每个协议都有特定的应用领域,而且它是该领域成本最优的解决方案。
系统级设计
系统级设计(SLD)常被称为电子设计自动化(EDA)的下一个前沿,业界期望它能给汽车行业带来实质性的生产力和效率的提高。基于SLD方法开发出来的解决方案是正确的和经过优化的,它不再是一种需要对由不同档次和多个供应商组成的供应链提供的器件进行冗长集成测试的候选方案。
不借助先进工具,就无法实现这一过程。以每家主要OEM采用不同专有解决方案为特征的细分市场在以前不太适合部署这种产品。为了发挥 SLD的潜能,并把对EDA行业的关注引导到汽车应用,需要一个范式转移(paradigm shift)。
AUTOSAR
汽车开放系统架构(AUTOSAR" title="AUTOSAR">AUTOSAR)是一个新兴的汽车软件架构标准。在定义一个带指定功能和接口的多层软件架构、以及描述配置数据的文件格式方面,业界已做了许多工作。一个详尽的元模型(metamodel)为它提供了很好的补充,从而为创新性SLD工具的问世铺平了道路。
VNA回顾
VNA是基于整体概念构建的,它为车内分布式实时网络定义了一个独立于协议的设计方法学。该概念处理技术和非技术实体(即:在开发阶段把责任分配给完善定义的角色)。愿景是“保证设计正确性”。大多数与系统相关的问题可在项目早期被确认和解决。该概念以可保证的信息时延以及基于信号的发布/订阅通信模式这两点为根基。它通过隐藏网络和协议细节提供了抽象,从而允许开发者工作在以信号、功能和相关时序信息为素材的应用环境中。
VNA是为支持这样一个开发流程设计的:它以严格的系统工程原则为基础、以解读需求为肇始、然后使用户参与各个阶段、最后以实现一个具有完全可预见时序行为的高度优化的设计为目标。明确区分角色、分派任务是该工具背后理念的一部分(图3)。
确切定义网络需要大量信息。为支持数据输入,VNA采用基于XML的格式、提供对来自第三方工具的自动输入,它是借助GUI的人工数据输入的一种替代。一个内置的多层一致性校验器对全部数据进行校验。
VNA内的工作流程确保所有与网络相关的信息都被收集到。将首先创制全局目标,然后它们在几个项目内被重复使用。VNA用户与诸如信号/节点/接口等目标类型打交道。用这些目标构建汽车所用的网络。信号由名称和类型定义,还可附加逻辑或物理编码信息。对接口的详尽硬件要求进行定义,从而描述出网络的实际节点。对每个节点,都对接收和发射信号进行定义并提供信号的时序要求。该信息是为“全局使用”的,它遍历不同的车型和平台等。当所用全局数据都被采集到后,则通过期望的配置把接口连接起来,网络就这样被设计出来了。
VNA具有很强的项目和衍生项目处理能力。不同配置可选择性使用或适应全局目标,例如:可把高端特性从一款低端车型中剥离出来。这意味着具有版本和变异处理能力的VNA可管理多个配置、设计和发布。
所有数据目标,无论是全局的还是针对配置的,都存储在一个公共数据库中。所有复杂、费时的VNA操作都倾向于在数据库的本地RAM镜像内完成以缩短响应时间。
VNA工具内置了丰富的一致性检查功能。可根据需要启动一致性检查,它通常连续对用户输入进行查验、当发现错误时立即报警。一致性检查确保网络设计遵循全部预先定义的规则。
时序分析/框架编译
为在VNA内进行时序分析的开发和定义进行了许多努力。针对CAN进行的时序分析构建在称为截至期限单调分析(DMA)的进度模型上,并对在总线上发送的一组规定帧的每一帧都进行最坏情况时延计算。该功能的一部分业已被设计进一致性检查算法内,但VNA工具的真实效能在帧打包/帧编译功能中得以充分体现。
帧打包/帧编译试图把信号以最适当的方式分成帧,而不是为每一帧计算合适的ID,从而确保在流程早期采集到的全部时序要求尽可能被满足(一些要求可能代表不可预见的情况)。把多个信号自动分组成帧的作法使数据总线的效率更高,因它分摊了一些涉及到协议的开销,从而降低了总线负载(图4)。除带宽方面的好处外,多信号/每帧和完美的滤波减少了ECU内CPU的中断干预和工作量。为处理不可配置的留存(carry-over)节点,可将其附带的帧定义为“固定”。若需要,还可进行人工帧分组。
网关
一个网络一般包含采用不同协议的多个网络部分。信号可能通过网关节点从一部分传送到另一部分。数据的网关流布(即使穿越多个协议)是由VNA自动配置的。处理一个或多个网关的时序要求也都由VNA完成。这一解决方案不需任何特殊的网关硬件。
VNA输出
VNA自动生成表述整个网络的一系列配置文件,以及系统内针对每个节点的专门配置数据。利用可配置节点使系统很灵活,因该概念把依赖应用和依赖网络的信息分割开。系统集成商对网络的改变可容易地施加于汽车且无需非要为ECU重新编译应用软件。用于控制第三方分析和测量工具的各种文件可作为选项生成。
VNA工具使OEM可容易地与其客户分享数据,对FIBEX和XML等标准的支持进一步简化了信息共享并为配置第三方通信层打下基础。
本文小结
坚持用自动化工具实现确定性调度明显提升了可靠性和效能,并使网络设计变成一种可重复的流程。因网络正确性由设计把关,所以剩下的唯一需验证的工作是对实现正确性本身的验证。