??? 摘? 要: 針對(duì)多通道超聲波應(yīng)用提出了一種USB+FPGA+DSP的架構(gòu),模擬前端可實(shí)現(xiàn)8通道高速數(shù)據(jù)采集,并可實(shí)現(xiàn)線性增益和可變采樣率。FPGA為系統(tǒng)的控制核心,同時(shí)進(jìn)行信號(hào)預(yù)處理方面的工作,而DSP著重于復(fù)雜算法的應(yīng)用。最后通過(guò)已知信號(hào)對(duì)整個(gè)系統(tǒng)進(jìn)行測(cè)試,驗(yàn)證了該系統(tǒng)性能良好,具有很高的實(shí)用價(jià)值。?
??? 關(guān)鍵詞: FPGA;DSP;USB;超聲波;高速A/D
?
??? 通常,頻率高于20 000 Hz的聲波稱為“超聲波”。超聲波的波長(zhǎng)比一般聲波短,具有較好的方向性,而且能透過(guò)不透明物質(zhì),已被廣泛用于醫(yī)療和工業(yè)方面,如:超聲波探傷、測(cè)距、超聲焊接、清洗、醫(yī)療成像等。?
??? 在傳統(tǒng)的超聲波儀器中,一般只采用DSP或只采用FPGA,且大部分采集數(shù)據(jù)要到PC機(jī)上進(jìn)行算法分析。隨著超聲應(yīng)用的深入和超聲設(shè)備功能的改進(jìn),新型的超聲波系統(tǒng)處理任務(wù)加重和復(fù)雜度加深,需要更快的數(shù)據(jù)處理能力。如果將數(shù)據(jù)傳到PC機(jī)上進(jìn)行處理,則難以滿足實(shí)時(shí)性方面的要求。?
??? 本文提出了USB+FPGA+DSP的架構(gòu),設(shè)計(jì)了一種新型8通道超聲數(shù)據(jù)并行采集處理系統(tǒng)。由FPGA配合DSP進(jìn)行數(shù)據(jù)采集、預(yù)處理等, 發(fā)揮了FPGA并行高速處理的優(yōu)勢(shì),而將一些稍微復(fù)雜的算法在DSP中實(shí)現(xiàn),提高了算法性能,最后將處理結(jié)果通過(guò)USB送到PC進(jìn)行分析。這種任務(wù)硬件分配方法可使系統(tǒng)性能得到很大提高。?
1 系統(tǒng)描述?
??? 在多通道超聲波應(yīng)用中,高速A/D技術(shù)、大容量緩沖技術(shù)以及信號(hào)的實(shí)時(shí)處理、分析技術(shù)是超聲設(shè)備的關(guān)鍵,也是整個(gè)系統(tǒng)的瓶頸所在。本文的設(shè)計(jì)能夠?qū)崿F(xiàn)這些技術(shù)的融合。系統(tǒng)框圖如圖1所示。?
?
?
??? 首先,從超聲波接收電路收到的微弱電壓信號(hào)進(jìn)入8通道的可變?cè)鲆?/a>運(yùn)放進(jìn)行放大;然后交流耦合到8通道AD轉(zhuǎn)換器進(jìn)行高速模數(shù)轉(zhuǎn)換,同時(shí)輸出8路LVDS DDR數(shù)據(jù)信號(hào)進(jìn)入FPGA;由FPGA對(duì)8通道的數(shù)據(jù)進(jìn)行高速串并轉(zhuǎn)換并進(jìn)行預(yù)處理和緩存。?
??? PC機(jī)發(fā)送采集命令到FPGA,通過(guò)EMIF口送到DSP,DSP收到命令后打開(kāi)EDMA傳輸,同時(shí)使能FPGA的數(shù)據(jù)采集,將接收數(shù)據(jù)緩存在外掛的SDRAM中,然后對(duì)數(shù)據(jù)進(jìn)行處理,再通過(guò)EMIF口將處理結(jié)果送給FPGA,由FPGA內(nèi)部的USB接口邏輯將數(shù)據(jù)送到主機(jī)進(jìn)一步處理。?
??? 同時(shí),主機(jī)可以通過(guò)發(fā)送命令控制運(yùn)放的線性增益、功耗控制等處理。PC作為主控單元,將命令送到DSP,而DSP作為二級(jí)控制單元將命令送到FPGA內(nèi)部的寄存器中,而由FPGA實(shí)現(xiàn)各種接口的控制時(shí)序,最終實(shí)現(xiàn)控制。?
2 模擬信號(hào)采集模塊?
2.1 模擬前端設(shè)計(jì)?
??? 超聲波的工作原理是:高壓脈沖發(fā)生電路發(fā)射高壓脈沖,經(jīng)電壓超聲換能器變換成超聲波信號(hào),超聲波信號(hào)遇到雜質(zhì)時(shí)產(chǎn)生反射波,再經(jīng)過(guò)電壓超聲換能器變換為電壓信號(hào),這個(gè)電壓信號(hào)是微弱的高頻窄脈沖。為使缺陷信號(hào)不失真,前置處理電路的頻帶寬度應(yīng)足夠高,信號(hào)的采樣頻率應(yīng)為幾十兆赫茲[1]。為了能夠測(cè)量幅度的變化值,在接收的信號(hào)進(jìn)入放大器前,先經(jīng)過(guò)已校準(zhǔn)的衰減器,以便對(duì)信號(hào)幅度定量調(diào)節(jié),用于不同信號(hào)幅度比較[2]。?
??? 傳統(tǒng)的多通道探傷設(shè)備需要多塊采樣模塊,這大大提高了系統(tǒng)價(jià)格。而TI公司的VCA8613和ADS5273兩款芯片是TI公司針對(duì)醫(yī)療和工業(yè)超聲波推出的多通道高性能芯片,可以滿足上述超聲應(yīng)用的要求。?
??? 可變?cè)鲆孢\(yùn)放VCA8613的-3 dB帶寬是800 kHz~14 MHz,它集成了8個(gè)通道,并將傳統(tǒng)系統(tǒng)中低噪聲前置放大器(LNA)、壓控衰減器(VCA)、可編程增益放大器(PGA)、低通濾波器4個(gè)功能芯片集成在一起,集成后帶來(lái)的好處是減少了外界的干擾和噪聲,改進(jìn)了動(dòng)態(tài)范圍。這對(duì)整個(gè)輸入信號(hào)的質(zhì)量至關(guān)重要,使整體系統(tǒng)性能大大提高。在3 V工作時(shí)每個(gè)通道的功耗僅為75 mW,輸入頻率為5 MHz時(shí)噪聲為1.2 nV每根號(hào)Hz,同時(shí)體積大大縮小,這對(duì)于開(kāi)發(fā)便攜式產(chǎn)品具有巨大的優(yōu)勢(shì)。?
??? VCA8613還提供了一個(gè)VCNTL管腳,其配合VCA和PGA可實(shí)現(xiàn)5 dB~50 dB的線性增益,如圖2所示。ATN是VCA的衰減系數(shù),PG是PGA的增益系數(shù),這兩個(gè)值可通過(guò)SPI口寫(xiě)VCA8613的寄存器來(lái)實(shí)現(xiàn)(PG=01的圖沒(méi)有給出)。?
?
?
??? ADS5273是12 bit的高速AD,采樣速率能達(dá)到70 MHz,信噪比為70.5 dB,輸入是8通道差分輸入,輸出是8通道LVDS DDR串行輸出,其速度達(dá)到420 MHz,上下沿都有數(shù)據(jù)。這使得在PCB信號(hào)完整性上要求很高,要嚴(yán)格按照高速信號(hào)走線的要求進(jìn)行設(shè)計(jì)。?
??? 在采用內(nèi)部參考模式下,ADS5273的輸入端有1.4 V的共模,而VCA8613輸出有1 V的共模電壓,所以VCA8613和ADS5273間采用了交流耦合方式,TI建議串接的電阻可以從25 Ω~300 Ω,這保證了ADS5273不會(huì)過(guò)載。耦合圖如圖3所示。?
?
?
??? ADS5273也提供了一個(gè)SPI口,可以控制其內(nèi)部寄存器??梢钥刂脐P(guān)閉和開(kāi)啟任何一個(gè)通道及控制每一路輸出的電流大小,這對(duì)于功耗的控制非常有利。同時(shí)ADS5273還可以有幾種工作模式:正常輸出模式、同步模式、用戶定義模式等,非常適合用戶進(jìn)行調(diào)試。?
??? VCA8613和ADS5273構(gòu)成的模擬前端,整體噪聲比目前市場(chǎng)上性能最接近的同類(lèi)產(chǎn)品要低30%,并且具有更低的功耗,其性能不僅能滿足便攜式設(shè)備的需求,還能滿足高通道密度、中程超聲波系統(tǒng)的要求,能實(shí)現(xiàn)更高、更完美的圖像質(zhì)量。?
2.2 FPGA高速解串設(shè)計(jì)?
??? ADS5273的輸出除了8路LVDS DDR串行數(shù)據(jù),還有420 MHz的差分時(shí)鐘線和70MHz的差分同步線,如圖4所示。在采用FPGA進(jìn)行數(shù)據(jù)接收時(shí),如此高速的信號(hào)在解串時(shí)需要有非常嚴(yán)格的時(shí)序要求。由于在解串的過(guò)程中,邏輯并不復(fù)雜,但對(duì)時(shí)序要求高,因?yàn)椴捎糜|發(fā)器實(shí)現(xiàn)可以比較方便地進(jìn)行觸發(fā)器的位置約束,所以采用最底層的觸發(fā)器來(lái)實(shí)現(xiàn)。?
?
?
??? 解串后的數(shù)據(jù)使用了片內(nèi)FIFO進(jìn)行緩存,這里采用了乒乓FIFO機(jī)制,在將采集得到的數(shù)據(jù)寫(xiě)入其中一片時(shí),后續(xù)模塊同時(shí)對(duì)另一片中的數(shù)據(jù)進(jìn)行處理。FIFO緩存器由于其先進(jìn)先出的特性,數(shù)據(jù)的讀寫(xiě)都無(wú)需提供地址信號(hào),簡(jiǎn)化了電路的設(shè)計(jì),提高了數(shù)據(jù)的吞吐率。?
3 基于FPGA+DSP+USB的數(shù)據(jù)采集通道的實(shí)現(xiàn)?
??? 本系統(tǒng)FPGA采用Xilinx公司Virtex系列的xc2vp7器件,實(shí)現(xiàn)了高速數(shù)據(jù)解串、SPI控制器、USB的SLAVE FIFO控制狀態(tài)機(jī)、DSP的EMIF接口控制和信號(hào)預(yù)處理。其中SPI控制器有3個(gè),有兩個(gè)實(shí)現(xiàn)對(duì)VCA8613、ADS5273的SPI接口控制;另一個(gè)實(shí)現(xiàn)對(duì)DA5200的控制,產(chǎn)生VCA8613的VCNTL的控制電壓,實(shí)現(xiàn)VCA8613增益線性可控。如圖4所示。?
??? DSP進(jìn)行數(shù)據(jù)處理,采用了TI公司的高性能數(shù)字信號(hào)處理芯片TMS320C6414,可支持1 GHz的時(shí)鐘頻率,計(jì)算能力為5 760 MIPS,同時(shí)提供了外部存儲(chǔ)器接口和增強(qiáng)的DMA控制器(EDMA),可與FPGA進(jìn)行快速數(shù)據(jù)交換。DSP設(shè)計(jì)為FLASH BOOT方式。?
??? 高速數(shù)據(jù)采集系統(tǒng)采用USB總線與PC進(jìn)行數(shù)據(jù)傳輸。USB控制芯片采用Cypress公司的CY7C68013。該芯片內(nèi)含一個(gè)增強(qiáng)型8051處理器、一個(gè)串行接口引擎(SIE)、一個(gè)USB收發(fā)器、8 KB片上RAM、4 KB的FIFO存儲(chǔ)器以及一個(gè)通用可編程接口(GPIF)。Cypress公司為了方便FX2的開(kāi)發(fā),提供了固件程序框架,用戶只需少量修改即可完成固件設(shè)計(jì),同時(shí)Cypress提供了通用的驅(qū)動(dòng)程序。?
??? 分別配置USB控制芯片中的端點(diǎn)EP2和EP6為IN(輸入)模式和OUT(輸出)模式。設(shè)置了自動(dòng)傳輸模式后,在用戶端,就可以把CY7C68013當(dāng)做一個(gè)FIFO,不必關(guān)心其內(nèi)部的運(yùn)行情況,而只要根據(jù)FIFO的標(biāo)志線對(duì)FIFO進(jìn)行讀寫(xiě)操作,即主機(jī)和數(shù)據(jù)采集板間的通信是透明的。首先由應(yīng)用程序采用塊傳輸方式發(fā)送一個(gè)命令包到SLAVE FIFO中,F(xiàn)PGA讀取這個(gè)命令包緩存在FPGA的FIFO中;接著應(yīng)用程序再用控制傳輸方式發(fā)送一個(gè)命令包給CY7C68013,由USB固件程序在通用IO管腳上給DSP發(fā)送一個(gè)外部中斷;DSP收到外部中斷后馬上啟動(dòng)一次EDMA傳輸,將FPGA中FIFO的命令及參數(shù)數(shù)據(jù)讀到DSP的RAM中;DSP根據(jù)收到的命令和參數(shù)進(jìn)行各項(xiàng)操作。?
4 性能測(cè)試?
4.1 可變?cè)鲆孢\(yùn)放的測(cè)試?
??? 用函數(shù)發(fā)生器產(chǎn)生50 mV、7 MHz的正弦波,輸入VCA8613的輸入端,衰減設(shè)為33 dB,PGA增益設(shè)為21 dB,VCNTL管腳電壓為1.0 V,用示波器觀察輸出波形,如圖5所示,得到了很好的放大波形。?
?
?
??? 同時(shí)測(cè)出,正確的放大波形的頻率在900 kHz~11 MHz間,在這范圍之外的波形就會(huì)產(chǎn)生失真,與TI公司文檔中提出的頻率在800 kHz~13 MHz間有些差別。?
4.2 AD測(cè)試及數(shù)據(jù)通道實(shí)驗(yàn)?
??? ADS5273采用同步模式進(jìn)行調(diào)試,對(duì)時(shí)序進(jìn)行了嚴(yán)格的對(duì)準(zhǔn),然后切換到正常模式,采用C++ Builder設(shè)計(jì)了簡(jiǎn)單的主機(jī)應(yīng)用程序來(lái)采集正弦波數(shù)據(jù),如圖6所示。?
?
?
??? 從測(cè)試結(jié)果看,超聲波信號(hào)采集、分析和成像處理系統(tǒng)的整體設(shè)計(jì)方案是正確的,整套系統(tǒng)可以滿足頻率范圍從20 MHz~70 MHz超聲波檢測(cè)采集和分析的需要,同時(shí)可以調(diào)整采樣速率,適應(yīng)不同檢測(cè)頻率的記錄要求?
??? 本數(shù)據(jù)采集系統(tǒng)在以下方面進(jìn)行了改進(jìn):首先采用了TI公司先進(jìn)的VCA8613和ADS5273構(gòu)成了信號(hào)調(diào)理和數(shù)據(jù)轉(zhuǎn)換電路,具有高信噪比、高精度、高速率和低功耗等優(yōu)點(diǎn);其次數(shù)字架構(gòu)采用了USB+FPGA+DSP方式,對(duì)于復(fù)雜算法的應(yīng)用具有優(yōu)勢(shì);而且采用FPGA接收8路高速串行LVDS DDR信號(hào)的實(shí)現(xiàn),使得系統(tǒng)硬件的體積得到大大縮小。同時(shí),本文設(shè)計(jì)的硬件架構(gòu)具有通用性,只要稍做修改即可應(yīng)用于各種場(chǎng)合,具有較高的實(shí)際工程應(yīng)用價(jià)值。?
參考文獻(xiàn)?
[1] 孫芳,麥繼平.USB高速數(shù)據(jù)采集處理卡在超聲波無(wú)損檢測(cè)中的應(yīng)用.儀器儀表用戶,2003.12,11(3):37-38.?
[2] 鄒毅,羅飛路.基于C8051F340的多通道超聲波無(wú)損檢測(cè)系統(tǒng)的設(shè)計(jì).傳感器世界[J],2007,13(10):26-29.?
[3] 肖忠祥.數(shù)據(jù)采集原理[M].西安:西北工業(yè)大學(xué)出版社,2001.?
[4] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2004.