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