回覆列表
  • 1 # 使用者2387430387627

    醫學超聲診斷成像技術大多數採用超聲脈衝回波法,即利用探頭產生超聲波進入人體,由人體組織反射產生的回波經換能器接收後轉換為電訊號,經過提取、放大、處理,再由數字掃描變換器轉換為標準影片訊號,最後由顯示器進行顯示。在基於FPGA+ARM 9硬體平臺的全數字化B超診斷儀中,前端探頭返回的回波電訊號需由實時採集系統進行波束合成、相關處理、採集並傳輸至ARM嵌入式處理系統,影片訊號資料量大,實時性要求高,因此選用FPGA+SRAM構成實時採集系統,在速度和容量上都能滿足上述要求。主要介紹B超成像系統中應用FPGA進行邏輯控制進行超聲影片影象採集的原理和實現。

    2、系統構成工作原理

    如圖1所示,採集系統首先由數字波束合成器對多通道超聲回波訊號進行波束合成,數字波束合成器對不同通道訊號進行延時,使同一點的訊號同相相加,同時對多個通道的回波訊號進行空間域上的加窗,類似匹配濾波,可以提高訊號的信噪比。然後對合成後的超聲影片訊號做一個幀相關的預處理,即影象幀與幀之間對應象素灰度上的平滑處理。因為疊加在影象上的噪聲是非相關且具有零均值的隨機噪聲,如果在相同條件下取若干幀的平均值來代替原圖,則可減弱噪聲強度。在幀相關過程中,FPGA要控制資料的讀取、處理以及儲存。在為了滿足影片顯示的實時性,該採集系統採用雙幀存結構的乒乓機制,由FPGA實現讀寫互鎖控制。經幀相關處理完後的影片資料交替寫入幀存A和幀存B,幀存讀控制器根據後端處理速度讀取幀存中的資料,送往DMA控制器,DMA控制器開啟DMA通道進行資料傳輸。FPGA實現讀寫控制時,為了避免同時對一個幀存進行讀寫操作,需要設定讀寫互斥鎖進行儲存器狀態切換。

    3、系統設計與實現

    3.1 數字波束合成

    對於具有128陣元和32收發通道的超聲探頭,在進行32路AD轉換後,將其分為4組,每組8路接收通道,每組用一片FPGA實現,在該FPGA內首先進行接收延時和動態聚焦再進行加權求和,其後再進行組間的求和產生超聲數字影片訊號。每一組的系統框圖如圖2所示:

    對不同通道的回波訊號進行不同的延時是達到波束聚焦的關鍵,延時按精度可分為粗延時和細延時:粗延時用於控制A/D取樣的開始時間,精度為32 ns,延時引數由FPGA的片內RAM中讀出,更換探頭時系統控制器將相應資料寫入這些RAM;細延時由取樣時鐘發生器根據不同的通道產生不同的A/D取樣時鐘,這些時鐘的相位互相錯開,其錯開的值剛好等於各陣元傳播延遲之差。考慮到系統的實時性以及探測過程中深度的變化,需要採用動態聚焦。動態聚焦是在A/D取樣開始後,透過讀取動態聚焦引數,在取樣的過程中控制取樣時鐘發生器實現。

    8個通道的回波訊號經過A/D取樣後,送入FPGA,緩衝之後同步讀出進入加權模組,加權模組由8個無符號為數字乘法器組成。回波訊號分別與加權引數相乘後得到具有動態聚焦和加權特性的資料。8組資料再經過3級加法器就得到波束合成之後的超聲數字影片資料。

    3.2 幀相關處理

    幀相關模組如圖3所示,由幀相關控制器和一片儲存器組成,進行幀相關的儲存器採用大小為256 kB的靜態儲存器(SRAM)。幀相關控制器由FPGA實現,完成地址產生、儲存器讀寫控制、幀相關計算功能,因為實時性的要求,即保證送往後端雙幀存的資料不能中斷,所以考慮到對逐個象素資料讀寫的同時就進行相關處理,而且需要在同一個象素時鐘週期內完成。讀寫控制器在1個象素時鐘週期的前半段需要讀出儲存器中的資料和當前幀資料進行相關處理;時鐘週期的後半段再將相關處理完的資料寫入儲存器以備後用,這樣送往後端雙幀存的資料依然是和象素時鐘對應的連續象素資料。

    幀相關的工作流程如下:

      (1)地址產生。地址的產生由一個象索計數器實現,輸入訊號為幀同步訊號VS和象素時鐘CLK。前端提供的幀同步訊號VS為該計數器的復位訊號,在每一幀的開始,計數器清零,然後根據象素時鐘CLK計數生成地址,每個象素時鐘週期內地址不變,依據此地址進行儲存器的讀寫。

      (2)讀取已有資料及相關處理。在一個象素時鐘週期的前半段,也就是CLK跳變為高電平時,讀寫控制器輸出的讀訊號OEl為有效,讀出前幀中一個象素的資料,送到FPGA內部實現的加法器的A口,與同時到達B口的當前幀的對應象素資料相加平均。

      (3)資料儲存及傳輸。在同一個象素時鐘週期的後半段,也就是CLK跳變為低電平時,讀寫控制器輸出的寫訊號WEl為有效,相關處理完的資料寫回原來的地址,同時該資料也送往幀存寫控制模組。

    3.3 幀存乒乓讀寫控制機制

    超聲影片影象需要實時地採集並在處理後在顯示器上重建,影象儲存器就必須不斷地寫入資料,同時又要不斷地從儲存器讀出資料送往後端處理和顯示。另外,為了滿足這種要求,可以在採集系統中設定2片容量一樣的幀存,透過乒乓讀寫機制來管理,結構如圖3所示。為了確保任何時刻,只能有1片幀存處於寫狀態,設定1個寫互斥鎖;同時,只能有1片幀存處於讀狀態,設定一個讀互斥鎖。在系統初始時,1片幀存為等待寫狀態,另1片為等待讀狀態;開始工作後,2片都處於讀寫狀態輪流轉換的過程,轉換的過程相同,但是2片狀態相錯開,這樣就能夠保證資料能連續地寫入和讀出幀存。該機制如圖4所示,工作流程為:

    (1)採集過程未開始,幀存A為等待寫狀態,獲得寫互斥鎖;幀存B為等待讀狀態,獲得讀互斥鎖;

      (2)幀存寫控制器收到一幀開始訊號,判斷為採集開始,設定幀存A寫訊號WE2 A有效,幀存A開始寫入當前幀資料;同時幀存讀控制器設定幀存B讀訊號OE2_B有效,幀存B則開始讀出所存資料;

      (3)一幀結束,幀存A寫結束,釋放寫互斥鎖;幀存B讀結束,釋放讀讀斥鎖;

      (4)等待另一幀開始,幀存A獲得讀互斥鎖;幀存B獲得寫讀斥鎖;

      (5)另一幀開始,寫控制器設定幀存B寫訊號WE2B有效,幀存B開始寫入資料;讀控制器設定幀存A讀訊號OE2 A有效,幀存A則開始讀出資料。

    3.4 DMA傳輸

    對整個B超診斷儀來說,系統要完成影片影象資料的實時採集和指定的處理,高效能ARM處理器的處理能力可達每秒數百萬條指令,因此資料的傳輸設計是提高系統速度的關鍵環節。ARM處理系統與外部的資料傳輸可以透過CPU訪問外部儲存器的方法實現,但是效率低下,不能滿足系統實時性的要求,而DMA資料傳輸以不佔用CPU時間和單週期吞吐率進行資料傳輸的優點在實時影片影象採集系統中得到廣泛的應用。但是因為DMA的傳輸速率和前端影片影象資料的輸入速率不匹配,很難發揮出DMA資料傳輸的優勢。由可程式設計的FPGA控制SRAM組成的雙幀存可以很好地解決這個問題;此外,FPGA內部嵌入了一定數量的RAM,可以經過配置成緩衝儲存器,透過靈活的邏輯結構可以方便地實現對輸入輸出資料流的控制,成為連線ARM處理系統和SRAM的紐帶和橋樑。

    4、結語

    在B超數字影片影象實時採集系統中採用FPGA作為採集控制部分,首先可以提高系統處理的速度及系統的靈活性和適應性:由於在FPGA和ARM處理系統之間採用SRAM做資料緩衝,並用DMA方式進行傳輸,大大提高系統的效能;由於採用FPGA可程式設計邏輯器件,對於不同的超聲影片訊號,只要在FPGA內對控制邏輯稍做修改,便可實現訊號採集;FPGA的外圍硬體電路簡單,因而在硬體設計中,可以大大減小硬體設計的複雜程度。而FPGA的時序邏輯除錯可在軟體上模擬實現,因而降低硬體除錯難度。

  • 中秋節和大豐收的關聯?
  • 如何養殖沙蜆子?有什麼好方法?需要注意哪些細節?