基于DSP和光纜通信的遠(yuǎn)程高速數(shù)據(jù)采集
隨著數(shù)字信號(hào)處理技術(shù)及通信技術(shù)的發(fā)展,DSP技術(shù)應(yīng)用越來越廣泛。將DSP技術(shù)應(yīng)用于高速數(shù)據(jù)采集,可以對(duì)采集數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,同時(shí)將高速光纜通信技術(shù)應(yīng)用于遠(yuǎn)程數(shù)據(jù)采集的數(shù)據(jù)傳遞,能夠使采集的大量信號(hào)高速可靠地傳遞至主控計(jì)算機(jī)作進(jìn)一步的分析處理。本文介紹了一種使用TMS320VC5402作為處理器,用高速A/D轉(zhuǎn)換芯片進(jìn)行數(shù)據(jù)采集與處理,使用光纜進(jìn)行數(shù)據(jù)通信的高速遠(yuǎn)程數(shù)據(jù)采集板。將此采集板應(yīng)用于油田超聲波測(cè)井系統(tǒng),為探測(cè)油井下內(nèi)壁、壁厚以及油井外固井水泥環(huán)的情況提供充分的數(shù)據(jù)基礎(chǔ)。
作為一個(gè)使用DSP芯片作為處理器的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng),不但要完成數(shù)據(jù)的采集工作,而且還要能夠?qū)?shù)據(jù)進(jìn)行實(shí)時(shí)處理,然后將數(shù)據(jù)傳遞至遠(yuǎn)處控制端。同時(shí),數(shù)據(jù)采集部分還要能夠接收遠(yuǎn)端控制端發(fā)出的命令,及時(shí)對(duì)數(shù)據(jù)采集進(jìn)行總體上的控制。
此遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)需要完成的基本功能是:接收地面主控計(jì)算機(jī)發(fā)出的控制命令,自動(dòng)完成多路超聲波電信號(hào)的采集工作:將信號(hào)放大,濾波處理后數(shù)字化,經(jīng)過短暫存儲(chǔ)及初步處理,將數(shù)字化的超聲波信號(hào)分組,傳遞至地面主控計(jì)算機(jī),供分析軟件進(jìn)行數(shù)據(jù)分析。
?。?系統(tǒng)硬件的設(shè)計(jì)
整個(gè)系統(tǒng)由數(shù)據(jù)采集和計(jì)算機(jī)控制卡兩部分組成。數(shù)據(jù)采集部分完成超聲波信號(hào)的放大、濾波、模數(shù)轉(zhuǎn)換以及處理和傳輸控制;計(jì)算機(jī)控制卡接收由數(shù)據(jù)采集卡經(jīng)過光纜傳遞的數(shù)據(jù)信號(hào),送至計(jì)算機(jī)PCI總線,由處理軟件進(jìn)行數(shù)據(jù)處理。PCI控制卡經(jīng)過控制軟件向數(shù)據(jù)采集卡發(fā)送數(shù)據(jù)采集命令,使數(shù)據(jù)采集卡根據(jù)命令改變工作狀態(tài)。
?。保?數(shù)據(jù)采集卡的硬件設(shè)計(jì)
圖1為數(shù)據(jù)采集卡部分的電路原理圖。由于數(shù)據(jù)采集板工作在惡劣的環(huán)境中,要求硬件電路保證完成盡可能多工作的同時(shí),使用盡可能少的器件,以保證采集板能夠長(zhǎng)時(shí)間地穩(wěn)定工作。
數(shù)據(jù)采集板的核心處理器是TMS320VC5402。該芯片是TI公司TMS320VC54x系列的DSP芯片,是為實(shí)現(xiàn)低功耗、高性能而專門設(shè)計(jì)的定點(diǎn)DSP芯片,主要應(yīng)用在通信、數(shù)據(jù)采集等系統(tǒng)中。該芯片采用CMOS制造工藝,屬于第七代DSP產(chǎn)品,它的工作頻率可以根據(jù)需要進(jìn)行調(diào)整。 由于TMS320VC5402芯片內(nèi)部不帶FLASH程序存儲(chǔ)器,因此,在采集板上要讓FLASH存儲(chǔ)器保存程序。使用的芯片是SST39VF400A。此芯片是Silicon Storage Technology生產(chǎn)的256K字節(jié)的16位FLASH存儲(chǔ)器。在電路啟動(dòng)時(shí),由TMS320VC5402內(nèi)部ROM中的引導(dǎo)程序?qū)⒋鎯?chǔ)在FLASH中的工作程序轉(zhuǎn)移到SRAM中,提高程序運(yùn)行效率,降低對(duì)外部ROM的速度要求。這樣,不僅可以提高系統(tǒng)硬件的成本,而且可以提高系統(tǒng)的整體抗干擾性。
?。裕停樱常玻埃郑茫担矗埃?DSP芯片內(nèi)帶16K字節(jié)的RAM,其中一部分用來運(yùn)行程序,另外一部分可以用來存儲(chǔ)臨時(shí)數(shù)據(jù),片內(nèi)的RAM存儲(chǔ)器不能滿足數(shù)據(jù)存儲(chǔ)容量的要求,因此在采集板上還要擴(kuò)充一部分SRAM。此采集卡上使用的SRAM芯片為CY7C1021。此芯片是Cypress公司生產(chǎn)的16位64K字節(jié)的靜態(tài)RAM存儲(chǔ)器,采用CMOS工藝,具有自動(dòng)低功耗模式的功能,降低系統(tǒng)功耗,保證低散熱量。
?。粒霓D(zhuǎn)換電路使用TLC5540模數(shù)轉(zhuǎn)換芯片,這是TI公司的8位A/D轉(zhuǎn)換器,它的最高轉(zhuǎn)換速率可以達(dá)到每秒40兆字節(jié)。TLC5540采用了一種改進(jìn)的半閃結(jié)構(gòu),使用CMOS工藝,因而大大減少了器件中比較器的數(shù)量,而且在高速轉(zhuǎn)換的同時(shí),能夠保持低功耗,在推薦的工作條件下,其功耗僅為75mW。使用TLC5540進(jìn)行數(shù)據(jù)采集的控制信號(hào)由TMS320VC5402產(chǎn)生,采樣時(shí)鐘經(jīng)過5402的CLKOUT端口分頻得到。當(dāng)采集卡進(jìn)行數(shù)據(jù)采集時(shí),首先DSP芯片選通要采集的模擬信號(hào)通路,將經(jīng)過處理的模擬信號(hào)送至TLC5540的模擬輸入端口,然后DSP芯片通過地址使能轉(zhuǎn)換芯片TLC5540,控制轉(zhuǎn)換芯片進(jìn)行模數(shù)轉(zhuǎn)換,將模擬信號(hào)轉(zhuǎn)換為數(shù)據(jù)量,送至數(shù)據(jù)總線。由于TLC5540是8位模數(shù)轉(zhuǎn)換芯片,因此只將8位數(shù)字信號(hào)送至數(shù)據(jù)總線的低8位上,由DSP芯片進(jìn)一步處理。
遠(yuǎn)程數(shù)據(jù)采集,采集端與控制端之間必須要使用高速通信電路,使得兩端能夠及時(shí)通信。在本采集系統(tǒng)中,為解決高速數(shù)據(jù)傳輸?shù)膯栴},選用了光纜進(jìn)行數(shù)據(jù)傳輸?,F(xiàn)代光通信技術(shù)的發(fā)展,已經(jīng)使光纖通信的速率可以達(dá)到每秒鐘幾G比特,中繼距離也可達(dá)幾百千米,因此使用光纜進(jìn)行數(shù)據(jù)通信,無(wú)疑是解決高速率遠(yuǎn)距離數(shù)據(jù)傳輸問題的好方法。由于光纜本身的物理性質(zhì),其自身比較脆弱,但是可以在光纖外面使用鋼纜或鋼絲網(wǎng)進(jìn)行加固,使得光纜的外部物理特性大大增強(qiáng),保障數(shù)據(jù)的可靠傳輸。 電氣電路和光纜之間的接口使用光端機(jī),光端機(jī)的輸入輸出接口是串行通信接口,使用非平衡傳輸方式進(jìn)行數(shù)據(jù)輸入輸出。在DSP芯片與光端機(jī)通信模塊之間,必須將總線上的并行數(shù)據(jù)串行化,轉(zhuǎn)換為串行數(shù)據(jù),以便光端機(jī)進(jìn)行光通信。DSP接收信號(hào)時(shí)必須將光端機(jī)輸出的串行信號(hào)反串行化,轉(zhuǎn)換為并行數(shù)據(jù),進(jìn)行處理。光纜通信的速率比處理器的處理速率要高,因此,在串行器、反串行器和處理器的數(shù)據(jù)總線之間要加入先進(jìn)先出存儲(chǔ)器,將數(shù)據(jù)暫時(shí)存儲(chǔ),等積累了一定數(shù)量的數(shù)據(jù)之后,由串行化器進(jìn)行發(fā)送或者處理器接收反串行化器送來的光纜上的數(shù)據(jù)。 在數(shù)據(jù)總線和串行化器/反串行化器之間加入FIFO,對(duì)于數(shù)據(jù)傳輸效率有很大的提高。
?。桑模裕罚玻郑埃彩牵桑模怨旧a(chǎn)的低電壓CMOS異步先進(jìn)先出存儲(chǔ)器,有字節(jié)的存儲(chǔ)空間,可以保存1K的9位字節(jié)數(shù)據(jù)。在本設(shè)計(jì)中,數(shù)據(jù)總線上的數(shù)據(jù)為八位數(shù)據(jù),因此只使用了FIFO中的低八位數(shù)據(jù)作為有效數(shù)據(jù),第九位數(shù)據(jù)用作校驗(yàn)位。串行化與反串行化芯片選用了TI公司的SN65LV1021/1212,這兩個(gè)芯片是10:1和1:10串行化/反串行化芯片,并行數(shù)據(jù)可以在10MHz~40MHz時(shí)鐘下傳輸,相應(yīng)的串行數(shù)據(jù)可以在100bps~400bps的速率下傳輸。SN65LV1021/1212均能夠工作在低功耗方式下,不傳遞數(shù)據(jù)時(shí),可以降低整個(gè)系統(tǒng)的功耗,輸出數(shù)據(jù)總線可以保持高阻抗?fàn)顟B(tài)。 由于TMS320VC5402的通用I/O接口比較少,因此數(shù)據(jù)采集板上使用了一片CPLD作為通用I/O的擴(kuò)展接口。DSP芯片將A/D轉(zhuǎn)換器、FIFO、串行化/反串行化器等器件都作為統(tǒng)一的外設(shè),對(duì)每一外設(shè)進(jìn)行地址編碼。通過CPLD將DSP的外設(shè)操作信號(hào)轉(zhuǎn)換為對(duì)具體芯片的控制信號(hào)。這樣在程序的效率以及整體電路工作的協(xié)調(diào)性上都有了很大的提高。
1.2 地面PCI總線控制卡的硬件設(shè)計(jì)
為了方便地面計(jì)算機(jī)對(duì)數(shù)據(jù)采集卡進(jìn)行實(shí)時(shí)控制,高速接收數(shù)據(jù),因此設(shè)計(jì)一塊PCI卡,將從光纜送來的數(shù)據(jù)直接送至計(jì)算機(jī)的PCI數(shù)據(jù)總線是一種高效且實(shí)用的方法。 光端機(jī)接收光纜傳遞的光信號(hào),由反串行化器將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),送至存儲(chǔ)器進(jìn)行暫時(shí)存儲(chǔ),再將整個(gè)數(shù)據(jù)段送至計(jì)算機(jī)PCI總線,由軟件進(jìn)行處理并存儲(chǔ)至硬盤。
?。校茫煽ǖ闹饕酒瑸椋校蹋毓镜模校茫桑梗埃担?。該芯片在PCI總線接口芯片市場(chǎng)有相當(dāng)?shù)姆蓊~,是在PCI從模式接口設(shè)計(jì)卡中得到廣泛應(yīng)用的接口芯片,可以提供用于適配卡的小型而高性能的PCI總線目標(biāo),實(shí)現(xiàn)PCI數(shù)據(jù)總線上的33MHz的數(shù)據(jù)傳輸。PCI9052的主要特點(diǎn)有:
?。ǎ保┻M(jìn)行數(shù)據(jù)接收時(shí),PCI卡通過光端機(jī)接收由光纖送來的光信號(hào),轉(zhuǎn)換為串行電信號(hào)由光端機(jī)接口送出,經(jīng)過SN65LVDS1212反串行器轉(zhuǎn)換成并行信號(hào),由控制器送入到FIFO中緩存。當(dāng)接收完一個(gè)數(shù)據(jù)包后,由PCI9052將數(shù)據(jù)包中的數(shù)據(jù)送到計(jì)算機(jī)PCI總線,系統(tǒng)軟件將接收的數(shù)據(jù)進(jìn)行分析,并根據(jù)需要保存到硬盤。
(2)當(dāng)計(jì)算機(jī)控制采集卡進(jìn)行數(shù)據(jù)采集時(shí),計(jì)算機(jī)軟件向總線發(fā)出命令,PCI卡接收到系統(tǒng)軟件送至PCI總線上的數(shù)據(jù)后,轉(zhuǎn)送到串行器的數(shù)據(jù)總線上,將并行數(shù)據(jù)轉(zhuǎn)化為串行數(shù)據(jù),經(jīng)光端機(jī)轉(zhuǎn)化為光信號(hào),送至光纜向采集卡進(jìn)行傳輸。
2 系統(tǒng)軟件的設(shè)計(jì)
遠(yuǎn)程數(shù)據(jù)卡的實(shí)時(shí)系統(tǒng)控制軟件包括兩部分:采集卡上DSP控制及數(shù)據(jù)處理軟件;上位機(jī)接收并處理DSP發(fā)送來的數(shù)據(jù)的實(shí)時(shí)處理控制軟件。
固化在采集板上的DSP處理程序是軟件部分的主體,程序主流程圖如圖2所示。
軟件采用模塊化的設(shè)計(jì)方法,其中包括采集卡的初始化、定時(shí)器處理、數(shù)據(jù)采集控制、數(shù)據(jù)處理,以及接收和發(fā)送數(shù)據(jù)幾個(gè)模塊。采集卡啟動(dòng)DSP芯片首先通過BOOT LOADER程序?qū)⒋鎯?chǔ)在FLASH中的程序代碼轉(zhuǎn)移到RAM中,高速運(yùn)行程序。程序首先進(jìn)行初始化,然后由DSP本身完成對(duì)數(shù)據(jù)的自動(dòng)采集,計(jì)算機(jī)并不參與采集的具體過程。采集后的數(shù)據(jù)暫時(shí)存儲(chǔ)在RAM中,當(dāng)采集到一定數(shù)量的一組數(shù)據(jù),由DSP芯片對(duì)數(shù)據(jù)根據(jù)需要進(jìn)行處理。例如,對(duì)信號(hào)進(jìn)行互相關(guān)、自相關(guān)、功率譜、互譜、壓縮算法等分析計(jì)算,減少傳輸過程以及上位機(jī)的負(fù)擔(dān)。經(jīng)過處理獲得數(shù)據(jù),DSP芯片將其按照一定的協(xié)議送至傳輸總線,控制串行化器通過光端機(jī)將其傳送至上位主機(jī),以進(jìn)一步分析、處理數(shù)據(jù)。DSP程序使用CCS集成開發(fā)環(huán)境開發(fā),編程語(yǔ)言使用C語(yǔ)言與匯編語(yǔ)言相結(jié)合的方法,程序整體使用C語(yǔ)言編寫以提高程序開發(fā)周期。對(duì)于實(shí)時(shí)性要求強(qiáng)或比較復(fù)雜的算法,為提高DSP代碼芯片的執(zhí)行效率,使用匯編語(yǔ)言編寫。
上位機(jī)的軟件編寫包括PCI卡驅(qū)動(dòng)程序和應(yīng)用程序兩部分。在Windows操作系統(tǒng)下,普通用戶不能進(jìn)行直接讀寫物理地址和讀取系統(tǒng)分配的資源信息的底層硬件操作,因此,在硬件設(shè)施完備的基礎(chǔ)上,編寫PCI接口卡的驅(qū)動(dòng)程序,是上位機(jī)工作軟件中的一個(gè)重要環(huán)節(jié)。使用Jungo公司的Windriver開發(fā)工具編寫本PCI卡的驅(qū)動(dòng)程序。該程序?yàn)橐话愕挠脩魬?yīng)用程序提供了一個(gè)很好的底層硬件接口,對(duì)于實(shí)時(shí)性要求不很嚴(yán)格的情況下,應(yīng)用程序能夠直接對(duì)底層硬件進(jìn)行操作。由于本系統(tǒng)的數(shù)據(jù)采集工作完全由采集卡上的DSP自動(dòng)控制完成,計(jì)算機(jī)對(duì)采集卡的控制只是一些工作方式的控制選擇,因此對(duì)于PCI卡的時(shí)序要求并不十分嚴(yán)格,使用Windriver開發(fā)PCI卡的驅(qū)動(dòng)程序完全可以滿足需要。 用戶應(yīng)用程序使用高級(jí)語(yǔ)言進(jìn)行開發(fā),通過Windriver提供的接口,程序控制者可以利用對(duì)PCI卡的操作向采集卡發(fā)出控制命令,同時(shí)接收PCI卡送來的采集數(shù)據(jù)信息,對(duì)數(shù)據(jù)進(jìn)一步處理、存儲(chǔ)。 3 試驗(yàn)結(jié)果 在實(shí)際的油井測(cè)量實(shí)驗(yàn)中,選用1MHz的超聲波信號(hào),對(duì)5.5英寸的套管井進(jìn)行測(cè)量,用10MHz的采樣率對(duì)超聲波信號(hào)進(jìn)行采樣。采集接收到的超聲波數(shù)據(jù),計(jì)算機(jī)上得到的數(shù)據(jù)經(jīng)過轉(zhuǎn)換和處理,可以為超聲波測(cè)井提供充分的依據(jù)。如圖3所示。
?。?設(shè)計(jì)中需要注意的問題 采集卡的設(shè)計(jì)過程中,主要問題在于硬件電路的設(shè)計(jì)。DSP芯片是高速數(shù)據(jù)處理芯片,外部總線的速率若達(dá)到40MHz,內(nèi)部的時(shí)鐘則可以達(dá)到更高。因此設(shè)計(jì)上要充分考慮DSP芯片引腳的外接方式和工藝特性。采集卡上有數(shù)字和模擬兩種信號(hào)系統(tǒng),在設(shè)計(jì)時(shí)要將數(shù)字信號(hào)和模擬信號(hào)電氣上相互隔離,距離要盡量遠(yuǎn),減少兩種信號(hào)之間相互干擾。在每個(gè)元件的電源引腳附近都要加上一個(gè)小濾波電容,減小電源的不穩(wěn)定因素。系統(tǒng)的電源設(shè)計(jì)要使用響應(yīng)快、穩(wěn)定性好、精度高的電源芯片,電源輸出加上大的濾波電容以提高整個(gè)電路板的穩(wěn)定性。盡量選用貼片封裝的元件,減小元件本身散熱量的同時(shí)增加電路焊接的可靠性以及抗干擾性。元件分布版面設(shè)計(jì)時(shí),元件在電路板上的質(zhì)量分布要均勻,以增加電路板的機(jī)械性能。
本文介紹了一種基于DSP芯片、通過光纜進(jìn)行數(shù)據(jù)傳遞的高速遠(yuǎn)程數(shù)據(jù)采集系統(tǒng),設(shè)計(jì)了一套完整的遠(yuǎn)程高速數(shù)據(jù)采集方案。該方案在強(qiáng)大的DSP處理器控制下利用高速A/D芯片完成多路模擬信號(hào)的分時(shí)采集工作,采集后的數(shù)據(jù)可以進(jìn)行實(shí)時(shí)處理與高速傳輸。將該數(shù)據(jù)采集卡應(yīng)用于油田超聲波測(cè)井系統(tǒng),對(duì)超聲波測(cè)井信號(hào)進(jìn)行高速采集,送至計(jì)算機(jī)進(jìn)行數(shù)據(jù)分析處理,為測(cè)井工作提供了充足的數(shù)據(jù)基礎(chǔ)。
評(píng)論