??? 摘? 要:設計了一種以DSP(數(shù)字信號處理器" title="數(shù)字信號處理器">數(shù)字信號處理器)為核心處理模塊的數(shù)據(jù)采集" title="數(shù)據(jù)采集">數(shù)據(jù)采集系統(tǒng),用于采集和處理兩路傳感器獲得的信號。系統(tǒng)采用高速A/D" title="A/D">A/D轉換器和DSP芯片,并結合相關算法軟件,實現(xiàn)了實時的信號處理功能,結果可以經D/A" title="D/A">D/A轉換后輸出或以其他方式輸出。實測表明,該系統(tǒng)工作穩(wěn)定,只需根據(jù)采集信號種類的不同及輸出要求的不同設計相關的算法軟件,即可在工業(yè)生產過程或儀器儀表中使用該系統(tǒng)。
??? 關鍵詞: DSP(數(shù)字信號處理器)? 數(shù)據(jù)采集? A/D? D/A
?
??? 數(shù)據(jù)采集是獲取信息的重要手段,在科學研究、生產過程等領域中發(fā)揮著越來越重要的作用。應用數(shù)據(jù)采集,將提高人們對各種瞬態(tài)現(xiàn)象進行研究的能力,在生產過程中應用數(shù)據(jù)采集,能迅速地對各種過程參數(shù)進行采集,為計算機控制提供必需的信息,從而實現(xiàn)生產過程的自動控制。本文介紹一種以DSP(數(shù)字信號處理器)為核心處理模塊的多路數(shù)據(jù)采集系統(tǒng)" title="數(shù)據(jù)采集系統(tǒng)">數(shù)據(jù)采集系統(tǒng),它可以用于多種需要實時信號處理的場合。
1 數(shù)據(jù)采集基本原理
??? 數(shù)據(jù)采集就是將模擬信號轉換成數(shù)字信號,送入計算機進行相應的計算和處理,可以方便地顯示數(shù)據(jù)或結果,以便實現(xiàn)對某些物理量的監(jiān)視,或將數(shù)據(jù)用于生產過程中的控制。在進行數(shù)據(jù)采集時,對一個連續(xù)的模擬信號x(t),通過一個周期性開閉(周期為TS,開關閉合時間為τ)的采樣開關K 之后,在開關輸出端輸出一串在時間上離散的脈沖信號xs(nTs)的過程稱采樣過程,如圖1所示。
??????????????? 
??? 這一串在時間上離散的脈沖信號xs(nTs)只有滿足下列條件:
??? ① 頻譜X(f)為有限頻譜,即當| f |≥fc,X(f)=0
??? ②?
?? 則連續(xù)信號唯一確定,xs(nTs)才能無失真地恢復為原來信號x(t)。
2 數(shù)據(jù)采集系統(tǒng)硬件總體設計方案
?? 該多路數(shù)據(jù)采集系統(tǒng)是為一種速度測量儀表所設計[1~3],由兩路8位高速A/D轉換器、DSP芯片以及D/A轉換器等部分組成。傳感器的兩路信號(根據(jù)采集對象的不同可設計不同的傳感器)分別送入兩個高速A/D轉換器進行模數(shù)轉換,將轉換的結果送入DSP中。依據(jù)系統(tǒng)所實現(xiàn)功能設計的相關算法,考慮到數(shù)據(jù)采集和處理的實時性,采用TI公司具有高速數(shù)據(jù)運算和處理能力的DSP(TMS320C5402)進行數(shù)據(jù)運算和處理,最終將結果以數(shù)字方式輸出或經D/A轉換后輸出,也顯示輸出。圖2為該系統(tǒng)的結構框圖,該構架也可以用于其他類似的應用中。
??????????????? 
??? 系統(tǒng)所用的TMS320C5402芯片在設計上采用了哈佛體系結構、流水線技術和獨立的硬件乘法器,具有運算和處理速度快、片內外設接口簡單、體積小、成本低等特點。由于DSPC5402數(shù)據(jù)線為16位,接口中將一路A/D的8位數(shù)據(jù)線接DSP數(shù)據(jù)線高8位,另一路和D/A轉換器共享低8位(需進行電壓轉換),相應的地址線與DSP地址線相連,這樣兩路A/D轉換器可進行同步采集,用DSP的XF引腳通過軟件控制實現(xiàn)數(shù)據(jù)的有序轉換。
3?數(shù)據(jù)采集系統(tǒng)硬件接口設計
3.1 A/D接口電路設計
??? 數(shù)據(jù)采集系統(tǒng)首要的任務是將傳感器采集到的信號經過調理后進行A/D轉換。為了實現(xiàn)高速、實時的數(shù)據(jù)采集和轉換,設計中A/D轉換模塊[4~5]采用了TI公司生產的8位、并行A/D轉換器件TLC5510A,它的最高采樣率是20MHz,能實現(xiàn)高速數(shù)據(jù)采集,適應于便攜式設備,采用單一4V電源供電,工作時最大功耗為150mW。經傳感器檢測到的信號通過TLC5510A的19引腳輸入到A/D轉換器中,用DSP內部的定時器來控制A/D轉換器采樣率,在每次產生定時器中斷時對A/D轉換器進行讀取,有利于通過設置定時器初始值來改變采樣率。圖3為A/D轉換接口電路圖,其中OE為片選端,低電平有效,時鐘由DSP內部時鐘提供,從A/D芯片的CLK端輸入,轉換后的8位數(shù)字量經電壓(A/D和DSP工作電壓不同)轉換后直接送入DSP進行數(shù)據(jù)處理和運算。
??????????????????
3.2? A/D轉換時序
??? 在進行A/D轉換時,每次輸入時鐘信號的下降沿啟動A/D轉換器,一次A/D轉換需要2.5個時鐘周期,即第一時鐘的下降沿啟動A/D轉換后,要等到第三時鐘信號的上升沿出現(xiàn)時,第一個A/D轉換數(shù)據(jù)才會準備好。轉換時序圖[5]如圖4所示。
???????????????? 
3.3? D/A接口電路設計
?? 由DSP運算和處理的數(shù)據(jù)經D/A轉換后輸出,數(shù)據(jù)采集系統(tǒng)設計中采用了8位D/A轉換器TLC7524C[6],該轉換器能方便地與大多數(shù)通用微處理器接口,具有輸入鎖存以及與隨機存儲器寫周期相類似的裝載周期和低功耗特點。圖5為D/A接口電路圖。當CS和WR二者均為低時,模擬輸出與DB0~DB7數(shù)據(jù)總線輸入端的數(shù)據(jù)相對應,當CS信號或WR信號變?yōu)楦唠娖綍r,DB0~DB7輸入端的數(shù)據(jù)被鎖存,直到CS和WR再次變?yōu)榈碗娖綖橹?。鎖存的數(shù)字量經D/A轉換成模擬量,由運算放大器進行放大后輸出。
????????????????????? 
4 數(shù)據(jù)采集系統(tǒng)的調試及結果
?? 為了調試該系統(tǒng),可以在A/D轉換器輸入端輸入一個確定信號,觀察其采集和輸出的情況,為此設計了A/D、D/A轉換程序,將A/D轉換后的數(shù)據(jù)存入DSP數(shù)據(jù)存儲器某一單元中,并進行D/A轉換,將結果輸出到示波器上顯示。圖6為A/D、D/A轉換的主程序以及中斷子程序框圖。???
?????????????????????? 
?? 測試中所用儀器為:RIGOL系列信號發(fā)生器DG2000和示波器DS1000。
程序[7~8]主要由初始化、設置地址、轉換程序和延時程序等部分組成,下面是程序的主要部分。
.mmregs
? ?.def????? ??_c_int00
?? .include?? ?c54.inc
?? .ref?????? ??c54init
?? .def????? ??Get_ADValue
AD_ADDR??????? .SET0x0008
DA_ADDR??????? .SET0x0002
?? .data
?? .bss??????? buffer,1
?? .sect?????? 'progsys'
?? .align???? ?0x10
_c_int00:???????????????????????????
?? STM? ? ???? #0x0f80,SP??????
?? CALL??????? c54init?????????? ;設置相應的采樣率
?? LD?? ?????? #buffer,DP
?? STM? ?????? #buffer,AR1
LOOP:NOP
?? NOP
???B??????? ??? LOOP
Get_ADValue:
?? PORTR???? ? ?AD_ADDR,??*AR1 ;A/D轉換
?? CALL?????????DELAY
?? PORTW? ????? *AR1,DA_ADDR?;D/A轉換
CALL??? ???? DELAY
aaa: RETE
?? .END
?? .mmregs
?? .include?? ? c54.inc
?? .def?? ????? c54init
?? .sect??????? 'progsys'
c54init:
?? STM ???????? #0x7208,SWWSR???
?? STM ???????? #0,ST0
?? STM ???????? #0x2B00,ST1????
?? STM ???????? #0x2FE4,PMST???
?? STM????????? #0xFFFF,IFR
?? STM????????? #0x0008,IMR?????
?? STM????????? #0,CLKMD
clkcon: LDM ?CLKMD,A
?? AND????????? #0x01,A
?? BC?????????? CLKCON,ANEQ
?? STM ???????? #0x43FF,CLKMD???
?? STM ???????? #0x0010,TCR1??;Timer1? stop
?? STM??????????#0x0010,TCR?? ;TRB=0, TSS=1
????????????????????????????? Timer stop
?? STM????????? #0x0C245,PRD?? ;設置采樣率
?? STM????????? #0x0020,TCR???????????
?? RSBX?????????INTM
?? NOP??
?? RET
???? ?END
?? 將信號發(fā)生器DG2000的輸出經一個保護電阻接到A/D轉換器輸入端,D/A轉換后的OUT端則接到雙蹤示波器DS1000 Y軸進行監(jiān)視。
波形輸入界面如圖7所示。
??????????????????? 
??? 輸入一個正弦波,將上述程序在CCS環(huán)境下編譯、連接生成公共目標代碼文件,在線下載到DSP中運行,在示波器窗口上即可顯示如圖8所示波形,上面的是輸入的正弦波,下面的波形是在低采樣率下經A/D和D/A轉換后輸出的階梯狀正弦波,這說明A/D轉換和D/A轉換部分都是成功的。由于噪聲干擾會使信號有一些畸變,在實際應用中可通過濾波等方法消除。
???????????????? 
??? 由于本采集系統(tǒng)具有高速轉換器和DSP硬件基礎,只需根據(jù)采集信號種類的不同及輸出要求的不同設計相關的算法軟件并對所獲得信號進行處理即可,在各種工業(yè)生產過程和儀器儀表中可以應用該系統(tǒng)。
參考文獻
[1]?陳學煌.噪聲信號與速度測量.物理,2002,(10):667-669.
[2]?馬明建.數(shù)據(jù)采集與處理技術. 西安:西安交通大學出版社,2005.
[3]?陳學煌.一種新型非接觸式速度測量裝置.傳感器技術,2004,(23)1.
[4]?TLC5510 Data Manual. Texas Instrument.1999,2-20.
[5]?雷宏江.DSP系統(tǒng)的A/D接口設計.儀表技術,2005,(5).
[6]?TLC7524C Data Manual. Texas Instrument.1999,2-12.
[7]?TMS320VC5402 Data Sheet. Texas Instruments.2000,5-50.
[8]?張雄偉,曹鐵勇.DSP芯片的原理與開發(fā)應用.北京:電子工業(yè)出版社,2000.

