文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.01.024
中文引用格式: 季曉迪,羅利文. 基于OpenWrt的醫用無線內鏡裝置系統設計[J].電子技術應用,2017,43(1):92-94,98.
英文引用格式: Ji Xiaodi,Luo Liwen. Wireless medical endoscope system design based on OpenWrt[J].Application of Electronic Technique,2017,43(1):92-94,98.
0 引言
微創外科(Minimally Invasive Surgery,MIS)是現代外科發展的重要標志[1],而內鏡技術的應用使微創外科面臨的在小切口條件下所顯露的手術視野不佳、手術量化程度不高、止血困難等問題迎刃而解,微創外科得以深化和拓展。但傳統內鏡如胸腔鏡、關節鏡[2]等功能單一,設備龐大,構件數量多且連接復雜,消毒處理不方便。因此,本文設計了一種構成輕便、適應癥寬、消毒滅菌方便的無線醫用內鏡裝置。
1 系統總體設計
裝置總體結構上包括便攜式操作手柄、無線充電底座和攝像探頭3部分,其外觀結構如圖1所示。
操作手柄是一套結構緊湊的嵌入式圖像采集和處理裝置,它由可充電電池供電,充電方式采用無線充電;操作手柄一端是USB攝像頭,手柄內部無線通信電路通過WiFi將攝像探頭采集的圖像傳輸到獨立的顯示裝置上。無線充電和無線圖像信號傳輸的設計架構保證操作手柄不會有連接電纜或電源線,也沒有裸露的金屬端子,易到達手術級別的消毒要求。
2 系統硬件設計
硬件系統主要包括:無線SoC模塊、外圍接口電路、鋰電池及無線充電電路等。硬件結構原理圖如圖2所示。
2.1 SoC模塊
本設計采用集成了WiFi功能的MIPS架構的SoC方案,系統頻率達400 MHz,板載64 MB SDRAM,8 MB NOR Flash,對外引出一個USB2.0接口、多個GPIO接口、一個高速UART串口及WiFi天線接口,采用IEEE802.11n標準協議,無線傳輸速率高達150 Mb/s。系統框圖如圖3所示。
非易失性存儲器NOR Flash主要用于存儲引導程序U-boot、OpenWrt系統內核和根文件系統,NOR Flash支持隨機訪問,數據掉電不會丟失,作為啟動程序的存儲介質。
同步動態隨機存儲器(SDRAM)是整個系統的內存,當系統啟動時,CPU首先從復位地址讀取啟動代碼,系統啟動后,程序代碼調入SDRAM中運行。系統及用戶堆棧、運行數據等存儲于SDRAM中。
2.2 USB攝像頭
本系統使用UVC攝像頭,包括CMOS圖像傳感器、視頻處理電路和LED補光3部分,主要執行視頻的采集和處理功能。CMOS圖像傳感器獲取圖像信息,經過A/D轉換后變為數字信號,由圖像處理單元進行處理,最后通過USB接口傳輸數據。
UVC(USB Video Class)是為USB視頻捕獲設備定義的協議標準,在OpenWrt內核中包含UVC攝像頭驅動,無需外部安裝驅動程序。
目前圖像傳感器主要有兩類,一類是電荷耦合器件(Change Coupled Device,CCD),另一類是互補金屬氧化物半導體器件(Complementary Metal-Oxide Semiconductor,CMOS)。與CCD圖像傳感器相比,CMOS圖像傳感器具有高分辨率、高動態范圍、高幀速、低功耗等優點。因此本設計采用了CMOS圖像傳感器。
LED驅動芯片采用SGL8022W芯片,是一款用于LED燈光調節及開關控制的單通道電容式觸摸芯片。與傳統的機械按鍵相比,電容式觸摸按鍵更加美觀、耐用、壽命長。其工作原理為:按鍵(即焊盤)到地GND構成一個分布式電容CP,是一個固定不變的微小值。電路板上方表面會覆蓋一層塑料或玻璃,當人體手指觸摸按鍵時,手指與焊盤構成一個大小為CF的耦合電容。觸摸前電容值為CP,觸摸后電容值為CP+CF,總感應電容值增加,芯片檢測到感應電容值發生改變后作出響應[3]。電路設計如圖4所示。
2.3 無線充電電路
本系統所設計的無線充電裝置基于平面線圈之間的電磁感應原理,由提供電能的基站和消耗電能的移動設備組成。功率傳輸的方向總是從基站到移動設備,如圖5所示。
在發射器的功率傳送單元,逆變器將直流電轉換成交流電來驅動諧振電路。電流傳感器監測流過一次線圈的電流。通信控制單元接收并解碼來自接收器的消息,執行相關的功率控制算法和協議,并且通過改變交流電的頻率來控制功率傳輸。發射器采用了德州儀器公司的BQ500511和BQ50002配套使用的無線充電發射器解決方案。
在接收器的功率拾取單元,由二次線圈、串聯和并聯電容組成雙諧振電路,用于提高功率傳輸效率并且允許一個諧振檢測方法。全波整流電路既為接收器的通信控制單元供電,又為接收器的輸出供電。通信控制單元執行相關的功率控制算法和協議,驅動通信調制器,控制輸出切斷開關,監視一些功率拾取單元和負載的傳感電路。接收器設計采用了德州儀器公司開發的BQ51050b集成芯片。該器件整個功率級均采用低阻性N通道金屬氧化物半導體場效應晶體管(N-MOSFET)技術,具有高效率與低功率耗散等優點。
3 系統軟件設計
本設計以OpenWrt為操作系統,OpenWrt是一個基于Linux的開源路由firmware固件,提供了一個完全開放的文件系統控制方式和軟件包管理機制,是一個可以運行在路由器上的小型Linux系統[4]。與VxWorks及WinCE相比,OpenWrt因源碼公開并且遵循GPL協議而更具優勢。μC/OS-II、FreeRTOS及embOS等實時操作系統多用于小ARM單片機上運行,OpenWrt相比于它們,有大量的應用程序可用,并且具有優秀的網絡功能,尤其是其針對USB攝像頭視頻采集的應用程序編程提供了一系列的接口函數,故在本設計中使用OpenWrt系統最為合適。
3.1 MJPG-streamer移植
MJPG-streamer是一款開源的輕量級視頻服務器軟件,可實現從Linux UVC兼容攝像頭采集圖像,并通過IP網絡將采集的圖像以流的形式傳輸到瀏覽器[5]。安裝命令如下:
opkg install kmod-video-core
#安裝攝像頭內核模塊,UVC驅動依賴包
opkg install kmod-video-videobuf2 #UVC驅動依賴包
opkg install kmod-video-uvc #安裝UVC驅動
opkg install libpthread #MJPG-streamer依賴包
opkg install libjpeg #MJPG-streamer依賴包
opkg install mjpg-streamer #MJPG-streamer功能安裝包
MJPG-streamer的工作流程[6]如圖6所示。
3.2 配置攝像頭參數并獲取視頻
MJPG-streamer服務安裝完成后,修改配置文件“/etc/config/mjpg-streamer”:
config mjpg-streamer ′core′
option enabled ′1′ #1為開啟攝像頭功能,0為不開啟
option input ′uvc′ #輸入格式
option output ′http′ #輸出方式
option resolution ′1280x720′ #分辨率
option fps ′30′ #幀率
option www ′/www/webcam′ #訪問目錄
option port ′8080′ #訪問端口8080
option username ′***′ #設置訪問用戶名
option password ′***′ #設置訪問密碼
啟動MJPG-streamer服務:/etc/init.d/mjpg-streamer start。
3.3 MJPG-streamer自啟動
OpenWrt的啟動腳本放在/etc/init.d/目錄下,在/etc/rc.d/目錄下有/etc/init.d/目錄下腳本的鏈接文件。系統啟動時會按順序啟動/etc/rc.d/目錄下的腳本鏈接,對應執行/etc/init.d/目錄下的啟動腳本。腳本鏈接的命名格式為S+數字+腳本名,數字代表啟動順序,創建mjpg-streamer腳本的鏈接文件,名為S95mjpg-streamer。執行命令:ln–s/etc/init.d/mjpg-streamer /etc/rc.d/S95mjpg-strea-mer,即可實現mjpg-streamer開機啟動。
3.4 按鍵拍照snapshot
設置GPIO為輸入模式,讀取按鍵信號。在OpenWrt系統源文件mach-tl-wr720n-v3.c中添加GPIO和按鍵的對應關系:
#define TL_WR720N_GPIO_BTN_SW1 14
static struct gpio_keys_button tl_wr720n_gpio_keys[] __initdata = {
{
.desc = "sw1",
.type = EV_KEY,
.code = BTN_1,
.debounce_interval=TL_WR720N_KEYS_DEBOUNCE_INTERVAL,
.gpio = TL_WR720N_GPIO_BTN_SW1,
.active_low = 0,
},
};
當GPIO讀取到按鍵信號后,執行拍照、暫存圖片和上傳圖片等命令:
my_current_time=′date+%Y_%m_%d_%H_%M_%S′
#獲取系統時間并存入變量中
wget "http://192.168.3.131:8080/?action=snapshot" -O/
tmp/$my_current_time.jpg
#wget命令,獲取拍照圖片并暫存在/tmp/目錄中
wput /tmp/$my_current_time.jpg
ftp://admin:admin@192.168.3.106/cam/$my_current_time.jpg
#wput命令,將拍照圖片上傳至本地ftp
3.5 上位機軟件
上位機軟件采用VLC開源播放器。VLC是屬于Video LAN開源項目組織中的一款全開源的流媒體服務器和多媒體播放器[7]。打開VLC軟件,選擇“媒體”→“打開網絡串流”,輸入網絡URL:http://192.168.3.131:8080/?action=stream。
點擊播放即可實時查看由USB攝像頭獲取的視頻信息。播放界面還包括錄制視頻、snapshot截屏、逐幀觀看等功能。同時軟件還具有視頻處理功能,可調節對比度、飽和度、伽瑪值等。
4 結論
本文設計了一種基于OpenWrt的醫用無線內鏡裝置系統,通過對硬件電路的設計及軟件的編寫,并經過測試證明可以實現系統功能。該裝置構成輕便、適應癥寬、消毒滅菌方便,達到設計要求,因此可以應用于微創外科領域,其內鏡技術的研究也有一定的參考價值。
參考文獻
[1] 王宇.微創外科的興起、發展與未來[J].中華肝膽外科雜志,2006(3):145-148.
[2] 趙輝.椎間盤鏡和關節鏡[C].中醫、中西醫結合護理學術年會暨中西醫骨傷護理觀摩交流會論文集,2008.
[3] 陳斌.電容式觸摸按鍵設計與專用芯片應用[J].電子世界,2014(16):281-281.
[4] DUTT S,HABIBI D,AHMAD I.A low cost Atheros system-on-Chip and OpenWrt based testbed for 802.11 WLAN research[C].TENCON 2012-2012 IEEE Region 10 Conference.IEEE,2012:1-4.
[5] 陳書益,黃永慧.開源視頻服務器軟件MJPG-streamer的研究和應用[J].電子設計工程,2012,20(5):172-176.
[6] 陳恒鑫,林威,張欽宇.基于Mjpg-streamer的移動視頻監控系統設計[J].計算機測量與控制,2014,22(11):3597-3599.
[7] 李宗辰,朱秀昌.基于VLC的Android多路視頻監控系統[J].現代電子技術,2013,36(24):63-66.
作者信息:
季曉迪,羅利文
(上海交通大學 電子信息與電氣工程學院,上海200240)