關(guān) 閉

新聞中心

FlexRay正在前行

——
作者: 時間:2007-08-02 來源:Carsten Böke 收藏
    很久以前CAN總線就遭遇了本身的局限性?,F(xiàn)代架構(gòu)需要不斷地擴大網(wǎng)絡(luò)化。只有提供更大的傳輸容量,日益加快的控制算法付諸實施時才會產(chǎn)生效果。很多車型在開始生產(chǎn)時就已經(jīng)達(dá)到了最大的總線負(fù)載,而沒有預(yù)留任何帶寬??偩€系統(tǒng)的數(shù)量加倍無論如何都不會使數(shù)據(jù)速率加倍。為系統(tǒng)聯(lián)網(wǎng)而增加的必要的網(wǎng)關(guān),不僅使系統(tǒng)變得錯綜復(fù)雜,而且可能產(chǎn)生不可接受的報文傳輸延遲。更要命的是,缺乏確定性成為了安全關(guān)鍵應(yīng)用的絆腳石。

  在發(fā)展過程中,CAN不能滿足汽車中逐漸增長的數(shù)據(jù)傳輸要求,這導(dǎo)致了串行總線系統(tǒng)的發(fā)展[1]。去年底,BMW展示了首個產(chǎn)品級應(yīng)用。Vector Informatik公司在那時舉行大會正是總結(jié)新協(xié)議應(yīng)用經(jīng)驗和挑戰(zhàn)的好時機。在BMW X5車上使用FlexRay完成減震器控制系統(tǒng)從兩方面來講都是一項“時間關(guān)鍵”工程,這讓項目 參與者面臨考驗。不僅半導(dǎo)體產(chǎn)品和軟件組件需要按時生產(chǎn)出來,而且面對這樣一項艱巨的工程,其開發(fā)流程也必須要很快地適應(yīng)現(xiàn)有的結(jié)構(gòu)并能正確運轉(zhuǎn)。在這里需要得到供應(yīng)商的支持?!霸贐MW我們不能只為了FlexRay而開發(fā)一套新的流程”,BMW AG的網(wǎng)絡(luò)技術(shù)組帶頭人Anton Schedl博士如此表示,“因此我們有意識地決定選取了一種相對簡單的應(yīng)用,這樣可以根據(jù)已有經(jīng)驗、使用較短的協(xié)調(diào)和決策路徑迅速實現(xiàn)改造?!?/P>

  Schedl博士認(rèn)為,在合適的時間有可用的半導(dǎo)體是這項試驗性項目的最大挑戰(zhàn)。得益于OEM和半導(dǎo)體供應(yīng)商共同做出的積極承諾,這一目標(biāo)有可能會按期完成。

  萬事開頭難

  盡管啟動每個新系統(tǒng)必然會很困難,但是不同的部件還是比較快地集成到了一起?!皶r間觸發(fā)通信是將不同供應(yīng)商的部件和軟件代碼集成起來的理想平臺”,在Robert Bosch公司汽車網(wǎng)絡(luò)部門工作的Florian Hartwich說。他還協(xié)助FlexRay協(xié)會制定協(xié)議,之前參與了CAN和TTCAN的開發(fā)和標(biāo)準(zhǔn)化工作。因為每個應(yīng)用系統(tǒng)都在預(yù)先規(guī)定的時刻發(fā)送報文并且知道該在何時接收何報文,所以在之后可以更為容易地將部件加入到分布式系統(tǒng)中。

  最重要的工作需要在FlexRay系統(tǒng)開發(fā)一啟動時就進(jìn)行。所有的系統(tǒng)描述參數(shù)——比如波特率、循環(huán)時間、時隙數(shù)目、時隙長度以及靜態(tài)段和動態(tài)段的報文分配——都在開始時定義。因為確定的時隙是分配給發(fā)送任務(wù)的,所以在工程定義過程中就必須明確如何組織報文的時隙分配、哪些應(yīng)用系統(tǒng)可能最適合提到動態(tài)事件驅(qū)動段以及應(yīng)該為后續(xù)車型系列的應(yīng)用系統(tǒng)預(yù)留多少時隙等,參考圖1。
 時隙確定地分配給單個部件
