基于FlexRay協(xié)議的媒體接入控制的設計
當前廣泛應用的車(chē)載總線(xiàn)技術(shù)(如CAN、VAN、LIN等總線(xiàn)) 由于缺少確定性、同步性及容錯機制等并不能滿(mǎn)足要求,FlexRay聯(lián)盟推進(jìn)了FlexRay的標準化,使之成為了新一代汽車(chē)內部網(wǎng)絡(luò )通信協(xié)議。 FlexRay關(guān)注的是當今汽車(chē)行業(yè)的一些核心需求,包括更快的數據速率、更靈活的數據通信、更全面的拓撲選擇和容錯運算。
FlexRay總線(xiàn)中的每個(gè)接入端稱(chēng)為節點(diǎn)。節點(diǎn)主要由電源供給系統(Power Supply)、總線(xiàn)驅動(dòng)器(Bus Driver)、固化有FlexRay通信協(xié)議的通信控制器(Communication Controller) 及主機(Host)4個(gè)部分組成。通信控制器是通信節點(diǎn)的核心器件。它主要的功能有媒體接入控制、時(shí)鐘同步、編解碼、協(xié)議操作控制等。媒體接入控制功能是通信控制器的核心功能,解決數據進(jìn)入FlexRay通信控制器的方式,為通信控制器的編解碼功能做好時(shí)間準備以及數據準備。
本文提出一種FlexRay通信控制器媒體接入控制的設計方法。該方法直接訪(fǎng)問(wèn)內存,大大縮短了獲取配置的時(shí)間;設計更加精簡(jiǎn),能夠保證通信的穩定性。
1 媒體接入控制的設計
本文提出的基于內存方式實(shí)現媒體接入控制的方法包括以下步驟:首先,媒體接入控制模塊的所有子模塊在統一時(shí)鐘域下工作,用戶(hù)把與媒體接入控制相關(guān)的配置信息寫(xiě)入內存;然后,媒體接入控制的各個(gè)子模塊直接從內存中讀取該信息。媒體接入控制原理圖如圖1所示。
時(shí)鐘產(chǎn)生模塊根據用戶(hù)的配置信息,對控制器晶振產(chǎn)生的最小時(shí)鐘節拍按照協(xié)議規定形成系統所需要的時(shí)鐘周期;控制模塊根據用戶(hù)配置的信息將時(shí)鐘周期進(jìn)一步劃分為4個(gè)獨立的段,即靜態(tài)段、動(dòng)態(tài)段、符號窗口、網(wǎng)絡(luò )空閑段;計時(shí)器模塊根據用戶(hù)配置信息實(shí)現計時(shí)功能,用來(lái)記錄媒體接入控制所需要的時(shí)間。
圖1 媒體接入控制原理圖
1.1 時(shí)鐘產(chǎn)生模塊
時(shí)鐘產(chǎn)生模塊實(shí)現媒體接入控制所需要的時(shí)鐘周期,為編解碼功能做好時(shí)間準備,同時(shí)把該信息傳遞給控制模塊。該模塊首先從內存中讀取所需配置信息,主要有 gMacroPerCycle、gdStaticSlot、pMicroPerCycle。時(shí)鐘產(chǎn)生模塊根據這些配置信息進(jìn)行初始化操作,然后等待晶振的最小時(shí)鐘節拍(vMicrotick)。當最小時(shí)鐘節拍大于等于pMicroPerCycle/(gMacroPerCycle-1)時(shí),該模塊產(chǎn)生周期。
時(shí)鐘產(chǎn)生模塊處理流程如圖2所示。
圖2 時(shí)鐘產(chǎn)生模塊處理流程
1.2 控制模塊
控制模塊主要為FlexRay通信控制器的媒體接入控制功能提供所需的時(shí)隙劃分,主要有靜態(tài)段(static segment)、動(dòng)態(tài)段(dynamic segment)、符號窗口(symbol window)、網(wǎng)絡(luò )空閑段(network idle time)。
評論