射頻識別讀寫器的製作方法
2023-05-23 15:03:11 4
專利名稱:射頻識別讀寫器的製作方法
技術領域 本實用新型涉及一種識別技術,特別涉及一種基於無線通信和自動識別技術相結合的非接觸式識別技術。
背景技術:
我國在醫院信息化方面起步較晚,目前大部分醫院的病歷記錄方式主要是插卡式或者刷卡式讀寫器,它們容易造成卡的損壞和交叉感染,操作繁瑣區分正反面以至工作效率低,保密性不強,傳輸數據時間較長。隨著提高臨床工作效率的壓力越來越大,醫療工作者正在呼籲一種更為可靠的系統,以便在診斷患者時可以幫助他們更容易更直接地獲得他們需要的信息。
發明內容
本實用新型是針對現在電子病歷信息管理方面的不足問題,提出了一種射頻識別讀寫器,採用射頻識別(RFID)技術的電子病歷方式,實現電子病歷卡信息和讀卡器的非接觸式數據傳輸,並且簡單高效易操作,保密性強,穩定性好。
本實用新型的技術方案為一種射頻識別讀寫器,包括射頻模塊、主控模塊、串口通信模塊及天線外圍電路,上位機通過串口通信模塊將信號送入主控模塊,同時主控模塊將數據和信號通過串口通信模塊送回上位機,主控模塊將信號輸出到射頻模塊,射頻模塊根據射頻模塊的輸入信號,輸出信號給天線外圍電路,發出讀寫信號。上位機通過串口通信模塊將信號送入主控模塊,然後主控模塊發出操作信號到射頻模塊,射頻模塊根據射頻模塊的輸入信號,輸出信號給天線外圍電路,發出讀寫信號,同時主控模塊再將數據和信號通過串口通信模塊送回上位機。
所述射頻模塊選用RC500晶片,所述主控模塊選用AT89S52晶片。所述AT89S52的引腳PD2中斷0(INT0)接RC500的中斷請求端IRQ管腳。
本實用新型的有益效果在於本實用新型射頻識別讀寫器,採用射頻識別(RFID)技術的電子病歷方式,實現電子病歷卡信息和讀卡器的非接觸式數據傳輸,提供了一個便捷、可靠、快速的信息儲存,既提高了醫院的業務效率,又方便了患者。
圖1為本實用新型射頻識別系統結構示意圖; 圖2為本實用新型射頻識別讀寫器結構框圖; 圖3為本實用新型射頻識別讀寫器中RC500與AT89S52的引腳連接圖; 圖4為本實用新型射頻識別讀寫器中天線與RC500的連接圖; 圖5為本實用新型射頻識別讀寫器中防衝突循環流程圖。
具體實施方式
如圖1所示RFID(Radio Frequency Identification,射頻識別)系統的結構圖,典型的射頻識別系統由讀寫器和非接觸式IC卡兩部分組成。讀寫器同非接觸式IC卡之間進行無線通訊,因此二者都具有無線收發模塊及天線。
如圖2所示讀寫器結構框圖主要包括射頻模塊3、主控模塊2、串口通信模塊1及天線外圍電路4。射頻模塊3選用的RC500晶片是與Mifare卡實現無線通信的核心部件,也是讀寫Mifare卡的關鍵接口晶片。該晶片採用先進的調製和解調技術,可用於對應答信號進行解調和解碼。主控模塊2來控制射頻模塊3的RC500晶片,驅動天線外圍電路4對Mifare卡進行讀寫操作。上位機通過串口通信模塊1與讀寫器的主控模塊AT89S52相連,發送讀卡、寫卡等命令,接收主控模塊2的數據與操作信號。
如圖3所示RC500晶片引腳1(OSCIN),32(OSCOUT)為晶振輸入輸出端,外接13.56MHz的時鐘電路作為同步系統的編碼器和解碼器的時間基準,同時也作為信號的載波頻率。引腳2(IRQ)為中斷請求端,通過在寄存器中設置IRQ位指示一定的事件並使IRQ腳有效,其埠和單片機的中斷0相連接。引腳5(TX1),7(TX2)為發送器,發送由包絡信號調製的13.56MHz的載波;引腳29(RX)為接收器輸入,卡應答輸入腳。引腳9(NCS)為片選禁止信號,接單片機的I/O口線P2.7。引腳13~20(D0~D7)為8位雙向數據總線,在本系統中,此8位數據埠與單片機數據埠P0口直接連接並進行數據傳送;引腳21(ALE)為地址鎖存使能信號,接單片機的地址鎖存。
如圖4所示本讀卡器的創新點是將可調電容Cvar並聯到C2上,這樣可以根據實際情況對電容作出微調,從而對天線設計進行優化,使得讀寫距離可可擴大到90mm。
軟體系統的改進以往的讀寫器每次只能進行單張卡的讀取,如果多張卡進入讀卡器讀寫範圍內,極易造成讀卡器的死機。本軟體系統採用了防衝突指令,如果有多張卡同時在讀寫器讀寫範圍內,讀寫器將會首先與每一張卡進行通信,讀取每一張卡的序列號(Serial Number)。由於每一張Mifareone卡都具有惟一的序列號,絕不會相同,因此程式設計師將啟動讀寫器中的AntiCollision防碰撞功能配合卡上的防重疊功能模塊,根據卡序列號來選定其中一張卡。被選中的卡將被激活,可以與讀寫器進行數據交換;而未被選中的卡處於等待狀態,隨時準備與讀寫器進行通信。
讀寫器通過發送ANTICOLLISION和SELECT命令執行防衝突循環操作,這兩條命令的格式如下表 其中SEL為命令代碼,SEL代碼為93、95或97,分別對應於UID CL1、UID CL2或UID CL3;NVB表示此次防衝突命令的UID域中正確的比特數;BCC字節只有在UID的4位元組都正確時才存在,它表示此時整個UID都被識別,防衝突流程結束。
如圖5所示為讀寫器(PCD)完成位幀防衝突的流程圖,其操作步驟如下 1)讀寫器將用於與選擇防衝突類型和級別的代碼賦值給SEL。
2)讀寫器將「20H」賦值給NVB,此值表示PCD不發出UID CLn的任一部分,而迫使在場的PICC發回完整的UID CLn。
3)讀寫器發送SEL和NVB到射頻卡。
4)在讀寫範圍內的所有卡片返回UID CLn。
5)假如多於一個卡發回應答,則產生了衝突,此時讀寫器接收到的應答信息至少有1位既是0又是1,即該位的前半部分和後半部分都有調製信號。如果不發生衝突,則可跳過(6)~(10)步。讀寫器應認出第1個發生衝突的位置。
6)讀寫器指定NVB的值為UID CLn的有效位個數,所謂「有效位」是指接收到的UID CLn發生衝突之前的部分,後面再由PCD決定加一位「0」或「1」。一般加「1」。
7)讀寫器發送命令SEL NVB和有效位數據。
8)只有其UID CLn部分與PCD發送的有效數據內容相等時,才發出UID CLn的其餘位。這樣就排除了衝突位為「0」的PICC。
9)假如還有衝突發生,重複(6)~(9)步,最大循環次數為32。
10)假如沒有衝突再發生,讀寫器指定NVB為「70H」,此值表示讀寫器將發送完整的UID CLn。
11)讀寫器發送命令SEL、NVB、帶有CRC_A校驗的40BIT UID CLn。
12)與40位UID CLn匹配的PICC,以SAK作為應答。
進行防衝突時,讀寫器將得到卡片的序列號(Serial Number)。序列號存儲在卡的Block 0中,共有5個字節,實際有用的為4個字節,另一個字節為序列號的校驗字節。
防衝突函數為 char M500PiccCascAnticoll(0,unsigned char *snr) *snr是輸出函數,表示卡向讀寫器返回的序列號。
char M500PiccCascAnticoll(unsigned char bcnt,unsigned char *snr) { …… while(!complete &&(status==MI)OK))//正執行防衝突子程序 { ResetInfo(MInfo); WriteIO(RegChannelRedundancy,0x03); nbits=bcnt%8; //已經接收到的位數 if(nbits) //如果接收的末位數不為0 { WriteIO(RegBitFraming,nbits<<4|nbits); nbytes=bcnt/8+1; //已經接收到的字節數 …… } else //如果接收到的末位數為0 { nbytes=bcnt/8; //已經接收到的字節數 } SerBuffer[0]=0x93;//命令代碼 SerBuffer[1]=0x20+((bcnt/8)<<4)+nbits;//要發送的數據位 for(i=0;i<nbytes;i++) { SerBuffer[i+2]=snr_in[i];//已知的卡序列號賦值給發送的系列號 } if(status==MI_OK||status==MI_COLLERR) { if(MInfo.nBitsReceived!=(40-bcnt))//如果接收的字節數不為5 { status=MI_BITCOUNTERR;//位錯誤 } else { byteOffset=0; if(nbits!=0) { snr_in[nbytes-1]=snr_in[nbytes-1]|SerBuffer[0]; byteOffset=1; } for(i=0;i<(4-nbytes);i++) { snr_in[nbytes+i]=SerBuffer[i+byteOffset]; //把發送存儲器的序列號依次送給snr } if(status!=MI_COLLERR)//無誤也無碰撞 { dummyShift2=snr_in[0]^snr_in[1]^snr_in[2]^snr_in[3]; //用循環冗餘檢驗傳輸數位是否正確 dummyShift1=SerBuffer[MInfo.nBytesReceived-1]; if(dummyShift2!=dummyShift1) //如果校驗不對,則狀態標示為校驗錯誤 { status=MI_SERNRERR; } else { complete=l; } } else//碰撞發生 { bcnt=bcnt+MInfo.collPos-nbits; //最終接收數等於已接受的位數加上碰撞位 status=MI_OK; } } } } …… return status; } 設計說明 1.進行射頻電路PCB設計時,除了要考慮普通PCB設計的布局外,還需考慮如何減小電路中各部分之間的相互幹擾,尤其是減小天線與射頻電路之間的幹擾;由於天線和讀卡器的分離,在實際使用中極大方便了使用者。
2.在射頻電路PCB設計中,電源線和地線的合理布局可以最大程度克服電磁幹擾的重要手段。為了降低電源於地線之間噪音,我們採取三個措施1)在電源線與地線之間加上去藕電容;2)電源線比一般數據連線粗;3)用大面積銅層作地線用,在印製板上把沒有被用上的地方都與地相連作為地線用。
3.為了消除高頻幹擾,數字電源與模擬電源之間接入10μH電感。數字地與模擬地公用一個地;電源電路的去藕合電容選用貼片式的,儘量和電源腳靠近,均勻貼放在RC500晶片輪廓外側。
權利要求1.一種射頻識別讀寫器,其特徵在於,包括射頻模塊、主控模塊、串口通信模塊及天線外圍電路,上位機通過串口通信模塊將信號送入主控模塊,同時主控模塊將數據和信號通過串口通信模塊送回上位機,主控模塊將信號輸出到射頻模塊,射頻模塊根據射頻模塊的輸入信號,輸出信號給天線外圍電路,發出讀寫信號。
2.根據權利要求1所述射頻識別讀寫器,其特徵在於,所述射頻模塊選用RC500晶片,所述主控模塊選用AT89S52晶片。
3.根據權利要求2所述射頻識別讀寫器,其特徵在於,所述AT89S52的引腳PD2中斷0(INT0)接RC500的中斷請求端IRQ管腳。
專利摘要本實用新型涉及一種射頻識別讀寫器,包括射頻模塊、主控模塊、串口通信模塊及天線外圍電路,將信號接收處理後發送出去,實現電子病歷卡信息和讀卡器的非接觸式數據傳輸,提供了一個便捷、可靠、快速的信息儲存,既提高了醫院的業務效率,又方便了患者。並且讀寫器擴展性強,性價比高,功耗低,性能穩定,抗幹擾能力強。
文檔編號G06K17/00GK201556217SQ20092021016
公開日2010年8月18日 申請日期2009年9月25日 優先權日2009年9月25日
發明者李向東, 樂建威, 王新圖, 杜銘唐, 曾念章 申請人:上海理工大學