- 相關推薦
非接觸式e5551讀寫器的開發
摘要:介紹了非接觸式e5551卡工作原理和與單片機的接口,給出了非接觸式e5551卡讀寫器的硬件電路和讀卡、寫卡程序流程圖。關鍵詞:非接觸式卡 射頻識別 讀寫器 RF
射頻識別RFID?Radio Frequency Identification?技術是二十世紀九十年代興起的一項自動識別技術,它利用無線射頻方式進行非接觸式雙向通信。RFID系統中卡片與讀寫器之間無須物理接觸即可完成識別,可實現多目標識別和運動目標識別,應用范圍更加廣泛。
根據工作頻率不同,RFID系統可分為低頻、中頻、高頻系統。低頻系統一般工作在100kHz~500kHz,中頻系統工作在10MHz~15MHz,它們主要適用于短距離、低成本識別?高頻系統工作在850MHz~950MHz以及2.4GHz~5GHz的微波段,適用于距離長、讀寫數據率高的場合。本文介紹的e5551 RFID系統屬于低頻系統,工作頻率范圍為100kHz~150kHz,最大識別距離約為20cm。
(范文先生網www.baimashangsha.com收集整理)
1 非接觸式e5551卡工作原理
e5551 RFID系統組成如圖1所示。其中PC通過RS485通信遠程操作e5551讀寫器。讀寫器利用微控制器(MCU)與e5551卡進行交互讀寫。
通過e5551卡內線圈在特定交變磁場?100kHz~150kHz?中耦合,e5551獲得感應電流,再通過整流得到直流加到卡內電路,e5551得到工作電壓和電流。通過讀寫器的線圈感應e5551卡產生的磁場來讀取e5551發送的數據。
1.1 e5551卡的存儲結構
e5551卡內置264位EEPROM。這些EEPROM共分為8塊,每塊33位,其分布如圖2所示。其中BLOCK0存儲e5551卡的參數設置信息;BLOCK7在口令加密功能啟動時存放e5551卡的讀寫控制密碼,當加密功能沒有使用時存放用戶數據;其它六個存儲塊存放各種數據。
1.2 e5551卡工作參數的設定
BLOCK0用于設置e5551卡的各種操作特性,如同步信號、數據流格式、數據流長度、加密、口令喚醒和停止發射的啟用/關閉等。
(1)位率(Bitrate)設定:位率可設置為RF/8、RF/16、RF/32、RF/40、RF/50、RF/64、RF/100、RF/128,由第12、13、14位確定。其中RF指載波頻率?Radio Frequency?。
(2)調制方式設定:調制方式由兩部分組成。第一部分為二進制編碼方式,有直接編碼、曼切斯特編碼和雙相位編碼三種方式,由第16、17位確定;第二部分為頻率調制方式,有相位鍵控、頻率鍵控和直接編碼三種方式,由第18、19、20位確定。
(3)口令加密設定:由第28位決定。該位置1啟動口令加密功能,在啟動口令加密功能前應該事先在BLOCK7寫入密碼。啟動口令加密功能后,用戶對e5551卡中數據進行修改均要求提供密碼驗證,密碼正確時修改有效,否則修改無效。
圖3 e5551芯片上電后線圈兩端的電壓
(4)請求應答(Answer On Request)設定:由第23位決定。該位置1啟動AOR功能,這時e5551卡進入射頻區后不主動發射數據,由基站給e5551卡發射喚醒命令后再發射數據。該功能要求首先啟動口令加密功能,即基站喚醒e5551卡必須在喚醒命令序列中向e5551卡發射口令密碼,e5551卡檢測到合法喚醒命令時才恢復發射數據。
(5)同步信號設定:e5551卡可以使用兩種不同的同步信號—Sequence Terminator和Block Terminator。Sequence Terminator在每個數據循環開始時出現;Block Terminator在每個BLOCK數據開始時出現。兩種同步信號分別由第29、30位確定,它們既可以獨立使用也可以結合使用。
(6)發射最大數據塊數設定(MAXBLK):由第25、26、27位確定。當MAXBLK設置為0時,e5551卡只發射BLOCK0的數據給基站;當設置為1時?e5551卡只發射BLOCK1的數據給基站;當設置為2時,e5551卡發射BLOCK1和BLOCK 2的數據給基站,余者依次類推。在啟動口令加密功能后MAXBLK的值應小于7,這樣e5551將不發射BLOCK7的數據。
2 e5551卡的讀寫
2.1 e5551卡的讀
讀e5551卡是指U2270B通過MCU進行讀卡。在e5551卡內部,有個與e5551芯片相連的線圈,該線圈是e5551芯片供電與讀卡器的雙向通信接口。e5551卡就是利用該線圈產生具有阻尼特性的載頻信號向讀卡器發送數據。具體工作原理如圖3所示。
當e5551卡接近讀卡器時,由讀卡器振蕩電路產生的磁場感應e5551卡內的LC調諧電路產生感應電流,該電流經過e5551芯片內的整流器和過壓保護電路得到e5551芯片的直流工作電壓,形成上電復位,對應圖3中的第一段;接著讀取e5551芯片內BLOCK0的數據,即圖3中的第二段;約2ms后,e5551卡按照設定的工作模式發送數據,首先從BLOCK1的第一位開始,直到MAXBLK所設定的最大塊的最后一位。
2.2 e5551卡的寫
寫e5551卡指U2270B通過MCU進行寫卡。讀卡器通過對e5551卡內流過線圈的電流間隔性中斷實現寫卡,用電流流過e5551卡內線圈的持續時間實現對0和1的編碼。詳細過程如圖4所示。
e5551卡讀完BLOCK0數據后進入默認的讀卡操作,如圖4左半部分。若檢測到起始電流中斷,則e5551卡觸發寫卡操作,即圖4的右半部分。電流中斷持續時間一般為50μs~150μs,但為了便于可靠地檢測起始電流中斷,起始電流中斷一般大于150μs。一般地,電流持續24個磁場脈沖周期編碼為0,電流持續56個磁場脈沖周期編碼為1。當電流持續了64個磁場脈沖周期后仍未檢測到電流中斷,e5551卡自動退出寫卡模式。如果前面寫卡數據正確就開始將數據編程寫入e5551芯片的EEPROM,否則進行讀卡操作。
圖5 讀寫器硬件接口電路
3 讀寫器
3.1 硬件接口
U2270B是與e5551卡配套的一種近距離非接觸式讀寫基站芯片,它所產生的載波頻率為100kHz~150kHz,工作電壓為5V或12V,適用于曼徹斯特編碼或雙相位編碼,與微控制器有兼容接口。配上小量外圍元件構成的讀卡器電路如圖5所示。
圖5中用電阻R5、電容C6組成選頻電路,去掉高頻及低頻,讓100kHz~150kHz頻率通過,與U2270B內部電路共同構成解調電路;用天線與內部驅動電路形成125kHz電磁場發射電路,傳輸能量;用4個二極管形成反饋電路穩定頻率;用電阻R1及R7調節發射頻率;通過二極管D5進行信號整形。
3.2 軟件編程
本文以曼徹斯特編碼、RF/32為例介紹e5551軟件編程。采用曼徹斯特編碼調制的數據,位數據1對應著電平上跳,位數據0對應著電平下跳。設RF=125kHz,位傳送速率Bitrate=RF/32,則每傳送一位數據的時間(位傳送周期)為:
1P=32/125kHz=256μs
圖6 讀卡流程圖
在一串數據序列中,兩個相鄰位數據傳送跳變時間間隔為1P。若相鄰位數據極性相同,則在該兩次數據傳送電平跳變之間,有一次非數據傳送的電平空跳。程序開始時先等待一個TS=270μs~330μs高電平同步信號,然后按上述編碼規則逐個檢測電平變化并記錄對應時間T1或T2,T1=90μs~180μs,T2=210μs~300μs。如前一數據為1的情況下,測得高電平時間為T1,對應下降沿無效,應接著測下一上升沿并得1;若測得高電平時間為T2,對應下降沿有效并得0。如前一數據為0的情況下,測得低電平時間為T1,對應上升沿無效,應接著測下一下降沿并得0;若測得低電平時間為T2,對應上升沿有效并得1。據此即可以串行方式讀出卡內的數據。讀卡程序流程圖如圖6所示。
寫卡時,寫0,CFE=1持續192μs,然后CFE=0持續280μs;寫1,CFE=1持續448μs,然后CFE=0持續280μs。寫卡程序流程圖如圖7所示。
e5551卡是一種低成本非接觸式卡,雖然容量較小,但也能用于許多場合,如門禁系統、考勤系統等。如果硬件和軟件設計合理,進一步提高其可靠性和安全性,再加上成本低廉、讀寫電路簡單,應用必然更加廣泛。
【非接觸式e5551讀寫器的開發】相關文章:
用于非接觸式IC卡的高頻接口模塊設計08-06
非接觸式IC卡預收費電度表的設計08-06
接觸式IC卡接口原理與不同實現方式對比08-06
嵌入式系統的設計與開發08-06
嵌入式開發學習心得04-27
TEMIC系列射頻卡讀寫器的研制08-06
移動式氣化裝置的開發及應用08-06