新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 如何运用Specman Elite实现汽车CAN总线的全面验证

如何运用Specman Elite实现汽车CAN总线的全面验证

作者:时间:2012-11-27来源:网络收藏
CAN是汽车产业中得到广泛应用的数据与控制通信网络,汽车环境中有许多应用要求极高的可靠性和容错能力,本文介绍如何运用 的强大功能为含有控制器局域网络或CAN接口的待测设计提供全面的验证。

当今采用HDL原始程序代码的先进验证工具广泛采纳了系统工程知识,并与代替专门测试装置的可再使用验证组件整合在一起,为设计师提供了丰富的支持能力。Cadence公司的 验证工具就是这样一款验证技术工具,它能提供可配置、可再使用和可扩展的验证组件,这些组件被称为eVC。这些组件采用高级验证语言e编写,能够产生足够多的测试激励讯号,并能对设计行为与预期结果进行检查确认。eVC可以极大地缩短验证时间和提高产品品质。具有互通性的eVC套件可以透过第三方程式或取得授权,可用来测试算法模块或总线接口等常见的电路功能。这种方法的突出优点是eVC的成熟性、可移植性和可再使用性,使eVC具有与被测IP模块设计同等的价值。

CAN是一种汽车产业中得到广泛使用的数据与控制通信网络,是一种极具强韧性的电气规范和协议,专门设计用于轿车或卡车中危险、常常无法预料的恶劣环境,而这种环境中有许多应用需要极高的可靠性和容错能力。CAN总线最初是由Robert Bosch GmbH建构的。现在的汽车设计通常包含50个以上的微处理器,每个处理器都各自负责相应的应用,如引擎管理、牵引或?车控制、安全气囊等乘客安全装置、气温控制、灯光等。这些处理器透过多级CAN总线互连和通信,接收驱动器发出的命令,并将数据发送给仪器设备。可靠性的增强、成本的降低、重量和空间的节省都源自对每个组件的简单馈电和差分CAN线对代替复杂布线机制的结果。

总线上的每个CAN组件都分配有一个软件赋值的ID。总线在逻辑上等效于线与功能,可以被任意一个试图发送数据的组件拉低。发送时脉是由发送组件产生的,因此所有接收组件必须重建时脉和数据位。组件之间传送的数据遵循标准的CAN讯框格式,其中包括目的组件ID、控制和数据讯息负荷以及CRC。最终指定的接收器将把总线拉低以确认收到一个完整的、CRC正确的讯框,然后释放总线使之回到空闲状态。每个试图发送的组件在发送之前首先要检查总线是否处于空闲状态。如果出现多个组件试图同时发送的情况,并且总线上数据出错时它们必须相互侦听,先后退一段时间然后再尝试发送。CAN的执行速度可达1Mbps,该总线简单且高效,极具强韧性,可以满足汽车工业的成本约束要求。

YOGITECH提供的CAN eVC兼容博世公司定义的v2.0A/B CAN标准,允许用户例化与待测设计(DUT)具有收发关系的不同CAN组件。

应用层测试时采用的eVC可以建构预先确定的CAN讯框数据,然后根据预先确定的响应监视特定结果。YOGITECH eVC可以建构任何类型的讯框序列。因此测试人员可以定义完整的循环,以用于所有可能应用相关总线环境下的CAN组件训练器。用户可以浏览高度仿真执行期间收集到的数据,或者仿真装置一直自由执行直到它捕捉到错误状态。CAN eVC能够在从讯框到时间量分辨率范围内的不同抽象层检查收集到的数据。 的数据浏览器提供了跨越各个抽象层的导航功能。

然而,YOGITECH的CAN eVC远不止提供功能和协议测试,它还能完全控制讯框和位时序,并仿真公共CAN总线噪音和其它干扰。在硅芯片投产之前,测试电路在这些额外条件下的响应显得特别有用,可以很快显示设计中的任何强韧性欠缺。更重要的是,这种系统知识融合进了eVC程序代码中,可以供其它设计师在后序项目中继续使用。

可以被YOGITECH eVC仿真的CAN总线活动和状态有:
  • 数据和REMOTE讯框
  • 错误的产生和处理
  • 过载的随机产生和处理
  • 多个CAN代理可以用不同行为实例化
  • 确认处理
  • 总线监视
  • DUT错误计数器追踪
  • 时脉飘移和同步
  • 发送时增加抖动
  • 噪音注入(见下文)
  • 在讯框中注入错误
  • 不良CRC
  • 远程响应的产生
  • 产生每个都含CAN复讯框的序列
  • 总线业务的覆盖
  • 透过记录和追踪机制报告总线状态
  • 数据一致性和协议时序的自动自检
  • 特殊讯框的处理,如唤醒
  • 总线仲裁,也就是多个组件发送引起的冲突

