郭 灿
(上海西门子医疗器械有限公司,上海 201318)
医学影像设备是现代医学的重要诊断和辅助治疗仪器,主要包括X射线机(俗称X光机)、CT、MR、超声、PET、光学成像等,其中X射线机是最为常规的医疗设备,在各种规模的医疗机构均有配置,它是利用X射线对人体不同组织器官的衰减程度不同,经透过人体后的X射线在影像接收装置上形成人体的透射影像。
X射线机按照功率大小可以分为大型X射线机(500mA及以上)、中型X射线机(100~500mA)和小型X射线机(100mA以下);或按照诊断功能来分,包含乳腺机、牙科机、普通摄影机、C型臂手术X射线机、胃肠机、泌尿机、心血管造影机等。普通X射线摄影系统的功能就是完成常规X射线摄影检查,如用于探查骨骼的病变,探查肺部疾病,如肺炎、肺癌或肺气肿等的胸部X射线摄影,还可以探查体内金属异物以及腹腔内查肠道梗塞等。普通X射线摄影机在整个放射诊断成像中占据半壁江山,70%以上中小型医院都会拥有普通摄影X射线机,可见它具有非常重要的位置。如图1为X射线普通摄影机,图2为带有胸片架的普通摄影机。[1]
图2 带有胸片摄影架的普通摄影机[3]
其中的普通摄影X射线机主要由X射线发生装置、X射线图像接收装置、X射线图像处理和显示装置及附属装置组成,其中的附属装置包括病人支撑装置—摄影床、球管支撑装置—立柱或悬吊装置、胸片摄影架、人机界面等,如图3,其中的附属装置通常需要配备控制器,承担着系统运动部件的驱动控制、人机界面的输入和输出、X射线图像处理装置、显示装置和各附属装置之间的协调、通信等功能,下面先来分析一下这些附属装置的功能和结构,然后再介绍附属装置控制器的软硬件设计。
图3 X射线普通摄影机的基本结构
自1895年伦琴发现X射线至今已有120多年,X射线机也得到了飞速的发展。比如X射线的图像接收装置从早期的荧光屏透视系统和屏胶摄影系统产生的模拟图像,发展到后来的影像增强电视透视系统和采用成像板(IP,Image Plate)的计算机摄影系统(CR,Computer Radiography)而产生的半数字化图像,到目前基于数字平板探测器(FPD,Flat Panel Detector)的全数字化透视和摄影图像,使得X射线机获得高质量图像的同时,病人吸收剂量反而大为降低。本文将讨论全数字化X射线普通摄影机中的附属装置(普通摄影床、立柱、胸片摄影架、悬吊架和人机界面)功能和结构。
普通摄影床主要用于病人的躺卧,以便对病人的各个部位进行投照摄影。床面应有前后移动(Forward and Backward,FB)和左右移动(Left and Right,LR)功能(文中所提及的运动方向都是以操作者为参考),如图1中的摄影床,由此可以在病人不动的情况下,可将病人需要摄影的部位移动到X射线投照的区域。这两个方向一般采用自由移动。不需要移动时用电磁铁锁定。另外,为了方便病人上下床,或尽可能增加摄影距离,高档的摄影床还有上下移动(Up and down,UD)功能,这个移动就需要使用电机驱动实现。
立柱主要是支撑X射线管组件。为配合各种摄影需求,X射线管组件需要有上下移动、左右移动、前后移动,还有沿横臂轴旋转的水平转动(Rotation around Horizon,RH)和沿垂直立柱旋转的垂直转动(Rotation around Vertical,RV),如图1和图2所示的立柱。水平转动主要用于斜向投照,比如下颌骨摄影,垂直转动可以让X射线管组件离开床面进行自由位置摄影,比如坐在轮椅上的病人摄影,还可以将X射线管组件的投照方向指向胸片摄影架。
胸片摄影架主要用于胸部摄影和部分的颈椎摄影。胸部摄影时,一般都采用站立摄影,所以支持胸片架的摄影架称之为立式摄影架,如图2中的胸片摄影架。简单的胸片摄影架只有上下移动功能,以配合不同身高的病人。这个上下移动有手动和自动之分,自动即采用电机驱动。除了这种基本的立式摄影架,还有一种可以翻转的摄影架称为多功能摄影架,如图4,这种摄影架增加了胸片架可以前后旋转(Rotation of Forward and Backward,RFB)的功能。由此,除了胸片和颈椎的摄影外,还可以对各种角度的头颅和上肢等进行投照摄影。
图4 多功能立式摄影架[3]
立柱式球管支架因立柱只有左右运动,导致球管的运动范围受限,悬吊式支架可使得球管的移动范围大大拓展,如图5所示。通过横向天轨、纵向天轨和伸缩吊架,将X射线管悬在空中。横向天轨可实现左右移动(RL),纵向天轨可实现前后移动(FB),伸缩吊架可实现上下移动(UD)。另外,横臂与伸缩吊架之间可以实现沿垂直方向的转动(RV),球管和横臂之间可以实现沿横臂轴的旋转(RH),以及沿球管本身长轴方向的旋转(RFB)。图6为西门子Multix Fusion悬吊式普通摄影机,此悬吊上的所有运动都是电机驱动控制的。
图5 悬吊式球管支架[3]
图6 西门子悬吊式普通摄影机(Multix Fusion
对X射线管运动进行操作的按钮以及运动过程中的位置状态显示称为人机界面,图7(a)显示了早期采用机械式指示器和按钮操作的人机界面;图7(b)显示了数字显示和简单触摸屏操作功能的人机界面;而图7(c)和(d)显示了两款现代数字化摄影装置的大屏显示和触摸功能的人机界面。
图7 人机界面
按照以上的说明,所有附属装置需要通过附属装置控制器进行控制,并将附属装置的各类运动信息反馈给上位机,同时接收上位机的命令对附属装置进行驱动控制,以到达所需的目标位置。图8为附属装置控制器与各附属装置的控制连接,以及与上位机影像工作站之间的连接。
图8 附属装置控制器通信连接
(1)由于市场上大多数电机驱动器采用CAN接口,因而在悬吊架部件、病床部件、立柱部件、胸片摄影架部件的电机运动驱动和附属装置控制器之间采用CAN总线连接。
(2)DAP和准直器也提供标准CAN接口,因此和控制器之间也是CAN连接。
(3)悬吊架部件、摄影床部件、球管立柱部件、胸片摄影架部件的机械状态,如位置限位开关、光耦传感器开关和角度传感器等信息直接通过GPIO总线连接。
(4)控制器和人机界面如触摸屏的连接采用千兆网络或者HDMI接口。
(5)控制器和影像处理器PC的连接采用千兆网络。
鉴于控制器需要提供CAN控制器、人机界面、HDMI接口、通用GPIO,因此选用了资源丰富的NXP公司的i.MX6系列处理器,该处理器有多种配置,如i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite和i.MX 6Solo。实际应用时可根据负载量的大小和成本来决定(芯片的详细功能介绍请参考NXP官网:https://www.nxp.com)。根据图8的通信端口连接需求,设计了图9的附属装置控制器硬件系统构架。[2]
图9 附件控制器硬件构架
(1)Ethernet接口:因为控制器需要多路网络接口,i.MX6的网络控制器可以外接千兆网络交换器芯片,如Marvell公司的88E6390、BoardCom公司的BCM53128等。这些网络交换机芯片可以提供多大8个接口,可以应付大多数使用场景。
(2)HDMI接口:i.MX6支持HDMI1.4的视频输出,可以连接到HDMI接口的显示屏或者触摸屏,触摸信号可以连接到USB或者UART。
(3)USB接口:USB2.0输出,支撑OTG功能。
(4)CAN接口:i.MX6可以提供两路CAN控制器,可以将这两个CAN端口都需要利用起来。CAN收发器可以采用82C252、SN65HVD251、TCAN1042等芯片,硬件上可采用DSUB或者RJ45连接器;
(5)GPIO接口:输入IO采用抗干扰保护设计,输出IO采用过电流保护设计。
(6)DDR3接口:外接DDR3的内存,采用ISSI公司的IS43TR16256A,4片/64-bit,容量4GB。
(7)Flash接口:外接eMMC flash,可以用来作为启动flash。
(8)调试接口:包括SD卡接口、JTAG接口和UART接口。
(9)传感器接口:传感器可以采用I2C接口,如温度传感器TMP75、加速度传感器ADXL350等。
(10)音频接口:音频可通过I2S接口连接,采用TI公司的解码芯片TLV320AIC3101,可以驱动1W class D 8 Ohm喇叭。
2.2.1 软件包组成
附属装置控制器的软件是基于Linux开发的,根据图9的硬件架构,软件包括下面部分:
(1)基 本 软 件:U-boot,用 来 初 始 化i.MX6、DDR3、看门狗、flash等基本硬件,传递环境配置参数;Linux Kernel,Liunx操作系统采用3.14.28版本;rootfs,根文件系统包括了系统需要的大多数Linux工具,如FTP、QT、SFTP/SSH、Telnet、Tslib、MFD等。
(2)主软件:安装脚本,用来支持系统从SD卡启动;升级脚本,用来支持系统更新firmware;应用软件,用来协助外部软件和Linux操作系统的通信。
(3)编译环境:采用GCC4.9.x和Qmake。
(4)外部应用软件:当系统完成启动流程后,开始执行应用软件,应用软件包含:LCD显示、GPIO交互、温度传感器、加速度传感器、Audio、看门狗、CAN、启动界面、Firmware版本和测试程序等。
2.2.2 启动过程
如图10所示,板子上电后,自动开始装载U-boot。U-boot对基本硬件完成初始化后,依据条件进行判断是否要升级固件FW,如果不需要升级,开始装载工作映像并初始化,然后开始运行应用程序映像,开始正常应用操作模式。
图10 启动过程
如果需要升级,则装载备份映像、初始化、升级应用程序映像后,重启系统,再开始正常启动模式。
2.2.3 运动程序
一个基本的运动时序如图11所示,当来自摄影床、胸片支架或人机界面的运动按钮触发时,将信号发送给控制器,如图中①。控制器检查机械位置、安全回路、限位开关、传感器的状态,如果触发条件OK,控制器即通过CAN总线将目标位置信息发送给电机驱动器,如图中②,驱动器执行电机运动。与此同时,控制器将运动部件位置信息通过HDMI接口或Ethernet接口将信息发送到显示器进行显示,如图中③。图11的运动时序可以循环执行,直到来自运动按钮的信号停止触发。
图11 运动时序
2.2.4 软件安全等级和开源申明
(1)软件等级:根据医疗软件的安全要求IEC60601-1-4,附属装置控制器的功能是控制和通信,不涉及软件安全等级为Class C部件,故控制器的软件安全等级设计为Class B即可。
(2)开源申明:本控制器的操作系统、开发组件和第三方软件基于Yocoto和西门子OSS组件,开源许可证请参考http://www.opensource.org/和西门子OSS协议。
本文论述了医疗X射线摄影机附属系统各子部件的基本功能和作用,并设计了一个基于i.MX6系列作为处理器的附属装置的控制器,根据医疗设备的长生命周期的要求,选择了i.MX6系列作为处理器,搭载千兆网络交换机芯片、DDR3内存、CAN接口、HDMI显示接口和各种GPIO接口、传感器接口等,不仅可以满足市场上大多数中高端X射线摄影机的应用需求;同时为进一步升级到人工智能操作预留空间,比如连接3D摄像头和麦克风可实现自动摄影定位、手势操作等功能;另外此附属系统和子部件开发可为医疗开发商和集成商提供参考和借鉴的作用。