基于RFID的医疗器械智能控制系统设计
0 引 言
自从1895 年德国物理学家伦琴(W.K.Reontgen)在维尔茨堡大学物理研究所发现 X 射线开创人体影响诊断的先河以来,现代医学仪器在长达一个多世纪的发展中历久弥新,越来越多的新技术应用于其中。尤其是科学技术越来越发达的今天,包括计算机技术、网络技术、微电子技术、材料技术、生物技术所取得的巨大成就,无不为满足社会、家庭和个人对医疗仪器更广泛、更多样化的需求提供了技术基础。未来的医疗器械必然走向微型化、智能化、个性化和网络化,全新概念的现代医疗仪器,必将在 21实际实现“无缝”融入到社区环境和个人家庭之中,从而更好地为每个人的健康服务。
现代医疗仪器要走向智能化、个性化和网络化,身份识别是第一步,也是最关键的一步,而射频识别(Radio Frequency IDentification,RFID)技术,作为新兴技的物联网关键技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。基于此,设计了一种基于 RFID 和 ARM 实现用户信息采集和医疗器械操控的医疗器械智能控制系统。该系统目前主要应用于微波理疗仪、超声理疗仪等治疗型医疗仪器中,稍作改进也可应用于生理类、化学分析类等检测分析型医疗仪器中。
1 系统总体设计
系统采用 ARM 为主控制芯片,完成对射频识别芯片的控制、信息采集、数据传输以及对医疗器械的控制功能,采用MFRC522 实现对 IC 卡的读写功能,在 PC 机上运行用 VC 6.0开发的上位机软件实现对智能控制系统的控制和访问。
系统总体设计框图如图1所示。智能控制系统可在设定参数下自行读取用户信息后进行相应治疗作和记录,也可通过USB 口接入 PC 机后联网远程控制治疗仪器。IC 卡和治疗仪参数的设置与数据采集可通过用电脑软件来进行读写、管理。
图1 系统总体框图
系统采用模块化设计,分为非接触式 IC 卡、智能控制系统、治疗仪和安装了上位机软件的 PC 机。更换不同的上位机软件和治疗仪(或分析仪)就可以实现不同的医疗仪器的控制,本设计可以实现 50 万张 IC 卡的读写和信息存储。
2 系统硬件设计
系统硬件电路分为以 ARM 芯片为核心的控制子系统,以射频识别芯片为核心的 IC 卡读写模块,以 MSP430F149 芯片为核心的治疗仪控制模块以及治疗仪四大部分。
ARM 芯片采用 STM32F107VCT6 芯片,该芯片是意法半导体推出的全新 STM32互连型(Connectivity)系列微控制器中的一款性能较强的产品,采用 ARM 32 位 Cortex-M3 核心,此芯片集成了各种高性能工业标准接口,同时拥有全速 USB(OTG)接口,两路 CAN 2.0B 接口,以及以太网10/100 MAC模块。治疗仪控制模块采用 MSP430F149 为主控芯片,该芯片是TI 公司推出的经典 MSP430 系列微控制器中的一款性能比较强的产品,16 位精简指令集 MCU,命令周期125 ns,此芯片集成了各种高性能工业标准接口,同时拥有 12 位 ADC,2 个 16 位计数器,片内比较器等内部资源,支持序列号、熔丝位烧写等加密功能,可以防止产品被逆向工程。采用这两款芯片可以提高系统集成度、稳定性,降低PCB 板面积和系统功耗,同时方便将来对系统进行升级。
2.1 非接触 IC 卡
非接触式 IC 卡又称射频卡,由 IC 芯片、感应天线组成,封装在一个标准的 PVC 卡片内,芯片及天线无任何外露部分。该技术是世界上最近几年发展起来的一项新技术,它成功地将射频识别技术和 IC 卡技术结合起来,结束了无源(卡中无电源)和免接触这一难题,是电子器件领域的一大突破。卡片在一定距离范围(通常为 5 ~10 mm)靠近读写器表面,通过无线电波的传递来完成数据的读写操作。非接触式 IC 卡是一种新型的智能卡,功能与接触 ID 卡、IC 卡一样,只是它无需电源,由接收天线从读卡器磁场感应取电,并工作运算数据,反馈到读卡器。
非接触型 IC 卡本身是无源体,当读写器对卡进行读写操作时,读写器发出的信号由两部分叠加组成:一部分是电源信号,该信号由卡接收后,与其本身的 L/C 回路产生谐振,产生一个瞬间能量来供给芯片工作。另一部分则是数据信号,通过接收芯片完成数据、修改、存储等,并返回给读写器。由非接触式 IC 卡所形成的读写系统,无论是硬件结构,还是操作过程都得到了很大的简化,同时借助于先进的管理软件、可脱机的操作方式,可使数据读写过程更为简单。
2.2 控制子系统设计
如图 2 所示,控制子系统采用 STM32F107VCT6 为主控芯片,其硬件电路的外围电路包括复位电路、JTAG 调试接口、状态指示电路、UART 接口、USB 转串口模块等组成。
图2 系统硬件框图
复位电路、JTAG 调试接口是ARM 最小系统不可缺少的部分。状态指示电路由 LED、蜂鸣器和 TFT 触摸液晶屏组成,可以指示系统的工作状态,显示当前用户信息、消费情况、治疗方案和时间等信息,同时可以通过液晶屏的触摸功能实现系统参数的手动设置。UART 接口可以方便地实现现场调试和多机通信,由于现有主流 PC 机多已不再配备 RS 232 接口,因此设计 USB 转串口模块可方便实现控制系统和上位机通信。
2.3 IC 卡读写模块设计
IC 卡读写模块采用 Philips MFRC522 原装芯片设计读卡电路,使用方便,成本低廉,适用于设备开发、读卡器开发等高级应用的用户、需要进行射频卡终端设计 / 生产的用户。本模块也可直接装入各种读卡器模具。模块采用电压为3.3 V,通过 SPI 接口简单的几条线就可以直接与用户任何 CPU 主板相连接通信,可以保证模块稳定可靠的工作、读卡距离远。
MFRC522 是应用于 13.56 MHz 非接触式通信中高集成度的读写卡芯片,是 NXP 公司针对“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择。MFRC522 利用了先进的调制和解调概念,完全集成了在 13.56 MHz下所有类型的被动非接触式通信方式和协议,支持14443A 兼容应答器信号、数字部分处理 ISO14443A 帧和错误检测。此外,还支持快速 CRYPTO1加密算法,用语验证 MIFARE 系列产品。MFRC522 支持 MIFARE 系列更高速的非接触式通信,双向数据传输速率高达 424 Kb/s。作为13.56 MHz 高集成度读写卡系列芯片家族的新成员,MFRC522 与主机间通信采用 SPI模式,有利于减少连线,缩小 PCB 板体积,降低成本。
2.4 治疗仪控制模块设计
治疗仪控制模块由 MSP430F149 单片机作为主控芯片,外围电路包括配置电路、时钟电路和控制电路,控制电路具体实现的方式由相应治疗仪的控制方式决定,治疗仪控制模块可以控制医疗仪器做出对应以达到治疗的目的。采用MSP430F149 设计专门的治疗仪控制模块可以便于实现系统设计和扩展,在更换治疗仪器时只要更换相应的控制模块即可,简化软硬件设计。
3 系统软件设计
系统软件设计包括嵌入式程序和上位机软件两部分部分。嵌入式软件的系统架构如图 3 所示,包括系统初始化程序模块、MSP430 系统控制主程序、IC 卡读写程序模块、治疗仪控制程序模块、上位机串口通讯程序模块、液晶控制程序模块、状态指示程序模块等七个部分。
图3 智瑞医疗器械工控装置嵌入式软件系统框图
在系统上电后,ARM 芯片收到上位机软件通过 UART接口发出的控制信号和设置参数,对 IC 读写模块和治疗仪控制模块发出控制信号,对 IC 读写模块进行参数,并启动治疗仪实现相应的参数初始化。在没有收到上位机控制命令时,系统同样可以调用存储的参数进行系统初始化,或者通过对触摸屏进行手动操作设置系统参数。
在系统正常工作过程中,如果读取到用户 IC 卡,核对用户信息和消费信息,通过后即可进行相应的治疗,完成治疗后会根据治疗情况和用户反馈对治疗的效果进行相应的存储,以方便医生调阅,制定进一步的治疗方案。
3.1 ARM 程序设计
ARM程序设计采用开发环境IAR EWARM(IAR Embedded Workbench for ARM), 程序编写使用C语言。ARM程序流程如图 4 所示,主程序以对各个模块程序的调用实现功能,首先对系统的各个模块进行初始化,然后调用串口通讯模块程序读取上位机的操作指令和数据,然后根据相应的指令进行相应的操作,其后调用 IC 卡读写模块程序检测系统的读卡情况,如果有 IC 卡放入,则读取 IC 卡信息,但账户中仍有余额,则开启仪器进行相应操作,如果没有余额则显示余额不足。
图4 ARM 程序流程图
3.2 IC 卡读写程序设计
IC 卡读写模块程序模块包含对 IC 卡读写芯片进行复位和初始化,然后主控芯片读卡并进行防冲突处理,选择卡之后进行认证,认证为系统内部所发 IC 卡之后进行相应命令的操作:包含读卡、写卡、加值、减值、暂停等功能,最后进行是否改变分区的判断,若改变分区则重新进行认证,不改变分区则重新进行命令判断。
3.3 串口通讯模块程序设计
串口通信程序采用中断方式触发串口通信。当单片机串口接收到数据时,进入中断服务程序入口,然后根据寄存器判断是接收数据还是发送数据。如果是接收数据,则读取接收缓冲区数据,读取完成释放接收缓冲器,中断服务程序结束 ;如果是发送数据,则将数据写入发送缓冲区,并置位发送请求位,同时判断是否发送完成,若发送完成则中断服务程序结束,若未发送完成则继续发送,直到发送完成。
3.4 液晶控制程序设计
液晶控制模块程序工作流程为首先对液晶进行初始化并清屏,然后置显示行初值,将显示指针指向第一行,同时将待显示数据送入缓冲区,这时预设数据会显示在指定区域中,调整指针,将指针指向 LCD 的下一行,判断显示是否结束,结束则跳出该函数,未结束则返回值显示预设数据上一步,继续显示下一指针对应的数据。在显示过程中,主程序会循环调用触摸函数,判断用户是否有操作,有操作则根据用户操作进行相应的参数设置和工作状态调整。
3.5 治疗仪控制程序设计
治疗仪控制模块程序工作过程为:首先对 MSP430F149的内部资源和 IO 口进行初始化并对医疗器械的工作状态进行初始化,然后检测系统的读卡情况,如果有 IC 卡放入,则读取 IC 卡信息,但账户中仍有余额,则开启医疗器械的工作,根据用户的设置或者调用设定好的治疗方案开始治疗,如果没有余额则显示余额不足。
4 上位机软件设计
上位机软件主要由动态链接库和用户操作界面程序两部分构成。动态链接库使用 VC++ 编程实现,负责与串口驱动程序进行通信,响应应用程序的各种要求 ;用户操作界面程序使用 MFC 编程实现,可实现初始化设备、设置仪器参数、控制设备运行等功能。上位机设计为绿色免安装版本,既可以降低对电脑配置的要求,也可以减小用户的操作难度。上位机软件可以实现各种功能设定卡的制作、消费卡的收费管理、汇总采集用户数据和治疗信息并进行分析处理、以及各种报表输出功能。上位机软件开发设计的原则就是好用、易用、合理、简洁。既能减少用户操作难度和时间消耗,又能减少开发商的培训、维护时间。
5 结 语
本文设计了一种基于 RFID 和 ARM 架构的医疗器械智能控制系统。采用 STM32F107 控制 MFRC522 射频芯片与射频卡进行通信,利用 USB 转换芯片实现片机与 PC 机之间的串口通信。系统可通过射频识别卡识别患者身份信息和消费信息,实现对用户信息和消费信息的调取和存储,对相应患者调取对应的治疗方案,在治疗完成后收取一定的费用,并可根据患者的反馈记录治疗效果。系统采用模块化设计,修改治疗仪控制模块即可实现多种医疗仪器的智能控制系统 ;通过多个系统同时联网,并对上位机软件进行修改,可以实现多路治疗仪的操作和控制。