基于FlexRay的媒體接入控制設計
時鐘產生模塊處理流程如圖2所示。

1.2控制模塊
控制模塊主要為FlexRay通信控制器的媒體接入控制功能提供所需的時隙劃分,主要有靜態(tài)段(static segment)、動態(tài)段(dynamic seg ment)、符號窗口(symbol window)、網絡空閑段(network idle time)。
本文提出的基于內存的方式實現控制功能的思路如下:首先從內存中讀取所需要的配置信息,主要有gdstaticSloc、gNumberOfMinislo ts、gdSymbolWindow、gdActionPointOffset、gdMinislotActionPointOffset.當接收到時鐘產生模塊提供的周期開始信號時,控制模塊根據gdstaticSloc實現周期中的靜態(tài)段。靜態(tài)段使用靜態(tài)槽實現TDMA,以協(xié)調數據的傳輸。在每個通道,通信控制器上設置一個槽計數器(vslotcountcr),統(tǒng)計靜態(tài)槽的個數。當時鐘周期開始的時候,設置槽計數器的值為1;當槽結束的時候,槽計數器的值加1.對于一個具體的簇,靜態(tài)槽的總數是一定的,由參數gNumberOfStaticSlots確定。對于每個靜態(tài)槽,FlexRay通信控制器根據用戶的配置和MAC模塊當前的操作模式決定是否為編解碼模塊提供數據。
根據gNumberOfMinislots,該模塊實現周期中的動態(tài)段。動態(tài)段使用動態(tài)槽實現事件觸發(fā)的媒體接入方法,以協(xié)調數據的發(fā)送。通信控制器在每個通道上設置一個動態(tài)槽計數器,統(tǒng)計動態(tài)槽的個數。每個動態(tài)槽根據zMinislot來計數,當有數據傳送時,動態(tài)槽可能占用多個zMinislot;當沒有數據傳送時,動態(tài)槽占用一個zMinislot.所以動態(tài)槽的大小是根據是否有數據發(fā)送決定的。對于一個具體的簇,zMinisl ot的總數是一定的,由參數gNimberOfMinislots確定;最后它根據gdSymbolWindow實現周期中的符號窗口。最后一個周期中剩下的時間就是網絡空閑段。

具體處理流程如圖3所示。
2設計驗證
確保設計正確性的關鍵是設計驗證,主要通過邏輯功能仿真。邏輯功能仿真是在不考慮信號延遲的情況下對設計的邏輯功能進行驗證。驗證過程是:首先編寫好設計的HDL代碼;然后編寫對應的TestBcnch,對設計進行關鍵性的驗證;最后利用仿真軟件ModelSim進行模擬,查看波形或者輸出,若發(fā)現錯誤則查找錯誤原因、修改代碼或者測試文件,直到符合設計要求。
評論