久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 車載CAN總線記錄儀實現大容量存儲系統

車載CAN總線記錄儀實現大容量存儲系統

作者: 時間:2012-04-12 來源:網絡 收藏

引言

  CAN 是Controller Area Network 的縮寫(以下稱為CAN),是ISO國際標準化的串行通信協議。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用于汽車計算機控制系統和環境溫度惡劣、電磁輻射強和振動大的工業環境。本文利用“FPGA+單片機”作為存儲控制器,采用基于LZW算法的數據壓縮技術,以SDRAM作為周期存儲和緩存,SD卡作為最終存儲載體,實現實現大容量存儲系統

  1 系統整體結構設計

  

車載CAN總線記錄儀實現大容量存儲系統框圖

  如圖1所示,存儲系統主要包括以下模塊:FPGA主控模塊、CAN總線監聽控制模塊、數據壓縮模塊、SDRAM控制模塊和單片機控制CH376模塊。本文主要介紹存儲部分,CAN總線監聽控制模塊不做介紹。圖中,點畫線內的部分均由FPGA控制。后端SD卡由MSP430單片機控制,SD協議芯片采用CH376。FPGA控制CAN總線控制芯片、CAN總線收發器從總線上獲取數據,經過數據壓縮模塊壓縮,存入SDRAM里。這里采用兩種存儲模式:一種是利用SDRAM存儲的可覆蓋性進行周期存儲,具體存儲周期由壓縮率和SDRAM容量決定;另一種是直接存儲,SDRAM作為緩存。當選擇直接存儲時,FPGA與單片機通信,利用FIFO給單片機發送數據,單片機控制CH376將數據存入SD卡(存儲時間由SD卡容量決定)。

  2 系統硬件設計

  2.1 FPGA主控模塊

  FPGA選用Altera公司的Cyclone II系列芯片EP2C5T14418N,它具有內部資源豐富、速度快的特點。上電后,主控模塊使能CAN總線監聽控制模塊、數據壓縮模塊、SDRAM控制模塊。如果選擇周期存儲,則不使能單片機;若選擇直接存儲,則讓單片機處于低功耗狀態,當SDRAM有數據時FPGA把數據發給單片機,并使其控制CH376工作。

  2.2 數據壓縮模塊

  

LZW算法流程
壓縮算法采用LZW算法。該算法是一種基于字典的壓縮算法,在數據的壓縮過程中會根據輸入的數據動態地建立一個字典。后續輸入的數據都會在這個字典中進行匹配查找,根據查找是否成功決定壓縮編碼的輸出。LZW壓縮算法流程如圖2所示。根據該流程,采用C語言設計壓縮與解壓縮軟件以驗證算法和硬件壓縮的正確性,用Verilog語言編寫了壓縮代碼,利用FPGA內部RAM資源建立字典。LZW壓縮算法的硬件邏輯功能框圖如圖3所示。

  


上一頁 1 2 下一頁

關鍵詞: 車載CAN 總線記錄儀 大容量存儲

評論


相關推薦

技術專區

關閉