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