文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)02-0038-04
0 引言
膠囊內(nèi)窺鏡[1]檢查是利用吞服式內(nèi)置無(wú)線攝錄相機(jī)的膠囊進(jìn)行內(nèi)鏡消化系統(tǒng)攝影,以評(píng)估消化道問(wèn)題。受檢查者通過(guò)口服膠囊內(nèi)窺鏡,使膠囊在人的身體中運(yùn)動(dòng)并拍攝圖像。醫(yī)生利用體外的圖像記錄儀和影像工作站,可以了解受檢者的整個(gè)消化道情況,從而對(duì)病情做出診斷。與傳統(tǒng)的內(nèi)窺鏡相比,膠囊內(nèi)窺鏡檢查具有無(wú)創(chuàng)傷、無(wú)交叉感染等優(yōu)點(diǎn),是消化道疾病尤其是小腸疾病診斷的首選方法。膠囊內(nèi)窺鏡采用的是專用的RF傳輸方式?,F(xiàn)有的膠囊內(nèi)窺鏡一般是檢查完后才能獲取到完整的圖像數(shù)據(jù)。以國(guó)產(chǎn)OMOM膠囊內(nèi)窺鏡的檢查方法[2-3]為例,等到檢查結(jié)束后才由醫(yī)生將圖像記錄儀的圖像數(shù)據(jù)下載到電腦上的工作站進(jìn)行分析。為了將膠囊內(nèi)窺鏡圖像實(shí)時(shí)傳送到工作站,本文提出了基于藍(lán)牙和Wi-Fi的雙模式膠囊內(nèi)窺鏡圖像轉(zhuǎn)發(fā)器。提出的轉(zhuǎn)發(fā)器通過(guò)使用和膠囊內(nèi)窺鏡配套的無(wú)線收發(fā)模塊接收?qǐng)D像數(shù)據(jù),然后根據(jù)不同的應(yīng)用模式,由微處理器控制藍(lán)牙模塊或Wi-Fi模塊轉(zhuǎn)發(fā)數(shù)據(jù)。近距離轉(zhuǎn)發(fā)時(shí),使用藍(lán)牙模式;遠(yuǎn)程轉(zhuǎn)發(fā)時(shí),借助無(wú)線網(wǎng)絡(luò),使用Wi-Fi模式。使用提出的轉(zhuǎn)發(fā)器,可將圖像實(shí)時(shí)轉(zhuǎn)發(fā)到接收端進(jìn)行顯示和保存。轉(zhuǎn)發(fā)器也可作為膠囊內(nèi)窺鏡遠(yuǎn)程診斷的一種實(shí)現(xiàn)方法。遠(yuǎn)程醫(yī)療技術(shù)使得病人的診斷不受時(shí)間和地域限制,這可以節(jié)省醫(yī)生和病人的大量時(shí)間和金錢(qián)。
1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)主要由三部分組成,分別為膠囊內(nèi)窺鏡、轉(zhuǎn)發(fā)器以及接收設(shè)備。通過(guò)轉(zhuǎn)發(fā)器,能夠?qū)⒛z囊內(nèi)窺鏡專用射頻模塊接收到的圖像數(shù)據(jù)實(shí)時(shí)轉(zhuǎn)發(fā)給接收終端。本文使用Android手機(jī)作為移動(dòng)采集終端,工作站使用的是自主開(kāi)發(fā)的QT膠囊內(nèi)窺鏡圖片分析系統(tǒng)[4]。圖1是使用轉(zhuǎn)發(fā)器的膠囊內(nèi)窺鏡圖像采集系統(tǒng)。轉(zhuǎn)發(fā)器保留了其他傳輸方式的外部接口,因此設(shè)計(jì)的轉(zhuǎn)發(fā)器也能用于其他的轉(zhuǎn)發(fā)應(yīng)用。
2 轉(zhuǎn)發(fā)器硬件設(shè)計(jì)
2.1 RF接收器
膠囊內(nèi)窺鏡采用基于nRF24L01+傳輸?shù)膶?shí)驗(yàn)?zāi)P蚚5],轉(zhuǎn)發(fā)器RF接收模塊采用與之相同的RF接收芯片。nRF24L01+具有低功耗、小尺寸和高帶寬等優(yōu)點(diǎn)。外圍電路如圖2所示,它與單片機(jī)SPI口的通信速度可達(dá)8 MHz;最大支持2 Mb/s的數(shù)據(jù)傳輸速率,而正常的電流消耗為14 mA;支持自動(dòng)應(yīng)答及自動(dòng)重發(fā),內(nèi)置地址及CRC數(shù)據(jù)校驗(yàn)等功能,雖然自動(dòng)應(yīng)答降低了通信速度,但它是生物醫(yī)學(xué)應(yīng)用中所必須的。模塊通過(guò)SPI接口編程配置。這里設(shè)置傳輸速率為2 Mb/s,發(fā)射功率0 dBm,接收通道0自動(dòng)應(yīng)答。配置通信模式為突發(fā)模式,這有利于降低功耗且抗干擾性強(qiáng)。在突發(fā)模式,每次最多只能發(fā)送32 B的數(shù)據(jù)。配置部分命令如下:
Write_Reg(WRITE_REG+RX_PW_P0,32)
//選擇通道0,32位有效數(shù)據(jù)寬度
Write_Reg(WRITE_REG+EN_AA,0x01)//通道0自動(dòng)應(yīng)答
Write_Reg(WRITE_REG+EN_RXADDR,0x01)//接收地址
Write_Reg(WRITE_REG+SETUP_RETR,0x1a)//最大重發(fā)數(shù)10
Write_Reg(WRITE_REG+RF_SETUP,0x0F)
//0 db增益,2Mbps,低噪聲增益開(kāi)啟
Write_Reg(WRITE_REG+CONFIG,0x0f)//配置基本工作
模式的參數(shù),EN_CRC,接收模式,開(kāi)啟所有中斷
2.2 控制芯片
MCU微控制器采用STM32F103RCT6單片機(jī)[6],主要負(fù)責(zé)模塊的配置、數(shù)據(jù)的緩存和處理轉(zhuǎn)換,并根據(jù)預(yù)定義的方式從相關(guān)接口傳送數(shù)據(jù)。它控制RF接收器、Wi-Fi模塊和藍(lán)牙模塊的數(shù)據(jù)傳輸中的所有活動(dòng)和總體管理產(chǎn)生的控制信號(hào)。STM32系列專為要求高性能、低成本、低功耗的嵌入式應(yīng)用而設(shè)計(jì)。時(shí)鐘頻率72 MHz時(shí),STM32電流消耗僅為36 mA,是32位市場(chǎng)上功耗最低的產(chǎn)品,相當(dāng)于0.5 mA/MHz。
2.3 Wi-Fi模塊
Wi-Fi被用得越來(lái)越廣泛,在許多地方都作為一種主要的通信媒介。本文使用德州儀器Wi-Fi嵌入式芯片CC3000,它可以給電子設(shè)備提供Internet連接能力。這款芯片包含完整的TCP/IP通信棧和Wi-Fi驅(qū)動(dòng),支持標(biāo)準(zhǔn)的socket編程。采用FirstTimeConfig技術(shù),這能夠輕松地對(duì)接入點(diǎn)進(jìn)行配置,而無(wú)需顯示屏或用戶界面,非常適合嵌入式應(yīng)用。在802.11g工作模式下,傳輸電流消耗為190 mA,接收電流消耗為92 mA。對(duì)CC3000的外圍電路進(jìn)行如圖3所示的設(shè)計(jì),只保留了SPI通信接口和UART調(diào)試接口。
所有上層應(yīng)用函數(shù)通過(guò)HCI抽象層與SPI接口通信。CC3000第一次配置指當(dāng)最終的產(chǎn)品還沒(méi)有輸入輸出能力時(shí),第一次配置提供了一種方法穿件一個(gè)外形,這些設(shè)置都存儲(chǔ)在CC3000的EEPROM中,第一次配置的基本流程如圖4所示。
信標(biāo)里的prefix值一般設(shè)置為T(mén)TT,外部設(shè)備發(fā)送帶有信標(biāo)的探頭,里面包括要連接的AP的SSID和密碼。CC3000接收并解釋探頭后,將AP的連接信息寫(xiě)入EEP-
ROM,以后自動(dòng)連入該AP。當(dāng)連接指定AP超時(shí),CC3000便再進(jìn)入智能模式[7],它是CC3000獨(dú)有的AP配置信息模式,可以使用任何帶Wi-Fi的設(shè)備配置CC3000連接到AP。這便于客戶重新配置Wi-Fi的連接。
2.4 藍(lán)牙模塊
藍(lán)牙模塊[8]中的芯片使用的是CSR公司的BC41714,集成藍(lán)牙串行數(shù)據(jù)透?jìng)?SPP),波特率最高可達(dá)1.384 Mb/s,正常工作時(shí)電流為20 mA,模塊采用標(biāo)準(zhǔn)UART接口通信。使用之前通過(guò)AT指令進(jìn)行配置。本文配置藍(lán)牙為從設(shè)備模式,波特率為38.4 kb/s。
2.5 電源供應(yīng)
采用輸出3.7 V的鋰電池作為電源的供應(yīng)。電池可以通過(guò)USB線進(jìn)行充電。
3 控制程序?qū)崿F(xiàn)
軟件控制程序是分層模塊化實(shí)現(xiàn)的,這樣使得添加新的硬件不至于對(duì)軟件進(jìn)行大規(guī)模改動(dòng)。底層驅(qū)動(dòng)程序是由ST公司提供的一個(gè)完整的STM32設(shè)備固件庫(kù)。該庫(kù)提供了STM32所有外設(shè)的底層驅(qū)動(dòng)函數(shù),開(kāi)發(fā)人員可以不需要自己編寫(xiě)驅(qū)動(dòng)函數(shù)而在這些底層函數(shù)的基礎(chǔ)上編寫(xiě)應(yīng)用程序。CC3000使用官方提供Hostdriver驅(qū)動(dòng)庫(kù),該驅(qū)動(dòng)提供芯片配置以及芯片聯(lián)網(wǎng)的所有操作函數(shù)庫(kù)。上層應(yīng)用層包括數(shù)據(jù)處理、系統(tǒng)配置等模塊。STM32通過(guò)SPI初始化CC3000和RF射頻模塊。配置nRF24L01+為接收模式,自動(dòng)應(yīng)答,每次傳輸32 B數(shù)據(jù)。為了確保數(shù)據(jù)接收與發(fā)送的同步操作,CC3000的數(shù)據(jù)包也設(shè)置為32 B。因?yàn)獒槍?duì)的是遠(yuǎn)程采集,工作站的IP地址一般是固定的,因此配置CC3000為服務(wù)端的工作模式。適配器工作時(shí),從RF的SPI口讀取到的數(shù)據(jù)先存到存儲(chǔ)緩沖器中。然后由STM32根據(jù)選擇的模式,通過(guò)檢測(cè)連接到GPIO口的開(kāi)關(guān)狀態(tài)進(jìn)判斷。針對(duì)安卓手機(jī)采集選擇藍(lán)牙模式,這樣能節(jié)省轉(zhuǎn)發(fā)器的功耗,針對(duì)遠(yuǎn)程連接選擇Wi-Fi模式。轉(zhuǎn)發(fā)器的工作流程如圖5所示。
4 接收程序
4.1 藍(lán)牙工作模式
如今,智能手機(jī)有足夠的處理和存儲(chǔ)能力來(lái)完成圖像數(shù)據(jù)的處理。智能手機(jī)可以使用藍(lán)牙或Wi-Fi來(lái)接收這些數(shù)據(jù)。為了省電,本文使用帶藍(lán)牙的Android手機(jī)接收?qǐng)D像數(shù)據(jù)。Android是一個(gè)開(kāi)源移動(dòng)操作系統(tǒng),它有一個(gè)強(qiáng)大的基于java框架的軟件開(kāi)發(fā)包,Android里的Bitmap類[9]是Android系統(tǒng)中的圖像處理的最重要類之一。用它可以獲取圖像文件信息,進(jìn)行圖像相關(guān)處理。使用藍(lán)牙模式,首先應(yīng)由手機(jī)完成設(shè)備的配對(duì)。配對(duì)完后發(fā)送采集命令。連接后的設(shè)備主要通過(guò)藍(lán)牙Socket通信。從手機(jī)Socket口獲取的圖像數(shù)據(jù)流通過(guò)Android里的Bitmap類處理生成JPEG圖像并顯示。添加SD權(quán)限,把圖像寫(xiě)進(jìn)SD卡中。圖6是拍攝到的圖片,可成功傳輸?shù)绞謾C(jī)上保存并顯示。
4.2 Wi-Fi工作模式
在Wi-Fi工作模式下,CC3000利用Wi-Fi直接與工作站建立TCP連接。使用QTcp-Server來(lái)建立帶有端口的socket服務(wù)器并監(jiān)聽(tīng)所有連接。其中服務(wù)器和CC3000處于同一局域網(wǎng)。圖像啟動(dòng)采集時(shí),CC3000通過(guò)指定服務(wù)器的IP和端口號(hào)連接服務(wù)器。accept()方法得到響應(yīng)后,服務(wù)器端和客戶端就形成了一對(duì)互相連接的Socket。經(jīng)CMOS圖像傳感器JPEG壓縮得到的數(shù)據(jù)僅包括SOI(標(biāo)記碼0XFFD8)、有效圖像數(shù)據(jù)、EOI(0XFFD9),為了得到完整JPEG圖像,需要在SOI后插入缺失的標(biāo)記段。生成的圖片保存在工作站硬盤(pán)上,調(diào)用自主的膠囊內(nèi)窺鏡圖片分析系統(tǒng)進(jìn)行顯示,結(jié)果如圖7所示。
5 實(shí)驗(yàn)與分析
膠囊內(nèi)窺鏡使用nRF24L01+發(fā)送圖像數(shù)據(jù)。轉(zhuǎn)發(fā)器處理接收到的數(shù)據(jù),根據(jù)不同的模式,分別使用藍(lán)牙和Wi-Fi進(jìn)行轉(zhuǎn)發(fā)圖像數(shù)據(jù)。圖6和圖7是兩種模式的實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)結(jié)果表明,該轉(zhuǎn)發(fā)器能夠穩(wěn)定轉(zhuǎn)發(fā)膠囊內(nèi)窺鏡圖片。不同組件的平均功耗如圖8所示??梢砸?jiàn)到,最為耗電的是CC3000。Wi-Fi模式下總的耗電量為200 mA,在2 000 mAh的鋰電源的工作環(huán)境下,能工作10 h。由于膠囊內(nèi)窺鏡一般工作8 h左右,這已足夠膠囊內(nèi)窺鏡的應(yīng)用。
本設(shè)計(jì)的轉(zhuǎn)發(fā)器具有以下優(yōu)勢(shì):
(1)轉(zhuǎn)發(fā)器是一個(gè)體積小、功耗低的設(shè)備。
(2)安裝相關(guān)軟件,任何帶有藍(lán)牙的手機(jī)和連接到網(wǎng)絡(luò)的工作站都可以用作膠囊內(nèi)窺鏡數(shù)據(jù)采集和處理設(shè)備。
(3)可以使用手機(jī)實(shí)時(shí)監(jiān)控膠囊內(nèi)窺鏡圖像。
(4)轉(zhuǎn)發(fā)器可以直接通過(guò)Wi-Fi將圖像上傳到遠(yuǎn)程服務(wù)器。
6 結(jié)語(yǔ)
本文設(shè)計(jì)了基于Wi-Fi和藍(lán)牙的雙模式轉(zhuǎn)發(fā)器,并將之用于膠囊內(nèi)窺鏡的圖像轉(zhuǎn)發(fā)。系統(tǒng)地分析了膠囊內(nèi)窺鏡圖像數(shù)據(jù)的轉(zhuǎn)發(fā)過(guò)程。通過(guò)系統(tǒng)的測(cè)試,整個(gè)系統(tǒng)成功實(shí)現(xiàn)了對(duì)圖像的實(shí)時(shí)監(jiān)測(cè)和數(shù)據(jù)接收。
參考文獻(xiàn)
[1] IDDAN G,MERON G,GLUKHOVSKY A,et al.Wireless capsule endoscopy[J].Nature,2000,405(6785):417.
[2] 李宜輝,王雷,樊超強(qiáng),等.國(guó)產(chǎn)OMOM膠囊內(nèi)鏡540例臨床應(yīng)用分析[J].胃腸病學(xué)和肝病學(xué)雜志,2013,22(001):77-80.
[3] 謝翔,王自強(qiáng),姜漢鈞,等.膠囊內(nèi)窺鏡系統(tǒng)原理與臨床應(yīng)用[M].北京:科學(xué)出版社,2010.
[4] 潘建南,呂慶文,劉哲星,等.基于QT的膠囊內(nèi)窺鏡圖片分析系統(tǒng)[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(2):208-211.
[5] 王微微,劉華.膠囊內(nèi)窺鏡圖像采集系統(tǒng)設(shè)計(jì)[J].測(cè)控技術(shù),2013,32(8):25-28.
[6] 隋紹勇,鄭維廣,張振邦.基于STM32F103和nRF24L01的近程無(wú)線數(shù)傳系統(tǒng)設(shè)計(jì)[J].電子元器件應(yīng)用,2010,12(12):15-17.
[7] 德州儀器.CC3000 Smart Config[EB/OL].(2014-04-22)[2014-10-28].http://processors.wiki.ti.com/index.php/CC3000_Smart_Config.
[8] 韓建,魏運(yùn)鋒,談卿瑕,等.基于藍(lán)牙的體溫時(shí)控監(jiān)測(cè)系統(tǒng)[J].電子設(shè)計(jì)工程,2014(16):61-64.
[9] EVERY S V.Introduction to Android imaging[M].Pro An-droid Media.Apress,2009:1-22.