基于MFR4200的FlexRay總線接口技術
研究基于MFR4200的FkxRay總線在嵌入式數字信號處理器OMAP5912上的實現。整個系統(tǒng)以DSP為核心,采用Freescale公司的MFR4200總線控制器實現FlexRay通信協議,進行數據收發(fā)。系統(tǒng)制造簡單,集成度高,適用于車內多種電子設備的局域總線實現。
引 言
FlexRay總線是最近推出的一種采用點對點(星型拓撲結構)連接,借助無屏蔽或屏蔽雙絞線電纜的先進高速串行同步和異步通信系統(tǒng)。FlexRay總線具有故障容限,可提供500kbps~10 Mbps的確定數據傳輸速率和24位CRC(循環(huán)冗余)校驗碼。FlexRay是一種時間觸發(fā)型總線,所有的子系統(tǒng)按照預先設定的時隙進行連續(xù)通信。FlexRay總線的推出可以解決目前車載多種電子設備的網絡連接問題,而早期的CAN總線和LIN總線已經無法滿足現代車載電子設備的高速通信要求。
本文介紹一種在嵌入式數字信號處理器(DSP)OMAP5912上實現FlexRay總線的方法。FlexRay總線負責將各個設備的數據傳輸到DSP,DSP負責對數據進行分析和處理。由于系統(tǒng)采用了DSP,因此可以對車載電子的語音和圖像數據的復雜算法進行處理。本文著重討論DSP和FlexRay總線的軟硬件連接。
1 FIexRay總線及其控制器MFR4200
FlexRay總線是一種全新的總線系統(tǒng)。其主要特性有:
①支持雙通信通道,每個通道的速率均達到lO Mbps。與CAN協議相比,可用的帶寬提高了lO~40倍。
②總線數據的訪問是基于同步時基的。該時基通過協議自動建立和同步,并提供給應用層。時基的精確度介于0.5 μs和10μs之間。由于采用同步時基,消息在通信周期中擁有固定位置,接收器已經提前知道,消息到達的時間,因此可以根據時間對各種特殊情況進行相應的處理。
③FlexRay總線提供消息冗余傳輸或非冗余傳輸兩種選擇,系統(tǒng)可以進行優(yōu)化,以提高可用性或吞吐量,用戶無需調整現有節(jié)點中的軟件就可以擴展整個系統(tǒng);同時,支持總線或星型拓撲結構。FlexRay總線提供了大量配置參數,可以支持對系統(tǒng)進行調整,如通信周期的持續(xù)時間、消息長度等,以滿足不同應用場合的需求。
FlexRay總線的這些特性使其可以用于替代CAN總線,適合車載骨干網絡、分布式控制系統(tǒng)以及安全系統(tǒng)等應用場合。目前已有多家公司生產FlexRay總線控制器。這里選用Freescale公司的MFR4200總線控制器,介紹其內部結構以及和DSP的軟硬件連接方法。
MFR4200總線控制器的內部功能框圖如圖1所示。從圖中可以看出,MFR4200總線控制器主要由物理層接收/發(fā)送通道、主機HCSl2接口、MEM控制器、電源管理模塊以及時鐘管理模塊等多個部分組成。
物理層通道有兩個獨立的接收/發(fā)送通道,每個通道的速率均達到10 Mbps。在工作狀態(tài)下,主機可以訪問MFR4200的接收通道FIFO和發(fā)送消息緩沖區(qū);通過對FIFO和消息緩沖區(qū)的配置、控制和讀寫,實現對物理層數據的收發(fā)。接收FIFO最大可以存儲59個消息,總線上 的數據幀都將到達總線上所有的MFR4200。每一個MFR4200在收到總線數據幀后,都將經過接收濾波器;濾波器將不屬于自己地址的數據幀濾除,只將屬于自己的數據幀和廣播幀存儲到接收FIFO中。
2 系統(tǒng)硬件結構
整個系統(tǒng)由OMAP5912、MFR4200、AD/DA、人機接口以及Flash組成,硬件連接如圖2所示。圖中,DSP是核心控制單元;AD用于將采集的模擬信號轉變成數字信號,DA將數字信號轉換成模擬信號;人機接口包括LCD和鍵盤接口;Flash保存DSP所需要的程序,供DSP上電調用。此外,將DSP的HPI接口連接到PC機,這樣所有的總線數據均可以通過PC機存儲和顯示,PC機的數據也可以通過DSP發(fā)送到總線上。可以根據不同的需要選擇PC機或者LCD和鍵盤。圖中,EMIFS(External MemoryInterface Slow)是OMAP5912的慢速外部存儲器接口。
AD負責采集電子設備的數據,可以是溫度傳感器數據、顏色傳感器數據,也可以是語音信號、圖像信號或者其他信號。DSP對這些數據處理后,將處理后的結果根據不同的情況通過MFR4200發(fā)送到總線上的其他節(jié)點;相反,DSP通過MFR4200讀取總線上其他節(jié)點發(fā)送的數據幀,DSP對這些數據幀進行處理,將結果發(fā)送到DA,可以實現對本節(jié)點電子設備狀態(tài)的控制。
3 MFR4200和OMAP5912的硬件設計
MFR4200和OMAP5912的連接是系統(tǒng)硬件連接的關鍵,具體連接如圖3所示。使用OMAP5912的EMIFS接口連接MFR4200。EMIFS可以方便地和外部Flash、異步SRAM等設備連接。本系統(tǒng)的MFR4200控制器模塊FlexRay總線協泌,其最高數據傳輸速率為10 Mbps,OMAP5912的EMIFS接口適合滿足其速度要求。
MFR4200和OMAP5912的EMIFS連接,MFR4200作為OMAP5912的外部16位從異步設備。由于OMAP5912的內部數據總線寬度為32位,而MFR4200的數據總線寬度為16位,因此,將每32位數據分成兩個16位數據傳輸。當MFR4200有數據上傳時,使用INT_CC引腳發(fā)送中斷信號到OMAP5912的外部中斷引腳EXT_INT4,OMAP5912根據當前自身的工作情況來處理和MFR4200的通信。OMAP5912也可以使用通用I/O引腳控制MFR4200的復位信號,當連續(xù)多次未收到MFR4200的響應信號時,OMAP5912可以軟件復位MFR4200,從而避免通信的互鎖現象。此外,MFR4200的#IF_SEL0和#IF_SELl引腳上拉后直接連接到物理層。
4 MFR4200和OMAP5912的軟件設計
MFR4200的初始化流程如圖4所示。首先設置標準電壓,可以是5 V和3.3V。由于本系統(tǒng)和OMAP5912連接,采用3.3 V標準電壓。初始化設置數據和地址總線后,讀取MFR4200的MNR(Magic Number Register)寄存器。一旦MFR4200初始化成功,該寄存器內容為0x0815,之后,就可以設置MFR4200的其他寄存器,進行正常的總線數據讀寫。
OMAP5912和MFR4200的數據通信流程如圖5所示。系統(tǒng)初始化后,OMAP5912判斷當前是否有數據讀寫。數據的讀是通過判斷是否有掛起的硬件中斷,該中斷由MFR4200產生,一旦MFR4200收到總線數據幀,都將發(fā)出該中斷;數據寫是通過判斷上層程序是否有數據發(fā)的軟件中斷。無數據讀寫情況下,OMAP5912將定期發(fā)送測試命令到MFR4200,以便確定MFR4200在正常工作。也可以根據需要,將MFR4200設置到低功耗狀態(tài),這樣就不需要發(fā)送測試命令。如果讀取的數據的校驗錯誤較多.則表明無線通信當前的信道噪聲很大,或者MFR4200的總線被干擾出現紊亂。0MAP5912將軟件復位MFR4200模塊,使得。MFR4200重新設囂總線,避免在低信噪比情況下多次重復發(fā)送同樣的數據,縮短無效通信時間。
由于OMAP5910具有C55系列DSP核,因此一些數字信號處理算法可以很容易地實現。對于語音信號,可以進行濾波以提高語音質量;對于圖像信號,可以進行圖像識別。在車載電子設備中,圖像識別可以檢測車前方的各種情況,以便進行相應的自動處理,使得系統(tǒng)更實用,應用范圍更廣。
5 總結
在基于OMAP5912和MFR4200的總線控制器連接設計中,使用OMAP5912的EMIFS接口連接總線控制器MFR4200,可實現FlexRay總線的數據收發(fā)。使用MFR4200模塊實現總線協議,使系統(tǒng)結構簡單,實現方便。由于采用具有DSP核的處理器,系統(tǒng)還可以方便地應用各種數據信號處理算法,尤其適合車載電子設備的語音和圖像處理。
評論