基于CF卡的無線膠囊內窺鏡體外接收存儲系統
引言
本文引用地址:http://www.ex-cimer.com/article/199287.htm對于消化道疾病的診斷,目前最常用的方法是采用內窺鏡,但傳統內窺鏡使用插入導管的方式,存在著諸多弊端,例如操作困難;屬于有創(chuàng)檢測,給病人帶來很大的肉體痛苦;診察范圍有限,僅限于診斷上消化道及大腸的病變,而對小腸疾病的診斷存在很大的盲區(qū)等等。[1]鑒于此,近十年來,世界各國有不少科研機構在從事人體消化道無創(chuàng)檢測設備的研究開發(fā)工作,而本文所提到的無線膠囊內窺鏡系統就是其中有代表性的設備之一。
本論文重點介紹了一種無線膠囊內窺鏡診斷系統體外接收器的原理與結構。該系統采用雙片高速單片機(Silicon Laboratory 8051F130)與FPGA、FIFO相結合的架構,成功實現了將體內膠囊內窺鏡傳輸出的圖像數據實時接收存儲的功能。
在數據存儲上則采用了Sandisk公司的4G大容量高速CF卡SDCFH-4096對采集的數據信號進行存儲,滿足了實時非壓縮數據信號對大容量存儲空間的要求。
無線膠囊內窺鏡體外接收存儲系統的接口框圖如圖1所示。整個系統可以分為數據接收與同步模塊和數據存儲模塊兩大基本模塊。
1.1 數據接收與同步模塊
數據接收與同步模塊包括模擬射頻接收器、低通濾波器、箝位電路、視頻放大器、同步檢測器、模數轉換器、信號處理器MCU1等。
從模擬射頻接收器接收的幀模擬信號經過低通濾波器濾掉高頻干擾分量。低通濾波器采用無源三階巴特沃斯濾波器實現。射頻接收器輸出的是交流耦合信號,經低通濾波器后仍為交流耦合信號,為了恢復信號的直流分量,必須對通過箝位電路對其進行箝位。經箝位電路后,信號的直流分量將為0.38V。視頻放大器的作用是對箝位電路輸出的信號進行適當的放大,一方面提高信號的幅值,便于進行模數轉換,另一方面,可以提高驅動能力,帶動后級負載。同步檢測器的功能是從輸入的信號中分離出幀同步和行同步信號,使得可以采用模數轉換器轉換圖像數據。同步檢測采用對信號幅值進行比較的方法實現,其具體結構是一個電壓比較器。信號處理器MCU1的作用在于通過檢測同步檢測器的輸出信號判定幀同步信號與行同步信號,據此控制AD轉換器的CLK信號,向后續(xù)的數據存儲模塊提供相應的同步標志位SYNC,同時控制數據存儲模塊的部分電路。
1.2 數據存儲模塊
數據存儲模塊包括CF控制器MCU2、FIFO、FPGA、CF卡等部分,詳細結構及原理過程將在第3部分作進一步介紹。
2 CF卡簡介
2.1 CF卡結構與工作模式
CF卡是體外接收存儲系統的存儲介質,其結構如圖2所示。CF卡全稱Compact Flash卡,由控制器與Flash存儲器兩大部分組成??刂破髦饕脕韺崿F與主機的接口并控制數據在存儲模塊中的傳輸,Flash存儲器主要負責數據的存儲??刂破魍ㄟ^協議轉換,將外設對Flash Memory的讀寫轉化成對控制器的訪問,統一了讀寫訪問的標準(符合PC機內存卡國際聯合會PCMCIA和ATA接口規(guī)范),從而保證了不同CF卡的兼容性。[2]同時CF卡采用了緩沖區(qū)結構,使CF卡與外界通信的同時可以對內部Flash Memory進行操作,提高了數據傳輸的速率。
CF卡支持包含Memory Mapped、I/O Card和True IDE在內的三種訪問模式。本系統采用的是True IDE模式。上電時,將OE-腳置為低電平,則CF卡進入True IDE模式。上電時,OE-為高電平,CF進入PCMCIA模式,即Memory Mapped模式或I/O Card模式。然后可以通過配置選項寄存器進入相應的模式。
2.2 CF卡的操作方式
CF卡與硬盤類似,采用柱面/磁道/扇區(qū)的方式組織存放數據。[3]其扇區(qū)尋址方式有邏輯尋址(LBA)和物理尋址(CHS)兩種。物理尋址方式(CHS)使用柱面、磁頭、扇區(qū)號來表示一個特定的扇區(qū);邏輯尋址方式(LBA)將整塊CF 卡進行同一尋址,在訪問連續(xù)的扇區(qū)時,操作速度比物理尋址方式要快,而且也簡化了對磁盤的訪問。文中使用邏輯尋址方式(LBA)。二者的換算關系為邏輯LBA地址=(柱面號×磁頭數+磁頭號)×扇區(qū)數+扇區(qū)號-1。
3.1 FIFO與FPGA、MCU2協同工作流程
作為該體外接收存儲系統接收信號的發(fā)射源,無線膠囊內窺鏡使用的是由Omnivision公司提供的OV6650微型圖像傳感器。其輸出圖像大小設定為CIF格式(352×288),圖像格式為Raw RGB。[4]為降低功耗,膠囊內窺鏡采用輸出一幀圖像后即進入休眠狀態(tài)的工作方式。每幀圖像的持續(xù)時間約為63ms,兩幀之間的休眠時間約為430ms。單幀圖像的數據量在90K左右。圖像數據的每幀數據量大,傳輸速率快,在圖像傳感器的PCLK管腳輸入為2MHz的情況下,每個像素點的傳輸時間為500ns??紤]到今后提高傳輸速率的需要,采用在膠囊工作時用MCU1控制FIFO,直接將一幀圖像數據緩存,在膠囊休眠期間將FIFO中的圖像寫入CF卡的解決方案。另外考慮到以后擴展的方便,在設計中采用了FPGA作為FIFO與高速單片機MCU2 (8051F130)之間的讀操作時鐘源,完成單片機對FIFO的讀時序控制。
數據存儲模塊的具體電路連接圖如圖3所示。該部分結構對應于圖1的虛線框。FIFO采用Cypress公司的CY7C4291V。該低電壓FIFO芯片的緩存為128K×9。[5]AD轉換芯片采用TI公司的ADS931。MCU采用Silicon Laboratory公司的8051F130,經過倍頻后可達到100MIPS的處理速率,可為以后系統升級預留足夠的空間。
濾波箝位后的模擬幀數據信號在MCU1產生的時鐘信號CLKIN的控制下,經過ADS931轉換為8位數據。MCU1同時向CY7C4291V提供WCLK、/WEN1、WEN2引腳的輸入控制,將模數轉換后的圖像數據緩存入FIFO。在檢測到SYNC_IN管腳輸入的一幀結束標志后,MCU1停止向ADS931及FIFO輸出時鐘,并向FPGA的SYNC管腳提供一個脈沖。此時對FIFO的控制權轉交給FPGA。在FPGA產生的RCLK,/REN1,/REN2,ADCLK1的時序控制下,MCU2將FIFO中所緩存一幀圖像以較低的速率讀入,并寫入CF卡緩存,達到了與CF Card寫入周期的匹配。[6]
FPGA各引腳時序圖如圖4所示。
3.2 向CF中存儲數據
對CF卡的操作只需讀寫任務寄存器即可。CF卡共有30條指令,數據讀寫的最小單位為1個扇區(qū)。8位格式訪問時對應1個扇區(qū)數據量為512字節(jié),16位格式訪問是對應1個扇區(qū)數據量為256字。連續(xù)存取字節(jié)兩次則依次存取數據寄存器的偶字節(jié)和奇字節(jié)。本系統中采用8位模式進行操作。在MCU2對CF卡進行寫入操作之前,先向命令寄存器寫入0Efh,將默認的16位模式改為8位模式。每次執(zhí)行CF卡命令前,需要讀取狀態(tài)寄存器(偏移量為07H)來確定當前CF卡所處的狀態(tài)。狀態(tài)寄存器D7位為零,表示控制空閑;D6,D4均為1,表示CF卡準備好接收下一條指令。執(zhí)行命令前,程序要寫7個寄存器,其中前6個為參數,最后1個為命令碼。[7]讀扇區(qū)命令字為20H或21H,寫扇區(qū)命令字為:30H或31H。其中扇區(qū)讀寫流程如圖5所示。
在實際的程序運行過程中,在FIFO存儲完一幀圖像數據后,FPGA開始向MCU2提供ADCLK1時鐘。在MCU2檢測到第一個時鐘下降沿時,向CF卡任務寄存器寫入寫卡指令,之后讀CF卡狀態(tài)寄存器,當返回值為58H時,表明CF卡已進入等待數據寫入狀態(tài)。在之后的每個ADCLK1的下降沿,對應一個像素點的8位數據從FIFO讀入MCU2,隨后即時送入CF卡的緩存。當一個扇區(qū)的數據,即512Bytes的數據寫入緩存后,CF卡需要一定的響應時間等待寫扇區(qū)指令的執(zhí)行。所以FPGA在產生連續(xù)512個周期為200us的ADCLK1后將產生一個800us的延時,從而保證CF卡有足夠時間寫入一個扇區(qū)的數據,避免丟失數據的情況發(fā)生。在此同時,程序查詢狀態(tài)寄存器的值,若為50H,說明一個扇區(qū)的數據已被寫入CF卡。此時FPGA繼續(xù)產生ADCLK1時鐘,MCU2則繼續(xù)在時鐘下降沿查詢FIFO的輸入,并將其寫入CF數據緩存,如此重復寫入數扇區(qū),直至一幀圖像數據完全寫入CF卡為止。
4 實驗結果與結論
(1) 采用4G的CF卡(SDCFH-4096)實現了連續(xù)6.2小時的圖像錄制,與膠囊內窺鏡系統在人體內由SR69W氧化銀電池供能條件下可連續(xù)工作時間(7小時左右)相近,基本滿足了實時存儲內窺鏡圖像的要求。在對膠囊端的工作頻率進行提高后,有望達到更高的圖像接收速率。
(2) 圖6為使用該系統接收的一幀CIF格式8位色Raw RGB圖像數據在PC上還原得到的圖像,圖像質量較為理想。這說明接收器可以正確接收同步圖像信號并正確寫入CF卡。
(3) 由于受模擬傳輸干擾的影響,接收圖像會隨機出現同步位錯誤造成的圖像失真(圖7),具體出現概率主要取決于接收器的接收頻率是否準確,總體上對接收圖像的影響不大。
經過實驗證明,按此種方案設計的無線膠囊內窺鏡體外接收存儲系統可以滿足實時接收并存儲WCE(Wireless Capsule Endoscopy)模擬圖像數據的要求。
參考文獻:
[1] 胡宗泰。 醫(yī)用內窺鏡現狀及發(fā)展趨勢[J]. 世界醫(yī)療器械, 1997, 1:32-34
[2] SanDisk CompactFlash Memory Card Product Manual[DB/OL]. Version 11.0, Document No. 20-10-00038, January 2006
[3] 毛曉燕,湯健彬,金建詳。 基于8051的CF卡文件系統的實現[J]. 自動化儀表, 2003,6:34-35
[4] OV6650FS Color CMOS CIF (352 x 288) Concept Camera Module Data Sheet. Version 1.1[DB/OL], 2003
[5] CY7C4291V Datasheet. Cypress Semiconductor Corporation[DB/OL]. 1999
[6] 郭振武,李維祥,王文博。 單片機實現對CF卡的讀寫[J]. 單片機與嵌入式系統應用, 2004,11:25-31
[7] 翟亞東,史忠科。 基于CF卡的飛行試驗數據記錄器的設計[J]. 計算機測量與控制, 2006,14(10):1384-1386
[8] 蔡慶喜, 馬孝江, 李聯玉。 便攜式信號采集分析儀數據管理系統的開發(fā)[J]. 機床與液壓, 2004,12:134-136
評論