B型超聲射頻信號高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
前言
本文引用地址:http://m.butianyuan.cn/article/78715.htm醫(yī)學(xué)超聲成像是利用超聲波通過人體各組織時(shí)所反映的聲學(xué)特征的差異來區(qū)分不同組織,并以圖像的形式顯示出臟器的界面和組織內(nèi)部的細(xì)微結(jié)構(gòu)。這種檢查方式結(jié)合了超聲物理學(xué)、現(xiàn)代電子技術(shù)和生物醫(yī)學(xué)等多種技術(shù),是繼X線成像技術(shù)后,在醫(yī)學(xué)中發(fā)展最迅速,應(yīng)用最廣泛的成像方法。特別是數(shù)字掃描轉(zhuǎn)換器(DSC)和數(shù)字信號處理(DSP)的出現(xiàn),把B型超聲成像技術(shù)推向以計(jì)算機(jī)數(shù)字圖像處理為主導(dǎo)的,功能強(qiáng),自動(dòng)化程度高,圖像質(zhì)量好的新水平。
在數(shù)字超聲成像系統(tǒng)中,數(shù)字圖像處理的方法直接影響著成像的質(zhì)量。近幾年來,為了提高超聲圖像的分辨率,改善圖像的質(zhì)量,以便于更好地提取有益于醫(yī)療診斷的信息,發(fā)展了多種圖像處理的方法。根據(jù)處理模式的不同,主要分為兩個(gè)方向:(1)一類對圖像中的加性噪聲進(jìn)行抑制或?qū)D像進(jìn)行區(qū)域操作,以提高圖像質(zhì)量。(2)采用反卷積的方法。而在很多圖像處理的算法上,采用的實(shí)驗(yàn)圖像數(shù)據(jù)是經(jīng)過一系列線性和非線性及檢波后的圖像數(shù)據(jù),原始的超聲射頻信號已經(jīng)失去了一定的信息。為了更好的評價(jià)一個(gè)算法的有效性,采用直接從B型超聲系統(tǒng)的射頻信號直接量化而來的原始數(shù)據(jù)是理想的選擇。但是現(xiàn)階段的大部分醫(yī)用超聲成像系統(tǒng)所提供的圖像數(shù)據(jù)都是通過檢波等處理后的數(shù)據(jù)。因此就有必要設(shè)計(jì)數(shù)據(jù)采集卡,來取得直接從射頻信號量化而來的圖像數(shù)據(jù)。
1 系統(tǒng)設(shè)計(jì)
本實(shí)驗(yàn)設(shè)計(jì)的數(shù)據(jù)采集卡的實(shí)驗(yàn)對象:Belson200AB型超聲診斷儀。它是便攜式電子凸陣掃描B超,主頻3.5MHz、2.5MHz~5MHz變頻、80基元R60凸陣探頭,探頭寬度:3.84cm,探測深度:≥170mm,掃描范圍:100mm210mm,256灰階,分辨率:橫向≤2mm縱向≤1mm,掃描線:512線/幀,幀率:30幀/秒。
Belson200AB型超聲診斷儀接收及顯示部分的原理框圖如圖1所示。在該圖中,B型超聲波的射頻回波信號通過前置發(fā)動(dòng)、聚焦、微分放大、時(shí)間增益補(bǔ)償、檢波等一系列的處理,最后通過數(shù)字處理將超聲波圖像送監(jiān)視器顯示和存儲(chǔ)及打印圖像。根據(jù)原始數(shù)據(jù)的要求,數(shù)據(jù)采集卡的射頻信號輸入源來之圖1中DF/TGC放大模塊之前的射頻信號。
系統(tǒng)設(shè)計(jì)包含硬件部分和軟件部分,其中硬件部分是基于計(jì)算機(jī)PCI(peripheral component interconnect)局部總線設(shè)計(jì)的,采用PCI9054作為PCI局部總線和FIFO數(shù)據(jù)總線和CPLD控制總線的橋接芯片,它符合PCIv2.2規(guī)范的32位33MHz總線主控接口控制器。ADC采用AD9283,8位分辨率和最高100M/s的轉(zhuǎn)換速率,用到了2片F(xiàn)IFO作為數(shù)據(jù)緩沖器和LatticeCPLDispMACHLC4128V用于各個(gè)芯片之間的邏輯控制。軟件系統(tǒng)用Windriver開發(fā)驅(qū)動(dòng)程序和VC集成開發(fā)環(huán)境編寫應(yīng)用程序。
1.1 硬件設(shè)計(jì)
圖2顯示了本數(shù)據(jù)采集系統(tǒng)硬件部分的框圖:在該硬件框圖中,PCI9054將兩片F(xiàn)IFO連接到了PC機(jī)的PCI局部總線上。
PCI9054接口芯片的特點(diǎn):符合PCIv2.2規(guī)范的32位33MHz總線主控接口控制器可獲得高達(dá)132兆字節(jié)/秒的PCI突發(fā)傳輸速度;具有兩個(gè)DMA引擎,可編程目標(biāo)和起始器數(shù)據(jù)傳輸模式和PCI信息傳輸功能;3.3V,5V容錯(cuò)PCI信號支持通用PCI適配器設(shè)計(jì);靈活的3.3V,5V容錯(cuò)局域總線操作,高達(dá)50MHz;32位多路復(fù)用或非多路復(fù)用局域總線支持8位、16位以及32位外圍設(shè)備和存儲(chǔ)設(shè)備;工業(yè)溫度范圍操作等。
在本設(shè)計(jì)中采用PCI9054C模式下的從目標(biāo)模式和DMA模式。通過從目標(biāo)模式向CPLD發(fā)出各種命令控制字來設(shè)定采樣率和采樣深度。通過DMA模式,將采集存儲(chǔ)在FIFO的數(shù)據(jù)通過PCI9054的DMA通道0傳輸?shù)接?jì)算機(jī)的內(nèi)存中。為了使ADC采集的數(shù)據(jù)不被覆蓋,采用兩片F(xiàn)IFO交替存儲(chǔ)數(shù)據(jù),數(shù)據(jù)存儲(chǔ)和讀取時(shí)序如圖3所示。
圖中觸發(fā)脈沖由Belson200AB超儀發(fā)出,是該儀器一組陣元發(fā)射超聲波和接受超聲波的觸發(fā)信號,周期為320μs。Belson200AB超儀的80基元R60凸陣探頭被分成160組陣元,即一幅原始的B超圖像由160線數(shù)據(jù)組成。數(shù)據(jù)采集是對每一線采集一定量的數(shù)據(jù)(采集的數(shù)據(jù)量可以由CPLD控制),在觸發(fā)脈沖的下降沿開始采樣數(shù)據(jù),同時(shí)鎖存該線在陣元組中的編號地址(該地址由Belson200AB超儀產(chǎn)生,通過排線接入采集卡CPLD的I/O口)。當(dāng)達(dá)到預(yù)設(shè)的數(shù)據(jù)量時(shí),通知PC機(jī)將數(shù)據(jù)和地址從FIFO讀入PC機(jī)內(nèi)存。兩片F(xiàn)IFO交替工作的邏輯通過CPLD實(shí)現(xiàn)。
PCI9054支持兩種方式的DMA傳輸:塊(BLOCK)傳輸和散/聚(Scatter/Gather)傳輸。快傳輸相對簡單,圖4是其傳輸?shù)囊粋€(gè)示意圖。只要對PCI9054的各個(gè)DMA控制寄存器寫了相應(yīng)的值,如PCI地址寄存器存保存本次DMA在PC機(jī)端一片連續(xù)內(nèi)存塊的起始地址,而Local地址寄存器則保存了Local總線端的起始地址(這里是FIFO存儲(chǔ)器的地址)等。
而散/聚(Scatter/Gather)傳輸相對來說較為的復(fù)雜。在這種傳輸方式中,DMA控制器從PCI或Local總線存儲(chǔ)器中的傳輸鏈表中加載傳輸參數(shù),其中每個(gè)節(jié)點(diǎn)包括PCI地址,Local地址,傳輸數(shù)據(jù)量,同時(shí)還必須加上下一塊傳輸節(jié)點(diǎn)的地址指針。DMA在啟動(dòng)時(shí)自動(dòng)將設(shè)置的各參數(shù)傳遞給相應(yīng)的寄存器,這樣通過一個(gè)傳輸鏈表就可以實(shí)現(xiàn)多地址,多數(shù)據(jù)快的傳輸。DMA控制器通過檢查鏈表結(jié)束標(biāo)志來判斷一個(gè)傳輸是否已經(jīng)結(jié)束。這兩種方式可以通過設(shè)置PCI9054的DMA控制寄存器DMAMODE0的Bit9來選擇。
從目標(biāo)模式和DMA模式的讀寫時(shí)序控制均通過CPLD中的邏輯控制來實(shí)現(xiàn)(從目標(biāo)模式的單周期讀寫時(shí)序和DMA模式的讀寫時(shí)序可以參考PCI9054DataBook)。為了實(shí)現(xiàn)這兩種方式,我們設(shè)計(jì)了一個(gè)簡單的狀態(tài)機(jī)來實(shí)現(xiàn)(如圖5)。S1狀態(tài)表示一次傳送周期的開始;S2狀態(tài)表示單次傳送周期;S3狀態(tài)是突發(fā)傳送周期。當(dāng)PC機(jī)通過PCI9054向CPLD寫入控制命令時(shí)狀態(tài)機(jī)應(yīng)該是S0→S1→S2→S0狀態(tài)切換;而當(dāng)PC機(jī)通過PCI9054以DMA方式讀取FIFO數(shù)據(jù)時(shí)狀態(tài)機(jī)應(yīng)該是S0→S1→S3→S0狀態(tài)切換。
圖6是對狀態(tài)機(jī)控制FIFO讀時(shí)序的仿真,其結(jié)果符合我們設(shè)計(jì)狀態(tài)機(jī)的要求。在該圖中LCLK是PCI9054的Local時(shí)鐘,LHOLD是PCI9054申請Local總線的請求信號,LHOLDA是對Local總線申請所作出的應(yīng)答信號;ADS_(ADS#)有效表示讀寫操作周期的開始;BLAST_(BLAST#)有效表示操作的最后一個(gè)周期;LWR_(LWR#)低電平表示讀周期,高電平表示寫周期;ROE_FIFO輸出使能信號; REN_FIFO讀使能信號; READY_(READY#)有效表示Local端數(shù)據(jù)已經(jīng)準(zhǔn)備好。
在PCB板設(shè)計(jì)中采用雙層PCB板。對PCI信號線,按照PCI局部總線的電氣規(guī)范要求布線,信號線的長度不超過1.5英寸,33M時(shí)鐘走線控制在2.50.1英寸,可以采用蛇形走線來達(dá)到該走線長度。為了減小數(shù)字信號對模擬信號的干擾將模擬信號部分與數(shù)字信號部分的電源和地分別隔離。將PCI總線的電源通過DC-DC轉(zhuǎn)換再供給模擬電源使用;而將模擬地接入數(shù)字地的連接點(diǎn)用高頻磁珠隔離;同時(shí)為了減少射頻信號在傳輸中的衰減和干擾,射頻信號的接入采用同軸電纜。
1.2 軟件設(shè)計(jì)
軟件的編寫調(diào)用Windirver的API函數(shù)作為數(shù)據(jù)采集卡的各種讀寫和控制操作的驅(qū)動(dòng)函數(shù)。Windriver驅(qū)動(dòng)編寫簡單,而且提供了PLX公司PCI接口芯片的示例程序,極大地提高了開發(fā)的效率。整個(gè)軟件系統(tǒng)用VC6.0開發(fā),主程序調(diào)用和協(xié)調(diào)各WindriverAPI函數(shù)的運(yùn)行,同時(shí)完成對數(shù)據(jù)的存儲(chǔ),圖像的顯示等。
應(yīng)用程序界面基于Dialog類,應(yīng)用程序主要有四個(gè)類組成如表1。CUSoundSconnerDlg的基類是CDialog類,用于顯示程序界面和接受各種用戶輸入。
PCI9054CARD通用類封裝了Windriver的API函數(shù),用于管理數(shù)據(jù)采集卡的各種操作,包括對采集卡的初始化、DMA傳送數(shù)據(jù)、各種控制命令的寫入等。CDisplayImage線程類用于將讀取的數(shù)據(jù)以BMP圖的格式顯示在PC機(jī)屏幕上,也完成對BMP圖像的保存。CGetDatafromDevice線程類將FIFO中的數(shù)據(jù)以DMA方式讀入PC機(jī)內(nèi)存中,將數(shù)據(jù)保存在PC機(jī)硬盤。該線程類在存活期一直都在查詢FIFO數(shù)據(jù)就緒滿信號,信號有效就啟動(dòng)DMA讀取數(shù)據(jù)。
2 實(shí)驗(yàn)結(jié)果
圖7是用本數(shù)據(jù)采集系統(tǒng)采集到的一組陣元接收到的一次回聲信號,從圖中可以看出有三個(gè)強(qiáng)的回聲信號。其中第一個(gè)(從左向右)為探頭的回聲,第二、三個(gè)位被測物體上下表面的反射波。高頻噪聲大約在1%左右。
圖8是將160組陣元接收到回聲信號按編號組成的一幀圖像,即直接將如圖7所顯示的數(shù)據(jù)用256色的灰度圖表示,在圖中可以觀察到有三個(gè)地方有灰度不同的條紋,第一處(從左向右)為超聲出探頭時(shí)形成的回聲所形成,第二、三處分別為被測物體的上下兩個(gè)表明的回聲所形成。這與圖7顯示的單組陣元接收到的回聲信號一致。
3 結(jié)論
本數(shù)據(jù)采集系統(tǒng)較好的將Belson200AB型超聲診斷儀的射頻信號量化成數(shù)字信號,并且將數(shù)據(jù)通過DMA方式傳送到PC機(jī)顯示和存儲(chǔ)。高頻噪聲控制在1%左右,為估計(jì)該系統(tǒng)的系統(tǒng)函數(shù)和數(shù)字信號處理算法提供了較好的實(shí)驗(yàn)數(shù)據(jù)。該系統(tǒng)通過對CPLD器件寫入控制字,可以實(shí)現(xiàn)80M、40M、20M的采樣率和采樣深度2K、4K的動(dòng)態(tài)控制。同時(shí)本系統(tǒng)也可以用于其它射頻信號的高速數(shù)據(jù)采集。
評論