在线工博会

分析和仿真FlexRay总线的高性能硬件接口
为节省流量,手机版未显示文章中的图片,请点击此处浏览网页版
在汽车电子开发的各个阶段中,当需要得知总线上通信行为的时候,各种标准的PC接口工具是必不可少的。在第一辆带FlexRay总线的量产车开发中,OEM和供应商们都面临着前所未有的挑战。与CAN总线相比,为了达到各种状况下的可靠操作以及充分发掘仿真和分析软件的潜能,拥有高性能的FlexRay硬件接口是先决条件。

(图片)

各种各样的FlexRay开发和测试任务需要PC机和笔记本(图1)的硬件接口。在这两种情况下,硬件接口必须满足仿真、分析、标定和测试的特殊需求。例如,ECU的控制器可以识别何时发生了错误,但是它不能提供任何关于出错原因的信息。对于一次合格的分析来说,开发者不仅需要FlexRay报文和信号,还需要精确的时戳,全面的信息和总线接口上所有状态的详细记录。相比于以前的汽车总线,FlexRay总线对接口硬件技术上的要求更高。因为,FlexRay总线的运行不是基于事件的,而是基于时间触发的,必须要同步所有的总线节点。发送时间必须由TDMA(时分多址)总线仲裁方式精确决定。

(图片)

满足各种需求的FlexRay接口硬件

新一代的FlexRay接口硬件为实际开发中出现的所有情况提供了合理的解决方法。尤其值得一提的是,在它们的开发过程中的一个重点就是:保证它们后续的使用。例如,通过利用FPGA技术使得用户可以通过更新驱动来满足新的FlexRay标准。
一方面,Vector的FlexRay接口卡完全符合FlexRay标准;另一方面,通过附加FPGA逻辑,它们能够完成记录2个FlexRay通道的所有总线信息。核心器件包括带8M字节RAM的Intel PXA270微控制器,Bosch E-Ray和Fujitsu MB88121B FlexRay通信控制器。插入式的电气隔离的总线收发器,使得用户可以根据以后的需求来灵活的访问物理总线。
为分析而进行优化
总体而言,为了最好的和CANoe/CANalyzer(仿真分析工具)以及CANape(测量和标定工具)(图2)联合使用,Vector对FlexRay接口硬件进行了优化。接口硬件不仅仅识别总线上所有的活动,且根据需要对其进行缓冲;并且它们可以将所有的信息传递到主机。不同于ECU中的控制器, FlexRay接口硬件中的控制器主接口用来记录所有的数据:无效帧、错误帧和符号,包括对应的时钟,并将它们传到软件工具中。这是供开发者来分析和解析总线数据,并找到错误根源的唯一方法。如果FlexRay的同步没有建立起来或没有可用的带有TMDA参数的FIBEX数据库,未同步的总线分析仍是可行的,但只可能跟踪事件并在读操作下记录它们。在这种模式下,仍然可以观察FlexRay网络的启动过程。测量和标定工具CANape使得开发者可以通过标准的XCP on FlexRay协议来访问ECU内部参数。在这种情况下,如果总线通信被中断,FlexRay硬件支持FlexRay接口的重同步。
满足所有仿真需求的发送能力
PC上ECU的仿真的要求很高。例如,CANoe仿真模式比分析模式对系统的要求高很多。因为在一个足够快的电脑上,多个ECU可以被仿真,考虑到时序上的要求,接口必须能够处理更高的数据量。10个或10个以上的ECU并行仿真是完全可能的。值得一提的是,只需要使用新的FlexRay接口中的一个就可以达到这个目标。通过将TX缓冲区扩展到2M字节,它能够存储多于1000个独立的发送报文来达到这个性能。
CANoe的RT平台尤其适合于具有实时要求的小型或中型项目,例如硬件在环仿真。它将可视化和控制功能从实时仿真中隔离出来。仿真在一个独立的具有Windows XP Embedded操作系统的计算机上运行,从而保证了可靠的更新发送的时刻。适用于这种计算机的硬件接口是:快速PCI接口,例如VN3300(图3)。
为了达到应用程序的最小的响应时间和确定性时序行为,超短的延时是绝对必要的。除了应用程序计算上的所需的时间,在不同的层上进行传输也需要时间。为了在这种情况下达到超低的PC负载率,在FlexRay硬件中实现了DMA(直接内存访问)功能。使用DMA,可以达到高速发送数据并且减轻主处理器的负担,使得处理器可以有更多的时间去进行计算。最短的延时时间是依赖于系统的:PCI接口卡可以达到最小的延时时间。