总线噪音:CAN总线仿真器建构于能够生成噪音位的更高频率仿真,因此数据样本的测试在接收端进行CAN组件应该可以解决这些类型的错误,必要的话可进行重传直至成功。同时它们在重传时不应由于故障或冗余设计造成总线阻塞,而且在硅芯片投产前必须对这些情况加以确认。

YOGITECH eVC设计人员可以确保他们的eVC能够对送往DUT和来自DUT的位时序提供严格控制,结果eVC应该可以将各种脉冲注入进DUT以验证抗噪音性能,否则很小的脉冲宽度都可能唤醒处于休眠状态的CAN组件。虽然引擎工作时能够提供足够的功率,但节省电力在汽车设计中仍占非常重要的地位。当汽车停开一周时很容易耗光电池电量,因此CAN组件设计师和测试人员应该非常小心,确保组件功耗最小化,并且不对组件作不必要的唤醒。

用于Specman Elite的YOGITECH CAN eVC能帮助设计人员对他们的系统功能进行严格建模,并预测和验证DUT的行为。最大的验证挑战之一是对CAN控制器系统侧的建模。大多数已有的CAN控制器都具有丰富的包括中断标志在内的配置和状态位,因此很难预测组件的行为。此时必须采用精确的参考模型才能完成组件周期的完整测试。因此eVC需要提供诸如事件和状态标志之类的大量建模行为,并提供全面的总线状态报告以及DUT正确仲裁、确认和报告错误的能力。

此外,使用Specman Elite扩展性能可以使eVC很容易满足用户特殊的验证需求。在可维护方面,这些扩展特性不具有扩散性,因此能够确保eVC的作业稳定性始终不受影响。

这些性能使得采用Specman Elite的eVC进行建模和验证的能力比传统的C语言模型强很多。

汽车系统验证小组可以采用这些技术在实际环境中开发和除错CAN总线作业的模型,并透过再使用eVC在各项目间分享这些经验。在CAN总线受到高压电线产生的干扰时,引擎管理系统必须不发生故障,因此在引擎管理系统的开发中这种能力是无价的。即使这种问题在现场还是出现了,这些问题也很容易得到建模,并被增加进eVC仿真,这样可确保不发生同样的错误。涉及到乘客安全、气囊等更重要的问题,经验显示:如果现场没有发现的潜在设计缺陷就可能需要付出数百万的代价!这就是目前汽车工业有必要进行严格验证的严峻形势。

另外一个重要功能是方便重新设计,这是因为现场发现问题时需要在设计实验室进行建模。这种故障情形通常很难用标准测试平台或C模型进行再现,因为它们包含复杂的极端案例。

通常来自现场的报告只提供了故障的粗略描述,设计小组需要用很大的精力并在新技术帮助下才能确定根本原因。透过使用Specman Elite和YOGITECK eVC,设计师可以快速扩展明确的仿真领域,从而能够完整检查和理解像所有CAN组件同时存取总线时造成总线不明原因死锁之类条件下的行为。

最后,针对CAN协议各个方面的整合,功能覆盖定义提供了实际验证状态的详细报告。根据Specman Elite的功能覆盖引擎,设计人员能够清晰地了解验证工作已经完成了多少,协议的哪些方面功能还需要测试。为了分析组件的品质和当前验证状态,eVC的这种功能覆盖性能甚至可以被整合进已有的测试平台中。

传统CAN存在的问题之一是延迟,这是因为如果总线已经处于忙状态,那么组件在发送之前会产生不可预测的时延。业界已开发出一种被称为时间触发的CAN或TTCAN的新型总线,这种总线的频宽是预先在时分再使用时隙内给组件分配好的。YOGITECH将很快推出适合这种类型总线的eVC。

现代汽车将透过使用更多的整合复杂度更高的电子组件提供更好的舒适性、成本效益和功能。在各种汽车模型间整合所有这些系统将导致成百个CAN组件的组合。为了确保消费者享受完美的系统,很有必要采用最佳验证工具,而Cadence的Specman Elite工具正是其中之一。



评论


相关推荐

技术专区

关闭