陳健,鄭紹華,余輪
1.福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350002;
2.福建工程學(xué)院 電子信息與電氣工程系,福建 福州 350108
糖尿病性視網(wǎng)膜病變(Diabetic Retinopathy,DR)是20~70歲年齡組患者致盲的主要疾病之一,定期的視網(wǎng)膜病變篩查是及時發(fā)現(xiàn)病變,及時治療的唯一有效方法[1]。近年來,數(shù)字眼底照相機(jī)已經(jīng)成為DR臨床檢查和研究的重要工具,眼底照相機(jī)由于記錄準(zhǔn)確、客觀,且敏感性和特異性較高[2],而被廣泛應(yīng)用于眼科流行病學(xué)和人群疾病的篩查。然而,眼底拍照過程的操作具有一定的復(fù)雜度,需要由有經(jīng)驗的眼科技師進(jìn)行操作,基層醫(yī)院和邊遠(yuǎn)地區(qū)醫(yī)療機(jī)構(gòu)缺乏專業(yè)的眼科技師,不利于篩查工作的推廣,從而降低了患者的篩查依從性。為了實現(xiàn)真正的大面積眼底篩查,保障眼底圖像的成像質(zhì)量,獲取符合診斷要求的眼底圖像,需要建立遠(yuǎn)程操控系統(tǒng)。
本文在對遠(yuǎn)程DR篩查系統(tǒng)進(jìn)行簡要分析的基礎(chǔ)上,重點說明構(gòu)建遠(yuǎn)程DR篩查系統(tǒng)的重點模塊之一,即遠(yuǎn)程操控模塊的設(shè)計方案。本方案所構(gòu)建的遠(yuǎn)程操控模塊具有結(jié)構(gòu)簡單,易安裝且通用性好等特點。
遠(yuǎn)程DR篩查系統(tǒng)由會診(操控)中心和遠(yuǎn)程終端(可遠(yuǎn)程操控的眼底照相機(jī)系統(tǒng))組成,它們之間通過網(wǎng)絡(luò)連接[3],見圖1。遠(yuǎn)程終端的眼底照相機(jī)系統(tǒng)由會診中心的專業(yè)技師操控,實現(xiàn)對受檢者眼底圖像的拍攝,并最終傳輸至?xí)\中心基于醫(yī)學(xué)影像存檔與通信系統(tǒng)(Pictures Archiving and Communication System,PACS)的影像存儲中心[4]。其中,視頻及語音傳輸實現(xiàn)會診中心專業(yè)技師對受檢者的實時監(jiān)控,保證眼底圖像的成功獲取[5]。

圖1 遠(yuǎn)程DR篩查系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)圖
基于上述結(jié)構(gòu),本方案的遠(yuǎn)程DR篩查系統(tǒng)的具體結(jié)構(gòu),見圖2。遠(yuǎn)程終端的可操控眼底照相機(jī)系統(tǒng)由本地眼底照相機(jī)、串口通信模塊與計算機(jī)(上位機(jī)通信程序)3個部分組成,串口通信模塊實現(xiàn)遠(yuǎn)程終端本地眼底照相機(jī)與計算機(jī)之間的連接,保證位于遠(yuǎn)程終端的計算機(jī)在接收到會診中心技師的操控命令后,可將命令傳輸給串口通信模塊,進(jìn)而實現(xiàn)對眼底照相機(jī)的控制。會診中心由計算機(jī)(上位機(jī)通信程序)與操控平臺(操控鍵盤)組成。為了便于專業(yè)技師的操控,方案中設(shè)計了一個操控平臺(操控鍵盤),通過串口接入到會診中心的計算機(jī)上,操控平臺上的各個按鈕對應(yīng)眼底照相機(jī)的各種功能。

