基于串行閃存小體積的數據采集系統的設計與實現
0 引 言
??? 在現代電子測量、儀器儀表、生物醫學等領域中,經常涉及到現場采集模擬信號的工作,在某種情況下由于空間的限制,要求采集電路的體積要非常小。傳統的數據采集電路大多采用并行的閃存,體積比較大,不能滿足要求,而串行閃存由于其引腳數量少、封裝小,并且容量容易擴展,可以滿足數據存儲要求。所以,研究串行閃存在存儲系統中的應用很有意義。
1 存儲器的原理
??? 本系統所使用的存儲介質SST25VF03-2B,其容量為4M×8 b,共8個管腳,分別為片選使能(CS)、串行時鐘(CLK)、串行數據輸入(SI)、串行數據輸出(SO)、寫保護(WP)、允許器件停止工作(HOLD)、電源(VCC)、地(GND)。該芯片有2種數據寫入的模式;字節編程模式(Byte-Program)和字編程模式(AAI-Word-Program),在AAI模式下只需在第一次發送ADH命令時發送首地址,在存儲下一組數據時只需發送ADH命令,不必發送地址,地址回以2個字節的增量自動增加,當閃存存滿數據,即地址增加到最大值后,會自動跳出AAI模式,停止編程。
??? 閃存的讀數時序,計算機只需發送片選閃存、發送時鐘、03H命令、讀數的首地址,數據就會從閃存讀到SO口上,然后再讀入計算機,存入硬盤,讀數的長度由計算機控制,在讀完4M×8 b數據后,置位CE,則停止讀數,否則繼續返回首地址重新讀數。
??? 閃存的擦除分為2種模式:一種是塊擦除,另一種為片擦除,由于本系統是每次在閃存存滿數據后才開始讀數、擦除的,所以采用片擦除模式。
2 總體的設計
??? 電路把外界輸入的模擬信號經過模擬調理電路轉換成適合A/D轉換器的輸入信號。A/D轉換器將輸入的模擬信號轉換成離散的數字信號。CPLD控制觸發模式,A/D和閃存,使A/D轉化的數據存入閃存,閃存存滿后,CPLD控制電路是電路處于低功耗的狀態,然后通過計算機讀取閃存的數據和擦除閃存。具體的框圖如圖1所示。
2.1 硬件設計
??? 圖2為本系統的數字觸發邏輯圖,在A/D的busy的上升沿,即數據轉化完成的時候檢測數據是否大于設定的觸發值,當轉化的數據連續4次大于設定值時,觸發標志TRD變為高電平。
??? 圖3為CPLD控制閃存并存儲數據的邏輯圖,其中CE、SCK、SI分別用來控制串行閃存的CE、CLK、SI,電路上電后依次往閃存中發送寫使能,寫狀態寄存器,寫使能,配置SO管腳,配置閃存為AAI模式命令,然后等待觸發,觸發后(即TRD為高電平時),AD轉化的數據開時存儲在閃存中。
??? 圖4為地址計數器,用來記錄閃存的存儲地址,即是閃存中存儲數據的大小,在convst的下降沿,計數器加1,當計數器的值等于閃存容量的時候表示閃存已經存儲滿了,然后把tc0置為1,控制電源管理下電,是電路處于低功耗的狀態。
??? 圖5為CPLD控制的總體邏輯圖,時鐘頻率為24 MHz,在本系統中為了能夠更好地提高采樣頻率,采用了2片閃存進行循環采集,CE30、CE31分別控制2片閃存,可以看出上電后,2片閃存同時發送命令,配置閃存為AAI模式,然后A/D轉化的數值連續4次大于設定值時,以后轉化的數據就通過SI存儲在閃存中,由于沒有把TRD作為輸出,所以在邏輯圖中沒有看到TRD變為高電平。
2.2 讀數軟件設計
??? 圖6、圖7為閃存的讀數流程和擦除流程。為了在重新上電后能夠讀數和擦除,在插上讀數口后使能CPLD與閃存連接的管腳為高阻狀態,這樣計算機給閃存發閃存命令的時候就不會受CPLD的影響。
3 結束語
??? 本文介紹了一種基于AD、CPLD、串行閃存來實現的小體積的數據采集系統。與其他數據采集系統相比,該系統體積小,存儲器便于控制,易于升級存儲器的容量,能夠滿足一般的信號采集。不足是系統的采樣頻率不夠高,只能達到250 kHz/S,不適于高頻信號的采集。
評論
查看更多