CC3000的膠囊內(nèi)窺鏡WiFi轉(zhuǎn)發(fā)器設(shè)計
近年,由于微電子技術(shù)和便攜式電子設(shè)備的發(fā)展,使用傳感器獲取身體的生理數(shù)據(jù)成為熱門的研究領(lǐng)域。越來越多的嵌入式處理器和無線技術(shù)應(yīng)用于生理參數(shù)的獲取。使用傳感器可以獲取如血壓、血氧飽和度、血糖、脈搏、體溫、呼吸、心率、心電、腦電等生理信息。這方面的研究已經(jīng)許多成果,如使用安卓手機(jī)進(jìn)行心電監(jiān)測、ZigBee的多生理參數(shù)監(jiān)測等,這些信息可以通過無線方式發(fā)送給便攜式數(shù)據(jù)記錄儀或遠(yuǎn)程服務(wù)器。如今,智能手機(jī)有足夠的處理和存儲能力來完成這些身體參數(shù)的處理,可以使用藍(lán)牙或WiFi接收這些數(shù)據(jù),但考慮到藍(lán)牙或WiFi芯片的體積和功耗,膠囊內(nèi)窺鏡的圖像不宜采用藍(lán)牙或WiFi進(jìn)行傳輸。因此,如不借助其他設(shè)備,膠囊內(nèi)窺鏡使用專用的無線傳輸芯片采集到的圖像無法直接傳輸?shù)街悄苁謾C(jī)或遠(yuǎn)程服務(wù)器。
本文引用地址:http://www.ex-cimer.com/article/201808/387689.htm為了解決這個問題,本文設(shè)計了一種用于膠囊內(nèi)窺鏡的轉(zhuǎn)發(fā)器,主要功能是轉(zhuǎn)發(fā)膠囊內(nèi)窺鏡的圖像數(shù)據(jù)。提出的適配器通過使用與膠囊內(nèi)窺鏡配套的無線收發(fā)模塊來接收圖像數(shù)據(jù),然后由微處理器控制WiFi模塊轉(zhuǎn)發(fā)圖像數(shù)據(jù)到手持設(shè)備。此外,適配器也可直接通過WiFi將圖像發(fā)送到遠(yuǎn)程服務(wù)器存儲,從而實現(xiàn)膠囊內(nèi)窺鏡的遠(yuǎn)程診斷。
1 系統(tǒng)總體設(shè)計
作為膠囊內(nèi)窺鏡和數(shù)據(jù)采集終端的中間設(shè)備,轉(zhuǎn)發(fā)器主要用于轉(zhuǎn)發(fā)膠囊內(nèi)窺鏡的圖像數(shù)據(jù)。本文使用Android手機(jī)作為數(shù)據(jù)采集終端,膠囊內(nèi)窺鏡使用的是nRF24L01+傳輸芯片。圖1是使用轉(zhuǎn)發(fā)器的膠囊內(nèi)窺鏡遠(yuǎn)程診斷系統(tǒng)。
2 轉(zhuǎn)發(fā)器設(shè)計
2.1 硬件設(shè)計
轉(zhuǎn)發(fā)器的硬件設(shè)計如圖2所示,包括微控制器STM32F103RCT6、無線收發(fā)芯片nRF24L01+、WiFi芯片CC3000,各模塊使用SPI總線進(jìn)行通信。轉(zhuǎn)發(fā)器保留了其他傳輸方式的外部接口,因此也能用于其他傳輸方式的生理傳感器。
(1)微控制器
微控制器STM32F103RCT6,主要負(fù)責(zé)數(shù)據(jù)的緩存、處理轉(zhuǎn)換,并根據(jù)預(yù)定義的方式從相關(guān)接口傳送數(shù)據(jù)。它控制RF接收器和WiFi模塊的數(shù)據(jù)傳輸相關(guān)的所有活動,以及總體管理產(chǎn)生的控制信號。STM32系列專為要求高性能、低成本、低功耗的嵌入式應(yīng)用而設(shè)計。時鐘頻率為72 MHz時,STM32功耗為36 mA,相當(dāng)于0.5 mA/MHz。
(2)RF接收器
選擇nRF24L01+作為轉(zhuǎn)發(fā)器的接收芯片,是由于其具有低功耗、小尺寸和高帶寬等特點(diǎn)。它與單片機(jī)SPI口的通信速度可達(dá)8 MHz;最大支持2 Mbps的數(shù)據(jù)傳輸速率,且正常的功耗為14 mA;支持自動應(yīng)答及自動重發(fā),內(nèi)置地址及CRC數(shù)據(jù)校驗等功能。雖然自動應(yīng)答降低了通信速度,但它是生物醫(yī)學(xué)應(yīng)用中所必需的。
(3)WiFi模塊
轉(zhuǎn)發(fā)器的功能取決于設(shè)備本身和接收工作站之間的通信。WiFi的應(yīng)用越來越廣泛,在許多地方都作為一種主要的通信媒介。本文使用TI公司的WiFi嵌入式芯片CC3000,為電子設(shè)備提供Internet連接能力。這款芯片包含完整的TCP/IP協(xié)議棧和WiFi驅(qū)動,支持標(biāo)準(zhǔn)的Socket編程,具有IEEE802.11b/g無線網(wǎng)卡功能。在IEEE802.11g工作模式下,傳輸功耗為190 mA,接收功耗為92 mA。CC3000的外圍電路設(shè)計如圖3所示,只保留了SPI通信接口和UART調(diào)試接口。
(4)電源供應(yīng)
采用輸出3.7 V的鋰電池作為電源的供應(yīng),電池可以通過USB線進(jìn)行充電。
2.2 控制程序設(shè)計
軟件控制程序是分層模塊化的,以便添加新的硬件時不必對軟件進(jìn)行大規(guī)模改動。底層驅(qū)動程序是由ST公司提供的一個完整的STM32設(shè)備固件庫。該庫提供了STM32所有外設(shè)的底層驅(qū)動函數(shù),開發(fā)人員不必自己編寫驅(qū)動函數(shù),只需在這些底層函數(shù)的基礎(chǔ)上編寫應(yīng)用程序。CC3 000使用官方提供的Hostdriver驅(qū)動庫,上層應(yīng)用層包括數(shù)據(jù)處理、系統(tǒng)配置等模塊。STM32通過SPI初始化CC3000和RF射頻模塊,配置nRF24 L01+為接收模式,自動應(yīng)答,每次傳輸32字節(jié)數(shù)據(jù)。為了確保數(shù)據(jù)接收與發(fā)送同步操作,CC3000的數(shù)據(jù)包也設(shè)置為32字節(jié)。因為針對的是遠(yuǎn)程診斷,而遠(yuǎn)程服務(wù)器的IP地址一般是固定的,因此配置CC3000為服務(wù)端的工作模式。轉(zhuǎn)發(fā)器工作時,從RF的SPI口讀取到的數(shù)據(jù)先存到存儲緩沖器中,然后由STM32將數(shù)據(jù)交由CC3000轉(zhuǎn)發(fā)出去。
轉(zhuǎn)發(fā)器的工作流程如圖4所示。
當(dāng)連接指定AP超時,CC3000便進(jìn)入Smart Config模式,Smart Config是CC3000獨(dú)有的AP配置信息模式,可以使用任何帶WiFi的設(shè)備配置CC3000連接到AP。很多嵌入式的設(shè)備不帶有鍵盤和液晶,而WiFi配置又極其復(fù)雜,為了便于客戶重新配置WiFi的連接,CC3000模塊設(shè)計了Sma rt Config模式。
3 Android手機(jī)接收程序
本文使用Android手機(jī)完成圖像數(shù)據(jù)的接收、處理、顯示、保存。轉(zhuǎn)發(fā)器通過WiFi將圖片發(fā)送到手機(jī),圖像數(shù)據(jù)是通過轉(zhuǎn)發(fā)器的TCP/IP協(xié)議轉(zhuǎn)發(fā)的。Android是一個開源移動操作系統(tǒng),它有一個強(qiáng)大的基于Java框架的軟件開發(fā)包。Bitmap類是Android系統(tǒng)中有關(guān)圖像處理的最重要類之一,可以用于獲取圖像文件信息,進(jìn)行圖像相關(guān)處理。
開發(fā)的圖像采集應(yīng)用程序主要由3部分組成:
①DeviceListActivity:主要完成設(shè)備的連接,連接后的設(shè)備通過Socket通信。
②RecieveService:Android后臺服務(wù)進(jìn)程,它長時間運(yùn)行在手機(jī)應(yīng)用程序進(jìn)程的主線程內(nèi),不會干擾其他組件或用戶界面。這里包括Socket的監(jiān)聽、數(shù)據(jù)的接收、圖片的顯示與寫入SD卡的后臺服務(wù)。
③WiFiWCERecieve:與用戶交互的Activity組件,是應(yīng)用程序的可見部分。
CC3000與手機(jī)利用WiFi連接立TCP連接,通過Socket傳輸圖片。配置Android手機(jī)為服務(wù)端,使用ServerSocket來建立帶有端口的Socket服務(wù)器,然后一直監(jiān)聽請求連接。其中Android終端和CC3000處于同一局域網(wǎng)。圖像啟動采集的時候,客戶端使用Socket的構(gòu)造器連接服務(wù)器,指定服務(wù)器IP和端口號。服務(wù)器端的accept()方法得到響應(yīng)后,服務(wù)器端和客戶端就形成了一對互相連接的Socket。Socket通信時都是通過輸入/輸出流進(jìn)行。從手機(jī)Socket口獲取到的圖像數(shù)據(jù)流,通過Android里面的bitmap類生成JPEG圖像并顯示,添加SD權(quán)限,把圖像寫進(jìn)SD卡中。
4 實驗與分析
膠囊內(nèi)窺鏡使用nRF24L01+發(fā)送圖像數(shù)據(jù)。轉(zhuǎn)發(fā)器處理接收到的數(shù)據(jù),通過無線網(wǎng)絡(luò)轉(zhuǎn)發(fā)給Android處理、顯示、保存。圖5為Android機(jī)接收到的圖片。
不同組件的平均功耗如圖6所示。可以看出,最耗電的為CC3000??偟暮碾娏繛?00mA,在2000 mAh鋰電源的工作環(huán)境下,能工作10小時。由于膠囊內(nèi)窺鏡一般工作8小時左右,因此足夠膠囊內(nèi)窺鏡的應(yīng)用。
實驗結(jié)果表明,該轉(zhuǎn)發(fā)器能夠穩(wěn)定轉(zhuǎn)發(fā)膠囊內(nèi)窺鏡圖片,可作為膠囊內(nèi)窺鏡遠(yuǎn)程診斷的轉(zhuǎn)發(fā)裝置。轉(zhuǎn)發(fā)器有以下優(yōu)勢:
①體積小、功耗低。
②安裝相關(guān)軟件,任何帶有WiFi的安卓手機(jī)都可以用作膠囊內(nèi)窺鏡數(shù)據(jù)采集和處理設(shè)備。
③可以使用手機(jī)實時監(jiān)控膠囊內(nèi)窺鏡圖像。
④可以直接通過WiFi將圖像傳輸?shù)竭h(yuǎn)程服務(wù)器。
⑤預(yù)留其他外部接口,可以支持其他的傳感器。
結(jié)語
本文設(shè)計了基于STM32F103的WiFi轉(zhuǎn)發(fā)器,并用于膠囊內(nèi)窺鏡的圖像轉(zhuǎn)發(fā);系統(tǒng)地分析了膠囊內(nèi)窺鏡圖像數(shù)據(jù)的轉(zhuǎn)發(fā)、數(shù)據(jù)傳輸?shù)脑砗瓦^程,在軟件設(shè)計方面,設(shè)計了基于Android智能手機(jī)的采集程序。通過系統(tǒng)測試,整個系統(tǒng)成功實現(xiàn)了對圖像的實時監(jiān)測和數(shù)據(jù)接收。
評論