圖2 遠(yuǎn)程DR篩查系統(tǒng)的結(jié)構(gòu)及數(shù)據(jù)傳輸流程
系統(tǒng)中的所有通信鏈路均采用雙向傳輸,這是因為操控平臺除對眼底照相機(jī)進(jìn)行控制外,還會接收眼底照相機(jī)各個功能的狀態(tài)信息,并將狀態(tài)信息顯示于操控平臺上,使專業(yè)技師及時了解眼底照相機(jī)當(dāng)前的運行狀態(tài)。同時,位于會診中心與遠(yuǎn)程終端的2臺計算機(jī)上的上位機(jī)通信程序除負(fù)責(zé)相互之間的數(shù)據(jù)通信外,還分別負(fù)責(zé)與操控平臺及串口通信模塊的數(shù)據(jù)通信。本方案的遠(yuǎn)程操控模塊即由串口通信模塊、操控平臺及上位機(jī)通信程序(分別位于遠(yuǎn)程終端及會診中心的計算機(jī)上)這3個部分組成,以下對這幾個部分進(jìn)行具體設(shè)計說明。
在遠(yuǎn)程操控模塊的3部分設(shè)計中,串口通信模塊及操控平臺需要進(jìn)行硬件設(shè)計。
串口通信模塊的功能是負(fù)責(zé)位于遠(yuǎn)程終端的眼底照相機(jī)與計算機(jī)之間的連接,從而保證遠(yuǎn)程終端計算機(jī)在收到由會診中心傳輸而來的操控命令后,實現(xiàn)對眼底照相機(jī)的控制。因此,串口通信模塊的設(shè)計必須以眼底照相機(jī)的各種功能為基礎(chǔ),并結(jié)合相應(yīng)功能的控制方式。本方案以免散瞳眼底照相機(jī)(Kowa nonmyd 7)為基礎(chǔ)進(jìn)行串口通信模塊設(shè)計,該眼底照相機(jī)的主要控制方式及對應(yīng)功能主要包括以下3類。
(1)步進(jìn)電機(jī)的控制。包括控制臺的前后左右位移,下巴托架的上下移動及對焦控制。設(shè)計中除下巴托架已經(jīng)擁有步進(jìn)電機(jī)、電機(jī)驅(qū)動器及相應(yīng)的觸點開關(guān)外,其他均為手動控制,因此,設(shè)計中加入步進(jìn)電機(jī)及電機(jī)驅(qū)動器,并最終通過繼電器控制電機(jī)驅(qū)動器。
(2)觸點開關(guān)控制。包括視場角控制,眼球/瞳孔模式切換、固視點的控制、閃光燈亮度控制及拍攝功能,這部分的功能均可由觸點開關(guān)引出,并使用繼電器控制。
(3)數(shù)字電位器控制。用于成像亮度等級的控制,使用數(shù)字電位器完成亮度的調(diào)節(jié)。
針對上述3部分所提到的控制方式,串口通信模塊電路結(jié)構(gòu),見圖3。

