車(chē)載CAN總線(xiàn)記錄儀實(shí)現大容量存儲系統
引言
CAN 是Controller Area Network 的縮寫(xiě)(以下稱(chēng)為CAN),是ISO國際標準化的串行通信協(xié)議。近年來(lái),其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用于汽車(chē)計算機控制系統和環(huán)境溫度惡劣、電磁輻射強和振動(dòng)大的工業(yè)環(huán)境。本文利用“FPGA+單片機”作為存儲控制器,采用基于LZW算法的數據壓縮技術(shù),以SDRAM作為周期存儲和緩存,SD卡作為最終存儲載體,實(shí)現車(chē)載CAN總線(xiàn)記錄儀實(shí)現大容量存儲系統。
1 系統整體結構設計

如圖1所示,存儲系統主要包括以下模塊:FPGA主控模塊、CAN總線(xiàn)監聽(tīng)控制模塊、數據壓縮模塊、SDRAM控制模塊和單片機控制CH376模塊。本文主要介紹存儲部分,CAN總線(xiàn)監聽(tīng)控制模塊不做介紹。圖中,點(diǎn)畫(huà)線(xiàn)內的部分均由FPGA控制。后端SD卡由MSP430單片機控制,SD協(xié)議芯片采用CH376。FPGA控制CAN總線(xiàn)控制芯片、CAN總線(xiàn)收發(fā)器從總線(xiàn)上獲取數據,經(jīng)過(guò)數據壓縮模塊壓縮,存入SDRAM里。這里采用兩種存儲模式:一種是利用SDRAM存儲的可覆蓋性進(jìn)行周期存儲,具體存儲周期由壓縮率和SDRAM容量決定;另一種是直接存儲,SDRAM作為緩存。當選擇直接存儲時(shí),FPGA與單片機通信,利用FIFO給單片機發(fā)送數據,單片機控制CH376將數據存入SD卡(存儲時(shí)間由SD卡容量決定)。
2 系統硬件設計
2.1 FPGA主控模塊
FPGA選用Altera公司的Cyclone II系列芯片EP2C5T14418N,它具有內部資源豐富、速度快的特點(diǎn)。上電后,主控模塊使能CAN總線(xiàn)監聽(tīng)控制模塊、數據壓縮模塊、SDRAM控制模塊。如果選擇周期存儲,則不使能單片機;若選擇直接存儲,則讓單片機處于低功耗狀態(tài),當SDRAM有數據時(shí)FPGA把數據發(fā)給單片機,并使其控制CH376工作。
2.2 數據壓縮模塊


評論