作者:Andrew Patterson,來(lái)自 Mentor Graphics公司 自2003年組建以來(lái),AUTOSAR(汽車(chē)開(kāi)放系統架構)聯(lián)盟一直致力于改變車(chē)載網(wǎng)絡(luò )和電子控制單元 (ECU) 的設計方式。AUTOSAR 提出了一個(gè)符合業(yè)界標準的車(chē)載網(wǎng)絡(luò )設計方法,使行業(yè)能夠集成、交換和傳輸汽車(chē)網(wǎng)絡(luò )內的功能、數據和信息。這一標準極大地促進(jìn)了汽車(chē)原始設備制造商 (OEM) 及其一級供應商之間的合作,使他們能夠以一種一致、明確且機器可讀的格式來(lái)交換設計信息。 一輛汽車(chē)的不同部分對安全及性能有不同要求,而支持它們的車(chē)載網(wǎng)絡(luò )必須具備可預測的安全性能。隨著(zhù)汽車(chē)技術(shù)的不斷演變,人們已經(jīng)可以用一系列總線(xiàn)技術(shù)來(lái)連接豪華汽車(chē)上最多100個(gè)不同的ECU,這些總線(xiàn)技術(shù)通常包括 LIN、CAN、FlexRay、MOST和基于以太網(wǎng)的架構。如果靠手動(dòng)來(lái)管理這些 ECU 之間數以千計的信息和交互操作是不可能的,因此汽車(chē)設計人員必然用自動(dòng)化設計和合成工具來(lái)預測網(wǎng)絡(luò )性能和調整車(chē)載功能。 汽車(chē)數據總線(xiàn) 一輛典型的現代化汽車(chē)將同時(shí)裝配各類(lèi)總線(xiàn)和協(xié)議并從 LIN、CAN、FlexRay、MOST和以太網(wǎng)中選擇合適的網(wǎng)絡(luò )。多媒體/視聽(tīng)信號和汽車(chē)環(huán)繞攝像系統需要更高的數據速率,因此汽車(chē)制造商和 OEM 廠(chǎng)商在網(wǎng)絡(luò )解決方案上選擇用以太網(wǎng)代替 MOST。但對于許多標準汽車(chē)功能而言,LIN和CAN提供的帶寬與性能就足夠了。 <在汽車(chē)架構中,ECU組合在一起形成“集群”,這些集群通過(guò)通信“網(wǎng)關(guān)”相連。集群通常會(huì )共享同一類(lèi)型的總線(xiàn),因此要達到高可靠性、高速率的標準,就要采用FlexRay網(wǎng)絡(luò ),但要求沒(méi)那么高的門(mén)鎖 ECU 可以由CAN或LIN來(lái)負責。ECU 網(wǎng)關(guān)往往要連接不同類(lèi)型的信號,并執行不同總線(xiàn)架構之間的映射和轉換功能。汽車(chē)行業(yè)對不斷提高安全性和 ISO26262等標準的合規性提出強烈需求,進(jìn)而提升了車(chē)載網(wǎng)絡(luò )的性能,同時(shí)也降低了制造和元件成本。不斷進(jìn)步的網(wǎng)絡(luò )標準可以適應越來(lái)越高的數據傳輸速率,汽車(chē)電纜也達到了安全且低成本的目標。典型汽車(chē)網(wǎng)絡(luò )方案的特點(diǎn)及應用請見(jiàn)表1。 ![]() 表1:汽車(chē)網(wǎng)絡(luò )總線(xiàn)。 網(wǎng)絡(luò )時(shí)序分析 接下來(lái)讓我們詳細討論CAN和FlexRay網(wǎng)絡(luò )的時(shí)序分析。了解這兩種類(lèi)型網(wǎng)絡(luò )的基本特征和差異是非常有用的。 CAN 網(wǎng)絡(luò ): CAN是使用較廣泛的一類(lèi)車(chē)載網(wǎng)絡(luò ),以ISO 15765-2為運行標準。CAN總線(xiàn)提供了高水平的系統靈活性,能夠相對容易地將新的 ECU 接收器節點(diǎn)添加到現有的CAN網(wǎng)絡(luò )中,而不對現有的ECU節點(diǎn)做出大的硬件或軟件改動(dòng)。對汽車(chē)設計人員而言,這可以極大地幫助他們擴大或升級現有網(wǎng)絡(luò ),或設計出新的變體車(chē)型。 在CAN網(wǎng)絡(luò )實(shí)時(shí)運行過(guò)程中,通過(guò)網(wǎng)絡(luò )進(jìn)行交換的不同類(lèi)型信息的緊迫性相差很大。例如對于管理發(fā)動(dòng)機燃料噴射的 ECU 而言,必須立即獲得發(fā)動(dòng)機瞬時(shí)負載反饋,相比而言則不需要那么頻繁地獲知發(fā)動(dòng)機的溫度等參數。 要傳輸的信息的優(yōu)先級是由包含在每條信息中的“標識符”決定的。在設計系統時(shí)就要確定傳輸的優(yōu)先級,并且不能隨意改變。在 CAN 架構中,總線(xiàn)訪(fǎng)問(wèn)爭用的問(wèn)題可以通過(guò)標識符的逐位仲裁來(lái)解決。CAN 總線(xiàn)沒(méi)有主控器,因此連接至總線(xiàn)的所有 ECU 節點(diǎn)都需要接受網(wǎng)絡(luò )使用方面的仲裁。如果第一個(gè)位元是“0”,則這條信息優(yōu)先于其他信息。這就是所謂的“顯性”信息,如果第一個(gè)位元是“1”,則優(yōu)先級降低(“隱性”信息)。因此,最高優(yōu)先級的信息總能傳輸至預期的目標地址,但優(yōu)先級較低的信息可能會(huì )暫時(shí)退出總線(xiàn)發(fā)送,直到總線(xiàn)空閑下來(lái)。只有當總線(xiàn)處于空閑狀態(tài)時(shí),要發(fā)送較低優(yōu)先級的信息的ECU節點(diǎn)才會(huì )重新嘗試發(fā)送。CAN總線(xiàn)可以傳輸的ECU之間的信息大小最多為8個(gè)字節,而通過(guò)CAN 發(fā)送的信號被打包成信息“幀”。 FlexRay 網(wǎng)絡(luò ): FlexRay協(xié)議比 CAN 更具確定性。FlexRay是一種“時(shí)間觸發(fā)”協(xié)議,它提供不同選項,讓信息可以在精確的時(shí)間框架內發(fā)送至目標地址——可精確到1μs。FlexRay信息最多可達254個(gè)字節,因此需要在ECU之間進(jìn)行交換的復雜信息的容量很大。與 CAN 相比,FlexRay的數據傳輸速率也更高。由于時(shí)序是預先確定的,信息的安排需要提前規劃好,一般由汽車(chē)OEM廠(chǎng)商或一級供應商合作伙伴預先配置或設計。在采用CAN協(xié)議的網(wǎng)絡(luò )中,ECU節點(diǎn)只需要知道通信時(shí)的正確波特率,但FlexRay網(wǎng)絡(luò )上的ECU節點(diǎn)在通信時(shí)必須知道網(wǎng)絡(luò )各個(gè)部分是如何配置和連接的。檢查和驗證FlexRay網(wǎng)絡(luò )的時(shí)序比較耗時(shí)——因此,自動(dòng)化的時(shí)序分析和將信息合成打包成時(shí)間幀可以減少錯誤和設計周期時(shí)間。 定義網(wǎng)絡(luò )時(shí)序 模擬汽車(chē)網(wǎng)絡(luò )時(shí)序的第一步是準確定義ECU之間的連接。AUTOSAR提出的軟件方法將所有汽車(chē)功能定義成軟件組件的集合并映射到物理ECU硬件上。一個(gè)ECU可能有幾個(gè)功能,而內部信號則在它們之間傳遞。一旦定義了連接,設計中每個(gè)對象的時(shí)序參數(如果是已知的)都可以被定義。時(shí)序信息有多個(gè)外部來(lái)源;被廣泛使用的汽車(chē)標準是FIBEX——由自動(dòng)化及測量系統標準化協(xié)會(huì ) (ASAM) 定義的一種基于 XML 的標準化文件格式。 示例系統的物理路徑請見(jiàn)圖1和圖2。制動(dòng)位監控器模塊與控制器ECU相連,轉而又連接到執行器上。在每個(gè)模塊內部,各個(gè)軟件組件也對延遲造成影響。我們將著(zhù)眼于這些組件對整體系統延遲的影響。 ![]() 圖1:制動(dòng)系統信號路徑概覽。 ![]() 圖2:采用 AUTOSAR 組件的制動(dòng)系統——可定義詳細的時(shí)序參數。 ![]() 表2:AUTOSAR 制動(dòng)示例的傳輸步驟。 在表2提供的示例中,端至端信號路徑最長(cháng)可允許100ms。從實(shí)際測量結果中我們得知,發(fā)送方需要5ms,而接收方需10ms,因此通信路徑延遲最高可允許85ms。 如果使用先進(jìn)的 AUTOSAR 組件編輯器,如明導的VSA COM Designer工具,可以輸入路徑中每個(gè)組件的時(shí)序信息,但這也是一項艱巨的任務(wù)。另一種方法是從外部數據庫導入時(shí)序和連接信息。 <在模擬CAN總線(xiàn)數據路徑時(shí),需要考慮到傳輸開(kāi)始時(shí)的不確定性?赡艹霈F的情況是,更高優(yōu)先級的信息占用數據總線(xiàn),從而造成傳輸延遲。因此要找出造成延遲變化的抖動(dòng)因素——通常要提前知道有多少優(yōu)先級較高的信號可能在總線(xiàn)上,這樣可以盡可能精確預測抖動(dòng)因素。通過(guò)這些參數和進(jìn)行自動(dòng)化設計規則檢查 (DRC),從第(3)步到第(7)步的最大延遲為74.5毫秒,這樣的設計檢查可以通過(guò)。這是“最壞情況”的測試,設計人員要相信路徑延遲永遠不會(huì )比這更糟,實(shí)際上會(huì )好很多。 ![]() 圖3:VSA COM 時(shí)序分析工具給出的典型時(shí)序報告,顯示 DRC 違規情況。 圖3 給出了一個(gè)典型的時(shí)序報告,其中信號路徑違規以紅色突出顯示。整體的總線(xiàn)利用率顯示在表的頂部(3.69%)。 此外還可以模擬通過(guò)汽車(chē)網(wǎng)關(guān)的信號時(shí)序路徑預測。如果信號是通過(guò)網(wǎng)關(guān)自動(dòng)發(fā)送,則需要采取最短的可用路徑,而時(shí)序路徑分析算法則需要有關(guān)信號路徑中所有 ECU 發(fā)送方和接收方的信息。有些網(wǎng)關(guān)可能僅供診斷,而通過(guò)這些網(wǎng)關(guān)的信號的優(yōu)先級可能較低。 汽車(chē)通信矩陣合成 汽車(chē)網(wǎng)絡(luò )時(shí)序安排的總體定義通常存儲在作為中央網(wǎng)關(guān)ECU一部分的“通信矩陣”中。明導所開(kāi)發(fā)的設計工具解決方案可用于自動(dòng)合成這個(gè)數據庫并按正確順序將所有不同的信息打包成幀。 AUTOSAR信號信息組合成協(xié)議數據單元 (PDU),然后這些數據單元再組合成傳輸幀。對于 CAN和LIN幀而言,每個(gè)幀都有一個(gè)PDU,但一個(gè)FlexRay幀可能含有多個(gè)信號PDU。 在FlexRay架構中,時(shí)序是確定的,而設計人員主要面臨的不確定性就是幀打包和傳輸順序。汽車(chē)OEM廠(chǎng)商和設計人員要投入大量時(shí)間來(lái)測試汽車(chē)所有可能出現的情況,以確定最壞情況下的行為,并確保信息傳輸有較大的安全范圍。這意味著(zhù),為了確保較高的時(shí)序安全范圍,不能占用數據總線(xiàn)的全部容量。合成工具查找具有相似路徑以及對于在相似的幀時(shí)間空隙中進(jìn)行打包和安排有時(shí)序要求的信號,以此來(lái)優(yōu)化幀利用率。在使用明導的時(shí)序合成工具時(shí),設計輸入將包括信號和PDU定義、幀的優(yōu)先級和有關(guān)可行的信號路徑的具體 OEM設計決策。在生成完整的時(shí)序體系時(shí)要將這些都考慮進(jìn)去。 在安裝一個(gè)完全定義的通信體系時(shí)會(huì )面臨一個(gè)難題,即后續很難有架構上的變化,并可能需要對網(wǎng)絡(luò )進(jìn)行全面的重新設計,但傳輸的高速和確定性等優(yōu)勢讓這種方法對FlexRay應用形成了極大的吸引力,能夠確保汽車(chē)的對安全要求非常高的功能。用該合成工具重新建立更先進(jìn)的通信體系可以縮短修復周期。 總結 AUTOSAR提供了用于車(chē)載網(wǎng)絡(luò )和ECU設計的預定義標準方法。但設計人員在如何提高設計的效率和性能上仍面臨難題。通過(guò)使用設計自動(dòng)化輔助工具來(lái)計算時(shí)序并生成車(chē)載通信體系,可以極大提升寶貴的網(wǎng)絡(luò )帶寬的利用率,同時(shí)保持汽車(chē)性能的安全范圍。隨著(zhù)CAN、FlexRay和以太網(wǎng)融合復雜性的增加,使用自動(dòng)化設計規則檢查和時(shí)序性能合成工具將有助于縮短設計時(shí)間,避免繁瑣的人工驗證過(guò)程。 |