糖尿病性视网膜病变筛查系统远程操控模块设计与实现
2012-10-15陈健郑绍华余轮
陈健,郑绍华,余轮
1.福州大学 物理与信息工程学院,福建 福州 350002;
2.福建工程学院 电子信息与电气工程系,福建 福州 350108
0 前言
糖尿病性视网膜病变(Diabetic Retinopathy,DR)是20~70岁年龄组患者致盲的主要疾病之一,定期的视网膜病变筛查是及时发现病变,及时治疗的唯一有效方法[1]。近年来,数字眼底照相机已经成为DR临床检查和研究的重要工具,眼底照相机由于记录准确、客观,且敏感性和特异性较高[2],而被广泛应用于眼科流行病学和人群疾病的筛查。然而,眼底拍照过程的操作具有一定的复杂度,需要由有经验的眼科技师进行操作,基层医院和边远地区医疗机构缺乏专业的眼科技师,不利于筛查工作的推广,从而降低了患者的筛查依从性。为了实现真正的大面积眼底筛查,保障眼底图像的成像质量,获取符合诊断要求的眼底图像,需要建立远程操控系统。
本文在对远程DR筛查系统进行简要分析的基础上,重点说明构建远程DR筛查系统的重点模块之一,即远程操控模块的设计方案。本方案所构建的远程操控模块具有结构简单,易安装且通用性好等特点。
1 系统总体结构
远程DR筛查系统由会诊(操控)中心和远程终端(可远程操控的眼底照相机系统)组成,它们之间通过网络连接[3],见图1。远程终端的眼底照相机系统由会诊中心的专业技师操控,实现对受检者眼底图像的拍摄,并最终传输至会诊中心基于医学影像存档与通信系统(Pictures Archiving and Communication System,PACS)的影像存储中心[4]。其中,视频及语音传输实现会诊中心专业技师对受检者的实时监控,保证眼底图像的成功获取[5]。
图1 远程DR筛查系统的网络结构图
基于上述结构,本方案的远程DR筛查系统的具体结构,见图2。远程终端的可操控眼底照相机系统由本地眼底照相机、串口通信模块与计算机(上位机通信程序)3个部分组成,串口通信模块实现远程终端本地眼底照相机与计算机之间的连接,保证位于远程终端的计算机在接收到会诊中心技师的操控命令后,可将命令传输给串口通信模块,进而实现对眼底照相机的控制。会诊中心由计算机(上位机通信程序)与操控平台(操控键盘)组成。为了便于专业技师的操控,方案中设计了一个操控平台(操控键盘),通过串口接入到会诊中心的计算机上,操控平台上的各个按钮对应眼底照相机的各种功能。
图2 远程DR筛查系统的结构及数据传输流程
系统中的所有通信链路均采用双向传输,这是因为操控平台除对眼底照相机进行控制外,还会接收眼底照相机各个功能的状态信息,并将状态信息显示于操控平台上,使专业技师及时了解眼底照相机当前的运行状态。同时,位于会诊中心与远程终端的2台计算机上的上位机通信程序除负责相互之间的数据通信外,还分别负责与操控平台及串口通信模块的数据通信。本方案的远程操控模块即由串口通信模块、操控平台及上位机通信程序(分别位于远程终端及会诊中心的计算机上)这3个部分组成,以下对这几个部分进行具体设计说明。
2 远程操控模块硬件电路设计
在远程操控模块的3部分设计中,串口通信模块及操控平台需要进行硬件设计。
2.1 串口通信模块
串口通信模块的功能是负责位于远程终端的眼底照相机与计算机之间的连接,从而保证远程终端计算机在收到由会诊中心传输而来的操控命令后,实现对眼底照相机的控制。因此,串口通信模块的设计必须以眼底照相机的各种功能为基础,并结合相应功能的控制方式。本方案以免散瞳眼底照相机(Kowa nonmyd 7)为基础进行串口通信模块设计,该眼底照相机的主要控制方式及对应功能主要包括以下3类。
(1)步进电机的控制。包括控制台的前后左右位移,下巴托架的上下移动及对焦控制。设计中除下巴托架已经拥有步进电机、电机驱动器及相应的触点开关外,其他均为手动控制,因此,设计中加入步进电机及电机驱动器,并最终通过继电器控制电机驱动器。
(2)触点开关控制。包括视场角控制,眼球/瞳孔模式切换、固视点的控制、闪光灯亮度控制及拍摄功能,这部分的功能均可由触点开关引出,并使用继电器控制。
(3)数字电位器控制。用于成像亮度等级的控制,使用数字电位器完成亮度的调节。
针对上述3部分所提到的控制方式,串口通信模块电路结构,见图3。
图3 串口通信模块电路结构
USB转RS-232模块通过RS-232接口与微控制器相连,采用MAX232芯片完成电平转换。同时,使用CH341芯片实现RS-232接口与USB口的转换[6],最终由USB接口接至计算机。
电路中采用LPC2148作为微控制器,该芯片为PHILIPS半导体公司的一个支持实时仿真和嵌入式跟踪的32位ARM7TDMI-S微控制器,可实现高达60MHz的工作频率。同时,LPC2148拥有多达48个I/O口及多个串行接口,包括2个UART[7]。
继电器模块采用的是HKE继电器HRS1H-S-DC5V,其高达1A的带载能力,足够眼底照相机触点开关的需求[8]。继电器的通断控制实现对眼底照相机上各触点开关的控制,从而实现眼球/瞳孔模式切换、拍摄、电机控制等功能。
传感器模块是使用光电传感器设计实现的限位传感器,当步进电机到达某一方向的边缘时,限位传感会发出报警信息,同时停止继电器动作,阻止步进电机向该方向继续前进。
数字电位器模块则通过调节电阻值实现对成像亮度的调节。
显示模块主要由LED组成,用来告知当前眼底照相机的状态信息,如当前照相机是否处于眼球模式或是瞳孔模式等。此外,显示模块还提示当前步进电机是否已经处于某一方向边缘的报警信息。
2.2 操控平台电路
操控平台的作用是控制眼底照相机并显示眼底照相机状态。控制作用由按钮完成,即按下不同的按钮触发微控制器上的不同I/O口,从而发送不同的命令给远程终端。与串口通信模块相似,状态信息也主要由LED显示,专业技师通过观察操控平台上不同位置LED的亮暗情况,了解当前眼底照相机所处的状态,以便下一部分的操作。操控平台电路结构,见图4。
图4 操控平台电路结构
电路中,USB转RS-232电路、微控制器及显示模块的选择与串口通信模块相同,按钮模块则使用按键开关元件实现对微控制LPC2148上不同I/O高低电平的输入控制。
3 通信协议及上位机通信程序设计
3.1 数据传输流程
远程DR筛查系统的远程操控模块所传输与处理的数据主要是操控平台对眼底照相机的控制命令及眼底照相机反馈给操控平台的状态信息,数据量较小。但系统涉及到4个设备(位于远程终端的串口通信模块与计算机及位于会诊中心的计算机与操控平台)的3路通信,故需要通信协议保证数据的可靠传输。
远程DR筛查系统数据传输流程(图2),共分为控制命令与状态信息两路数据传输。其中,操控平台生成控制命令,通过串口发送到计算机,再通过网络传输给位于远程终端的计算机,进而发送到串口通信模块,串口通信模块实现对本地眼底照相机的控制;由串口通信模块采集到的眼底照相机的状态信息则是相反的过程,并最终传输到操控平台,并由操控平台上的LED显示出来。远程终端与会诊中心的计算机之间的数据通信协议为TCP/IP协议,针对不同IP地址的主机进行数据传输,传输层采用可靠性高的TCP协议[9]。而位于远程终端的串口通信模块与计算机之间及位于会诊中心的计算机与操控平台之间均采用串口通信,协议需要另行设定[10],以下作具体介绍。
3.2 串口通信协议
串口通信模块对眼底照相机的控制方式主要是继电器、数字电位器,同时,反馈信息除眼底照相机的状态信息还包括限位传感器的反馈信息。针对上述特点,设定的通信协议命令格式,见表1。
表1 串口通信协议数据格式
其中,帧开始标志位取固定值0xAA;地址场CMD_NO指定控制设备(继电器、数字电位器)的编号,在系统安装调试时则根据编号将相应设备的引出线接入到眼底照相机上的各功能按钮的触点上;命令标志CMD_FLAG指定命令的性质,包括控制命令、信息回复(包括是否正确接收命令,是否正确执行命令及限位器到位信息)等;命令参数分为高字节与低字节,其值表示如下:
CMD_PAR=CMD_PAR_H×256 + CMD_PAR_L
需要说明的是,由于控制对象包括触点开关,电机驱动模块及数字电位器,故第三字节的控制命令并不完全相同,而第四与第五个字节所代表参数的含义也将有所不同,命令尾取固定值0x55。
以眼球/瞳孔模式切换(12号继电器控制)功能为例,操控平台发送命令格式为:0xAA 0x0C 0x02 0x00 0x15 0x55。命令说明:第二个字节0x0C表示控制12号继电器(功能为控制眼球/瞳孔模式切换);第三个字节0x02表示继电器闭合控制;第四与第五两个字节指定的闭合时间,即:10ms×CMD_PAR=10ms×20=200ms,其中,闭合时间以10ms为基本单位,若之前眼底照相机处于眼球模式,则切换为瞳孔模式。串口通信模块在接收到控制命令并执行完后,将发送两条信息回复,分别是0xAA 0x0C 0xFF 0x00 0x00 0x55与0xAA 0x0C 0x03 0x00 0x00 0x55。其中,0xFF表示已经正确接收,0x03则表示已经正确执行切换功能,后一条信息即作为状态信息反馈给位于会诊中心的操控平台,并通过LED显示出来,告知专业技师当前的眼底照相机状态为瞳孔模式。
3.3 上位机通信程序
上位机通信程序位于远程终端与会诊中心的计算机上(图2),程序主要实现以下功能:
(1)负责远程终端计算机与会诊中心计算机之间的数据通信,采用TCP/IP协议。
(2)位于远程终端计算机上的上位机程序负责计算机与串口通信模块之间的数据通信,使用3.2节所述通信协议。
(3)位于会诊中心计算机上的上位机程序负责计算机与操控平台之间的数据通信,使用3.2节所述通信协议。
程序使用C++语言及MFC开发,其中,计算机间的数据通信使用到CAsyncSocket 类[11],而计算机与串口通信模块及操控平台间的串口通信则使用ActiveX通信控件MSComm实现[12-13]。
4 安装与调试
本系统在局域网环境中进行了测试,硬件与软件配置如下。
硬件:Kowa nonmyd 7眼底照相机(尼康单反相机,用于拍摄眼底图像);2台计算机,自行研制的串口通信模块电路板(图5(a))及操控平台(图5(b)),路由器(4口以上)。
软件:自行开发的上位机通信程序。
两台计算机通过路由器实现互联,并配置IP地址,串口通信模块与操控平台分别通过USB口接至两台计算机上,上位机通信程序分别安装在两台计算机中,串口通信模块上的继电器及数字电位器接出线则根据编号分别接至眼底照相机Kowa nonmyd 7的不同功能按钮的触点及电机驱动器的接口上。
图5 串口通信模块与操控平台
通过测试,该操控平台可以很好地实现了对眼底照相机各种功能的控制,并且眼底照相机的各状态信息也能反馈到操控平台,并通过LED显示出来。
5 结束语
本文以远程DR筛查系统的远程操控模块为研究对象,在介绍远程DR筛查系统结构的基础上,重点介绍了远程操控模块的设计方案。远程操控模块由位于远程终端的串口通信模块、位于会诊中心的操控平台及上位机通信程序组成,具有结构简单,易安装等特点。同时,具有较好的通用性,只需要进行简单的改造,即可应用于不同的眼底照相机。
[1] 莫静.糖尿病性视网膜病变的远程筛查[J].国外医学.眼科学分册,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标准医学图像文件解析及工具软件的研制[J].中国医学影像学杂志,2009,(5):368-373.
[5] 曾金埕,潘林,余轮.眼底照相机远程操控系统设计[J].计算机与数字工程,2009,(11):118-120.
[6] 李芙玲,张瑾,闫跃升.基于CH341的USB—UART的设计与实现[J].工矿自动化,2007,6(3):121-122.
[7] 徐文超,耿艳香,白芳,等.基于LPC2148的远程环境监测平台设计[J].实验室科学,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协议的工业控制通信[J].计算机应用,2005,25(S1):29-31.
[10] 陈健.主从式矿井轨道运输监控系统通信协议的设计与分析[J].煤矿机械,2008,(10):23-25.
[11] 刘丹华,黄道君.利用套接字开发网络通信程序[J].微机发展,2003,13(1):33-35.
[12] 马锡坤.医院网络终端准入控制解决方案[J].中国医疗设备,2011,26(11):30-32.
[13] 董红政,王忠勇,史晓鹏.基于MSComm控件实现串行通信的方法[J].微计算机信息,2007,(27):145-147.