1 引言 隨著醫療診斷儀器小型化、便攜化的進程,高性能32位微處理器正在越來越多地應用于各類小型醫療影像設備中,但是如何利用這些微處理器傳送和處理實時圖像,卻是一個丞待解決的問題。從ARM 7系列開始,ARM處理器就集成了CMOS(Complementary Metal Oxide SemiConductor)圖像傳感器接口,這為解決上述問題提供了可能。處理器可以通過CMOS圖像傳感器接口適應不同的CMOS圖像傳感器。通過CMOS接口,圖像數據將被送入到系統的CMOS圖像通道中。CMOS圖像通道為CMOS圖像傳感器接口與系統AHB(Advanced High performanceBus)總線之間的連接通路,由CSI (CMOS Sensor Interface)和PRP(Pre-processor)組成。該通道專門用于高速圖像傳輸,提供了多種圖像格式輸入和傳輸方式,并能在通道內進行顏色空間變換、窗體調整等多種操作,是診斷圖像以及其他圖像應用傳輸的理想通道。 本文討論了一種基于32位微處理器ARM9E和嵌入式Linux的便攜式超聲診斷儀的解決方案。系統以CMOS圖像通道為診斷網像的傳輸通道,將采集的超聲圖像信息送人系統總線,在嵌入式Ijnux操作系統平臺上,實現了診斷圖像的實時顯示和靜態圖像的大容量非易失性存儲,所實現的診斷系統不僅功能強大、擴展容易,而且還兼顧了小型化的需求。 2 系統構架 本文設計的便攜式超聲診斷儀系統結構如圖l所示。用戶通過輸入設備向系統輸入控制命令,完成超聲圖像的采集、顯示、保存等相關處理。當執行掃描命令時,系統通過串口向以FPGA為核心的超聲圖像采集模塊發送圖像采集命令,控制超聲探頭掃描驅動電路和信號發射接收電路同步動作。接收的超聲信號在超聲圖像采集模塊中經放大、模數轉換后送人FPGA,完成數字掃描變換(DCS)和插值運算后,得到二維的B超圖像信息。將該圖像信息進行格式轉換后通過ARM芯片CMOS接13送人控制系統,經圖像通道傳輸后,完成在LCD(Liquid Crystal Display)上的實時顯示,同時可拔插的大容量SD(Secure Digital Memory Card)卡可對所需的圖像進行保存。保存的圖像信息可以進行離線處理,比如打印、電影回放、遠程瀏覽等。 ![]() 圖1 超聲診斷儀系統結構框圖 ![]() 圖2 控制系統的硬件框圖 3 系統硬件設計 3.1硬件框圖 本設計選用以ARM926EJ-S為內核的Freescale i.MX21作為處理器,控制系統的硬件框俐如圖2所示,系統是以ARM處理器為核心,外加兼容的硬件外設。超聲采集模塊完成圖像的采集和傳入,LCD把傳人的圖像信息實時的顯示出來,通過SD卡把大量的圖像數據保存起來以便后期處理。通過外加USB HUB?蓪⑹髽、鍵盤、打印機接入系統。本地儲存的診斷圖像數據可以通過快速以太網控制處理器DM9000送入網口,通過以太網實現遠程瀏覽。 3.2 CMOS圖像通道 本控制系統CMOS圖像通道框圖如圖3所示,超聲圖像數據的傳入利用i.MX21芯片的CMOS圖像傳感器接口來實現。該接口支持的圖像數據類型包括RGB565、RGB888、YUV422、YUV444等。不同類型的圖像數據在CMOS口經過CSI 8位采樣后,封裝成32位圖像數據送人CSI RxFIFO。CSI RxFIFO中的圖像數據根據類型的不同,送顯和存儲的硬件和軟件實現方法也是不同的。 ![]() 圖3控制系統CMOS圖像通道框圖 (1)若類型為RGB565,且圖像窗體不需要調整(顯示設備單一)。圖像數據可以通過DMA通道直接傳送到顯示緩沖區,如圖3中通道①; (2)若類型為RGB565,且圖像窗體需要調整(顯示設備多樣化),圖像數據則需要經過前處理器(PRPl,在PRP中調整圖像大小送入顯示緩沖區,如圖3中通道②; (3)若類型為YUV422,圖像數據則需要經過PRP,在PRP中調整圖像大小并轉換成合適的顏色空間后送人顯示緩沖區,如圖3中通道②; (4)若類型為YUV444、RGB888,圖像數據則需通過軟件編程實現圖像數據的顏色處理和轉換后送入PRP調整窗體,最后送入顯示緩沖區,如圖3中通道③。 本設計為使LCD接口輸出的圖像兼容QVGA、VGA、SVGA、XGA等尺寸的顯示屏,且兼顧圖像傳輸的速率、圖像顯示的質量,我們使用RGB565格式,選用罔3中通道②。因此需將超聲圖像采集模塊所采集的圖像信息構造為RGB565格式,故CMOS接口輸入的罔像信息時序圖如圖4所示。 圖中Vsync是場I司步信號,Hsync是水平同步信號,Pixelk是象素數據輸入同步信號,D [7:0]為象素數據信號。Vsync和Hsync為低電平時即可開始有效圖像數據的輸入,Pixelk上升沿的到來則表明進行數據輸入,Pixelk的一個周期將完成一個圖像數據字節的輸入。在傳輸一幀圖像過程中,即Vsync的一個周期內,Hsync會出現H次(H為行數)高電平。在Hsync的一個周期內,Pixelk將出現W*Pixelbytes次(W為列數,Pixelbytes為每象素占用字節數)高電平。而下一個Vsync信號上升沿的到來則表明一幀分辨率為W*H的圖像輸入過程的結束。 CSI RxFIFO中的圖像數據送入PRP進行窗體調整后,通過AHB(Advanced High performance Bus)進入內存,PRP窗體的調整通過設置PRP控制寄存器實現。 3.3圖像顯示及保存 FrameBuffer是Linux為顯示設備提供的一個接口,它是顯存抽象后的一種設備.對該設備進行讀/寫則可直接對顯存進行操作。通過驅動程序可為FrameBuffer在文件系統中創建一個設備文件fb0,用戶要完成對FrameBuffer的圖像輸入,只需完成對fb0圖像的寫入操作。當LCDC(LCD Controller)中的Pixel FIFO為空或者部分為空時,LCDC要求從基于突發傳輸模式的FrameBuffer中取要顯示的圖像數據。當LCDC的傳輸請求被存儲控制器中過的總線仲裁器接收并確認后,FrameBuffer中的圖像數據將通過專用的DMA通道送入Pixel FIFO,然后經過字節翻轉、背景前景圖像合成后通過LCDC邏輯接口直接送入LCD顯示屏接口。 通過MMC/SD接口可將SD卡接入控制系統,利用驅動程序將SD卡掛載在文件系統中。用戶可以編寫應用程序將內存中的圖像數據保存在SD卡中,也可將SD卡中的圖像數據讀入到內存中。 4 系統軟件設計 本控制系統是基于上述硬件平臺和嵌入式Linux操作系統開發設計的。首先在硬件平臺上實現嵌入式Linux操作系統內核和文件系統的移植,并實現對外設硬件的底層驅動。應用程序采用模塊化設計,其中功能模塊設計主要包括GUI(Graphical User Interface)和WebServer程序設計,應用模塊主要包括采集模塊子程序,LCD顯示模塊子程序,打印模塊子程序,SD卡存儲子程序,以太網傳輸子程序等。本文重點對罔像通道相關程序做出論述。 如圖3,設計CSI RxFIFO中的圖像數據通過專用總線通道②送人PRP,DMA通道①被內部邏輯控制器關斷。因此在CSI和PRP的驅動程序中,CSI和PRP的初始化代碼應作如下修改: CSI初始化: ![]() 本設計初始安裝分辨率為640 x 480的LCD.如上設置初始化后,圖像數據將由CSI RxFIFO進入PRP處理。為了使上層用戶在不改變設備文件的前提下,直接利用CSI設備文件描述符,采用如下代碼將CSI設備文件的虛擬地址映射為PRP輸出的物理地址,用戶就可以直接從CSI設備文件中讀取經PRP處理后的圖像數據。 ![]() 通過如上驅動程序的修改,用戶就可以編寫應用程序實現對PRP處理后的圖像數據進行送顯和存儲。應用程序的程序概圖如圖5所示: ![]() 圖4 CMOS接口輸入的圖像信息時序圖 ![]() 圖5 圖像髓示和存儲稷序框圖 5 測試結果 本文設計的控制系統經測試,診斷圖像實時顯示的幀率可以達到20‰,大于便攜式B超圖像10幀/s的幀率要求.且LCD觀察圖像畫面清晰。采用RGB565格式的標準位圖保存診斷圖像信息,每張圖片的數據大小為: 640 * 480 * (5+6+5)/8=614400 bytes 使用1G的SD卡作為外部存儲設備,可以存儲1747張診斷圖片。完全滿足便攜式診斷設備的要求和實際診斷情況的需要。 6 結論 本設計采用ARM9E為核心的Freescale i.MX21芯片作為便攜式超聲診斷儀中央處理器,利用其內置的CMOS圖像傳感器通道,將超聲圖像采集模塊輸入的圖像信息實時的顯示出來,并根據需要對顯示的圖像進行保存。經測試,該控制系統工作穩定可靠,滿足了常規的診斷需要,具有較高的實用價值。 本文作者創新點:本文采用的專用高速CMOS圖像傳輸通道將超聲診斷圖像輸入控制系統并進行處理。在軟硬件都滿足需求的基礎上給出了詳細的設計實現,說設計的系統在診斷圖像的顯示幀率、顯示畫面清晰度方面都達到了很好的效果。為同類系統設計、升級和改進打下了良好的基礎。 本項目產業化后投入市場,年經濟效益可達1000萬元。 作者:冉焱 來源:《微計算機信息》(嵌入式與SOC)2009年第25卷第2-2期 |