寵物管理系統(tǒng)中RFID讀卡器設計
文章出處:http://m.overnightmodel.com 作者:陳文浩,朱義勝,張廣璐 人氣: 發(fā)表時間:2011年10月14日
1 引 言
射頻識別技術(Radio Frequency Identification,RFID)是利用無線電波對記錄媒體進行讀寫。射頻識別的距離可達幾十厘米至幾米。根據(jù)讀寫的方式,可以輸入數(shù)千字節(jié)的信息,同時,還具有極高的保密性。RFID系統(tǒng)的卡片與讀寫器之間,無需物理接觸即可完成識別,因此,可實現(xiàn)多目標識別和運動目標識別。低頻系統(tǒng)有讀寫短距離、成本低的特點,主要有125 kHz和134.2 kHz兩種頻率,可用于門禁控制、校園卡、動物監(jiān)管、貨物跟蹤等。本文設計的讀卡器屬于低頻系統(tǒng),使用EM4095構(gòu)成讀寫電路,利用單片機完成Biphase解碼,在寵物管理系統(tǒng)中用來對動物標簽進行識別。
2 工作原理及電路設計
2.1 工作原理
讀卡器采用射頻讀寫芯片EM4095。EM4095的工作模式是由弓I腳SHD和MOD的邏輯電平來控制。當SHD引腳為高電平時,EM4095處于休眠模式。芯片上電時SHD引腳必須為高電平,以便芯片初始化。SHD為低電平時,電路發(fā)射射頻載波,開始解調(diào)天線接收到的AM 信號,解調(diào)的數(shù)字信號通過DEMOD— OUT引腳送到微控制器,以便進行解碼和處理。MOD引腳為高電平時電路處于三態(tài),MOD接地使芯片進入只讀狀態(tài)。
EM4095內(nèi)部集成了鎖相環(huán)系統(tǒng),該系統(tǒng)可自適應調(diào)整天線諧振頻率,發(fā)射1OO~150 kHz的載波,完成讀取射頻卡信息的工作。射頻卡本身不帶電源,是通過負載調(diào)制的方式耦合到應用終端的天線上,需要從EM4O95發(fā)送的射頻信號中提取能量,所以在讀取射頻卡數(shù)據(jù)時,EM4095要連續(xù)發(fā)射射頻載波信號。射頻卡內(nèi)有一個LC串聯(lián)諧振電路,其諧振頻率與射頻載波頻率一致,在電磁波的激勵下,LC諧振電路產(chǎn)生共振,從而產(chǎn)生感應電勢,當電量累積到一定數(shù)量時,就可以作為電源為電路提供工作電壓,將卡內(nèi)信息發(fā)送出去。EM4095通過天線接收射頻卡發(fā)回的信號,并對接收的信號解調(diào),從而得到射頻卡中的信息。然后把信息發(fā)送給單片機,由單片機按照射頻卡的無線通信協(xié)議對數(shù)據(jù)解碼、保存或者通過串口傳給上位機進行處理。
2.2 電路設計
本文設計的讀卡器用于寵物管理系統(tǒng)的手持終端設備中,工作頻率為134.2 kHz。圖1是讀卡器的電路原理圖。
圖1 讀寫器電路原理圖
單片機ATmega88負責接收上位機的指令,驅(qū)動EM4095以及對EM4095發(fā)回的數(shù)據(jù)進行Biphase解碼、校驗,向上位機發(fā)送卡號。單片機ATmega88的PC2,PD7引腳控制EM4095的工作模式,EM4095解調(diào)后的數(shù)據(jù)輸出給單片機的PB0引腳,此引腳具有輸入捕獲功能。基站天線是用銅制漆包線繞制的,天線線圈的直徑遠大于漆包線的直徑。可以采用下面的公式對天線參數(shù)進行計算:
其中:L為線圈的電感;N 為天線線圈的匝數(shù);U。為磁導率,表征磁介質(zhì)磁性的物理量, 其值為1.257×10 -6 V·s/(A·m);R為天線線圈的半徑;d為漆包線的直徑。本文所用的線圈匝數(shù)為120匝,電感為1.54 mH。天線線圈的電感確定后,將天線、電阻(R1)、電容(C21 ,C22 ,C23 )串聯(lián)構(gòu)成諧振電路,可以通過下式來確定總電容值,以保證天線的頻率與EM4095頻率相同。
其中:F0為諧振頻率;動物標簽頻率為134.2 kHz;L為天線線圈的電感;C為電容并聯(lián)的總電容值,通過計算可以得到電容值為912.65 pF。
在調(diào)試過程中,采用3個電容并聯(lián)代替1個電容串聯(lián)到電路中的做法,可以起到高頻濾波、消除脈沖干擾的作用。另外通過調(diào)節(jié)C26 的電容值使EM4095的第8引腳DEM0D_IN上的電壓峰峰值比ANT1,ANT2引腳上的電壓峰峰值小,以便消除無卡時EM4095的雜波輸出,便于單片機對數(shù)據(jù)進行解碼。
3 軟件設計
ISO11784/11785協(xié)議是國際標準化組織對動物RFID做出的技術規(guī)定。其中對全雙工模式做了如下規(guī)定:1個11位(00000000001)的數(shù)據(jù)頭用于識別數(shù)據(jù)流的開始;8個8位的碼組組成64位ID號;2個8位的CRC一16校驗碼碼組;3個8位的包含尾碼的碼組;每個碼組的后面都加上一個控制碼“1”,防止數(shù)據(jù)頭重復出現(xiàn)。動物標簽采用只讀芯片EM4105,采用RF/32的傳輸波特率,數(shù)據(jù)編碼方式為Biphase編碼,存儲了128位數(shù)據(jù)信息。
圖2為Biphase編碼波形圖
Biphase編碼的特點是二進制碼“0”在半位周期時跳變,“1”在半位周期時無跳變,并且“0”和“1”在位周期時都跳變,正好可以利用這一特點解碼。通過計算可以得知位周期為238.5 μs,半位周期為119 μs。圖3為讀卡流程圖。
圖3 讀卡流程圖
讀卡過程先對系統(tǒng)進行初始化,單片機ATmega88的T/C1內(nèi)部有輸入捕獲單元,可應用于精確捕獲一個外部事件的發(fā)生以及事件發(fā)生的時間印記。EM4095解調(diào)輸出的波形輸入到單片機的ICP1引腳,單片機進行跳變沿捕獲,定時器捕捉中斷的觸發(fā)方式必須采用上升沿和下降沿交替進行。也就是說,在下降沿捕捉中斷處理程序中設置下次捕捉中斷的觸發(fā)方式為上升沿,在上升沿捕捉中斷處理程序中設置下次捕捉中斷的觸發(fā)方式為下降沿。算出兩次跳變的時間間隔,根據(jù)時間間隔是否在一定的容差范圍內(nèi)判斷是半位周期還是位周期,判定碼元的“0”,“1”值。解碼之后去掉用來防止數(shù)據(jù)頭重復出現(xiàn)的尾碼,數(shù)據(jù)保存后查找ll位的數(shù)據(jù)頭,找到數(shù)據(jù)頭后對對64位ID號進行CRC校驗,校驗通過后便可獲得動物標簽ID號。
4 結(jié)語
本文介紹射頻基站芯片EM4095的結(jié)構(gòu)及功能,并利用EM4095設計用于寵物管理系統(tǒng)的讀卡器,給出了軟硬件的設計方法。通過實際測試,本文設計的讀卡器可以穩(wěn)定地工作,讀取距離約為3 cm,讀取速度也能達到要求。在原有軟件基礎上稍微改動就可以讀取曼徹斯特編碼的標簽,具有很強的通用性。
(大連海事大學信息工程學院 陳文浩,朱義勝,張廣璐)