圖3 串口通信模塊電路結(jié)構(gòu)
USB轉(zhuǎn)RS-232模塊通過RS-232接口與微控制器相連,采用MAX232芯片完成電平轉(zhuǎn)換。同時,使用CH341芯片實現(xiàn)RS-232接口與USB口的轉(zhuǎn)換[6],最終由USB接口接至計算機(jī)。
電路中采用LPC2148作為微控制器,該芯片為PHILIPS半導(dǎo)體公司的一個支持實時仿真和嵌入式跟蹤的32位ARM7TDMI-S微控制器,可實現(xiàn)高達(dá)60MHz的工作頻率。同時,LPC2148擁有多達(dá)48個I/O口及多個串行接口,包括2個UART[7]。
繼電器模塊采用的是HKE繼電器HRS1H-S-DC5V,其高達(dá)1A的帶載能力,足夠眼底照相機(jī)觸點開關(guān)的需求[8]。繼電器的通斷控制實現(xiàn)對眼底照相機(jī)上各觸點開關(guān)的控制,從而實現(xiàn)眼球/瞳孔模式切換、拍攝、電機(jī)控制等功能。
傳感器模塊是使用光電傳感器設(shè)計實現(xiàn)的限位傳感器,當(dāng)步進(jìn)電機(jī)到達(dá)某一方向的邊緣時,限位傳感會發(fā)出報警信息,同時停止繼電器動作,阻止步進(jìn)電機(jī)向該方向繼續(xù)前進(jìn)。
數(shù)字電位器模塊則通過調(diào)節(jié)電阻值實現(xiàn)對成像亮度的調(diào)節(jié)。
顯示模塊主要由LED組成,用來告知當(dāng)前眼底照相機(jī)的狀態(tài)信息,如當(dāng)前照相機(jī)是否處于眼球模式或是瞳孔模式等。此外,顯示模塊還提示當(dāng)前步進(jìn)電機(jī)是否已經(jīng)處于某一方向邊緣的報警信息。
操控平臺的作用是控制眼底照相機(jī)并顯示眼底照相機(jī)狀態(tài)。控制作用由按鈕完成,即按下不同的按鈕觸發(fā)微控制器上的不同I/O口,從而發(fā)送不同的命令給遠(yuǎn)程終端。與串口通信模塊相似,狀態(tài)信息也主要由LED顯示,專業(yè)技師通過觀察操控平臺上不同位置LED的亮暗情況,了解當(dāng)前眼底照相機(jī)所處的狀態(tài),以便下一部分的操作。操控平臺電路結(jié)構(gòu),見圖4。

圖4 操控平臺電路結(jié)構(gòu)
電路中,USB轉(zhuǎn)RS-232電路、微控制器及顯示模塊的選擇與串口通信模塊相同,按鈕模塊則使用按鍵開關(guān)元件實現(xiàn)對微控制LPC2148上不同I/O高低電平的輸入控制。
遠(yuǎn)程DR篩查系統(tǒng)的遠(yuǎn)程操控模塊所傳輸與處理的數(shù)據(jù)主要是操控平臺對眼底照相機(jī)的控制命令及眼底照相機(jī)反饋給操控平臺的狀態(tài)信息,數(shù)據(jù)量較小。但系統(tǒng)涉及到4個設(shè)備(位于遠(yuǎn)程終端的串口通信模塊與計算機(jī)及位于會診中心的計算機(jī)與操控平臺)的3路通信,故需要通信協(xié)議保證數(shù)據(jù)的可靠傳輸。
遠(yuǎn)程DR篩查系統(tǒng)數(shù)據(jù)傳輸流程(圖2),共分為控制命令與狀態(tài)信息兩路數(shù)據(jù)傳輸。其中,操控平臺生成控制命令,通過串口發(fā)送到計算機(jī),再通過網(wǎng)絡(luò)傳輸給位于遠(yuǎn)程終端的計算機(jī),進(jìn)而發(fā)送到串口通信模塊,串口通信模塊實現(xiàn)對本地眼底照相機(jī)的控制;由串口通信模塊采集到的眼底照相機(jī)的狀態(tài)信息則是相反的過程,并最終傳輸?shù)讲倏仄脚_,并由操控平臺上的LED顯示出來。遠(yuǎn)程終端與會診中心的計算機(jī)之間的數(shù)據(jù)通信協(xié)議為TCP/IP協(xié)議,針對不同IP地址的主機(jī)進(jìn)行數(shù)據(jù)傳輸,傳輸層采用可靠性高的TCP協(xié)議[9]。而位于遠(yuǎn)程終端的串口通信模塊與計算機(jī)之間及位于會診中心的計算機(jī)與操控平臺之間均采用串口通信,協(xié)議需要另行設(shè)定[10],以下作具體介紹。
串口通信模塊對眼底照相機(jī)的控制方式主要是繼電器、數(shù)字電位器,同時,反饋信息除眼底照相機(jī)的狀態(tài)信息還包括限位傳感器的反饋信息。針對上述特點,設(shè)定的通信協(xié)議命令格式,見表1。

