前言

FlexRay总线目前主要应用在高端品牌车型(如宝马、奔驰、奥迪、沃尔沃、捷豹路虎、凯迪拉克等),在以太网技术没有成熟之前,也有部分OEM将其作为主干网应用。

相对于传统的CAN测试,FlexRay测试有哪些特点呢?本期我们将主要介绍FlexRay相关协议,并分享FlexRay诊断刷写测试实践经验。

FlexRay简介

FlexRay的出现始于二十世纪九十年代末,BMW和Daimler Chrysler开始着手进行FlexRay的研究,其初始目标是为了实现线控等应用。2000年成立了FlexRay联盟,2005年发布FlexRay V2.1规范。2006年,FlexRay首次应用于量产车——用在BMW X5的悬架系统中。FlexRay总线具有以下技术特点:

• 时间确定性
FlexRay静态段采用基于时间触发的媒体访问策略,保证了消息传输的时间确定性。

• 容错性
FlexRay支持单通道和双通道的容错通信,使得当一个通道出现故障无法进行通信时,另一个通道上的数据可以保证系统的正常运行。

• 灵活性
FlexRay通信周期分为静态段和动态段,将基于时间触发和基于事件触发两种媒体访问方式相结合。

• 高带宽(相对于CAN/CAN FD)
FlexRay支持两个通道同时进行数据传输,每个通道的带宽最高可达10Mbit/s。

另外,大家可以留意下近期新的以太网通信技术10Base-T1,其相关的通信技术与FlexRay有异曲同工之处。

FlexRay通信协议

FlexRay拓扑结构

FlexRay有两个通道,即通道A和通道B,支持多种网络拓扑结构,可配置成:

• 单通道或双通道总线网络
• 单通道或双通道星型网络
• 总线型和星型的混合型网络

图1 双通道总线型拓扑结构

FlexRay帧格式

FlexRay数据帧由帧头、有效负载数据段和帧尾三部分构成。

图2 FlexRay帧格式

FlexRay媒体访问控制(MAC)

FlexRay媒体访问控制(MAC)是基于循环的通信周期来实现的,在一个通信周期中,FlexRay协议提供两种MAC:

• 静态段基于时分多址TDMA(time division multiple access)的访问机制

• 动态段基于最小时隙的访问机制,也称灵活的时分多址FTDMA(flexible time division multiple access)

通信周期是 FlexRay 媒体访问控制的基本要素,协议是通过时间分层的方法来定义通信周期的。

图3 通信周期的时间分层

1.通信周期层

一个通信周期包括静态段、动态段、符号窗口和网络空闲时间四个部分。

• 静态段采用TDMA机制进行数据传输
• 动态段采用FTDMA机制进行数据传输
• 符号窗口主要用来发送特征符号
• 网络空闲时间在一个通信周期的末尾,主要用来进行时钟同步

2.仲裁网格层

在仲裁网格层中,静态段是由若干个等长的静态时隙(static slot)组成的,动态段是由若干个等长的最小时隙(minislot)组成的。

3.最大时间节拍层

不同数目的最大时间节拍(macrotick)分别构成了静态时隙、最小时隙、符号窗口及网络空闲时间部分,所以整个通信周期是由若干最大时间节拍组成的。

4.最小时间节拍层

一个最大时间节拍是由若干个最小时间节拍(microtick)组成的。

FlexRay传输层协议

ISO 10681-2规定了FlexRay网络层和传输层协议(本文不做区分,统称传输层协议),相对于CAN传输层协议,FlexRay传输层协议具有如下不同点:

协议功能

• 支持无ACK应答和有ACK应答(带消息重传机制)的数据传输

• 支持已知消息长度和未知消息长度的数据传输

图4-1无ACK应答报文传输

图4-2 有ACK应答报文传输

传输层C_PDU类型与PCI字节

