利用可編程邏輯控制器CPLD實現(xiàn)數(shù)據(jù)采集系統(tǒng)的總體設(shè)計_第1頁
利用可編程邏輯控制器CPLD實現(xiàn)數(shù)據(jù)采集系統(tǒng)的總體設(shè)計_第2頁
利用可編程邏輯控制器CPLD實現(xiàn)數(shù)據(jù)采集系統(tǒng)的總體設(shè)計_第3頁
利用可編程邏輯控制器CPLD實現(xiàn)數(shù)據(jù)采集系統(tǒng)的總體設(shè)計_第4頁
利用可編程邏輯控制器CPLD實現(xiàn)數(shù)據(jù)采集系統(tǒng)的總體設(shè)計_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

利用可編程邏輯控制器CPLD實現(xiàn)數(shù)據(jù)采集系統(tǒng)的總體設(shè)計1.引言本文所介紹的數(shù)據(jù)采集系統(tǒng)是基于ARM的信號處理系統(tǒng)中的一部分,該信號處理系統(tǒng)用于導(dǎo)彈的數(shù)字式自動駕駛儀的開發(fā)研究中。整個系統(tǒng)由信號放大、信號濾波、信號采樣、高速數(shù)字信號處理等部分組成。其中,數(shù)據(jù)采集系統(tǒng)是一個重要的環(huán)節(jié),它的高速性和準(zhǔn)確性直接影響到整個信號處理系統(tǒng)的性能。傳統(tǒng)方法是應(yīng)用CPU通過軟件控制模數(shù)轉(zhuǎn)換,這樣必將頻繁中斷系統(tǒng)的運行從而減弱系統(tǒng)的數(shù)據(jù)運算能力,數(shù)據(jù)采集的速度也將受到限制。因此,本文利用可編程邏輯控制器CPLD,由硬件控制模數(shù)轉(zhuǎn)換和數(shù)據(jù)存儲,從而最大限度地提高系統(tǒng)的信號采集和處理能力。2.系統(tǒng)總體設(shè)計方案數(shù)據(jù)采集系統(tǒng)的總體設(shè)計方案如圖1所示。基于VerilogHDL設(shè)計的自動狀態(tài)機由硬件控制A/D轉(zhuǎn)換以及自動向FIFO中存儲數(shù)據(jù),當(dāng)采樣數(shù)據(jù)達到要求時,向CPU申請中斷,ARM系統(tǒng)啟動DMA完成數(shù)據(jù)讀取。待CPU取走數(shù)據(jù)后,給狀態(tài)機一個復(fù)位信號,同時對采集到的數(shù)據(jù)進行高速處理。這期間數(shù)據(jù)采集不中斷,從而實現(xiàn)連續(xù)的實時數(shù)據(jù)采集和實時數(shù)據(jù)處理。數(shù)據(jù)采集系統(tǒng)由A/D芯片AD7656、邏輯控制芯片EPM7128、FIFO芯片CY7C425以及緩沖74LVT245組成,控制邏輯用VerilogHDL語言描述。3.硬件設(shè)計3.1A/D轉(zhuǎn)換芯片系統(tǒng)的A/D轉(zhuǎn)換芯片采用AD7656,一個AD7656芯片擁有6個16位逐次漸進模數(shù)轉(zhuǎn)換器,在5V電壓供電下采樣率為250kSPS。芯片中的采樣保持放大器最大處理輸入頻率為8MHz。轉(zhuǎn)換過程和數(shù)據(jù)獲取由CONVST信號和內(nèi)部時鐘控制,三個CONVST管腳可以控制三對獨立的模數(shù)轉(zhuǎn)換器同時采樣。AD7656根據(jù)內(nèi)部參考電壓2.5V可提供±10V或者±5V的雙極性模擬量輸入范圍,或者根據(jù)外部參考電壓提供不同范圍的雙極性模擬量輸入信號。AD7656的內(nèi)部轉(zhuǎn)換時序圖如圖2所示。將三個CONVST管腳連接在一起后,即可對六個A/D轉(zhuǎn)換器同時進行采樣。CONVST的上升沿觸發(fā)A/D轉(zhuǎn)換,轉(zhuǎn)換時間為3μs。轉(zhuǎn)換過程中,BUSY信號保持高電平不變,直到轉(zhuǎn)換結(jié)束時,BUSY信號由高變低,系統(tǒng)進入跟蹤模式,轉(zhuǎn)換結(jié)果存于輸出數(shù)據(jù)寄存器中。當(dāng)片選信號保持低電平不變時,連續(xù)六個讀信號低電平能夠依次讀出六個A/D轉(zhuǎn)換器的轉(zhuǎn)換數(shù)據(jù)。3.2FIFO存儲器系統(tǒng)的FIFO存儲器采用CY7C425,它是CYPRESS公司采用CMOS工藝制造的1K×9位可以實現(xiàn)先進先出算法,可以進行異步讀寫操作的雙端口存儲器。它提供全空、全滿、半滿狀態(tài)標(biāo)志,用以防止數(shù)據(jù)溢出或不足。擴展邏輯電路允許多片F(xiàn)IFO進行數(shù)據(jù)寬度和存儲深度的擴展而不會增加額外的時間延遲。CY7C425的異步讀寫時序圖如圖3所示。當(dāng)寫信號為低電平時發(fā)生寫操作,A/D轉(zhuǎn)換的結(jié)果通過寫操作不斷存入FIFO中,存入一定數(shù)量的數(shù)據(jù)后,再通過讀信號將FIFO中的數(shù)據(jù)依次讀入CPU中。采用兩片CY7C425擴展為16位1024字的高速異步FIFO存儲器,數(shù)據(jù)處理速度達到50MHz,可以實現(xiàn)數(shù)據(jù)的高速寫入和高速讀出。3.3狀態(tài)機模塊狀態(tài)機FSM完成自動A/D轉(zhuǎn)換和數(shù)據(jù)存儲,控制芯片是EPM7128。此狀態(tài)機由系統(tǒng)時鐘驅(qū)動,控制A/D轉(zhuǎn)換器的轉(zhuǎn)換、FIFO的復(fù)位及寫數(shù),并產(chǎn)生中斷信號通知CPU讀取數(shù)據(jù)。由于系統(tǒng)使用了兩片AD7656,而不同芯片的個體會有差別,同一器件也會有溫漂、時漂還有老化的問題,如果采用中斷方式取數(shù),很有可能會引起各個通道A/D采樣率不一致并且單個通道A/D工作時采樣率也不恒定。因此,可以不管BUSY信號,只需要把各段的時序留夠足夠的裕量就可以了,譬如AD7656的轉(zhuǎn)換時間是3μs,那么,只要狀態(tài)機保持CONVST至少3μs的高電平,這樣就可以完全確定A/D轉(zhuǎn)換的結(jié)束。這樣控制器就可以不需要檢測A/D的BUSY信號,同時也能很準(zhǔn)確地保證采樣速率了。系統(tǒng)復(fù)位時,轉(zhuǎn)換信號CONVST及FIFO復(fù)位信號MR保持低電平不變,此時不進行數(shù)據(jù)采集。系統(tǒng)復(fù)位后,CONVST上升沿觸發(fā)轉(zhuǎn)換開始,系統(tǒng)進入采樣保持階段。3μs后,待A/D轉(zhuǎn)換結(jié)束,連續(xù)產(chǎn)生12個A/D讀脈沖,可以依次讀出12個通道的轉(zhuǎn)換結(jié)果。取數(shù)的同時產(chǎn)生FIFO的寫脈沖,可將讀出的數(shù)據(jù)連續(xù)寫入FIFO中。為利于CPU中處理軟件的編寫,CPLD中設(shè)置了一個計數(shù)器,可以進行32(2的5次方)次采樣。最后發(fā)送中斷信號到CPU,CPU通過DMA方式將數(shù)據(jù)全部讀入內(nèi)部存儲器,數(shù)字濾波通過取和以后右移5位即可進行。4.VerilogHDL描述電子系統(tǒng)設(shè)計中一般遵循自上而下的設(shè)計思路,對系統(tǒng)進行設(shè)計、描述與仿真??紤]到模塊的通用性、移植性,常常使用硬件描述語言來描述數(shù)字系統(tǒng),如VerilogHDL、VHDL、AHDL語言等。其中VerilogHDL語言具有結(jié)構(gòu)清晰、文法簡明、功能強大、高速模擬和多庫支持等優(yōu)點,被近90%的半導(dǎo)體公司使用,成為一種強大的設(shè)計工具。4.1用VerilogHDL語言描述自動狀態(tài)機自動狀態(tài)機有兩個輸入信號和七個輸出信號。輸入信號中CLK由CPU的輸出頻率提供,產(chǎn)生50MHz的時鐘頻率,RST由CPU提供,負(fù)責(zé)復(fù)位狀態(tài)機。CONVST產(chǎn)生A/D轉(zhuǎn)換器的轉(zhuǎn)換啟動信號;ADC_CS、ADC1_RD、ADC2_RD分別是兩個A/D轉(zhuǎn)換器的片選信號以及讀信號;FIFO_WR和FIFO_MR控制FIFO的讀數(shù)和復(fù)位;中斷信號INT通知CPU在DMA方式下取數(shù)。程序如下:modulefsm(RST,CLK,CONVST,ADC_CS,ADC1_RD,ADC2_RD,F(xiàn)IFO_WR,F(xiàn)IFO_MR,INT);inputRST,CLK;outputCONVST,ADC_CS,ADC1_RD,ADC2_RD,F(xiàn)IFO_WR,F(xiàn)IFO_MR,INT;regCONVST,ADC_CS,ADC1_RD,ADC2_RD,F(xiàn)IFO_WR,F(xiàn)IFO_MR,INT;parameterST0=8‘b00000000,ST150=8’b10010110,ST152=8‘b10011000,ST153=8’b10011001,ST155=8‘b10011011,ST156=8’b10011100,ST158=8‘b10011110,ST159=8’b10011111,ST161=8‘b10100001,ST162=8’b10100010,ST164=8‘b10100100,ST165=8’b10100101,ST167=8‘b10100111,ST168=8’b10101000,ST170=8‘b10101010,ST171=8’b10101011,ST173=8‘b10101101,ST174=8’b10101110,ST176=8‘b10110000,ST177=8’b10110001,ST179=8‘b10110011,ST180=8’b10110100,ST182=8‘b10110110,ST183=8’b10110111,ST185=8‘b10111001;reg[7:0]COUNTER;reg[4:0]CN;always@(posedgeCLK)if(!RST)beginCOUNTER《=0;ADC_CS《=1;ADC1_RD《=1;ADC2_RD《=1;FIFO_WR《=1;FIFO_MR《=0;CONVST《=0;CN《=0;INT《=0;endelseif(CN》=5’b11111)beginINT《=1;COUNTER《=0;ADC_CS《=1;ADC1_RD《=1;ADC2_RD《=1;FIFO_WR《=1;FIFO_MR《=0;CONVST《=0;endelsebeginif(COUNTER《8‘b11001100)COUNTER《=COUNTER+8’b00000001;elsebeginCN《=CN+5‘b00001;COUNTER《=0;endcase(COUNTER)ST0:beginCONVST《=1;FIFO_MR《=1;endST150:beginADC_CS《=0;ADC1_RD《=0;FIFO_WR《=0;endST152:beginFIFO_WR《=1;ADC1_RD《=1;endST153:beginFIFO_WR《=0;ADC1_RD《=0;endST155:beginFIFO_WR《=1;ADC1_RD《=1;endST156:beginFIFO_WR《=0;ADC1_RD《=0;endST158:beginFIFO_WR《=1;ADC1_RD《=1;endST159:beginFIFO_WR《=0;ADC1_RD《=0;endST161:beginFIFO_WR《=1;ADC1_RD《=1;endST162:beginFIFO_WR《=0;ADC1_RD《=0;endST164:beginFIFO_WR《=1;ADC1_RD《=1;endST165:beginFIFO_WR《=0;ADC1_RD《=0;endST167:beginFIFO_WR《=1;ADC1_RD《=1;endST168:beginFIFO_WR《=0;ADC2_RD《=0;endST170:beginFIFO_WR《=1;ADC2_RD《=1;endST171:beginFIFO_WR《=0;ADC2_RD《=0;endST173:beginFIFO_WR《=1;ADC2_RD《=1;endST174:beginFIFO_WR《=0;ADC2_RD《=0;endST176:beginFIFO_WR《=1;ADC2_RD《=1;endST177:beginFIFO_WR《=0;ADC2_RD《=0;endST179:beginFIFO_WR《=1;ADC2_RD《=1;endST180:beginFIFO_WR《=0;ADC2_RD《=0;endST182:beginFIFO_WR《=1;ADC2_RD《=1;endST183:beginFIFO_WR《=0;ADC2_RD《=0;endST185:beginFIFO_WR《=1;ADC2_RD《=1;ADC_CS《=1;CONVST《=0;endendcaseendendmodule4.2仿真圖形圖4為狀態(tài)機復(fù)位時的仿真圖形。由圖可以看出,當(dāng)按下復(fù)位鍵時,A/D轉(zhuǎn)換信號CONVST保持為低電平,A/D轉(zhuǎn)換器不采集數(shù)據(jù)。同時,F(xiàn)IFO復(fù)位信號FIFO_MR也保持低電平不變,可將FIFO中的數(shù)據(jù)清空。當(dāng)復(fù)位信號變高后,在外部時鐘CLK的第一個上升沿,CONVST電平升高,開始A/D轉(zhuǎn)換(存在時延)。圖5為狀態(tài)機從A/D轉(zhuǎn)換器將數(shù)據(jù)讀入FIFO中的時序圖。由圖可知,3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論