表1 串口通信協(xié)議數(shù)據(jù)格式
其中,幀開始標(biāo)志位取固定值0xAA;地址場CMD_NO指定控制設(shè)備(繼電器、數(shù)字電位器)的編號,在系統(tǒng)安裝調(diào)試時則根據(jù)編號將相應(yīng)設(shè)備的引出線接入到眼底照相機(jī)上的各功能按鈕的觸點上;命令標(biāo)志CMD_FLAG指定命令的性質(zhì),包括控制命令、信息回復(fù)(包括是否正確接收命令,是否正確執(zhí)行命令及限位器到位信息)等;命令參數(shù)分為高字節(jié)與低字節(jié),其值表示如下:
CMD_PAR=CMD_PAR_H×256 + CMD_PAR_L
需要說明的是,由于控制對象包括觸點開關(guān),電機(jī)驅(qū)動模塊及數(shù)字電位器,故第三字節(jié)的控制命令并不完全相同,而第四與第五個字節(jié)所代表參數(shù)的含義也將有所不同,命令尾取固定值0x55。
以眼球/瞳孔模式切換(12號繼電器控制)功能為例,操控平臺發(fā)送命令格式為:0xAA 0x0C 0x02 0x00 0x15 0x55。命令說明:第二個字節(jié)0x0C表示控制12號繼電器(功能為控制眼球/瞳孔模式切換);第三個字節(jié)0x02表示繼電器閉合控制;第四與第五兩個字節(jié)指定的閉合時間,即:10ms×CMD_PAR=10ms×20=200ms,其中,閉合時間以10ms為基本單位,若之前眼底照相機(jī)處于眼球模式,則切換為瞳孔模式。串口通信模塊在接收到控制命令并執(zhí)行完后,將發(fā)送兩條信息回復(fù),分別是0xAA 0x0C 0xFF 0x00 0x00 0x55與0xAA 0x0C 0x03 0x00 0x00 0x55。其中,0xFF表示已經(jīng)正確接收,0x03則表示已經(jīng)正確執(zhí)行切換功能,后一條信息即作為狀態(tài)信息反饋給位于會診中心的操控平臺,并通過LED顯示出來,告知專業(yè)技師當(dāng)前的眼底照相機(jī)狀態(tài)為瞳孔模式。
上位機(jī)通信程序位于遠(yuǎn)程終端與會診中心的計算機(jī)上(圖2),程序主要實現(xiàn)以下功能:
(1)負(fù)責(zé)遠(yuǎn)程終端計算機(jī)與會診中心計算機(jī)之間的數(shù)據(jù)通信,采用TCP/IP協(xié)議。
(2)位于遠(yuǎn)程終端計算機(jī)上的上位機(jī)程序負(fù)責(zé)計算機(jī)與串口通信模塊之間的數(shù)據(jù)通信,使用3.2節(jié)所述通信協(xié)議。
(3)位于會診中心計算機(jī)上的上位機(jī)程序負(fù)責(zé)計算機(jī)與操控平臺之間的數(shù)據(jù)通信,使用3.2節(jié)所述通信協(xié)議。
程序使用C++語言及MFC開發(fā),其中,計算機(jī)間的數(shù)據(jù)通信使用到CAsyncSocket 類[11],而計算機(jī)與串口通信模塊及操控平臺間的串口通信則使用ActiveX通信控件MSComm實現(xiàn)[12-13]。
本系統(tǒng)在局域網(wǎng)環(huán)境中進(jìn)行了測試,硬件與軟件配置如下。
硬件:Kowa nonmyd 7眼底照相機(jī)(尼康單反相機(jī),用于拍攝眼底圖像);2臺計算機(jī),自行研制的串口通信模塊電路板(圖5(a))及操控平臺(圖5(b)),路由器(4口以上)。
軟件:自行開發(fā)的上位機(jī)通信程序。
兩臺計算機(jī)通過路由器實現(xiàn)互聯(lián),并配置IP地址,串口通信模塊與操控平臺分別通過USB口接至兩臺計算機(jī)上,上位機(jī)通信程序分別安裝在兩臺計算機(jī)中,串口通信模塊上的繼電器及數(shù)字電位器接出線則根據(jù)編號分別接至眼底照相機(jī)Kowa nonmyd 7的不同功能按鈕的觸點及電機(jī)驅(qū)動器的接口上。

