FlexRay汽车通信总线介绍及测试环境
FlexRay汽車通信總線介紹及測試環境
原文鏈接:http://www.ulantec.cn/a/xinwen/xingyezixun/8.html
綜述
FlexRay通信總線是由多個汽車制造商和領先的供應商共同開發的確定性、容錯和高速總線系統。 FlexRay滿足了線控應用(即線控驅動、線控轉向、線控制動等)的容錯性和時間確定性的性能要求,本文介紹FlexRay的基礎知識。
為了使汽車繼續提高安全性、提升性能、減少環境影響并增強舒適性,必須提高汽車電子控制單元(ECU)之間傳送數據的速度、數量和可靠性。先進的控制和安全系統(結合了多個傳感器、執行器和電子控制單元)開始要求同步功能和傳輸性能超過現有標準的控制器局域網(CAN)所能提供的性能。隨著帶寬需求的增長和各種先進功能的實現,汽車工程師急需下一代嵌入式網絡。經過OEM廠商、工具供應商和最終用戶的多年合作,FlexRay標準已經成為車載通信總線,以應對下一代車輛中的這些新的挑戰。
FlexRay還能夠提供很多CAN網絡不具有的可靠性特點,尤其是FlexRay具備的冗余通信能力可實現通過硬件完全復制網絡配置,雙通道冗余進行數據通信。FlexRay同時提供靈活的配置,可支持各種拓撲,如總線、星型和混合拓撲。設計人員可以通過結合兩種或兩種以上的該類型拓撲來配置分布式系統。
了解FlexRay的工作原理對工程師在車輛設計和生產過程的各個方面都至關重要。 本文將解釋FlexRay的核心概念。
FlexRay基礎
FlexRay的許多方面旨在降低成本,同時在惡劣的環境中提供最佳性能。 FlexRay使用非屏蔽雙絞線電纜將節點連接在一起,FlexRay總線可以由一對或兩對電纜組成的單通道和雙通道組成。每對線纜上的差分信號減少了外部噪聲對網絡的影響,而無需昂貴的屏蔽層。大多數FlexRay節點通常還具有可用于收發器和微處理器的電源線和地線。
雙通道配置可提高容錯能力或增加帶寬。大多數第一代FlexRay網絡僅利用一個信道來降低布線成本,但是隨著應用程序對復雜性和安全性要求的提高,未來的網絡將同時使用這兩個信道。
FlexRay總線要求信號線兩邊端接電阻,僅多分支總線上的末端節點需要端接,端接太多或太少都會破壞FlexRay網絡。盡管特定的網絡實現有所不同,但典型的FlexRay網絡的電纜阻抗在80到110歐姆之間,并且端節點端接以匹配該阻抗。將FlexRay節點連接到測試裝置時,終端電阻是造成網絡通訊失敗的最常見原因之一。基于PC的現代FlexRay接口可能包含板上端接電阻器,以簡化布線。
FlexRay拓撲和布局
FlexRay,CAN和LIN與更傳統的網絡(如以太網)的區別之一是其拓撲結構或網絡布局。 FlexRay支持簡單的多點無源連接以及更復雜的有源星形連接。 根據車輛的布局和FlexRay的使用水平,選擇正確的拓撲有助于設計人員針對給定的設計優化成本、性能和可靠性。
總線型網絡
FlexRay通常用于簡單的多點總線拓撲結構中,該拓撲結構具有將多個ECU連接在一起的單根網絡電纜。 這是CAN和LIN使用的相同拓撲,并且是OEM熟悉的拓撲,使其成為第一代FlexRay車輛中流行的拓撲。每個ECU可以“分支”到離總線核心“主干”很小的距離。 網絡的末端安裝了終端電阻,可消除信號反射問題。 由于FlexRay在高頻率下運行,與CAN的1 Mbit相比,高達10 Mbit / s,因此FlexRay設計人員要非常小心地正確端接和布置網絡,以避免信號完整性問題。 多點總線形式也非常適合通常具有相似布局類型的車輛線束,從而簡化了安裝并減少了整車的布線。
星型網絡
FlexRay標準還支持星型網絡的配置,該配置由連接到中央活動節點的各個鏈接組成。 該節點在功能上類似于PC以太網中的集線器。 主動星型配置使得可以在更長的距離上運行FlexRay網絡,或者以某種方式分割網絡,從而在部分網絡出現故障時使其更加可靠。 如果星型分支之一被切斷或短路,則另一分支將繼續起作用。 由于長距離的導線往往會傳導更多的環境噪聲,例如大型電動機的電磁輻射,因此使用多條分支可減少一段電纜的裸線數量,并有助于提高抗噪能力。
混合型網絡
可以將總線拓撲和星形拓撲組合在一起以形成混合拓撲。 未來的FlexRay網絡將可能由混合網絡組成,以利用總線拓撲的易用性和成本優勢,同時在車輛需要的地方應用星型網絡的性能和可靠性。
?
FlexRay協議
FlexRay協議是一種獨特的時間觸發協議,它提供兩種方式處理數據,一種是可確定性的時間范圍(低至微秒)內到達的確定性數據,還有可處理多種幀的類似CAN的動態事件驅動數據。 FlexRay通過預設的通信周期實現了核心靜態幀和動態幀的這種混合,該通信周期為靜態和動態數據提供了預定義的空間。 網絡設計者根據網絡需求配置總線周期分配。CAN總線僅需要知道正確的波特率即可進行通信,但FlexRay網絡上的節點必須知道如何配置網絡的所有部分才能進行通信。
與任何多點總線一樣,一次只有一個節點可以將數據寫入總線。 如果要同時寫入兩個節點,則會導致總線爭用,并且數據會損壞。 有多種用于防止總線爭用的方案,例如,CAN使用了一種仲裁方案,如果節點看到在總線上發送的具有更高優先級的消息,則它們將讓位于其他節點。 盡管這種技術靈活且易于擴展,但它不允許很高的數據速率,并且不能保證及時提供數據。 FlexRay使用時分多址或TDMA方案管理多個節點。 每個FlexRay節點都同步到相同的時鐘,并且每個節點都等待其輪流寫入總線。 因為時序在TDMA方案中是一致的,所以FlexRay能夠保證確定性或數據傳遞到網絡上節點的一致性。 這為依賴節點之間最新數據的系統提供了許多優勢。
嵌入式網絡與基于PC的網絡的不同之處在于,它們具有封閉的配置,并且一旦在生產產品中組裝后就不會更改。 這消除了在運行時自動發現和配置設備的其他機制的需要,就像PC在加入新的有線或無線網絡時所做的一樣。 通過提前設計網絡配置,網絡設計師可以節省大量成本并提高網絡可靠性。
為了使FlexRay等TDMA網絡正常工作,必須正確配置所有節點。 FlexRay標準適用于許多不同類型的網絡,并允許網絡設計人員在網絡更新速度、確定性、數據量和動態數據量以及其他參數之間進行權衡。 每個FlexRay網絡都可能不同,因此必須在每個節點都使用正確的網絡參數進行編程之后才能參與總線。
為了促進維護節點之間的網絡配置,FlexRay委員會標準化了一種在工程過程中用于存儲和傳輸這些參數的格式。 現場總線交換格式或FIBEX文件是ASAM定義的標準,允許網絡設計人員、原型設計人員、驗證人員和測試人員輕松共享網絡參數并快速配置ECU、測試工具、硬件在環仿真系統和以便于輕松訪問總線。
通訊周期
FlexRay通信周期是FlexRay總線內介質訪問的基本要素。設計網絡時,周期的持續時間是固定的,但通常為1-5毫秒左右。 通訊周期內劃分為四個主要部分:
?
圖1 通訊周期
靜態段
為固定時間到達的確定性數據預留的時隙。
動態段
動態段的行為類似于CAN,可用于不需要確定性的各種基于事件的數據。
符號窗口
通常用于網絡維護和啟動網絡的信號。
網絡空閑時間
已知的空閑時間用于維
圖2. FlexRay通訊周期的細節
FlexRay網絡上最小的實際時間單位是一個宏刻度。 FlexRay控制器主動進行自我同步并調整其本地時鐘,以便在整個網絡的每個節點上的同一時間點都出現宏刻度。 雖然可以為特定網絡配置,但宏刻度通常為1微秒長。 由于宏刻度是同步的,因此依賴它的數據也將同步。
1. 靜態段
?
圖3? 展示4個ECU設備在靜態時隙發送數據
靜態段(表示為幀的藍色部分)是循環中專用于調度許多時間觸發幀的空間。 該段分為多個時隙,每個時隙包含一個保留的數據幀。 當每個時隙到達時,保留的ECU有機會將其數據傳輸到該時隙中。 一旦超過該時間,ECU必須等到下一個周期才能在該時隙中傳輸其數據。 因為在周期中知道了確切的時間點,所以數據是確定性的,程序也確切地知道數據是否有更新。 這在計算依賴于一致間隔數據的控制回路時非常有用。 圖3說明了一個簡單的網絡,其中4個ECU使用了8個靜態時隙。 實際的FlexRay網絡可能包含多達幾十個靜態時隙。
?
圖4? 展示缺少ECU2和4的靜態時隙
如果ECU離線或決定不傳輸數據,則其時隙將保持打開狀態,并且未被其他任何ECU使用,如圖4所示。
2. 動態段
?
圖5? 帶有一個ECU廣播數據的FlexRay動態插槽的圖示
大多數嵌入式網絡都是由少量的高速消息和大量的低速、不太重要的消息組成。 為了容納各種數據而又不因過多的靜態時隙而減慢FlexRay周期,動態段允許偶爾傳輸數據。 該段的長度是固定的,因此每個周期可放入動態段的固定數據量是有限的。 為了確定數據的優先級,將微時隙(minislot)預分配給在動態段中適合傳輸的每個數據幀。 微時隙的長度刻度通常為1微秒。 較高優先級的數據會收到一個靠近動態幀開始的微時隙。
一旦微時隙達到,ECU便有短暫的機會廣播其幀。 如果不廣播,它將丟失其在動態幀中的位置,并出現下一個微時隙。 此過程將向下移動至微時隙,直到ECU選擇廣播數據為止。 在廣播數據時,后面的微時隙必須等待,直到ECU完成其數據廣播。 如果動態幀窗口結束,則優先級較低的微時隙必須等到下一個周期再廣播一次。
?
圖6。動態時隙圖示,展示出ECU#2和ECU#3在其微時隙中廣播,并且沒有時間留給較低優先級的微時隙。
圖5顯示了ECU#1在它的微時隙中的廣播,因為前4個微時隙選擇不廣播。圖6顯示了ECU#2和ECU#3使用前兩個minislot,沒有時間讓ECU#1廣播。ECU#1必須等待下一個循環廣播。
動態段的最終結果是一個類似于CAN使用的仲裁方案的辦法。
3. 符號窗口
符號窗口主要用于維護和識別特殊循環,如冷啟動循環。大多數高級應用程序不與符號窗口交互。
4. 網絡空閑時間
網絡空閑時間是由ECU預先定義的已知長度。ECU利用這個空閑時間來調整在前一個周期中可能發生的任何漂移。
數據安全和錯誤處理
FlexRay網絡通過允許單通道或雙通道通信提供可擴展的容錯能力。對于安全性至關重要的應用程序,連接到總線的設備可以使用兩個通道來傳輸數據。然而,當不需要冗余時,也可以僅連接一個通道,或者通過使用兩個通道傳輸非冗余數據來增加帶寬。
在物理層內,FlexRay通過獨立的總線守護程序提供快速的錯誤檢測和信令,以及錯誤抑制。總線守護程序是物理層上的一種機制,用于保護信道免受與群集通信時間表不符的通信所引起的干擾。
幀格式
?
圖7 ?FlexRay幀格式細節
靜態或動態段的每個時隙都包含一個FlexRay幀。幀被分為三個部分:幀頭、有效負載和幀尾。
幀頭
?
圖8? FlexRay幀的位級分解
幀頭為5個字節(40位)長,包括以下字段:
| 名稱 | 長度(bits) |
| 狀態位 | 5 |
| 幀ID | 11 |
| 有效負載長度 | 7 |
| 幀頭CRC | 11 |
| 周期計數 | 6 |
?
幀ID定義了應在其中傳輸幀的時隙號,并用于對事件觸發的幀進行優先級排序。 有效負載長度包含在幀中傳輸的數據字數。 幀頭CRC用于檢測傳輸過程中的錯誤。 周期計數包含一個計數器的值,該值在每次通信周期開始時遞增。
有效負載
?
圖9? FlexRay幀的數據負載
有效負載包含幀傳輸的實際數據。 FlexRay有效負載或數據幀的長度最多為127個字(254字節),是CAN的30倍以上。
幀的負載可以包括三個部分:
數據:可以是0~254字節;
消息ID:使用負載段的前兩個字節進行定義,可以在接收方作為可過濾數據使用;
網絡管理向量:向量長度必須為0~10個字節。
幀尾
?
圖10? FlexRay幀尾
尾部包含三個8位CRC校驗用來檢測錯誤。
?
時鐘同步和冷啟動
FlexRay具有獨特的功能,無需外部同步時鐘信號即可同步網絡上的節點。為此,它使用2種特殊類型的幀:“啟動幀”和“同步幀”。要啟動FlexRay集群,至少需要2個不同的節點才能發送啟動幀。啟動FlexRay總線的操作稱為冷啟動,發送啟動幀的節點通常稱為冷啟動節點。啟動幀類似于啟動觸發器,該觸發器告訴網絡上的所有節點啟動。
網絡啟動后,所有節點都必須將其內部振蕩器與網絡的全局時鐘同步。這可以使用另外兩個同步節點來完成,這些節點可以是網絡上的任意兩個單獨的節點,它們預先指定在首次打開時廣播特殊同步幀。網絡上的其他節點等待同步幀廣播,并測量連續廣播之間的時間,以便將其內部時鐘校準為FlexRay時間。
一旦網絡同步并聯機,就會測量網絡空閑時間(圖中的空白區域),并用于按周期調整時鐘,以保持緊密同步。
FlexRay與CAN和1553B比較
| 比較項 | CAN | 1553B | FlexRay |
| 波特率 | 1Mbps | 1,4,10Mbps | 10Mbps |
| 每節點通道數 | 1 | 2(A,B冗余) | 2(A,B冗余) |
| 網絡拓撲 | 總線型 | 總線型 | 總線、星型、混合型 |
| 通訊方式 | 事件觸發 | BC主控 | 時間觸發、事件觸發 |
| 成本 | 低 | 高 | 中等 |
| 數據負載長度 | 8字節 | 0-64字節 | 254字節 |
| 幀類型 | 數據幀、遠程幀、錯誤幀 | 數據幀、方式代碼 | 數據幀 |
?
基于FlexRay的總線通訊測試
硬件板卡選擇天津優藍科技有限公司的UL-XM7670 Flexray總線通訊卡,該卡對外采用XMC接口與載板連接,廠家提供XMC轉PCIE、CPCI等接口的轉換載板,幫助用戶在各種硬件環境下快速建立實驗平臺。
UL-XM7670Flexray卡技術規格:
通訊接口?
? 滿足XMC VITA42.0 結構電氣規格;
? PCIe x1 Gen1總線
? 4路隔離CAN2.0B總線
? 2路隔離FlexRay總線(每路包括A、B兩通道)
? 后出線由XMC P16引出;兼容PMC P14輸出
軟件支持
? Linux32/64位
? Wind River VxWorks 6.8/6.9
? Windows 64位
? 國產化操作系統適配
? 提供基于windows平臺的圖形化測試軟件Flexray BusTool,用戶可使用該軟件快速搭建仿真、測試系統。
? 提供各種操作系統下的驅動和動態庫,提供flexray通訊例程源碼。
物理特性
? 尺寸:147.5?mm x 74.0?mm,10?mm堆疊高度
環境要求??
? 工作溫度 -43℃~+85℃
? 存儲溫度 -50℃~+85℃
電源要求?
? 電源輸入:DC +12V(+/-10%)
? 功耗: ≤ 8W
配件支持
? ?可選配XMC轉PCI-E接口卡,便于安裝在PC機上
? ?可選配XMC轉CPCI載板卡,便于安裝在加固機箱或PXI測試機箱內
?
典型應用:
FlexRay總線記錄儀?
? ?可選配低功耗PowerPC處理器,支持SATA存儲,數據庫查詢。
FlexRay總線測試儀?
?? 搭配支持XMC或PCIE接口的工業計算機,可進行Flexray總線測試。
FlexRay總線開發測試
? ?支持多通道模擬總線通訊,輔助flexray總線開發測試。
?
Windows下Flexray通訊測試步驟:
1、首先根據Flexray系統的總線設計規劃來配置Flexray卡的全局初始化參數,界面如下圖所示。
?
2、根據發送數據和接收數據的實際需求,分別多發送和接收時隙進行配置,界面如下:
?
發送界面配置
?
接收界面配置
3、發送和接收參數配置好以后,點擊進入數據監控界面,點擊【運行】按鈕啟動Flexray通信,界面如下:
?
總線運行起來后,監控界面會顯示接收到的flexray信息。同時軟件可以將接收到的消息存入本地數據庫,便于后期進行數據查看和分析,界面如下:
?
軟件還提供flexray總線消息的物理量顯示,可以在軟件界面上拖拽圖形顯示控件,布局實時監控畫面,如下圖所示:
?
?
?
總結
以上是生活随笔為你收集整理的FlexRay汽车通信总线介绍及测试环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大学的计算机证书,大学必拿的几个证书是什
- 下一篇: 与或非运算符