FlexRay通訊協議是一種具備故障容錯的高速汽車總線系統(tǒng),已經成熟運用在BMW X5的電控減震和主控懸吊系統(tǒng)中。這里將喝大家一起來了解FlexRay協議及對應的解碼方案。
一、FlexRay總線介紹
FlexRay是一種高速可確定性的,具備故障容錯的汽車總線系統(tǒng)。如今大多數汽車中主要是通過CAN總線進行數據交換,新的x-by-wire系統(tǒng)設計思想的出現,也導致了車輛系統(tǒng)對信息傳送速度尤其是故障容錯與時間確定性的需求不斷增加。而FlexRay通過在確定的時間槽中傳遞信息,以及在兩個通道上的故障容錯和冗余信息的傳送,滿足了這些新增加的要求。
FlexRay的拓撲結構可分為單信道和雙信道,包括單信道總線型、單信道星型、單信道混合型和雙信道可獨立選擇拓撲形式。如圖1所示為單信道總線型,圖2為雙信道拓撲形式。
圖1 單通道總線拓撲
圖2 雙通道總線拓撲
·FlexRay 在物理上通過兩條分開的總線通信,總數據速率可高達到20Mbit/秒;
·FlexRay具有可靠性特點,尤其其冗余通信能力可實現通過硬件完全復制網絡配置,并進行進度監(jiān)測;
·FlexRay可支持各種拓撲,如總線、星型和混合拓撲。
圖3 各個協議數據速率的比較
雖然FlexRay本身不能確保系統(tǒng)安全,但它可以支持以安全為導向的系統(tǒng)(如線控系統(tǒng)X-by-Wire)的設計。
圖4 FlexRay應用系統(tǒng)
二、FlexRay數據幀結構
一個數據幀由幀頭、有效數據段和幀尾三部分組成。如圖5所示:
圖5 FlexRay 數據幀
l幀頭
1、保留位(1 位),為日后的擴展做準備;
2、負載段前言指示(1 位),指明幀的負載段的向量信息;
3、空幀指示(1 位),指明負載段的數據幀是否為零;
4、同步幀指示(1 位),指明這是一個同步幀;
5、起始幀指示(1 位),指明發(fā)送幀的節(jié)點是否為啟始幀;
6、幀 ID(11 位),指明在系統(tǒng)設計過程中分配到每個節(jié)點的 ID;
7、有效數據長度(7 位),指示有效數據的的長度;
8、頭部 CRC(11 位),表明同步幀指示器和起始幀指示器的CRC計算值;
9、周期(6 位)。指明在幀傳輸時間內傳輸幀的節(jié)點的周期計數。
l有效數據部分
1、數據部分,在圖中分別以 data0、data1…表示;
2、信息ID;
3、網絡管理向量。
l幀尾部分
只含有單個的數據域,即CRC部分,包括幀頭CRC和數據幀的CRC。
四、ZLG致遠電子示波器FlexRay解碼方案
依托于ZDS4054 Plus示波器強大的運算平臺,免費標配FlexRay協議的解碼功能。既可以對512M全內存的FlexRay數據進行解碼,又可以對車輛通訊信號監(jiān)測,每一幀數據的信息均可在事件表中進行查看,如下圖6所示:
圖6 Flexray總線解碼
對長時間監(jiān)測的數據進行異常分析,可在示波器的縮放模式下使用雙ZOOM多窗口顯示的功能,對信號進行多窗口異常監(jiān)測和分析,可就某一個數據幀進行分析,也可對某一個上升沿的上升時間進行分析測量等,同時還可以實時觀測事件表中的數據變化,如下圖7所示。
圖7 Flexray細節(jié)分析