圖1 時隙確定地分配給單個部件(A,B,C)簡化了系統(tǒng)集成時的合并工作

  在分布式系統(tǒng)中保持整體觀特別重要。在一開始,網(wǎng)絡(luò)設(shè)計者往往不知道真實應(yīng)用軟件隨后是如何進(jìn)行實際通信的,也不清楚它們的執(zhí)行時間。另一方面,ECU開發(fā)者習(xí)慣于只關(guān)注開發(fā)應(yīng)用程序,而不怎么關(guān)心整個FlexRay通信過程的時間狀況。但是,一個循環(huán)內(nèi)的FlexRay數(shù)據(jù)必須保持一致,并且時間觸發(fā)型總線的應(yīng)用程序也必須保證一直同步。

  因此,Hartwich留意了那些可能引起數(shù)據(jù)不一致的問題。比如,必須避免在發(fā)送過程中更新發(fā)送數(shù)據(jù),這會導(dǎo)致在同一幀中同時包含新舊數(shù)據(jù)。BMW使用所謂的“信號窗口”解決了這一問題,它保證任務(wù)僅在該專用窗口中發(fā)送報文。這種方法的另一個好處是應(yīng)用程序與通信分離:如果通信調(diào)度發(fā)生了改變,那么不會影響應(yīng)用程序。

  在實時系統(tǒng)中,任務(wù)同步是一項必須引起特別關(guān)注的關(guān)鍵特性?!罢{(diào)度表的正確同步問題至關(guān)重要”,Winfried Janz解釋道,他是Vector公司OSEK實時操作系統(tǒng)開發(fā)項目的帶頭人兼產(chǎn)品經(jīng)理。在關(guān)于OSEKtime和操作系統(tǒng)的演講中,他論述了如何按照規(guī)范使調(diào)度表與全局時間同步(參考圖2)。選擇硬同步(調(diào)度表跳轉(zhuǎn)到一個預(yù)定義的執(zhí)行點或者暫時停止了)還是軟同步(在每個到期時刻進(jìn)行時間調(diào)整,但是這些時刻的分配是無規(guī)律的,會導(dǎo)致一些無規(guī)律的時間調(diào)整行為)取決于應(yīng)用程序是否容忍跳轉(zhuǎn)和暫停。

   調(diào)度表狀態(tài)圖
圖2:調(diào)度表狀態(tài)圖顯示了同步是如何實現(xiàn)的。調(diào)度被啟動,但不必立即完全同步(RUNNING)。為實現(xiàn)同步運行(AND SYNCHRONOUS),可以進(jìn)入等待狀態(tài)(SHEDULETABLE_WAITING)或者進(jìn)行軟同步。

    在開發(fā)階段,監(jiān)視同步和數(shù)據(jù)一致性由軟件工具來完成?!拔覀儽仨氉龅酵降靥幚砟P?,否則就會丟失數(shù)據(jù)”,當(dāng)Carsten Böke博士解釋Vector的工具CANoe時他這樣說道。Böke演示了CANoe提供的確保同步和檢測不一致數(shù)據(jù)的機制。CANoe運行模型的主要體系結(jié)構(gòu)基于一種使用所謂“通知句柄”的通知概念。它包括了接收到消息時的模型激活、定時器到期時的處理和錯誤狀態(tài)的檢測。尤其是,這種概念針對FlexRay作了擴展,包含了在FlexRay循環(huán)的特定時刻進(jìn)行的同步通知,如圖3所示。另外,Böke演示了一種運行CANoe RT、具有特定硬件支持的優(yōu)化平臺,該平臺是為了滿足FlexRay系統(tǒng)嚴(yán)格的時間要求而定制的,比較適合中小尺寸的硬件在回路仿真。
 CANoe
圖3:在CANoe中,可以參照循環(huán)開始或特定時隙的結(jié)束有規(guī)律地執(zhí)行動作。當(dāng)然,通知也可以發(fā)生在總線上接收到幀或丟幀的時候。

  FlexRay與

  “為將來做準(zhǔn)備,必須按照標(biāo)準(zhǔn)設(shè)計新的軟件概念”,負(fù)責(zé)FlexRay基礎(chǔ)軟件開發(fā)的Dirk Großmann說。因為Vector Informatik公司是AUTOSAR協(xié)會的成員,所以該協(xié)會的成果和結(jié)論很快就在Vector的FlexRay開發(fā)中得到了實踐,如圖4所 示。Vector的FlexRay接口和FlexRay driver已經(jīng)符合AUTOSAR標(biāo)準(zhǔn)了,因而可以在今天不用依賴于以后特定的應(yīng)用程序而開發(fā)這些組件,而且這些組件可以靈活地適合不同的車型和平臺。FlexRay driver對通信控制器進(jìn)行了抽象,而FlexRay接口提供了針對和FlexRay調(diào)度表無關(guān)的單個PDU(協(xié)議數(shù)據(jù)單元)的訪問入口。 此外,Vector提供符合AUTOSAR標(biāo)準(zhǔn)的網(wǎng)絡(luò)管理和傳輸協(xié)議實現(xiàn)。作為對AUTOSAR的補充,可以將XCP協(xié)議集成到FlexRay棧中。Großmann還談到通過FlexRay進(jìn)行flash編程的可能性:“一種方案是完全交換協(xié)議并且使用單獨的調(diào)度表進(jìn)行flash編程?!?BR> 
  Oliver Kitt在其演講中更為深入地論述了使用XCP(由ASAM標(biāo)準(zhǔn)化的一種標(biāo)定協(xié)議)標(biāo)定ECU的話題。在Vector公司,他負(fù)責(zé)測量、標(biāo)定和診斷工具CANape的硬件接口集成工作。XCP中的“X”表示不同的傳輸層,比如它可以表示XCP-on-CAN、XCP-on-Ethernet以及2006年2月發(fā)布的XCP-on-FlexRay等。這是一種單主/多從概念,可以非常高效地與ECU通信并且使用可變帶寬進(jìn)行測量和標(biāo)定??梢詫lave集成到FlexRay棧中,而由工具來提供對協(xié)議master功能的支持。在運行時刻根據(jù)需要為單個節(jié)點重新分配帶寬。有必要使用一種增強版FlexRay driver來實現(xiàn)XCP-on-FlexRay的buffer重配置。這也展示出組件的靈活操作。
帶有driver的FlexRay棧
圖4:符合AUTOSAR標(biāo)準(zhǔn)的FlexRay軟件方案可靈活地適應(yīng)不同的需求。該圖展示了一種帶有driver(相對于AUTOSAR進(jìn)行了擴展并增加了XCP傳輸層和協(xié)議模塊)的FlexRay棧。

  FlexRay協(xié)議規(guī)范的編輯,在Freescale公司負(fù)責(zé)FlexRay相關(guān)工作的Mathias Rausch博士(工程學(xué)),闡述了buffer結(jié)構(gòu)是如何影響整個系統(tǒng)的。Rausch詳細(xì)描述了配置不同的靜態(tài)或動態(tài)段時優(yōu)化buffer存放的方法。另外,F(xiàn)reescale利用了FlexRay協(xié)議中沒有詳細(xì)規(guī)定控制器主機接口(CHI)、僅規(guī)定最低需求作為約束條件的實際情況。這給了半導(dǎo)體廠商提供特殊功能的自由。CHI的優(yōu)化設(shè)計使隨后的軟件更容易構(gòu)造。Rausch建議使用工具,因為“配置多達(dá)128個消息buffer時需要考慮很多參數(shù)”。

  在Schedl博士的請求下,NXP半導(dǎo)體公司汽車商務(wù)領(lǐng)域創(chuàng)新和發(fā)展管理主管Patrick Heuts先生挑選出了更為經(jīng)濟的FlexRay組件?!俺耸瞻l(fā)器,我們也提供FlexRay控制器,它是完全集成在MCU中的,是一種單片機方案。相比較那種通常作為外圍設(shè)備嵌入到MCU中的FlexRay控制器,這種完全集成的方案具有明顯的優(yōu)勢。比如,消息buffer的數(shù)量和類型可以靈活配置。事實上,完全集成的FlexRay控制器工作起來更像一種具有一個或兩個通道的DMA工具。NXP半導(dǎo)體公司的下一步計劃是研究在片上集成收發(fā)器是否可以進(jìn)一步降低系統(tǒng)的成本”。參考圖5。
 MCU中心
圖5:NXP半導(dǎo)體公司提供了“MCU中心”解決方案,其優(yōu)點是在MCU中完全集成了FlexRay控制器。

  盡管宣稱的目標(biāo)之一是“降低成本”,F(xiàn)lexRay系統(tǒng)已經(jīng)不再比相似的CAN架構(gòu)貴多少了。因為需要增加必要的硅片,F(xiàn)lexRay的芯片成本要高于CAN。但是,BMW的內(nèi)部研究表明,整個系統(tǒng)的成本是非常接近的,而且還獲得了更高的性能和可擴充性以及更低的復(fù)雜度。

    結(jié)論

  FlexRay有很多潛力。BMW的試驗性項目還僅僅是開始,它證明了FlexRay系統(tǒng)“一旦正確建立”就可以穩(wěn)定地運行。強烈建議在不同的開發(fā)階段選擇通用工具,以便保持對眾多不同需求的清晰的整體觀。具有擴展檢查系統(tǒng)的工具簡化了開發(fā)者的工作并且從一開始就能幫助預(yù)防錯誤。由于FlexRay,很快就會出現(xiàn)大量的計算機通信應(yīng)用軟件。



關(guān)鍵詞: 汽車電子 FlexRay AUTOSAR

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