【正文】
接觸雙向數(shù)據(jù)通信并對目標(biāo)加以識別和獲取相關(guān)信息數(shù)據(jù)的技術(shù)。 關(guān)鍵詞: RFID 射頻技術(shù); MF RC522 讀寫器; IC 卡; 51 單片機(jī);電子病歷系統(tǒng) II Design of RFID Medical Records Electronic Systems LIU Zhiqiang Abstract RFID(Radio Frequency Identification) is a radio frequency by way of noncontact and twoway data munication objectives are identified and access to information technologyrelated data. As the technology matures, RFID radio frequency identification technology has been widely used in people39。 51SCM。由于電子標(biāo)簽的存儲空間可以有 96 位以上,因此它徹底的拋棄了條形碼技術(shù)的諸多限制。RFID 射頻卡的成本一直在下降。在北美、歐洲、大洋洲、亞太地區(qū)及非洲南部, RFID 技術(shù)已經(jīng)廣泛應(yīng)用于工業(yè)自動化、商業(yè)自動化、交通運(yùn)輸控制管理等眾多領(lǐng)域如:高速公路收費(fèi)及智能公交系統(tǒng)、生產(chǎn)的自動化及過程控制、車輛識別及防盜、電子票子、物流跟蹤管理及監(jiān)控、倉儲及配送管理、郵件的自動分揀系統(tǒng)、門禁保安,動物跟蹤及管理、運(yùn)動計時、防偽等。電子標(biāo)簽沒有裸露的電氣接口,同識別設(shè)備的數(shù)據(jù)交換以無線方式進(jìn)行,具有極大的靈活性和通用性。將成為物聯(lián)網(wǎng)技術(shù)及未 來信息社會建設(shè)的基礎(chǔ)技術(shù)。此外,由于雙頻系統(tǒng)具備低、高頻的共同優(yōu)點(diǎn),所以,雙頻系統(tǒng)也會有廣泛的應(yīng)用。 因此,基于 RFID 系統(tǒng)在信息管理中的優(yōu)勢,本文選取了 RFID 技術(shù)在醫(yī)療信息管理中的應(yīng)用作為研究方向,確定題目《 RFID 電子病歷系統(tǒng)》。 2. RFID 系統(tǒng)設(shè)計原理 本設(shè)計的射頻識別系統(tǒng) 基本構(gòu)成 由電子標(biāo)簽、讀寫器、計算機(jī)通信網(wǎng)絡(luò)三部分組成,如圖 21 所示: 圖 21 射頻識別系統(tǒng)的結(jié)構(gòu)框圖 電子標(biāo)簽 電子標(biāo)簽存儲著需要被識別物品的相關(guān)信息,通常被放置在需要識別的物品上,它所存儲的信息通??杀蛔x寫器通過非接觸方式讀寫。電子標(biāo)簽的天線用來感應(yīng)閱讀器所發(fā)射出來的射頻能量,完成數(shù)據(jù)的更新。軟件部分負(fù)責(zé)對閱讀器接 收到的指令進(jìn)行響應(yīng)和對標(biāo)簽發(fā)出相應(yīng)的動作指令;與應(yīng)用系統(tǒng)軟件進(jìn)行通信;執(zhí)行防碰撞算法等。 高頻接口和控制器之間的接口將高頻接口的狀態(tài)以二進(jìn)制的形式表示出來。 射頻識別系統(tǒng)的基本工作流程 ( 1)讀寫器將無線電載波信號經(jīng)過發(fā)射天線想歪發(fā)射; ( 2)當(dāng)電子標(biāo)簽進(jìn)入發(fā)射天線的工作區(qū) 時,電子標(biāo)簽被激活,將自身信息的代碼經(jīng)天線發(fā)射出去 ??傮w設(shè)計邏輯如圖 31 所示。 5 圖 32 STC8951 控制電路 RS232 串口通信電路 在 51 單片機(jī)和上位機(jī)通信的接口方式上可以采用 RS232 串口、 USB、 RJ45 網(wǎng)絡(luò)接口等接口方式,其中采用串口方式實(shí)現(xiàn)起來最簡單,而且造價低,功能完全滿足要求,因此選擇了RS232 串口通信方式作為整個系統(tǒng)和上位機(jī)之間的通信接口,如圖 33 所示。 在 SPI 通信中 MFRC522 模塊作為從機(jī)。電路如圖 35 所示。 FIFO 緩沖區(qū)快速而方便的實(shí)現(xiàn)了主機(jī)和非接觸式 UART 的數(shù)據(jù)傳輸。 9 圖 41 電子病歷系統(tǒng)結(jié)構(gòu)簡圖 建立醫(yī)療信息數(shù)據(jù)庫 在這個 RFID 電子病歷系統(tǒng)中,數(shù)據(jù)庫是系統(tǒng)的重要組成部分。用于記錄醫(yī)生的 ID、姓名、性別、職稱、部門、所屬醫(yī)院、登錄用戶名、登錄密碼。用于記錄醫(yī)院的 ID、名稱、等級。 為了實(shí)現(xiàn)居民的醫(yī)療信息的管理查閱和方便醫(yī)療工作的展開,上位機(jī)程序有幾大窗口: (1) 入口選擇窗口,用于區(qū)分醫(yī)護(hù)人員和普通居民。單擊“登錄”程序就會將輸入信息與數(shù)據(jù)庫中醫(yī)生信息表(登錄名、密碼、部門)和管理人員(登錄名、密碼)信息表中數(shù)據(jù)比較,分別打開醫(yī)生就診 窗口、抓藥管理窗口、數(shù)據(jù)管理窗口。天線拾取的信號經(jīng)天線匹配電路送到 RX 引腳。如圖 416 所示: 15 圖 416 下位 機(jī)系統(tǒng)初始化 讀射頻卡程序設(shè)計 每張卡片的序列號是唯一的且卡片的序列號存儲在卡片的 EEPROM 的扇區(qū) 0 的塊 0。 圖 417 讀卡序列號 16 下位機(jī)串口通信程序 單片機(jī)可以采用中斷方式或查詢 RI(接受中斷標(biāo)志位)或 TI(發(fā)送中斷標(biāo)志位)方式進(jìn)行數(shù)據(jù)通信②。在這次開發(fā)和論文撰寫過程中,我查閱了大量的書籍資料和技術(shù)手冊,并搜集了大量的設(shè)計模型,使我軟硬件設(shè)計水平有了較大幅度 的提高。 在本系統(tǒng)設(shè)計中還存在一些的遺留問題如: 1)登錄密碼未能采用密文輸入,容易泄露用戶信息; 2)居民自助查詢未采用密碼登錄; 3)系統(tǒng)未實(shí)現(xiàn)對射頻卡的寫數(shù)據(jù)操作。感謝楊老師從開題、設(shè)計到寫論文過程中的指導(dǎo)和關(guān)心。設(shè)Θ 置 ?串 ?口 = str 39。 止 1位 ? = 39。號 ?或242。證164。失骸 敗悒 ! ?) = End If End If Catch ex As Exception () End Try End Sub 就診: Private Sub ComReceive1(ByVal sender As Object, ByVal e As EventArgs) Dim i As Integer = 0 Dim Rxbuf(10) As Byte Dim TxBuf(10) As Char Dim CardNo As String = Dim CardType As String = Dim UserName As String = Dim CarNo As String = Dim CardMoney As String = Dim CardStatus As String = Dim Flag As String = Dim Temp As String = Dim OK As Boolean = False 39。的 ?延243。號 ?=39。, MyCon) Dim read As OleDbDataReader read = () Dim str As String While () str = read(卡168。 ).ToString = read(記 μ錄244。時骸 = = = = = 無 T效167。的 ?延243。時骸 End If End If If Flag = 01 And OK = True Then 39。 ) = DR(性μ別244。 / amp。 _ amp。 : amp。 unsigned char idata MLastSelectedSnr[4]。 void iccardcode() { unsigned char cmd。 RevBuffer[0]=1。RevBuffer[2])。 RevBuffer[1]=status。 break。 RevBuffer[1]=status。 RevBuffer[0]=5。 if(status!=MI_OK) { RevBuffer[0]=1。 RevBuffer[1]=status。// 校驗(yàn)卡密碼 RevBuffer[0]=1。 RevBuffer[1]=status。 break。} else {RevBuffer[0]=1。RevBuffer[2])。 case 10: PcdValue(RevBuffer[1],RevBuffer[2],amp。 break。 break。 ET2 = 0。 TMOD = 0x21。 TR1 = 1。 ET0=0。 IT0 = 1。 LED_GREEN = 1。 M500PcdConfigISOType( 39。 delay_10ms(10)。 } ///////////////////////////////////////////////////////////////////// //用 T2 做延時子程序 ///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // 接收和發(fā)送中斷 /////////////////////////////////////////////////////////////////////// void isr_UART(void) interrupt 4 using 1 { unsigned char len, i。 for(i=0。 } } if(j1000) { RevBuffer[i]=SBUF。 } } if(i==len) { REN=0。 TI) { TI=0。i++) { SBUF=RevBuff