新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 車載CAN總線記錄儀進行大容量存儲系統的設計

        車載CAN總線記錄儀進行大容量存儲系統的設計

        作者: 時間:2016-12-13 來源:網絡 收藏
          引言

          CAN 是Controller Area Network 的縮寫(以下稱為CAN),是ISO國際標準化的串行通信協議。在當前的汽車產業中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統被開發了出來。由于這些系統之間通信所用的數據類型及對可靠性的要求不盡相同,由多條總線構成的情況很多,線束的數量也隨之增加。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用于汽車計算機控制系統和環境溫度惡劣、電磁輻射強和振動大的工業環境。

        本文引用地址:http://www.104case.com/article/201612/329525.htm

          1 系統整體結構設計

          如圖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壓縮算法流程如圖2所示。根據該流程,采用C語言設計壓縮與解壓縮軟件以驗證算法和硬件壓縮的正確性,用Verilog語言編寫了壓縮代碼,利用FPGA內部RAM資源建立字典。LZW壓縮算法的硬件邏輯功能框圖如圖3所示。

          2.3 SDRAM控制模塊

          SDRAM(同步動態隨機存儲器)是一種易失性存儲器,以其容量大、價格低的特點得到越來越廣泛的應用。但其控制邏輯復雜,需要周期性刷新操作、行列管理、不同延時和命令序列等。圖4是SDRAM的控制狀態轉移圖。

          2.4 單片機控制CH376模塊

          CH376是一款國產文件管理控制芯片,用于單片機系統讀寫U盤或者SD卡中的文件。CH376內置了SD卡的通信接口、FATl6、FAT32以及FAT l2文件系統等固件,無需自己編寫底層協議,控制簡單,提供2 MB、24MHz的SPI設備接口,支持連接到單片機的SPI串行總線。CH376應用連接圖如圖5所示。

          3 系統仿真與測試

          程序編寫完之后,利用Modelsim語言仿真軟件對其進行仿真。ModelSim能提供友好的仿真環境,是單內核支持VHDL和Verilog混合仿真的仿真器。它采用直接優化的編譯技術、Tcl/Tk技術和單一內核仿真技術,編譯仿真速度快,編譯的代碼與平臺無關,是FPGA/ASIC設計的首選仿真軟件。硬件壓縮與存儲模塊仿真如圖6所示。仿真結果表明,硬件壓縮與軟件壓縮完全符合。

          結語

          本文詳細闡述了大容量存儲系統系統的整體結構、硬件電路設計。利用“FPGA+單片機”作為存儲控制器,采用基于LZW算法的數據壓縮技術,以SDRAM作為周期存儲和緩存,SD卡作為最終存儲載體。實驗結果表明,該存儲系統可以很好地應用于車載信息記錄儀。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 赤城县| 五华县| 祥云县| 延吉市| 麻江县| 民乐县| 武邑县| 靖江市| 淮安市| 福贡县| 新河县| 怀集县| 吉木乃县| 铁岭县| 九江市| 革吉县| 乌苏市| 阜康市| 江北区| 光泽县| 荣成市| 伊金霍洛旗| 三亚市| 盈江县| 三门峡市| 乌审旗| 县级市| 平泉县| 海丰县| 葫芦岛市| 萨嘎县| 辽宁省| 新化县| 乌鲁木齐县| 河南省| 耒阳市| 龙山县| 元阳县| 博湖县| 彝良县| 盐津县|