基于射频卡芯片AT88SC6416CRF设计的门诊电子病历
扫描二维码
随时随地手机看文章
摘要:介绍了一套基于AT88SC6416CRF开发医院门诊电子病历的射频识别系统设计方法。该系统既能方便安全地记录门诊病人相关的各种就诊信息,又能确保数据在传输过程中的安全性,完全可以满足门诊电子病历的基本要求。
关键词:射频识别系统?电子病历?AT88SC6416CRF
1 引言
射频卡(简称RF卡)是一种新式非接触IC卡,具有使用寿命长、对读写设备(PCD)无物理磨损、不存在因接触而引起病菌交叉传染等优点,所以特别适用于在医院这种特殊场所进行信息储存。RF卡的关键部分为镶嵌在卡片内部的RF芯片,下面以AT-MEL公司的AT88SC6416CRF射频卡芯片为例来讨论其在门诊电子病历中的应用。
2 芯片简介
AT88SC6416CRF射频卡芯片在出厂时已被做成封装好的微型模块,其体积仅为5.06×8.00×0.38mm3。内部带有64kB的用户EEPROM和2kB的系统EEPROM,遵循ISO14443 B标准,使用13.56MHz频段,内设防重叠系统,可支持多卡同时使用。该器件采用3组64位长、相互加密校验的密钥和密码对,能重复写100?000次以上,数据可保持10年,并可抵抗各种恶劣的使用环境,温度使用范围为-40~+85℃。AT88SC6416CRF采用开放式结构,具有良好的兼容性,允许用户自行选择读卡设备同时与常用的PHILIPS公司的MC531兼容,而且价格低廉,每个芯片售价不到7元人民币。
3 内部结构
AT88SC6416CRF射频卡芯片内部分为RF射频接口电路和其它数字电路两大部分,其功能组成框图如图1所示。
3.1 系统配置区结构
AT88SC6416CRF内有大小为2.048bit的EEP-ROM单元,称为系统配置区,专门用于存储系统数据,如密码、数据编码方式和用户内存中每个扇区的安全级别定义等。对配置区的操作可通过安全熔丝技术对卡的配置区等特定部分的编程写入进行控制。该类操作只能由系统开发者以规定的控制时序逻辑来完成,普通的最终用户?如电子病历卡的使用者?无法改变其中的信息。
3.2 用户区内存结构
AT88SC6416CRF给用户提供有8192个字节?64kB?的EEPROM存储容量,整个用户内存划分为16个扇区,编号为扇区0~扇区15。每个扇区有16个页(page),每个页的长度为32个字节,这样,一个扇区共有32Byte×16=512Byte。用户区内存具体的分配结构如表1所列。
表1 用户EEPROM具体分配结构
扇区0 | 000 | 001 | 002 | 003 | 004 | 005 | 006 | 007 |
共512个字节 | ||||||||
1F8 | 1F9 | 1FA | 1FB | 1FC | 1FD | 1FE | 1FF | |
扇区1~扇区14 | 000 | |||||||
…… | ||||||||
1FF | ||||||||
扇区15 | 000 | 001 | 002 | 003 | 004 | 005 | 006 | 007 |
共512个字节 | ||||||||
1F8 | 1F9 | 1FA | 1FB | 1FC | 1FD | 1FE | 1FF |
3.3 用户区内存的存取
在读卡器(即PCD)对RF卡进行配置时,将会加载安全认证协议,并对每一次读/写操作的当前密码进行双向校验,同时用此安全认证机制来验证数据的正确性。为了保证每个用户扇区的数据安全,每个用户扇区可以配置成自由读/写数据,或者设置操作密码。各个不同的用户扇区可以设置自己互不相同的密码。AT88SC6416CRF芯片内部设有特殊计数器,同时可以限定尝试密码的次数,还可以有效地抵抗外界暴力破解密码的攻击。具体的安全认证过程如图2所示。
在RF卡和识别系统建立起信任关系前,首先应将自己的卡号送给识别系统,以使识别系统计算出一个验明身份的Challenge A,并将它送给RF卡进行校验。RF卡接着计算验明身份的Challenge B,同时将它送回给识别系统进行校验。完成第一次双向校验后,识别系统开始读取密码,并由RF卡对读取的该密码进行检查,检查通过后,将发送检验用的Checksum和数据给识别系统,以便由识别系统对Checksum进行校验。完成上面的第二步双向校验后,识别系统将写密码、数据和Checksum送给RF卡,再由RF卡对Checksum进行校验。完成这第三步双向校验后,双方即可建立起信任关系,同时识别系统即可对RF卡执行读/写操作。
在用户卡与识别系统进行初始化系统配置区时,应当将不同类型的数据存储在不同的区域(即存储在多扇区的结构内),而且只有在分别进行了安全认证后,才能进行存取操作;实际上,也可以给多个扇区选择同样的安全模式,以便把这些扇区当作一块整体存储区域来操作。这种特点为该卡的使用带来了极大的灵活性。
4 工作原理
笔者设计的这种射频识别系统是由镶嵌有AT88SC6416CRF以及天线的用户卡片(PICC)和读写PICC的PCD系统共两部分组成。其中PCD有两种构成方法,第一种是用现成的ISO14443 B读写OEM模块,它带有与PC机可以直接相连的接口,因而可以方便地实现对PICC的操作;第二种方法是只使用专用芯片RF531,它可与MCU(如AT89C52)一起构成PCD,该种方法比较复杂,但由于是从底层做起,灵活程度高,成本也较低。本文具体讨论后者,其电路主要结构如图3所示。
这种方法构成的整个射频识别系统的基本原理是:根据ISO 14443-2规定的要求,用PCD来产生通信的射频场,其工作场频为13.56MHz,该射频场主要通过发射天线给作用范围(10cm)内的PICC传送功率。首先由PCD向PICC发一组固定频率的电磁波,在电磁场的激励下,RF芯片内的LC串联谐振电路产生共振,从而使电容内有了电荷。在这个电容的另一端接有一个单向导通的电子泵,它可以将电荷送到另一个电容内并储存,当所积累的电荷达到规定的电压值时,此电容可作为电源对卡内其他部分的电路提供工作电压,同时将RF芯片内的数据发射出去或接收PCD的数据。
PICC和PCD之间的双向通信遵循ISO14443-2通信标准,主要的通信参数有位持续时间、二进制相移键控、调制系数、不归零NRZ-L位编码方式和副载波。双方具体的识别和对话过程如下:PCD的射频工作场激活→PICC静待来自PCD的命令→PCD命令的传送→PICC响应的传送。
实现整个系统的设计程序代码比较复杂,限于篇幅,本文将不一一列举,有兴趣者,可以参考其它有关文献。
5 典型应用
鉴于AT88SC6416CRF的特点和医院信息化的需要,笔者已将该芯片组成的PICC(便携式门诊病人病历卡)运用到日常的医疗活动中。由于该款RF芯片具有64kB容量的用户EEPROM,因此,根据其自身特点?可以将其全部作为一个大的存储单元?考虑到加密和校验位的开销,每个汉字用20bit,其容量足可存储3276个汉字,可完全满足记录患者门诊病历的需要,从而方便用来存储病人的姓名、性别、年龄、药物过敏史、医疗保险ID号、每次就诊记录和辅助检查结果等文本信息。有了该电子病历,病人就诊时只要在挂号处通过一定流程,(具体为:PCD读卡→打印出处方单→在医生处通过PCD调入以往病历记录→诊疗活动结束→)就可以将本次就诊信息(包括辅助检查结果)记入电子病历以完成诊视过程。医院使用该系统时,只要在现有的医院管理信息系统的基础上,再在挂号处和门诊部的每个工作站增加一个PCD,而不需要很多的资金投入,就可以轻松的实现门诊病人病历的无纸化,从而提升医院微机应用档次,更好地适应建设数字化医院的时代要求。