車(chē)載FlexRay網(wǎng)絡(luò )管理策略的初步研究
網(wǎng)絡(luò )管理的目標是保障網(wǎng)絡(luò )可靠、有效地運行。在一般的計算機網(wǎng)絡(luò )中,網(wǎng)絡(luò )管理包含配置管理、性能管理及安全管理。車(chē)載網(wǎng)絡(luò )是面向實(shí)時(shí)控制的一類(lèi)網(wǎng)絡(luò ),因此它采取的網(wǎng)絡(luò )管理策略與計算機網(wǎng)絡(luò )的管理策略有很大區別。本文旨在探討0SEK/VDX NM標準在FlexRay總線(xiàn)協(xié)議中的應用。
本文引用地址:http://dyxdggzs.com/article/89000.htm1 FlexRay簡(jiǎn)介
F1exRay是高速串行通信的車(chē)載網(wǎng)絡(luò ),它的帶寬高、可靠性高、靈活、實(shí)時(shí)性強的特點(diǎn),可以很好地滿(mǎn)足現代車(chē)載控制系統的強實(shí)時(shí)需求。目前已成立的FlexRay聯(lián)盟正在推廣FlexRay標準,主要成員包括BMW、Daimler—Chrvsler、Freescale、Bosch和Philips等,在BMW X5上,FlexRay已有實(shí)際應用。
與事件觸發(fā)的CAN網(wǎng)絡(luò )不同,FlexRay是一種能夠兼容事件觸發(fā)的時(shí)間觸發(fā)總線(xiàn)協(xié)議。它的介質(zhì)訪(fǎng)問(wèn)方式為FTDMA(靈活的時(shí)分多路訪(fǎng)問(wèn))。FTDMA不同于TDMA(時(shí)分多路訪(fǎng)問(wèn))。TDMA靜態(tài)地分配時(shí)間片(timeslot),可能造成某些節點(diǎn)沒(méi)有數據可發(fā)卻占用了一定的時(shí)間片,造成資源浪費。
一個(gè)FlexRay循環(huán)包括靜態(tài)數據段和動(dòng)態(tài)數據段,如圖1所示。兩段可以同時(shí)出現,也可以只有其中一種。靜態(tài)數據段被分成相等的靜態(tài)時(shí)間片,每個(gè)節點(diǎn)最多分配16個(gè)時(shí)間片,每個(gè)時(shí)間片有唯一的標識符。動(dòng)態(tài)數據段用于事件觸發(fā)消息及診斷信息的傳輸,但時(shí)間和帶寬是受限的。
2 OSEK/VDX車(chē)載網(wǎng)絡(luò )管理
OSEK/VDX網(wǎng)絡(luò )管理的主要任務(wù)是保證網(wǎng)絡(luò )中各個(gè)ECU之間通信的可靠性和安全性。OSEK NM定義了直接網(wǎng)絡(luò )管理和間接網(wǎng)絡(luò )管理兩種網(wǎng)絡(luò )管理方法,同時(shí)定義了監測靜態(tài)網(wǎng)絡(luò )節點(diǎn)狀態(tài)的規范,并提供控制網(wǎng)絡(luò )管理組件接口程序。另外,在汽車(chē)應用中大多數網(wǎng)絡(luò )是靜態(tài)配置的,所以網(wǎng)絡(luò )中的節點(diǎn)大多固定,具有一個(gè)獨一無(wú)二的標識符,用OSEK NM對其進(jìn)行管理是非常合適的,因此現在國外各大汽車(chē)制造廠(chǎng)商應用的幾乎都是基于OSEKNM的管理算法。
通常在車(chē)輛環(huán)境下ECU有3種不同的工作模式:正常模式(normal operation)、低功耗模式(low power)和睡眠模式(sleep)。網(wǎng)絡(luò )管理要在整個(gè)通信系統范圍內協(xié)調各個(gè)ECU節點(diǎn)工作狀態(tài)的切換,以減少總線(xiàn)的負載及功率損耗。OSEK VDX定義的網(wǎng)絡(luò )管理主要具備:網(wǎng)絡(luò )配置功能(OSEK NM將網(wǎng)絡(luò )配置區分為normal和1imphome兩個(gè)級別),狀態(tài)管理功能(哪些節點(diǎn)在網(wǎng)絡(luò )上處于活躍狀態(tài))和睡眠管理功能。
網(wǎng)絡(luò )管理的各種功能最終需要網(wǎng)絡(luò )協(xié)議來(lái)實(shí)現,0S—EK NM定義了網(wǎng)絡(luò )管理協(xié)議數據單元(Network Man—agement Protocol Data Unit,NMPDU)。如圖2所示,它包含了所有網(wǎng)絡(luò )管理要求的消息。
3 OSEK/VDX的FlexRay網(wǎng)絡(luò )管理協(xié)議
在OSEK/VDX NM中,要求參與網(wǎng)絡(luò )通信的每個(gè)節點(diǎn)有獨立的標識符,各節點(diǎn)依照邏輯環(huán)的順序發(fā)送網(wǎng)絡(luò )管理消息。邏輯環(huán)獨立于網(wǎng)絡(luò )的物理結構,每個(gè)節點(diǎn)具有一個(gè)邏輯后繼節點(diǎn),邏輯環(huán)第一個(gè)節點(diǎn)是該邏輯環(huán)最后一個(gè)節點(diǎn)的邏輯后繼。
FlexRay是時(shí)間觸發(fā)的總線(xiàn)協(xié)議,因此FlexRay網(wǎng)絡(luò )管理消息在發(fā)送時(shí),可以脫離邏輯環(huán)的模式,而且NMP—DU可以不需要源節點(diǎn)和目標節點(diǎn)的ID。
圖3給出了一個(gè)與OSEK/VDX標準兼容的FlexRayNMPDU。圖中,Byte 0為源節點(diǎn)ID,保留它是為了與OSEK標準兼容;Byte 1則包含網(wǎng)絡(luò )管理協(xié)議的一系列標識符,Sleep Ind(休眠指示)位與Sleep Ack(休眠確認)位是必需的,節點(diǎn)是否切換進(jìn)入休眠模式由這兩個(gè)標識符來(lái)決定,Ring位也是為了與OSEK標準兼容,其他位(如Config位等)為1;Byte2~7為將來(lái)擴展保留。
4 AUTOSAR針對FlexRay的網(wǎng)絡(luò )管理
為了與FlexRay的應用前景相適應,AUTOSAR組織已經(jīng)基于OSEK/VDX定義了一套針對FlexRay的網(wǎng)絡(luò )管理規范。針對FlexRay,AUTOSAR v2.O.1將網(wǎng)絡(luò )管理模塊劃分為2個(gè)部分:Generic NM和F1exRay NM。在這一規定中,每個(gè)節點(diǎn)必須周期性地發(fā)送一個(gè)網(wǎng)絡(luò )管理信息,也就是按事先設定好的時(shí)間觸發(fā)順序進(jìn)行網(wǎng)絡(luò )管理信息的傳輸,直到所有節點(diǎn)不再進(jìn)行任何總線(xiàn)通信為止。如果在一個(gè)系統定義的時(shí)間周期內,傳輸介質(zhì)上沒(méi)有發(fā)送或收到任何網(wǎng)絡(luò )管理信息時(shí),節點(diǎn)將同步轉入總線(xiàn)休眠模式狀態(tài)(BUS_SLEEP_MODE)。這里給出了一個(gè)可行的網(wǎng)絡(luò )管理的狀態(tài)機,如圖4所示。
圖中的幾個(gè)狀態(tài)分別是:
◆NETw0RK_MODE(網(wǎng)絡(luò )工作狀態(tài))及其包含的子狀態(tài)
一NORMAL_0PERATION(正常工作狀態(tài))
一REPEAT_MESSAGE(進(jìn)入NETWORK_MODE時(shí)的初始狀態(tài))
一READY__SLEEP(準備進(jìn)入休眠狀態(tài))
◆PREPARE_BUS_SLEEP_MODE(總線(xiàn)準備進(jìn)入休眠狀態(tài))
◆BUS_SLEEP_MODE(總線(xiàn)休眠狀態(tài))
這里所給出的網(wǎng)絡(luò )管理狀態(tài)機,參照了AUTOSAR中關(guān)于NM的標準,使用最簡(jiǎn)化的算法結構來(lái)實(shí)現最大化的效率及高穩定性,減少了總線(xiàn)的通信負荷及復雜性。在具體實(shí)現中,網(wǎng)絡(luò )管理位于FlexRay通信系統的最頂層,動(dòng)態(tài)部分的第一個(gè)時(shí)間片用來(lái)傳輸網(wǎng)絡(luò )管理信息。每個(gè)節點(diǎn)把自己的網(wǎng)絡(luò )管理ID與FlexRay通信系統當時(shí)的循環(huán)數比較,如果相符,則這一節點(diǎn)發(fā)送此次通信循環(huán)的網(wǎng)絡(luò )管理消息,所有其他節點(diǎn)接受這一消息。
5 網(wǎng)絡(luò )管理測試實(shí)例
為了驗證上文所述FlexRay網(wǎng)絡(luò )管理的實(shí)用性及其應用前景,一家德國汽車(chē)OEM廠(chǎng)商已在多種網(wǎng)絡(luò )拓撲結構下對FlexRay NM進(jìn)行了評估。實(shí)際上,AUTOSAR應用于F1exRay的網(wǎng)絡(luò )管理也已經(jīng)結合Vector公司的FlexRay—Stack進(jìn)行應用。測試中特別著(zhù)眼于以下3方面:與AUTOSAR規范保持一致、系統的穩定性,以及在將一個(gè)節點(diǎn)重新引入總線(xiàn)系統時(shí),FlexRay—Stack的重新同步情況。
實(shí)驗中,搭建了一個(gè)基于NXP SJA2510的簡(jiǎn)化通信節點(diǎn)平臺,NXP SJA2510是集成了F1exRay通信控制器的ARM9微控制器。FlexRay—Stack包含了FlexRay的網(wǎng)絡(luò )管理組件(generic和FlexRay協(xié)議)。
實(shí)驗中測試了以下的硬件拓撲結構:
?、倏偩€(xiàn)拓撲結構上直接連接FlexRay節點(diǎn);
?、谟肍lexRay收發(fā)器TJAl080互連的方式來(lái)實(shí)現主動(dòng)星型拓撲結構,如圖5所示。
上述測試系統可以用來(lái)了解混合拓撲結構下的實(shí)際系統情況,以確定F1exRay網(wǎng)絡(luò )管理模塊在不同拓撲結構下的容錯程度。
實(shí)驗結果是:網(wǎng)絡(luò )系統工作平穩,與AUTOSAR規范保持一致,將一個(gè)節點(diǎn)重新引入總線(xiàn)系統時(shí),FlexRay-StacK的重新同步情況良好,即添加和減少節點(diǎn)時(shí),網(wǎng)絡(luò )仍能良好地進(jìn)行通信
6 結 論
FlexRay的網(wǎng)絡(luò )管理與其他的事件觸發(fā)的總線(xiàn)協(xié)議(如CAN)不同,并擁有以下優(yōu)勢:①網(wǎng)絡(luò )管理啟動(dòng)時(shí)不會(huì )造成網(wǎng)絡(luò )擁堵,由于是時(shí)間觸發(fā),在任何網(wǎng)絡(luò )狀態(tài)下它所產(chǎn)生的網(wǎng)絡(luò )負荷不變;②響應迅速;③容錯度高。網(wǎng)絡(luò )管理可以很好地保證F1exRay在高速、高靈活性的同時(shí),可靠、安全地進(jìn)行通信。在可靠、安全的前提下,合適的網(wǎng)絡(luò )管理使F1exRay在靈活性方面的優(yōu)勢更加凸現。
評論