基于FlexRay的媒體接入控制設(shè)計(jì)
時(shí)鐘產(chǎn)生模塊處理流程如圖2所示。
1.2控制模塊
控制模塊主要為FlexRay通信控制器的媒體接入控制功能提供所需的時(shí)隙劃分,主要有靜態(tài)段(static segment)、動(dòng)態(tài)段(dynamic seg ment)、符號(hào)窗口(symbol window)、網(wǎng)絡(luò)空閑段(network idle time)。
本文提出的基于內(nèi)存的方式實(shí)現(xiàn)控制功能的思路如下:首先從內(nèi)存中讀取所需要的配置信息,主要有g(shù)dstaticSloc、gNumberOfMinislo ts、gdSymbolWindow、gdActionPointOffset、gdMinislotActionPointOffset.當(dāng)接收到時(shí)鐘產(chǎn)生模塊提供的周期開(kāi)始信號(hào)時(shí),控制模塊根據(jù)gdstaticSloc實(shí)現(xiàn)周期中的靜態(tài)段。靜態(tài)段使用靜態(tài)槽實(shí)現(xiàn)TDMA,以協(xié)調(diào)數(shù)據(jù)的傳輸。在每個(gè)通道,通信控制器上設(shè)置一個(gè)槽計(jì)數(shù)器(vslotcountcr),統(tǒng)計(jì)靜態(tài)槽的個(gè)數(shù)。當(dāng)時(shí)鐘周期開(kāi)始的時(shí)候,設(shè)置槽計(jì)數(shù)器的值為1;當(dāng)槽結(jié)束的時(shí)候,槽計(jì)數(shù)器的值加1.對(duì)于一個(gè)具體的簇,靜態(tài)槽的總數(shù)是一定的,由參數(shù)gNumberOfStaticSlots確定。對(duì)于每個(gè)靜態(tài)槽,FlexRay通信控制器根據(jù)用戶的配置和MAC模塊當(dāng)前的操作模式?jīng)Q定是否為編解碼模塊提供數(shù)據(jù)。
根據(jù)gNumberOfMinislots,該模塊實(shí)現(xiàn)周期中的動(dòng)態(tài)段。動(dòng)態(tài)段使用動(dòng)態(tài)槽實(shí)現(xiàn)事件觸發(fā)的媒體接入方法,以協(xié)調(diào)數(shù)據(jù)的發(fā)送。通信控制器在每個(gè)通道上設(shè)置一個(gè)動(dòng)態(tài)槽計(jì)數(shù)器,統(tǒng)計(jì)動(dòng)態(tài)槽的個(gè)數(shù)。每個(gè)動(dòng)態(tài)槽根據(jù)zMinislot來(lái)計(jì)數(shù),當(dāng)有數(shù)據(jù)傳送時(shí),動(dòng)態(tài)槽可能占用多個(gè)zMinislot;當(dāng)沒(méi)有數(shù)據(jù)傳送時(shí),動(dòng)態(tài)槽占用一個(gè)zMinislot.所以動(dòng)態(tài)槽的大小是根據(jù)是否有數(shù)據(jù)發(fā)送決定的。對(duì)于一個(gè)具體的簇,zMinisl ot的總數(shù)是一定的,由參數(shù)gNimberOfMinislots確定;最后它根據(jù)gdSymbolWindow實(shí)現(xiàn)周期中的符號(hào)窗口。最后一個(gè)周期中剩下的時(shí)間就是網(wǎng)絡(luò)空閑段。
具體處理流程如圖3所示。
2設(shè)計(jì)驗(yàn)證
確保設(shè)計(jì)正確性的關(guān)鍵是設(shè)計(jì)驗(yàn)證,主要通過(guò)邏輯功能仿真。邏輯功能仿真是在不考慮信號(hào)延遲的情況下對(duì)設(shè)計(jì)的邏輯功能進(jìn)行驗(yàn)證。驗(yàn)證過(guò)程是:首先編寫(xiě)好設(shè)計(jì)的HDL代碼;然后編寫(xiě)對(duì)應(yīng)的TestBcnch,對(duì)設(shè)計(jì)進(jìn)行關(guān)鍵性的驗(yàn)證;最后利用仿真軟件ModelSim進(jìn)行模擬,查看波形或者輸出,若發(fā)現(xiàn)錯(cuò)誤則查找錯(cuò)誤原因、修改代碼或者測(cè)試文件,直到符合設(shè)計(jì)要求。
評(píng)論