圖5 串口通信模塊與操控平臺
通過測試,該操控平臺可以很好地實現(xiàn)了對眼底照相機(jī)各種功能的控制,并且眼底照相機(jī)的各狀態(tài)信息也能反饋到操控平臺,并通過LED顯示出來。
本文以遠(yuǎn)程DR篩查系統(tǒng)的遠(yuǎn)程操控模塊為研究對象,在介紹遠(yuǎn)程DR篩查系統(tǒng)結(jié)構(gòu)的基礎(chǔ)上,重點介紹了遠(yuǎn)程操控模塊的設(shè)計方案。遠(yuǎn)程操控模塊由位于遠(yuǎn)程終端的串口通信模塊、位于會診中心的操控平臺及上位機(jī)通信程序組成,具有結(jié)構(gòu)簡單,易安裝等特點。同時,具有較好的通用性,只需要進(jìn)行簡單的改造,即可應(yīng)用于不同的眼底照相機(jī)。
[1] 莫靜.糖尿病性視網(wǎng)膜病變的遠(yuǎn)程篩查[J].國外醫(yī)學(xué).眼科學(xué)分冊,2003,(5):270-274.
[2] Khalid AS,Seemant R,Vivek B,et al.Efficacy and reliability of fundus digital camera as a screening tool for diabetic retinopathy in Kuwait[J].Journal of Diabetes and Its Complications,2003,17:229-233.
[3] Vleming EN,Castro M,López-Molina MI,et al.Use of nonmydriatic retinography to determine the prevalence of diabetic retinopathy in diabetic patients[J].Arch Soc Esp Oftalmol,2009,84(5):231-236.
[4] 邱明輝,劉海一.DICOM標(biāo)準(zhǔn)醫(yī)學(xué)圖像文件解析及工具軟件的研制[J].中國醫(yī)學(xué)影像學(xué)雜志,2009,(5):368-373.
[5] 曾金埕,潘林,余輪.眼底照相機(jī)遠(yuǎn)程操控系統(tǒng)設(shè)計[J].計算機(jī)與數(shù)字工程,2009,(11):118-120.
[6] 李芙玲,張瑾,閆躍升.基于CH341的USB—UART的設(shè)計與實現(xiàn)[J].工礦自動化,2007,6(3):121-122.
[7] 徐文超,耿艷香,白芳,等.基于LPC2148的遠(yuǎn)程環(huán)境監(jiān)測平臺設(shè)計[J].實驗室科學(xué),2011,(2):77-80.
[8] YE H,YU H,GU W.Test system for single sheet iron loss[C].In:IEEE,2010.
[9] 司馬莉萍,賀貴明,陳明榜.基于Modbus/TCP協(xié)議的工業(yè)控制通信[J].計算機(jī)應(yīng)用,2005,25(S1):29-31.
[10] 陳健.主從式礦井軌道運輸監(jiān)控系統(tǒng)通信協(xié)議的設(shè)計與分析[J].煤礦機(jī)械,2008,(10):23-25.
[11] 劉丹華,黃道君.利用套接字開發(fā)網(wǎng)絡(luò)通信程序[J].微機(jī)發(fā)展,2003,13(1):33-35.
[12] 馬錫坤.醫(yī)院網(wǎng)絡(luò)終端準(zhǔn)入控制解決方案[J].中國醫(yī)療設(shè)備,2011,26(11):30-32.
[13] 董紅政,王忠勇,史曉鵬.基于MSComm控件實現(xiàn)串行通信的方法[J].微計算機(jī)信息,2007,(27):145-147.