基于射頻卡芯片AT88SC6416CRF設(shè)計(jì)的門(mén)診電子病歷
摘要:介紹了一套基于AT88SC6416CRF開(kāi)發(fā)醫(yī)院門(mén)診電子病歷的射頻識(shí)別系統(tǒng)設(shè)計(jì)方法。該系統(tǒng)既能方便安全地記錄門(mén)診病人相關(guān)的各種就診信息,又能確保數(shù)據(jù)在傳輸過(guò)程中的安全性,完全可以滿(mǎn)足門(mén)診電子病歷的基本要求。
關(guān)鍵詞:射頻識(shí)別系統(tǒng)?電子病歷?AT88SC6416CRF
1 引言
射頻卡(簡(jiǎn)稱(chēng)RF卡)是一種新式非接觸IC卡,具有使用壽命長(zhǎng)、對(duì)讀寫(xiě)設(shè)備(PCD)無(wú)物理磨損、不存在因接觸而引起病菌交叉?zhèn)魅镜葍?yōu)點(diǎn),所以特別適用于在醫(yī)院這種特殊場(chǎng)所進(jìn)行信息儲(chǔ)存。RF卡的關(guān)鍵部分為鑲嵌在卡片內(nèi)部的RF芯片,下面以AT-MEL公司的AT88SC6416CRF射頻卡芯片為例來(lái)討論其在門(mén)診電子病歷中的應(yīng)用。
2 芯片簡(jiǎn)介
AT88SC6416CRF射頻卡芯片在出廠(chǎng)時(shí)已被做成封裝好的微型模塊,其體積僅為5.06×8.00×0.38mm3。內(nèi)部帶有64kB的用戶(hù)EEPROM和2kB的系統(tǒng)EEPROM,遵循ISO14443 B標(biāo)準(zhǔn),使用13.56MHz頻段,內(nèi)設(shè)防重疊系統(tǒng),可支持多卡同時(shí)使用。該器件采用3組64位長(zhǎng)、相互加密校驗(yàn)的密鑰和密碼對(duì),能重復(fù)寫(xiě)100?000次以上,數(shù)據(jù)可保持10年,并可抵抗各種惡劣的使用環(huán)境,溫度使用范圍為-40~+85℃。AT88SC6416CRF采用開(kāi)放式結(jié)構(gòu),具有良好的兼容性,允許用戶(hù)自行選擇讀卡設(shè)備同時(shí)與常用的PHILIPS公司的MC531兼容,而且價(jià)格低廉,每個(gè)芯片售價(jià)不到7元人民幣。
3 內(nèi)部結(jié)構(gòu)
AT88SC6416CRF射頻卡芯片內(nèi)部分為RF射頻接口電路和其它數(shù)字電路兩大部分,其功能組成框圖如圖1所示。
3.1 系統(tǒng)配置區(qū)結(jié)構(gòu)
AT88SC6416CRF內(nèi)有大小為2.048bit的EEP-ROM單元,稱(chēng)為系統(tǒng)配置區(qū),專(zhuān)門(mén)用于存儲(chǔ)系統(tǒng)數(shù)據(jù),如密碼、數(shù)據(jù)編碼方式和用戶(hù)內(nèi)存中每個(gè)扇區(qū)的安全級(jí)別定義等。對(duì)配置區(qū)的操作可通過(guò)安全熔絲技術(shù)對(duì)卡的配置區(qū)等特定部分的編程寫(xiě)入進(jìn)行控制。該類(lèi)操作只能由系統(tǒng)開(kāi)發(fā)者以規(guī)定的控制時(shí)序邏輯來(lái)完成,普通的最終用戶(hù)?如電子病歷卡的使用者?無(wú)法改變其中的信息。
3.2 用戶(hù)區(qū)內(nèi)存結(jié)構(gòu)
AT88SC6416CRF給用戶(hù)提供有8192個(gè)字節(jié)?64kB?的EEPROM存儲(chǔ)容量,整個(gè)用戶(hù)內(nèi)存劃分為16個(gè)扇區(qū),編號(hào)為扇區(qū)0~扇區(qū)15。每個(gè)扇區(qū)有16個(gè)頁(yè)(page),每個(gè)頁(yè)的長(zhǎng)度為32個(gè)字節(jié),這樣,一個(gè)扇區(qū)共有32Byte×16=512Byte。用戶(hù)區(qū)內(nèi)存具體的分配結(jié)構(gòu)如表1所列。
表1 用戶(hù)EEPROM具體分配結(jié)構(gòu)
扇區(qū)0 | 000 | 001 | 002 | 003 | 004 | 005 | 006 | 007 |
共512個(gè)字節(jié) | ||||||||
1F8 | 1F9 | 1FA | 1FB | 1FC | 1FD | 1FE | 1FF | |
扇區(qū)1~扇區(qū)14 | 000 | |||||||
…… | ||||||||
1FF | ||||||||
扇區(qū)15 | 000 | 001 | 002 | 003 | 004 | 005 | 006 | 007 |
共512個(gè)字節(jié) | ||||||||
1F8 | 1F9 | 1FA | 1FB | 1FC | 1FD | 1FE | 1FF |
3.3 用戶(hù)區(qū)內(nèi)存的存取
在讀卡器(即PCD)對(duì)RF卡進(jìn)行配置時(shí),將會(huì)加載安全認(rèn)證協(xié)議,并對(duì)每一次讀/寫(xiě)操作的當(dāng)前密碼進(jìn)行雙向校驗(yàn),同時(shí)用此安全認(rèn)證機(jī)制來(lái)驗(yàn)證數(shù)據(jù)的正確性。為了保證每個(gè)用戶(hù)扇區(qū)的數(shù)據(jù)安全,每個(gè)用戶(hù)扇區(qū)可以配置成自由讀/寫(xiě)數(shù)據(jù),或者設(shè)置操作密碼。各個(gè)不同的用戶(hù)扇區(qū)可以設(shè)置自己互不相同的密碼。AT88SC6416CRF芯片內(nèi)部設(shè)有特殊計(jì)數(shù)器,同時(shí)可以限定嘗試密碼的次數(shù),還可以有效地抵抗外界暴力破解密碼的攻擊。具體的安全認(rèn)證過(guò)程如圖2所示。
在RF卡和識(shí)別系統(tǒng)建立起信任關(guān)系前,首先應(yīng)將自己的卡號(hào)送給識(shí)別系統(tǒng),以使識(shí)別系統(tǒng)計(jì)算出一個(gè)驗(yàn)明身份的Challenge A,并將它送給RF卡進(jìn)行校驗(yàn)。RF卡接著計(jì)算驗(yàn)明身份的Challenge B,同時(shí)將它送回給識(shí)別系統(tǒng)進(jìn)行校驗(yàn)。完成第一次雙向校驗(yàn)后,識(shí)別系統(tǒng)開(kāi)始讀取密碼,并由RF卡對(duì)讀取的該密碼進(jìn)行檢查,檢查通過(guò)后,將發(fā)送檢驗(yàn)用的Checksum和數(shù)據(jù)給識(shí)別系統(tǒng),以便由識(shí)別系統(tǒng)對(duì)Checksum進(jìn)行校驗(yàn)。完成上面的第二步雙向校驗(yàn)后,識(shí)別系統(tǒng)將寫(xiě)密碼、數(shù)據(jù)和Checksum送給RF卡,再由RF卡對(duì)Checksum進(jìn)行校驗(yàn)。完成這第三步雙向校驗(yàn)后,雙方即可建立起信任關(guān)系,同時(shí)識(shí)別系統(tǒng)即可對(duì)RF卡執(zhí)行讀/寫(xiě)操作。
在用戶(hù)卡與識(shí)別系統(tǒng)進(jìn)行初始化系統(tǒng)配置區(qū)時(shí),應(yīng)當(dāng)將不同類(lèi)型的數(shù)據(jù)存儲(chǔ)在不同的區(qū)域(即存儲(chǔ)在多扇區(qū)的結(jié)構(gòu)內(nèi)),而且只有在分別進(jìn)行了安全認(rèn)證后,才能進(jìn)行存取操作;實(shí)際上,也可以給多個(gè)扇區(qū)選擇同樣的安全模式,以便把這些扇區(qū)當(dāng)作一塊整體存儲(chǔ)區(qū)域來(lái)操作。這種特點(diǎn)為該卡的使用帶來(lái)了極大的靈活性。
4 工作原理
筆者設(shè)計(jì)的這種射頻識(shí)別系統(tǒng)是由鑲嵌有AT88SC6416CRF以及天線(xiàn)的用戶(hù)卡片(PICC)和讀寫(xiě)PICC的PCD系統(tǒng)共兩部分組成。其中PCD有兩種構(gòu)成方法,第一種是用現(xiàn)成的ISO14443 B讀寫(xiě)OEM模塊,它帶有與PC機(jī)可以直接相連的接口,因而可以方便地實(shí)現(xiàn)對(duì)PICC的操作;第二種方法是只使用專(zhuān)用芯片RF531,它可與MCU(如AT89C52)一起構(gòu)成PCD,該種方法比較復(fù)雜,但由于是從底層做起,靈活程度高,成本也較低。本文具體討論后者,其電路主要結(jié)構(gòu)如圖3所示。
這種方法構(gòu)成的整個(gè)射頻識(shí)別系統(tǒng)的基本原理是:根據(jù)ISO 14443-2規(guī)定的要求,用PCD來(lái)產(chǎn)生通信的射頻場(chǎng),其工作場(chǎng)頻為13.56MHz,該射頻場(chǎng)主要通過(guò)發(fā)射天線(xiàn)給作用范圍(10cm)內(nèi)的PICC傳送功率。首先由PCD向PICC發(fā)一組固定頻率的電磁波,在電磁場(chǎng)的激勵(lì)下,RF芯片內(nèi)的LC串聯(lián)諧振電路產(chǎn)生共振,從而使電容內(nèi)有了電荷。在這個(gè)電容的另一端接有一個(gè)單向?qū)ǖ碾娮颖?,它可以將電荷送到另一個(gè)電容內(nèi)并儲(chǔ)存,當(dāng)所積累的電荷達(dá)到規(guī)定的電壓值時(shí),此電容可作為電源對(duì)卡內(nèi)其他部分的電路提供工作電壓,同時(shí)將RF芯片內(nèi)的數(shù)據(jù)發(fā)射出去或接收PCD的數(shù)據(jù)。
PICC和PCD之間的雙向通信遵循ISO14443-2通信標(biāo)準(zhǔn),主要的通信參數(shù)有位持續(xù)時(shí)間、二進(jìn)制相移鍵控、調(diào)制系數(shù)、不歸零NRZ-L位編碼方式和副載波。雙方具體的識(shí)別和對(duì)話(huà)過(guò)程如下:PCD的射頻工作場(chǎng)激活→PICC靜待來(lái)自PCD的命令→PCD命令的傳送→PICC響應(yīng)的傳送。
實(shí)現(xiàn)整個(gè)系統(tǒng)的設(shè)計(jì)程序代碼比較復(fù)雜,限于篇幅,本文將不一一列舉,有興趣者,可以參考其它有關(guān)文獻(xiàn)。
5 典型應(yīng)用
鑒于AT88SC6416CRF的特點(diǎn)和醫(yī)院信息化的需要,筆者已將該芯片組成的PICC(便攜式門(mén)診病人病歷卡)運(yùn)用到日常的醫(yī)療活動(dòng)中。由于該款RF芯片具有64kB容量的用戶(hù)EEPROM,因此,根據(jù)其自身特點(diǎn)?可以將其全部作為一個(gè)大的存儲(chǔ)單元?考慮到加密和校驗(yàn)位的開(kāi)銷(xiāo),每個(gè)漢字用20bit,其容量足可存儲(chǔ)3276個(gè)漢字,可完全滿(mǎn)足記錄患者門(mén)診病歷的需要,從而方便用來(lái)存儲(chǔ)病人的姓名、性別、年齡、藥物過(guò)敏史、醫(yī)療保險(xiǎn)ID號(hào)、每次就診記錄和輔助檢查結(jié)果等文本信息。有了該電子病歷,病人就診時(shí)只要在掛號(hào)處通過(guò)一定流程,(具體為:PCD讀卡→打印出處方單→在醫(yī)生處通過(guò)PCD調(diào)入以往病歷記錄→診療活動(dòng)結(jié)束→)就可以將本次就診信息(包括輔助檢查結(jié)果)記入電子病歷以完成診視過(guò)程。醫(yī)院使用該系統(tǒng)時(shí),只要在現(xiàn)有的醫(yī)院管理信息系統(tǒng)的基礎(chǔ)上,再在掛號(hào)處和門(mén)診部的每個(gè)工作站增加一個(gè)PCD,而不需要很多的資金投入,就可以輕松的實(shí)現(xiàn)門(mén)診病人病歷的無(wú)紙化,從而提升醫(yī)院微機(jī)應(yīng)用檔次,更好地適應(yīng)建設(shè)數(shù)字化醫(yī)院的時(shí)代要求。