在线工博会

基于AUTOSAR PDUs的FlexRay网络开发
为节省流量,手机版未显示文章中的图片,请点击此处浏览网页版
Audi正在他们最新的车型上应用FlexRay。FlexRay网络的开发使用与AUTOSAR完全兼容的PDU(协议数据单元)。PDU是应用程序之间交换信号的数据容器,并将应用程序和下层的通信系统解藕。Vector的CANoe作为处理PDU的总线分析和仿真工具,帮助Audi简化开发工作,使得Audi获益良多。
随着面向帧的FIBEX 2.x数据库格式的出现,需要新的描述语义来定义网络结点间的PDU通信。为了克服这个差距,Audi成功的开发出FIBEX+描述语义,而Vector能够在其工具中立即支持FIBEX+。受益于FIBEX+中的经验,Audi在ASAM(自动化和测量系统标准化组织)的FIBEX3.0标准中引入PDU。
来自Audi的持续反馈使得Vector工程师能够在工具开发的早期阶段集成入重要的PDU功能,服务包定期的发给Audi,因而可以对具有PDU通信栈的ECU进行早期测试。Audi将他们最新的FIBEX+数据库版本发给Vector,来保证CANoe的持续兼容。Audi和Vector的紧密合作,加速了工具的开发,并为基于FIBEX+和新的FIBEX3.0的FlexRay网络提供专业的分析和开放平台。
本文将介绍PDU对FlexRay开发工具CANoe的内部结构和功能的影响,以及Audi工程师如何从良好的工具支持中受益。
网络分析中的PDU层
工程师用工具来管理PDU,分析和仿真高级通信数据容器(例如,报文)所包含信号的测试。一个FlexRay帧可以包含多个PDU帧。因为帧的布局可以周期的改变,相同的PDU可以被映射到多个帧中。PDU由一个特定周期中特定槽的FlexRay帧中的位置来唯一识别。Vector在CANoe中通过PDU层来识别PDU(图1)。PDU层引入PDU对象,且它位于总线和用户接口之间。通过在CANoe中关联合适的数据库(FIBEX+或FIBEX3.0)来使能和禁止PDU层。如果PDU层被使能,则网络通信的完整的符号数据库解析(PDU名,信号,定时等)将在PDU层执行。
PDU的主要属性(由更新位定义),被从网络上帧中分离出。因而,网络上的帧可能同时包含有更新和没有更新的PDU。更新位的值可以被可视化为预定义的信号或能够被分析(例如在图形窗口中,见图2),默认情况下,对于PDU进行简单的分析和仿真;若接收到的PDU没有被更新,则被忽略。在详细分析中,未更新的PDU可以被显示并传输到仿真节点。此外,包含有Payload的FlexRay帧能够以所谓的原始帧来显示和接收。这种基于PDU的分析功能在Audi的集成测试中被大量使用。

(图片)

(图片)

网络仿真中的PDU层
尽管FlexRay协议定义了帧可以被周期的发送(甚至没有任何的更新),但是PDU没有这种属性。如果PDU没有被更新,接收者通常将不会识别PDU。为了周期的触发接收者,PDU必须周期的更新。如果需要自动的发送设置了更新位的PDU(例如,没有明显的数据更新),网络设计者可以定义这些PDU具有周期性的定时。考虑到这些原因,PDU层上方的IL层被开发以满足这些要求。作为FlexRay协议的扩展,设置了更新位的(没有被更新)PDU可以以任意的周期被循环发送。
报文计数器和校验和的检查被Audi另外定义,但是这是PDU的可选验证属性。实际上,为了简化残余总线的仿真,PDU的更新位、报文计数器和校验和,通过交互层而独立于CANoe中的应用。因而,工程师可以将注意力放在设置合适的信号值上。进一步的使用案例是为了测试ECU的反应,在残余总线仿真中注入故障。因而,CANoe中的每一个自动功能能够被禁止,并且交互层能够被用于故障注入。
和ECU通信的仿真依赖于特定事件的发生(基于事件的仿真)。最为重要的事件之一是从总线上接收到报文或信号值的改变。在这种情况下,由PDU层触发PDU接收和信号改变指示。

(图片)

性能方面
当接收到FlexRay帧时,PDU将被从帧中抽取出来,并给应用层发出指示。相同的PDU可以被包含在不同的帧中。因而,由PDU层实现PDU从帧中分离。这些过程被高度的优化。在发送PDU时,它们必须被存储在合适的帧中。PDU根据当前(周期)时间可以被放置在不同的帧中,或一组不同的PDU可以被放置于一个帧中。这导致了PDU映射到FlexRay帧中是高度的时间相关并复杂。如果这个过程不足够快,帧槽将丢失。为了获得最好的性能,Vector在FlexRay的VN系列接口卡硬件中实现那些功能。
测试基于PDU的网络
Audi和它的一级供应商也从CANoe的AUTOSAR功能中受益。这包括为了测试ECU的AUTOSAR通信栈的通信性能测试(尤其是PDU路由)。这里,能够比较真实的总线实体(原始帧)和符号解释(PDU抽象级别)是非常重要的。这帮助Audi的工程师能够在早期发现原始帧中的不正确PDU或更新位的位置。测试可以被分为两类:一类是应用层的发送行为可以使用更新过的PDU来检查;第二类是信号的完整性可以根据应用来验证。Audi的工程师已经在早期的开发过程中检测出不正确的PDU更新定时。CANoe的PDU测试功能集完全支持这些测试。此外,对于激励和响应的观察,PDU可以由信号(输入面板),更高层的协议(传输,诊断),或被残余总线仿真(CAPL,MATLAB模型等)来交互式放送(PDU面板)。
结论
基于PDU的通信,不仅仅用于转变情况下,例如从CAN转向FlexRay网络,也用于全新的FlexRay开发。Audi根据FIBEX+的经验,对FIBEX3.0的开发产生了深远的影响。Vector在FIBEX+上的经验,使得CANoe能够很快的支持FIBEX3.0。因为通信越来越复杂和广泛,合适的建模标准(例如,FIBEX3.0和/或AUTOSAR),以及专业的工具支持是高效的FlexRay开发所必须的。 3/26/2009


北京恒润科技有限公司 (点击访问)
电话:86-10-64840606
地址:北京市朝阳区安翔北里甲11号北京创业大厦B座8层


电脑版 客户端 关于我们
佳工机电网 - 机电行业首选网站