在信號采集系統中,往往需要對多種數據波形進行存儲、轉移或比較,這就要求系統能方便地訪問、傳輸波形數據。FLASH存儲器以其體積小、容量大、可隨機訪問的特點,在系統中得到了很好的應用。本文從實際應用角度出發,簡單介紹了Flash存儲器AT45DB081在數據采集系統中的軟/硬件設計思路和設計要點。 1 系統設計 本系統的整個數據存儲系統可以分為數據緩沖模塊、控制單元和FLASH存儲模塊三個部分,其系統結構框圖如圖1所示。圖中數據緩沖模塊負責對端口數據進行緩沖,以滿足FLASH存儲器的傳輸要求?刂茊卧砂凑誇LASH存儲器的控制要求,對FLASH的讀寫、擦除操作進行控制。在存儲開始后,FLASH的控制單元將數據緩沖模塊中的數據存入相應的FLASH存儲器中,直到計數器計到設定的數值為止。在本系統中,一次存儲只對一組數據進行操作,這樣可以保證各組數據之間不出現覆蓋,以增加存儲的有效性和可靠性。 AT45DB08lB是Atmel公司推出的串行Flash存儲器,該芯片采用串行外圍接口,具有體積小、容量小、功耗低和硬件接口簡單的特點,易于構成微型低功耗測量系統。AT45DB081B的最大時鐘頻率可達20MHz,它支持頁和塊(1塊=8頁)擦除功能,有4096頁,每頁264B容量,并具有兩個264B緩沖區。 AT45DB081B的相關操作包括讀主存儲頁、主存儲頁數據拷貝到緩沖區、主存儲頁與緩沖區數據比較、緩沖區數據寫入主存儲頁、頁擦除、塊擦除、頁編程和頁重寫讀、緩沖區、寫緩沖區和讀狀態寄存器等。其中緩沖區數據寫入主存儲頁的操作中又包括寫前擦除和邊寫邊擦。 AT45DB081B支持SPI 0和SPI 3兩種傳輸方式,其時序圖分別如圖2所示。 本系統選用PHILIPS公司的P89LV51RD2BN微控制器進行控制。P89LV51RD2BN是一款80C5l微控制器,包含64kB Flash和1024字節的數據RAM,它的典型特性是×2方式選項。設計者可通過該特性來選擇以傳統的80C51時鐘頻率(每個機器周期包含12個時鐘)或×2方式(每個機器周期包含6個時鐘)的時鐘頻率運行,其中,選擇×2方式可在相同時鐘頻率下獲得2倍的吞吐量。該特性可將時鐘頻率減半而保持特性不變,并可極大地降低EMI。P89LV51RD2BN與AT45DB081B的連接如圖3所示。為保證其可靠性,在上電后,應對FLASH進行復位,然后通過RDY口確定芯片是否處于忙狀態,之后再進行相應的操作。 4 系統軟件設計 波形數據可以按頁存儲,在進行數據操作時,可以按頁讀取和處理,這樣相對會更加方便。按每一次波形1 KB的數據量來計算。若每4頁存儲一個波形數據,理論上則可以存儲1024個波形。 數據可在控制單元的控制下進行緩沖鎖存。操作時,可以先將264 Bytes的數據寫入buffer中,計數器計為1。再將buffer中的數據送入內部存儲單元,并重復以上操作,當計數器計到4時,即可完成一個波形數據的存儲。讀操作則反之,即將數據先送入buffer,再由buffer向外部傳輸,且仍以計數4次為一操作周期。每次讀寫流程如圖4所示。 將串行FLASH存儲芯片AT45DB081B應用于數據采集系統可使電路設計簡單化。它占用系統資源少且性價比較高。目前,該系統已應用于電纜故障檢測中,效果很好,而且易于編程。 |