(图片)

为开发者每天的工作提供智能的辅助功能
经验和客户在各种FlexRay项目上的需求激励着Vector的开发人员在FlexRay的接口卡中集成一些其他重要的功能:PDU的硬件支持,自动递增的报文计数器,非激活ECU 的仿真,组更新和自动总线启动能力。为了将传输层从应用程序中分离出来,最近引入了FlexRay网络PDU来代替用相关总线数据容器来直接工作。在这种情况下,需要为每一个PDU使用额外的信息,来指示当前周期以及内容是否有效。
PDU的概念增强了应用软件的灵活性并使其易于重复使用。但是,它的缺点是:为了生成和译码FlexRay帧,需要更多的努力(消耗)。强大的FlexRay接口卡通过硬件来将PDU并入和抽取出帧,弥补了这个缺点。

(图片)

FlexRay硬件接口中采用了基于硬件的方式来仿真可靠的发送者心跳。那是因为,如果在基于软件的仿真中不能保证这个(心跳)的产生,接收者可能不接收信号或者甚至将自身管关闭。智能的硬件通过重复的发送计数值递增的原(老)信号,来阻止这种情况的发生。因此,能够可靠的发出发送设备仍然“活着”的信号。
尽管使用者在开始阶段没有定义非激活ECU,但它们的仿真仍然能够使能,并在以后对要发送的帧进行删减和补充。总线收发器可以被切换到不活动状态(睡眠模式),然而,在此之后,唤醒模式仍然被检测,总线收发器也能够有效的执行唤醒。
如果属于一起的数据不能被放在一个FlexRay的时隙中,则可能会出现问题:有可能不能在相同周期的2个帧中发送一致的数据。可以通过组更新来消除这个隐患,此时相关的帧总是被一起发送。为了启动FlexRay网络,必须具有至少2个可以执行启动的ECU。某些ECU是不具备启动能力;它们总是在外部的成功启动后加入总线上通信。如果网上只有此类的用来测量或仿真的设备,那么会因为缺乏有启动能力的节点导致总线系统不能被启动。因此,第二个通信控制器或启动控制器已被集成到所有的FlexRay接口卡中。

(图片)

使用硬件和专用的应用软件接口
Vector的新一代FlexRay接口卡为大多数主流的PC平台和接口类型提供了高性能的硬件解决方案。这些接口卡根据仿真、分析、标定和测试(图4)的需求进行了剪裁。USB接口卡VN3600和VN7600主要应用在移动领域。它们非常适合于分析和简单的仿真,而VN3300 PCI接口卡用于复杂的仿真,它包含多个ECU并有实时的限制。现在,FlexRay总线主要和CAN总线一起使用。VN7600 FlexRay/CAN接口卡具有2个FlexRay通道和3个CAN通道,能很好的满足应用要求。FlexRay/CAN应用软件的开发者可以使用一个接口卡来同时访问不同的总线系统。FlexRay和CAN的联合解决方案,使用高精度的时戳和共同的时基简化了不同总线系统的同步。在这个方面,相比于多个独立的模块的解决方案,可以得到更好的品质(因为USB接口总会存在延迟)。
基本功能的可编程库同FlexRay硬件一起提供。这样,专用的应用软件就可以访问Vector的FlexRay硬件。对应于扩展功能,Vector提供高级FlexRay驱动库。开发者可以使用这个库来访问接口卡的扩展功能,例如,第二个通信控制器,扩展的发送缓冲和自动负荷增加。
总结
FlexRay比CAN或LIN网络,具有更多的硬件和软件的要求。例如,它的时间触发发送方法和更高的传输速率。这里,硬件的时序行为对其提供的软件服务的质量有决定性的影响。通过硬件来实现软件的功能来大幅提高性能。
在FlexRay网络领域,Vector提供了通用的工具链,组件式的软件模块,接口卡硬件,为项目提供支持和培训。作为FlexRay协会的高级会员,Vector保证了在工具的开发和硬件接口卡的开发过程中考虑到高级的开发和最新的协议规范。

(图片)

3/26/2009


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


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