区伯肺癌病重:一位逐渐被遗忘的广州公民

前外交部副部长傅莹:一旦中美闹翻,有没有国家会站在中国一边

Weixin Official Accounts Platform

去泰国看了一场“成人秀”,画面尴尬到让人窒息.....

多年来,中国有个省,几乎每一个村庄都在偷偷“虎门销烟”

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

FlexRay测试开发实践之诊断刷写

北汇信息 张恒 北汇信息 2022-09-22


1
前言


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

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



2
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有异曲同工之处。



3
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)组成的。



4
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第一个字节的低四位用于区分流控状态:

  •     3表示CTS(ContinueToSend)

  •     4表示ACK_RET(Acknowledge/Retry)

  •     5表示WT(Wait)

  •     6表示ABT(Abort)

  •     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格式



5
FlexRay诊断刷写测试实践


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





FlexRay诊断报文示例


图9 FlexRay诊断报文示例





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


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


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


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


图13 FlexRay诊断测试报告示例



6
总结


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

 


部分图片来源于Vector


>>>>

参考文献

[1] ISO 10681-2

[2] FlexRay Communications System Protocol Specification v3.0.1



>>>>

往期精彩


北汇信息再次通过长城汽车车载以太网测试服务认证(包括原测试内容年度审核及扩项认证)
TC8新版发布在即,测试规范解读抢鲜知
TSN时间敏感网络:缘起
请听题!如何实现只用1个VN5640A搭建含2个交换机的车载以太网网络?



如需了解如上内容更多信息,

可以随时联系北汇信息!

电话:021-34716271

邮箱:marketing@polelink.com



微信ID:Polelink_Info

     北汇信息|专注电控、新能源、MES技术

长按二维码关注北汇信息



文章有问题?点此查看未经处理的缓存