醫(yī)用電子內(nèi)鏡嵌入式視頻采集控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
點(diǎn)擊:962
A+ A-
所屬頻道:新聞中心
摘要:介紹了一套基于視頻編解碼芯片、閃存以及FPGA的醫(yī)用電子內(nèi)鏡實(shí)時(shí)圖像采集控制系統(tǒng)。文中給出了整套系統(tǒng)的硬件方案及其設(shè)計(jì)框圖并介紹了乒乓操作的原理及系統(tǒng)的FPGA程序?qū)崿F(xiàn)方法。經(jīng)測(cè)試表明系統(tǒng)的性能穩(wěn)定易于維護(hù)成本低廉、性價(jià)比較高,在醫(yī)用內(nèi)窺鏡領(lǐng)域有較好的應(yīng)用前景。
隨著內(nèi)窺鏡外科、微創(chuàng)外科技術(shù)的迅猛發(fā)展,醫(yī)用電子內(nèi)窺鏡已經(jīng)成為當(dāng)前應(yīng)用非常廣泛的一種醫(yī)療儀器。目前,國(guó)產(chǎn)醫(yī)用電子內(nèi)鏡一般采用視頻卡采集,然后在微機(jī)中進(jìn)行處理,有信號(hào)損失大、圖像效果差、數(shù)據(jù)容易丟失、處理時(shí)間較慢、設(shè)備繁多和成本高等缺陷。采用嵌人式視頻控制處理技術(shù),可以借助數(shù)字化技術(shù)對(duì)信號(hào)進(jìn)行處理,信號(hào)損失少、圖像效果好、配置靈活、維護(hù)方便,而且大大降低了成本。
本文采用視頻編解碼芯片SRAM, NAND FLASH與現(xiàn)場(chǎng)可編程門陣列FPGA (Field Programmable Gate Array)設(shè)計(jì)了一套醫(yī)用內(nèi)鏡嵌人式圖像采集控制系統(tǒng)。其中,視頻解碼芯片可以從視頻信號(hào)中自動(dòng)獲取行、場(chǎng)同步信號(hào)并完成A/D轉(zhuǎn)換,而視頻編碼芯片則可自動(dòng)對(duì)數(shù)字信號(hào)進(jìn)行D/A轉(zhuǎn)換,輸出模擬信號(hào)。SRAM用于對(duì)視頻流進(jìn)行乒乓操作,起緩沖作用,而FLASH則用于對(duì)個(gè)別圖像進(jìn)行存儲(chǔ),適時(shí)進(jìn)行回放。使用FPGA/CPLD開發(fā)數(shù)字電路,可大大增加電路的集成度、減小PCB體積小、增強(qiáng)系統(tǒng)功能、降低投資和縮短開發(fā)周期,且具有可反復(fù)編程修改、開發(fā)工具智能化和電路設(shè)計(jì)靈活等特點(diǎn)。隨著電子工藝的不斷改進(jìn),低成本的FPGA/CPLD器件已成為當(dāng)今硬件開發(fā)設(shè)計(jì)的首選方式之一。因此,本設(shè)計(jì)具有小體積、低成本、高可靠性和易于再開發(fā)等優(yōu)點(diǎn)。
1.系統(tǒng)工作原理及設(shè)計(jì)方案
視頻采集的系統(tǒng)框圖如圖1所示。系統(tǒng)上電后,單片機(jī)(MCU)通過(guò)I2C總線對(duì)視頻編解碼芯片初始化。初始化成功后,視頻解碼芯片開始工作,將通過(guò)CCD攝像頭采集到的模擬視頻信號(hào)轉(zhuǎn)換成720x576的YUV4:2:2數(shù)字信號(hào),然后輸人FPGA。FPGA一方面作為SRAM的地址發(fā)生器,將數(shù)據(jù)輸人到SRAM;另一方面還產(chǎn)生SRAM的讀寫控制信號(hào),用兩片SRAM以乒乓操作方式工作,使每片保存一場(chǎng)圖像。與此同時(shí),F(xiàn)PGA又將SRAM中的數(shù)據(jù)傳人視頻編碼芯片中。由于采用了乒乓操作,因此保證了視頻流的流暢性,而視頻編碼芯片則對(duì)從FPGA輸人進(jìn)來(lái)的數(shù)字信號(hào)進(jìn)行編碼處理,從而將數(shù)字信號(hào)還原成模擬視頻信號(hào),傳人顯示器進(jìn)行顯示。
通過(guò)外部按鍵,可對(duì)FPGA發(fā)送的圖像進(jìn)行凍結(jié)、存儲(chǔ)、刪除、回放以及分屏回放等處理。一旦得到外部按鍵信號(hào),F(xiàn)PGA將會(huì)按照NAND FLASH的讀寫協(xié)議,在產(chǎn)生SRAM地址信號(hào)和讀寫控制信號(hào)的同時(shí),自動(dòng)產(chǎn)生FLASH讀寫控制信號(hào),并向FLASH發(fā)送相關(guān)的讀寫命令以及地址信息,從而將數(shù)據(jù)從SRAM搬移至FLASH中(存儲(chǔ))或者從FLASH中搬移至SRAM(回放)。而當(dāng)FLASH中數(shù)據(jù)不再需要時(shí),可通過(guò)FPGA發(fā)送刪除命令,直接對(duì)FLASH的指定位置進(jìn)行擦除操作,從而避免了存儲(chǔ)空間的不足。其各部分硬件選擇和設(shè)計(jì)如下:
圖1系統(tǒng)結(jié)構(gòu)圖
Fig. 1 System structure diagram
視頻解碼芯片采用CONEXANT公司的Bt835KRF,對(duì)輸人信號(hào)進(jìn)行A/D轉(zhuǎn)換,并提供同步信號(hào)與數(shù)字信號(hào)。視頻編碼芯片采用CONEXANT公司的型號(hào)為Bt860產(chǎn)品,根據(jù)解碼器提供的同步信號(hào)和數(shù)據(jù),在輸出端完成D/A轉(zhuǎn)換。FPGA采用ALTERA公司Cyclone系列的EP1C6Q240C8芯片。該芯片采用0.13um工藝技術(shù),全銅SRAM工藝,具有5980個(gè)邏輯單元,支持近12萬(wàn)門的設(shè)計(jì),內(nèi)嵌RAM共有92160bits,包含2個(gè)鎖相環(huán)電路,包含34個(gè)差分通道,最大用戶I/O數(shù)有185個(gè),可滿足設(shè)計(jì)要求。
圖像緩存模塊采用的SRAM芯片是美國(guó)IDT公司生產(chǎn)的IDT71V424。它是采用高性能和可靠性的CMOS工藝生產(chǎn)的高速靜態(tài)存儲(chǔ)器,其單片存儲(chǔ)容量為512Kx8 Bit,恰好可以存放一幀圖像的數(shù)據(jù),且具有高速的訪問(wèn)時(shí)間(10或12 ns),足夠用來(lái)保證視頻流傳輸過(guò)程中的實(shí)時(shí)性。其內(nèi)部完全由靜態(tài)異步電路構(gòu)成,無(wú)需輸入時(shí)鐘信號(hào),也不必對(duì)芯片進(jìn)行刷新,即可直接對(duì)無(wú)用數(shù)據(jù)進(jìn)行覆蓋。
圖像存儲(chǔ)模塊采用SAMSUNG公司生產(chǎn)的NAND FLASH,型號(hào)為K9F5608UOD,容量為264M。NAND結(jié)構(gòu)的FLASH是SAMSUNG公司推出并著力開發(fā)的新一代數(shù)據(jù)存儲(chǔ)器件,電源電壓為1.7-3.6V,體積小,功耗低,容量最大可達(dá)1GB,按頁(yè)進(jìn)行讀寫,按塊擦除,通過(guò)I/O口分時(shí)復(fù)用作為命令壯也址墩據(jù)。
2.系統(tǒng)的FPGA設(shè)計(jì)與實(shí)現(xiàn)
2.1乒乓緩存控制原理
乒乓操作是一個(gè)常常應(yīng)用于數(shù)據(jù)流控制的處理技巧,典型的操作方法如圖2所示。輸人數(shù)據(jù)流通過(guò)輸入數(shù)據(jù)選擇單元(在本采集系統(tǒng)中,F(xiàn)PGA內(nèi)部邏輯結(jié)
構(gòu)完成此數(shù)據(jù)選擇功能),等時(shí)地將數(shù)據(jù)流分配到數(shù)據(jù)緩沖區(qū)SRAM A和SRAM B中。在第一個(gè)緩沖周期,也就是第一場(chǎng)的時(shí)間,將輸人的數(shù)據(jù)流緩存到SRAM A;在第二場(chǎng)的時(shí)間,通過(guò)輸人數(shù)據(jù)選擇單元的切換,將輸人的數(shù)據(jù)流緩存到SRAM B。與此同時(shí),將SRAM A中緩存的第一周期數(shù)據(jù)(第一場(chǎng)圖像數(shù)據(jù)),通過(guò)輸出數(shù)據(jù)選擇單元的選擇,送到數(shù)據(jù)流處理模塊(視頻流編碼芯片BT860)處理。在第三個(gè)緩沖周期,通過(guò)輸人數(shù)據(jù)選擇單元的再次切換,將輸人的數(shù)據(jù)流緩存到SRAM A中,與此同時(shí)將SRAM B中緩存的第二周期數(shù)據(jù)(第二場(chǎng)圖像數(shù)據(jù))通過(guò)輸出數(shù)據(jù)選擇單元的切換,送到數(shù)據(jù)流處理模塊運(yùn)算處理。如此循環(huán)運(yùn)行,周而復(fù)始。
圖2乒乓操作原理圖
Fig. 2 Ping-pong operation schemantic diagram
乒乓操作的最大特點(diǎn)是通過(guò)輸人數(shù)據(jù)選擇單元和輸出數(shù)據(jù)選擇單元,按節(jié)拍、相互配合地切換,將經(jīng)過(guò)緩沖的數(shù)據(jù)流不停頓地送到數(shù)據(jù)流運(yùn)算處理模塊進(jìn)行運(yùn)算及處理。把乒乓操作模塊當(dāng)作一個(gè)整體,此模塊兩端的輸人數(shù)據(jù)流與輸出數(shù)據(jù)流均是連續(xù)不斷的,沒有任何停頓,因此非常適合進(jìn)行流水線式處理,完成數(shù)據(jù)的無(wú)縫緩沖與處理。
2.2 FLAS日內(nèi)部結(jié)構(gòu)
由圖3所示可知,該器件由2K個(gè)塊(block)組成,每個(gè)塊有32頁(yè),每頁(yè)有512+16字節(jié),總?cè)萘繛?56+8M。其中,528字節(jié)分成A, B, C, 3個(gè)區(qū)(如圖4所示)。對(duì)每一頁(yè)的尋址需要通過(guò)I/O口將地址分成三次發(fā)送,其中第二、三次發(fā)送的是行(頁(yè))地址(A9-A24),指明尋址到某一頁(yè);而第一次發(fā)送的則是列地址(AO-A7),指明尋址到指定頁(yè)中某一字節(jié)。
圖4起始指針與區(qū)域關(guān)系對(duì)照表
Fig. 4 Relationship between pointer and region
由圖4可以看出,OOH, O1H和SOH只是選區(qū)指針。選定區(qū)的內(nèi)部尋址是由第一個(gè)列地址完成的,AO-A7可以最大尋址256字節(jié)。由于OOh、O1h和5Oh這三個(gè)命令信號(hào)中包含著片地址信息,因此我們把他們稱為FLASH的地址A8。
2.3 FPGA的邏輯控制
在本系統(tǒng)中,主要通過(guò)VHDL語(yǔ)言對(duì)FPGA的邏輯控制進(jìn)行了兩部分的設(shè)休一部分是數(shù)據(jù)緩存部分,也即SRAM,另一部分則是數(shù)據(jù)的存儲(chǔ)部分一FLASH,這兩部分在下面著重介紹。
2.3.1數(shù)據(jù)緩存部分(SRAM)
在視頻采集過(guò)程中,必先將數(shù)據(jù)存儲(chǔ)至SRAM進(jìn)行緩沖,并在采樣的同時(shí)產(chǎn)生地址。FPGA的讀寫控制模塊需要同時(shí)給出兩組地址線,兩組輸人、輸出數(shù)據(jù)總線以及讀、寫、片選等控制SRAM的控制信號(hào)線,其中一組用以控制SRAM A,另一組則控制SRAM B,以便將解碼出來(lái)的數(shù)字信號(hào)通過(guò)數(shù)據(jù)信號(hào)總線交替地送給SRAM A DATA與SRAM B DATA。為了解決共用總線時(shí)的競(jìng)爭(zhēng)冒險(xiǎn)問(wèn)題,還要適當(dāng)?shù)乜刂茢?shù)據(jù)信號(hào)與SRAM A DATA, SRAM B DATA的通斷??梢杂闷媾紙?chǎng)信號(hào)來(lái)控制SRAM A和SRAM B的選擇控制。而對(duì)SRAM的讀寫控制,則依靠讀寫控制信號(hào)SRAM WE來(lái)完成。實(shí)際上,SRAM的數(shù)據(jù)線也有兩組,其工作方式和地址線一樣。為了給FPGA以充足的時(shí)間來(lái)讀取SRAM中的數(shù)據(jù),還要控制每場(chǎng)圖像存人不同的SRAM,從而使得兩片SRAM以乒乓方式交替工作。
本設(shè)計(jì)采用VHDL對(duì)FPGA進(jìn)行邏輯實(shí)現(xiàn),程序中的乒乓控制部分仿真圖如圖5所示。
圖5乒乓操作仿真圖
Fig.S Ping-pong Operation Simulation
其中bt835_ field是解碼芯片BT835的場(chǎng)同步信號(hào),當(dāng)它低時(shí),我們看到SRAM A的輸出信號(hào)sram_oel為低,而寫人信號(hào)sram wel為高,8位數(shù)據(jù)線sram_diol則呈高阻態(tài),這代表此時(shí)SRAM A正執(zhí)行讀取操作,將前鎖存的奇場(chǎng)信號(hào)輸出至編碼器BT860。而此時(shí)的SRAM B則恰恰相反,它的輸出信號(hào)sram_ oe2為高,而寫人信號(hào)sram_ wet為低,這說(shuō)明它正在執(zhí)行寫人操作,將輸人端的信號(hào)進(jìn)行鎖存。因此,我們可以看到在它的8位數(shù)據(jù)線sram_ dio址的數(shù)據(jù)與輸人端的bt835_ dat吐的數(shù)據(jù)完全一致。而當(dāng)bt835_ field為高時(shí),則兩塊SRAM互換職責(zé),由此奇偶交替,完成乒乓操作。
2.3.2數(shù)據(jù)存儲(chǔ)部分(FLASH)
當(dāng)發(fā)現(xiàn)有用數(shù)據(jù),需要將有用數(shù)據(jù)存儲(chǔ)至FLASH或者通過(guò)FLASH進(jìn)行回放時(shí),F(xiàn)PGA不僅要產(chǎn)生SRAM的地址以及讀寫控制信號(hào),還需按照FLASH真值表(表1)的要求,產(chǎn)生FLASH讀寫控制信號(hào)FLASH_WE和FLASH_ RE,以及命令鎖存信號(hào)FLASH_ CLE和地址鎖存信號(hào)FLASH_ ALE,并根據(jù)具體需要,產(chǎn)生不同的操作指令以及相對(duì)應(yīng)的地址信息,從而使得FLASH按照要求進(jìn)行擦除、存儲(chǔ)以及讀取等操作。
表1 K9F5608UOD真值表
Tab. 1 K9F5608UOD Truth-table
本設(shè)計(jì)用QuartusII 7.2對(duì)FLASH各功能單元進(jìn)行仿真,并用SignalTapII對(duì)實(shí)際工作情況進(jìn)行信號(hào)采集,采集所得結(jié)果如圖6所示。
(c). Display operation
圖6 FLASH各功能單元仿真
Fig. 6 Flash Function Simulation
每當(dāng)flash_cle處在高電平時(shí)flash we產(chǎn)生一布生升沿,則將此時(shí)8位數(shù)據(jù)線flash_io上的信號(hào)作為命令信氣由圖6所示,擦除的命令信號(hào)為60 h,存儲(chǔ)則為80 h。而進(jìn)行讀取操作時(shí),00h, Olh, 50h皆可,具體選用情況取決于初始地址位于A, B, C中的哪個(gè)區(qū),詳見圖4所示。
當(dāng)發(fā)送完操作命令信號(hào)后,若是執(zhí)行存儲(chǔ)或讀取操作,則需要將24位地址(AO-A7, A9-A24)從低到高每次8位的形式分三次發(fā)送,此時(shí)flash_ale置高位,flash_we共需產(chǎn)生三個(gè)匕升沿,每產(chǎn)生一個(gè)上升沿,則將flash_io上采集到的信號(hào)作為地址信號(hào)發(fā)送。而由于擦除操作是以塊為單位進(jìn)行,在擦除時(shí)只需發(fā)送塊地址,即A9-A24共16位地址即可,因此在地址命令發(fā)送階段,flash we只需產(chǎn)生兩個(gè)上升沿即可。地址發(fā)送完畢后,需再拉低flash_ale和拉高flash_cle,發(fā)送一個(gè)命令信號(hào)DOh。
3.結(jié)果
本設(shè)計(jì)最終實(shí)物如圖7中所示,其中,(a)為整個(gè)醫(yī)用電子內(nèi)鏡系統(tǒng)圖,包括內(nèi)窺鏡(信號(hào)源)、顯示器以及信號(hào)采集控制系統(tǒng)(本文設(shè)計(jì)核心);(b)為本設(shè)計(jì)整體外觀圖;(c)為本設(shè)計(jì)詳細(xì)實(shí)物圖。
本設(shè)計(jì)于2009年4月與上海醫(yī)用光學(xué)儀器廠生產(chǎn)的醫(yī)用電子內(nèi)鏡成功配套,極好的還原了電子內(nèi)鏡所采集的圖像信號(hào),實(shí)現(xiàn)了對(duì)視頻信號(hào).的PAL制式兼容,可輸出Video, S-Video信號(hào);圖像可由操作者控制,實(shí)現(xiàn)動(dòng)態(tài)、靜態(tài)(凍結(jié))的切換;紅綠藍(lán)色彩分離單獨(dú)可調(diào);圖像的亮度和對(duì)比度亦單獨(dú)可調(diào);可保存最多40幅圖像(720 x 480);在顯示設(shè)備上可以全屏顯示,也可分屏顯示(一次回放4幅圖像,即圖中所示)等多項(xiàng)功能。以上功能均通過(guò)上海醫(yī)用光學(xué)廠質(zhì)檢部門檢測(cè),檢測(cè)結(jié)果合格。
4.結(jié)束語(yǔ)
本文設(shè)計(jì)了一套基于視頻編解碼芯片、靜態(tài)隨機(jī)存儲(chǔ)器、閃存與FPGA的醫(yī)用電子內(nèi)鏡嵌人式圖像采集控制系統(tǒng)。利用解碼芯片BT835將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),并由FPGA進(jìn)行邏輯控制,將采集的圖像進(jìn)行存儲(chǔ)和回放等操作。其硬件結(jié)構(gòu)簡(jiǎn)單,穩(wěn)定性高,易于維護(hù),成本低廉,具有很強(qiáng)的實(shí)時(shí)性、實(shí)用性和可移植性,可用于各類圖像采集系統(tǒng)。
(審核編輯: 智匯張瑜)
分享