图5 C_PDU类型与PCI字节

  • 起始帧
    分为无ACK的STFU和有ACK的STFA两种,通过PCI第一个字节的低4位来区分两者,FPL表示该帧传输的有效净荷长度,ML表示数据传输的总长度。

  • 连续帧
    一般情况下使用CF1,如果有消息重传时,需要CF1和CF2之间进行切换。当发送buffer和接收buffer受限时,每个block的传输会以CF_EOB(End Of Block)结束,用于请求接收端给出下一个流控应答。

图6 Num Bytes of Block与BufferSize(BfS)

• 流控帧

PCI第一个字节的低四位用于区分流控状态:

o 3表示CTS(ContinueToSend)
o 4表示ACK_RET(Acknowledge/Retry)
o 5表示WT(Wait)
o 6表示ABT(Abort)
o 7表示OVFLW(Overflow)

• 尾帧
与CAN 传输层协议不同,FlexRay在分段传输时必须以LF结束。

接收节点的接收性能参数

• CAN: 传输层协议通过BlockSize (BS)和SeparationTime (STmin)来体现,FlexRay是通过BufferSize (BfS)和Bandwidth Control (BC)来体现的
• BfS:表示接收节点当前可接收的最大buffer
• BC:包含两个参数,separation cycle exponent (SCexp)和maximum number of PDUs per cycle (MNPC)

传输层C_PDU与链路层L_PDU的映射

图7 C_PDU格式

图8 L_PDU格式

FlexRay诊断刷写测试实践

FFlexRay诊断相关的测试相对CAN/CAN FD而言,其测试规范的制定及测试脚本的开发相对更为复杂,如下为北汇信息基于Vector公司的CANoe及部分自定义函数在项目中实现了FlexRay诊断刷写测试的示例。

FlexRay诊断报文示例

图9 FlexRay诊断报文示例

FlexRay诊断测试开发

采用CANoe的CAPL脚本及部分自定义函数实现了诊断通信、诊断服务和诊断刷写的自动化测试。

图10 FlexRay诊断通信部分测试项示例

图11 FlexRay诊断服务部分测试项示例

图12 FlexRay诊断刷写部分测试项示例

图13 FlexRay诊断测试报告示例

总结

北汇信息多年来一直专注于汽车电子测试,在网络测试、诊断测试以及功能测试等领域积累了丰富的实践经验。目前,我们已实现了CAN、CAN FD、LIN、FlexRay和Ethernet的诊断及刷写测试,欢迎感兴趣的客户朋友与我们探讨交流~

部分图片来源于Vector

参考文献

[1] ISO 10681-2
[2] FlexRay Communications System Protocol Specification v3.0.1


喜欢此篇文章的话欢迎一键三联支持小编吧~!

更多相关资讯及业务介绍,欢迎访问上海北汇信息官方网站:上海北汇信息科技有限公司

更多技术干货,行业前沿动态,请关注上海北汇信息官方公众号:

联系方式:

电话:021-34716271

邮箱:info@polelink.com

北汇信息成立于2010年,是一家技术驱动的创新型服务企业。北汇信息始终专注于汽车电子领域的新技术和新产品,为整车厂和零部件企业提供完整的研发、测试解决方案。从测试工具、专用测试设备、完整测试方案到实车测试服务,我们与我们的客户一起努力,让中国的汽车变得越来越安全、越来越舒适、越来越智能。

