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

