非接觸式e5551讀寫器的開發(fā) 作者: 時間:2007-03-09 來源:網絡 加入技術交流群 掃碼加入和技術大咖面對面交流海量資料庫查詢 收藏 摘要:介紹了非接觸式e5551卡工作原理和與單片機的接口,給出了非接觸式e5551卡讀寫器的硬件電路和讀卡、寫卡程序流程圖。關鍵詞:非接觸式卡 射頻識別 讀寫器 RF 射頻識別RFIDRadio Frequency Identification技術是二十世紀九十年代興起的一項自動識別技術,它利用無線射頻方式進行非接觸式雙向通信。RFID系統(tǒng)中卡片與讀寫器之間無須物理接觸即可完成識別,可實現多目標識別和運動目標識別,應用范圍更加廣泛。 根據工作頻率不同,RFID系統(tǒng)可分為低頻、中頻、高頻系統(tǒng)。低頻系統(tǒng)一般工作在100kHz~500kHz,中頻系統(tǒng)工作在10MHz~15MHz,它們主要適用于短距離、低成本識別高頻系統(tǒng)工作在850MHz~950MHz以及2.4GHz~5GHz的微波段,適用于距離長、讀寫數據率高的場合。本文介紹的e5551 RFID系統(tǒng)屬于低頻系統(tǒng),工作頻率范圍為100kHz~150kHz,最大識別距離約為20cm。1 非接觸式e5551卡工作原理 e5551 RFID系統(tǒng)組成如圖1所示。其中PC通過RS485通信遠程操作e5551讀寫器。讀寫器利用微控制器(MCU)與e5551卡進行交互讀寫。 通過e5551卡內線圈在特定交變磁場100kHz~150kHz中耦合,e5551獲得感應電流,再通過整流得到直流加到卡內電路,e5551得到工作電壓和電流。通過讀寫器的線圈感應e5551卡產生的磁場來讀取e5551發(fā)送的數據。 1.1 e5551卡的存儲結構 e5551卡內置264位EEPROM。這些EEPROM共分為8塊,每塊33位,其分布如圖2所示。其中BLOCK0存儲e5551卡的參數設置信息;BLOCK7在口令加密功能啟動時存放e5551卡的讀寫控制密碼,當加密功能沒有使用時存放用戶數據;其它六個存儲塊存放各種數據。1.2 e5551卡工作參數的設定 BLOCK0用于設置e5551卡的各種操作特性,如同步信號、數據流格式、數據流長度、加密、口令喚醒和停止發(fā)射的啟用/關閉等。 (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卡進入射頻區(qū)后不主動發(fā)射數據,由基站給e5551卡發(fā)射喚醒命令后再發(fā)射數據。該功能要求首先啟動口令加密功能,即基站喚醒e5551卡必須在喚醒命令序列中向e5551卡發(fā)射口令密碼,e5551卡檢測到合法喚醒命令時才恢復發(fā)射數據。 (5)同步信號設定:e5551卡可以使用兩種不同的同步信號—Sequence Terminator和Block Terminator。Sequence Terminator在每個數據循環(huán)開始時出現;Block Terminator在每個BLOCK數據開始時出現。兩種同步信號分別由第29、30位確定,它們既可以獨立使用也可以結合使用。 (6)發(fā)射最大數據塊數設定(MAXBLK):由第25、26、27位確定。當MAXBLK設置為0時,e5551卡只發(fā)射BLOCK0的數據給基站;當設置為1時e5551卡只發(fā)射BLOCK1的數據給基站;當設置為2時,e5551卡發(fā)射BLOCK1和BLOCK 2的數據給基站,余者依次類推。在啟動口令加密功能后MAXBLK的值應小于7,這樣e5551將不發(fā)射BLOCK7的數據。 2 e5551卡的讀寫 2.1 e5551卡的讀 讀e5551卡是指U2270B通過MCU進行讀卡。在e5551卡內部,有個與e5551芯片相連的線圈,該線圈是e5551芯片供電與讀卡器的雙向通信接口。e5551卡就是利用該線圈產生具有阻尼特性的載頻信號向讀卡器發(fā)送數據。具體工作原理如圖3所示。當e5551卡接近讀卡器時,由讀卡器振蕩電路產生的磁場感應e5551卡內的LC調諧電路產生感應電流,該電流經過e5551芯片內的整流器和過壓保護電路得到e5551芯片的直流工作電壓,形成上電復位,對應圖3中的第一段;接著讀?。澹担担担毙酒瑑龋拢蹋希茫耍暗臄祿磮D3中的第二段;約2ms后,e5551卡按照設定的工作模式發(fā)送數據,首先從BLOCK1的第一位開始,直到MAXBLK所設定的最大塊的最后一位。 2.2 e5551卡的寫 寫e5551卡指U2270B通過MCU進行寫卡。讀卡器通過對e5551卡內流過線圈的電流間隔性中斷實現寫卡,用電流流過e5551卡內線圈的持續(xù)時間實現對0和1的編碼。詳細過程如圖4所示。 e5551卡讀完BLOCK0數據后進入默認的讀卡操作,如圖4左半部分。若檢測到起始電流中斷,則e5551卡觸發(fā)寫卡操作,即圖4的右半部分。電流中斷持續(xù)時間一般為50μs~150μs,但為了便于可靠地檢測起始電流中斷,起始電流中斷一般大于150μs。一般地,電流持續(xù)24個磁場脈沖周期編碼為0,電流持續(xù)56個磁場脈沖周期編碼為1。當電流持續(xù)了64個磁場脈沖周期后仍未檢測到電流中斷,e5551卡自動退出寫卡模式。如果前面寫卡數據正確就開始將數據編程寫入e5551芯片的EEPROM,否則進行讀卡操作。圖5 讀寫器硬件接口電路3 讀寫器 3.1 硬件接口 U2270B是與e5551卡配套的一種近距離非接觸式讀寫基站芯片,它所產生的載波頻率為100kHz~150kHz,工作電壓為5V或12V,適用于曼徹斯特編碼或雙相位編碼,與微控制器有兼容接口。配上小量外圍元件構成的讀卡器電路如圖5所示。 圖5中用電阻R5、電容C6組成選頻電路,去掉高頻及低頻,讓100kHz~150kHz頻率通過,與U2270B內部電路共同構成解調電路;用天線與內部驅動電路形成125kHz電磁場發(fā)射電路,傳輸能量;用4個二極管形成反饋電路穩(wěn)定頻率;用電阻R1及R7調節(jié)發(fā)射頻率;通過二極管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高電平同步信號,然后按上述編碼規(guī)則逐個檢測電平變化并記錄對應時間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持續(xù)192μs,然后CFE=0持續(xù)280μs;寫1,CFE=1持續(xù)448μs,然后CFE=0持續(xù)280μs。寫卡程序流程圖如圖7所示。e5551卡是一種低成本非接觸式卡,雖然容量較小,但也能用于許多場合,如門禁系統(tǒng)、考勤系統(tǒng)等。如果硬件和軟件設計合理,進一步提高其可靠性和安全性,再加上成本低廉、讀寫電路簡單,應用必然更加廣泛。
評論