FlexRay测试开发实践之诊断刷写相关推荐

  1. 测试开发实践系列:为满足OTA及”大数据”更新的并行刷写和队列刷写分析

    随着车载以太网总线技术在车内广泛地应用,车辆网络架构也在逐渐发生变化,传统的分布式架构正在逐渐被域/区域控制器架构所取代.主干网通信带宽的大幅度提升,为新的软件更新方式提供了基础条件.车辆智能化.个性 ...

  2. 大数据上传-GB/T 32960测试开发实践

    文章目录 前言 GB/T 32960介绍 GB/T 32960测试开发 总结 参考文献 前言 数据时代,数据为王.车辆网联化为汽车数据时代提供技术支撑,更多的数据可被收集,但是哪些数据需要被收集,又如 ...

  3. 测试开发实践:网关路由功能及测试

    1.前言 当前,车内通信技术越来越负责,协议类型更加多样,不同总线及协议间的转换和路由等也更为复杂,网关作为通信枢纽的载体,其测试的复杂程度和重要性也越来越高.本文将分享网关路由测试开发过程中的经验和 ...

  4. AUTOSAR PN网络管理测试开发实践

    背景介绍 提起"匮电"二字,做测试的老司机定会虎躯一震,而根据过往经验,"网络管理"常是引起匮电的"钉子户",所以针对网络管理的验证是测试的 ...

  5. “汽车人”眼中的网络安全---关于AUTOSAR E2E及测试开发实践

    1.前言 上篇文章"聊聊网络安全的5W1H"对网络安全知识体系和技术脉络做了深入浅出的介绍,提到AUTOSAR所定义的网络和通信安全相关的技术,本期我们将介绍其中的E2E策略(严格 ...

  6. DDS协议解读及测试开发实践

    DDS概述 DDS是OMG在2004年发布的中间件协议和应用程序接口(API)标准,它为分布式系统提供了低延迟.高可靠性.可扩展的通信架构标准.DDS目前在工业.医疗.交通.能源.国防领域都有广泛的应 ...

  7. 分享实录 | 单人开发场景下的测试环境实践

    在软件研发过程中,"测试环境"是部署最频繁.也是开发者使用最频繁的一种运行环境,稳定而易用的测试环境能够极大提高开发者的工作效率和幸福感.为更好的将阿里巴巴在测试环境管理方面的实践 ...

  8. 单人开发场景下的测试环境实践

    在软件研发过程中,"测试环境"是部署最频繁.也是开发者使用最频繁的一种运行环境,稳定而易用的测试环境能够极大提高开发者的工作效率和幸福感.为更好的将阿里巴巴在测试环境管理方面的实践 ...

  9. 软件测试 | 测试开发 | Dubbo 接口测试原理及多种方法实践总结

    本文为霍格沃兹测试学院优秀学员学习笔记,Java 中高级测试开发名企定向 进阶学习文末加群. 1.什么是 Dubbo? Dubbo 最开始是应用于淘宝网,由阿里巴巴开源的一款优秀的高性能服务框架,由 ...

最新文章

  1. SAP MM 物料成本价格修改历史的查询
  2. C 中 static 的常见作用
  3. 产品经理日常数据分析工作
  4. 使用wowza和xuggler将RTMP转换为RTSP
  5. LaTeX表格字太贴近上面表线
  6. Exchanger及其用法
  7. 查看mysql表的数据和结构
  8. 面向对象的软件开发方法简介
  9. 智能物流给力零售业跨越式发展
  10. php配合jade使用,详解基于模板引擎Jade的应用
  11. kernel or user oops信息定位步骤
  12. Atitit Cookie安全法 目录 1. cookie分为 会话cookie 和 持久cookie , 1 1.1. 安全措施 1 1.2. 3. cookie的同源策略 2 1.3. 安全类库
  13. 怎么测试dpi测试软件,如何测试鼠标DPI?
  14. 高项、高级项目管理师论文-整体管理
  15. zebradesginer zpl代码_斑马打印机连三菱PLC与VB.NET
  16. Netty实现自定义协议和源码分析
  17. 软件测试带宽低,性能测试分析之带宽瓶颈的疑惑
  18. 【概率论】6-4:分布连续性修正(The Correction for Continuity)
  19. JS中click事件
  20. 安卓手机如何投屏到电视上_手机如何投屏到电视上?小屏秒变大屏,追剧更享受!...

热门文章

  1. 山下英子与家政学员亲密接触 深度解读断舍离生活美学
  2. 微信小程序获取用户真实信息
  3. Android P版本应用兼容性适配技术指导
  4. 建模添加原子时出现以下错误
  5. FFMPEG 压缩视频文件
  6. 【转载】HTML5新特性浅谈
  7. 2016京东校园招聘在线笔试回忆版
  8. Hive return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask一种解决办法
  9. 牛客网——求最小公倍数
  10. 虹科教您 | KPA Automation softPLC入门操作指南(1)