分析和仿真FlexRay總線的高性能硬件接口
為分析而進(jìn)行優(yōu)化
總體而言,為了最好的和CANoe/CANalyzer(仿真分析工具)以及CANape(測量和標(biāo)定工具)(圖2)聯(lián)合使用,Vector對FlexRay接口硬件進(jìn)行了優(yōu)化。接口硬件不僅僅識(shí)別總線上所有的活動(dòng),且根據(jù)需要對其進(jìn)行緩沖;并且它們可以將所有的信息傳遞到主機(jī)。不同于ECU中的控制器, FlexRay接口硬件中的控制器主接口用來記錄所有的數(shù)據(jù):無效幀、錯(cuò)誤幀和符號(hào),包括對應(yīng)的時(shí)鐘,并將它們傳到軟件工具中。這是供開發(fā)者來分析和解析總線數(shù)據(jù),并找到錯(cuò)誤根源的唯一方法。如果FlexRay的同步?jīng)]有建立起來或沒有可用的帶有TMDA參數(shù)的FIBEX數(shù)據(jù)庫,未同步的總線分析仍是可行的,但只可能跟蹤事件并在讀操作下記錄它們。在這種模式下,仍然可以觀察FlexRay網(wǎng)絡(luò)的啟動(dòng)過程。測量和標(biāo)定工具CANape使得開發(fā)者可以通過標(biāo)準(zhǔn)的XCP on FlexRay協(xié)議來訪問ECU內(nèi)部參數(shù)。在這種情況下,如果總線通信被中斷,F(xiàn)lexRay硬件支持FlexRay接口的重同步。
滿足所有仿真需求的發(fā)送能力
PC上ECU的仿真的要求很高。例如,CANoe仿真模式比分析模式對系統(tǒng)的要求高很多。因?yàn)樵谝粋€(gè)足夠快的電腦上,多個(gè)ECU可以被仿真,考慮到時(shí)序上的要求,接口必須能夠處理更高的數(shù)據(jù)量。10個(gè)或10個(gè)以上的ECU并行仿真是完全可能的。值得一提的是,只需要使用新的FlexRay接口中的一個(gè)就可以達(dá)到這個(gè)目標(biāo)。通過將TX緩沖區(qū)擴(kuò)展到2M字節(jié),它能夠存儲(chǔ)多于1000個(gè)獨(dú)立的發(fā)送報(bào)文來達(dá)到這個(gè)性能。
CANoe的RT平臺(tái)尤其適合于具有實(shí)時(shí)要求的小型或中型項(xiàng)目,例如硬件在環(huán)仿真。它將可視化和控制功能從實(shí)時(shí)仿真中隔離出來。仿真在一個(gè)獨(dú)立的具有Windows XP Embedded操作系統(tǒng)的計(jì)算機(jī)上運(yùn)行,從而保證了可靠的更新發(fā)送的時(shí)刻。適用于這種計(jì)算機(jī)的硬件接口是:快速PCI接口,例如VN3300(圖3)。
為了達(dá)到應(yīng)用程序的最小的響應(yīng)時(shí)間和確定性時(shí)序行為,超短的延時(shí)是絕對必要的。除了應(yīng)用程序計(jì)算上的所需的時(shí)間,在不同的層上進(jìn)行傳輸也需要時(shí)間。為了在這種情況下達(dá)到超低的PC負(fù)載率,在FlexRay硬件中實(shí)現(xiàn)了DMA(直接內(nèi)存訪問)功能。使用DMA,可以達(dá)到高速發(fā)送數(shù)據(jù)并且減輕主處理器的負(fù)擔(dān),使得處理器可以有更多的時(shí)間去進(jìn)行計(jì)算。最短的延時(shí)時(shí)間是依賴于系統(tǒng)的:PCI接口卡可以達(dá)到最小的延時(shí)時(shí)間。
為開發(fā)者每天的工作提供智能的輔助功能
經(jīng)驗(yàn)和客戶在各種FlexRay項(xiàng)目上的需求激勵(lì)著Vector的開發(fā)人員在FlexRay的接口卡中集成一些其他重要的功能:PDU的硬件支持,自動(dòng)遞增的報(bào)文計(jì)數(shù)器,非激活ECU 的仿真,組更新和自動(dòng)總線啟動(dòng)能力。為了將傳輸層從應(yīng)用程序中分離出來,最近引入了FlexRay網(wǎng)絡(luò)PDU來代替用相關(guān)總線數(shù)據(jù)容器來直接工作。在這種情況下,需要為每一個(gè)PDU使用額外的信息,來指示當(dāng)前周期以及內(nèi)容是否有效。
PDU的概念增強(qiáng)了應(yīng)用軟件的靈活性并使其易于重復(fù)使用。但是,它的缺點(diǎn)是:為了生成和譯碼FlexRay幀,需要更多的努力(消耗)。強(qiáng)大的FlexRay接口卡通過硬件來將PDU并入和抽取出幀,彌補(bǔ)了這個(gè)缺點(diǎn)。
評(píng)論