基于CL RC632的射頻讀寫器的RFID系統(tǒng)設(shè)計
摘要:設(shè)計一種基于STC11F32XE單片機和CL RC632芯片的非接觸式射頻讀寫器。首先介紹RFID系統(tǒng)的組成和CL RC632的特性,再根據(jù)其原理完成硬件電路設(shè)計和軟件功能實現(xiàn)。該系統(tǒng)使用Mifare卡作為系統(tǒng)的應(yīng)答器,通過執(zhí)行防沖突命令序列使得PICC完全置于PCD控制下。讀卡器輸出方式為標準輸出或連續(xù)輸出,獨立授權(quán)方式。經(jīng)過測試,讀/寫距離6~10 cm,射頻功率小于1 mW,集成化程度高,適合于工業(yè)運用環(huán)境。
關(guān)鍵詞:射頻識別;STC11F32XE;CL RC632;LCD12864;W25X80
射頻識別技術(shù)RFID(Radio Frequency Identifieation Technology)是一種非接觸式的自動識別技術(shù),它通過射頻信號自動識別目標并獲取相關(guān)數(shù)據(jù)。與傳統(tǒng)的IC卡、磁卡對比,利用RFID開發(fā)的非接觸式IC識別器具有保密、使用壽命長、存儲數(shù)據(jù)容量大等優(yōu)勢。從最近一段時間的種種市場跡象來看,射頻識別正在邁入下一階段的技術(shù)演進。這些跡象包括RFID項目規(guī)模不斷的擴展、持續(xù)部署的基礎(chǔ)建設(shè)、不斷深化的技術(shù)融合,以及業(yè)界對此技術(shù)的投資增長。多種以RFID技術(shù)為核心的應(yīng)用,如供應(yīng)鏈管理、身份證和電子商務(wù)等,都在經(jīng)歷前所未有的高速成長。
本文在分析射頻識別系統(tǒng)原理的基礎(chǔ)上,以倉儲管理系統(tǒng)的設(shè)計為例子,提出了一種利用MCUSTC11F32XE,CL RC632,MF1卡等構(gòu)建非接觸式IC讀寫器系統(tǒng)的方法。該系統(tǒng)有很強的擴展性,可以應(yīng)用到門禁、圖書管理、電子錢包等各種場合。
1 RFID系統(tǒng)總體結(jié)構(gòu)分析
完整的RFID系統(tǒng)可分為RFID數(shù)據(jù)采集端,其中包括卡片,閱讀:器和天線、中間件或接口、應(yīng)用系統(tǒng)如MIS。在RFID倉儲管理系統(tǒng)設(shè)計中,將貨物的資料信息和存放地點寫入電子標簽,然后貼在各個貨物外面的包裝或者托盤上。當貨物進出倉庫,往標簽里寫入送達方的資料。在倉庫和各經(jīng)銷管道關(guān)鍵位置設(shè)置讀寫器,有效的辨識和檢測貨物的流通。系統(tǒng)的工作過程如下:讀寫器發(fā)送某個頻率的電磁波,卡片進入天線的磁場范圍內(nèi),在電磁波的激勵下,憑借感應(yīng)電流獲得的能量將其一部分整流為直流電源供卡片內(nèi)的電路工作,另一部分被卡片內(nèi)保存的數(shù)據(jù)信息調(diào)制后反射回讀寫器,讀寫器讀取信息并解碼后,送至應(yīng)用系統(tǒng)進行數(shù)據(jù)處理。讀寫器的基本結(jié)構(gòu)框架如圖1所示。
2 硬件設(shè)計
本文中設(shè)計的讀寫器系統(tǒng)由基于CL RC632的射頻芯片、單片機(STC11F32XE)、液晶顯示電路(MGLS12864)、串口通信電路(MAX232)、USB轉(zhuǎn)RS232控制器(PL2303)、天線等組成。通過USB連接PC機和下位機,USB線用于下載程序、傳輸數(shù)據(jù)、并給下位機供電。該系統(tǒng)支持連續(xù)尋卡、讀卡操作,支持多卡讀取。
2.1 讀寫器核心MCU
采用STC11F32XE單片機,此單片機是宏晶科技公司生產(chǎn)的1個時鐘/機器周期的單片機,是高速、低功耗、超強抗干擾的新一代增強型8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8~12倍。加密性強。輸入/輸出口多,最多有40個I/O,復(fù)位腳如當I/O口使用,可省去外部復(fù)位電路。本文中采用LQFP-44封裝,內(nèi)部有32 KB的FLASH(FLASH存儲器特點是不加電的情況下能長期保持存儲的信息),29 KB的E2P ROM和1 280 B的SRAM。外圍電路如圖2所示。
2.2 射頻電路
射頻電路部分由CL RC632應(yīng)用電路和天線電路組成。
在設(shè)計中,為了擴大系統(tǒng)使用的范圍,射頻芯片選擇使用功能更為強大的CL RC632,這也是系統(tǒng)的核心部分。CL RC632是Philips公司的多協(xié)議非接觸式讀/寫芯片,該芯片支持13.56 MHz頻段內(nèi)ISO14443和ISO15693兩種標準,能夠識別出應(yīng)用于RFID的各種智能卡和標簽,其內(nèi)部集成振蕩器緩沖,連接到13.56 MHz的石英震蕩晶體,獲得低相位的抖動。由于與微控制器的并行接口類型不同,相應(yīng)的總線時序也不一樣。該設(shè)計中采用獨立讀/寫選通、復(fù)用地址總線的方式,CL RC632的A0~A1接VCC,A2接GND,在上電復(fù)位或硬件復(fù)位后,CL RC632將自動檢測當前接口類型。D0~D7與STC11F32XE的P0口相連,NWR,NRD,NCS,ALE,IRQ,RSTPD分別與STC11F32XE的,P4.1,,P4.0相連。應(yīng)用電路如圖3所示。
關(guān)于天線部分的設(shè)計,因為涉及到高頻濾波,為了獲得穩(wěn)定可靠的射頻信號,這部分參考Philps公司提供的推薦電路圖,并且做了適當?shù)男薷?,遵從變壓器原理。低通濾波器電路包括元件L0和C0,接收電路包括的元件有R1,R2,C3,C4,天線匹配電路的電容C1,C1a,C2b取決于天線的電氣特性和環(huán)境的影響。本文中它們的值如下:L0=1μH,C0=68 pF,R1=560 Ω,R2=820 Ω,C3=15 pF,C4=0.1μF,C1=27 pF,C2=C2b=180 pF。
TX1,TX2為天線驅(qū)動引腳,RX為接收引腳。為了達到良好的電磁兼容,這部分的電路必須緊靠CLRC632的天線引腳RX,TX1,TX2。天線采用匝數(shù)為3,邊長為10 cm的矩形天線。
2.3 外圍擴展電路
LCD采用的是不帶字庫的MGLS12864液晶,為了能顯示漢字,專門采用了字庫存儲芯片W25X80。W25X80是Winbond公司生產(chǎn)的FLASH存儲器,為8 Mb串行FLASH,大小為1 MB,且?guī)?56 B的緩沖區(qū)。與上位機通信接口方面有2種選擇,既外擴了MAX232作為系統(tǒng)和PC機通信的通道,同時也采用了USB轉(zhuǎn)串口芯片PL2303,能夠方便運用到各種設(shè)備上。該USB芯片使得讀卡器省去了串口和電源供電端口,可以通過USB接口和PC管理軟件通信。主要由三部分組成,分別是USB接頭,USB供電和USB數(shù)據(jù)收發(fā)。
2.4 PCB制作
該設(shè)計采用PCB制板,考慮到為了減少雜散電場和雜散磁場,元件盡量采用貼片式封裝,大大地提高了電路的穩(wěn)定性和可靠性。焊接后經(jīng)過測試,STC11F32XE最小系統(tǒng)的工作正常,最小系統(tǒng)包括USB供電、晶振電路、復(fù)位電路及LCD電路。STC11F32XE對CL RC632的控制部分也正常,控制部分包括CL RC632供電電路、晶振電路以及STC11F32XE與CL RC632的連接。讀寫器部分的PCB如圖4所示。
3 軟件設(shè)計
軟件設(shè)計思想是通過對STC11F32XE的編程,控制CL RC632芯片根據(jù)ISO/IEC14443A協(xié)議與MF1卡片進行通信,從而完成對RFID卡的各種操作。
CL RC632在整個系統(tǒng)上電后,需要一段時間進行復(fù)位。復(fù)位后,晶振管腳才有電壓。然后讀/寫CLRC632寄存器,如果能準確讀/寫,就說明對CL RC632尋址方式和讀/寫時序是對的,就可對CL RC632進行其他的操作。
初始化單片機,對STC11F32XE進行串口設(shè)置、定時器設(shè)置和中斷的設(shè)置。CL RC632復(fù)位,復(fù)位成功后,LED閃爍而且CL RC632自動跟隨初始化。初始化程序如下RC632RST=0;delay_1 ms(25);RC632RST=1;delay_50μs(200);RC632RST=0;然后讀第0頁Command寄存器的值,為0則意味著CLRC632的復(fù)位和初始化完成。CL RC632每次復(fù)位后,頁寄存器默認值為0X80(即默認使用頁模式并且選中第0頁)。為了提高效率,本文采用線性地址訪問模式,在復(fù)位后,立即將頁寄存器的值改為0x00,即可使用線性地址訪問寄存器。
主要函數(shù)實現(xiàn)原理如下:
尋卡函數(shù)Char R632PICCCommonRequest(unsigned char req_code,unsigned char*atq)2個入口參數(shù):req_code是尋卡指令代碼,通常情況下為26H,*atq返回卡片類型號,建立PCD與卡片的第一步通信。防沖突函數(shù)Char R632PICCCascAnticoll(unsigned char bcnt,unsign ed char*snr):根據(jù)卡片序列號來保證每次對一張卡片進行操作。返回值為4 B卡的序列號和1 B效驗值。選卡函數(shù)CharR632PICCCascSelect(unsigned char *snr,unsignedchar*sak):驅(qū)動發(fā)送電路發(fā)送了7個字節(jié),包括93H,70H,4 B序列號、CRC效驗碼??ㄆ祷? B,該字節(jié)代表了卡片容量。S50M1卡返回值為08H。認證函數(shù)Char R632PICCAuthE2(unsigned char authmode,unsigned char*snr,unsigned char keynr,unsigned char block):整個過程是將6 B的密鑰加密為12 B,通過發(fā)送指令LOADKEY裝入KEY緩存,然后執(zhí)行authent1和authent2指令,認證通過,卡片將會返回1 B的0AH作為應(yīng)答。
4 示波器在本文中的典型應(yīng)用
在設(shè)計中,因為涉及到射頻通信編碼和解碼,所以在編寫程序時對時序的要求非常嚴格。在調(diào)試中,針對不同的測量點,通過示波器觀測相應(yīng)的RF信號。可以觀測的信號包括載波信號、調(diào)試信號、調(diào)制載波信號、射頻輸出信號、標簽返回信號等。由于篇幅原因,僅給出編碼信號波形圖和RF輸出調(diào)制載波信號圖,以供參考。
5 結(jié)語
本文介紹了基于CL RC632的射頻讀寫器的設(shè)計與實現(xiàn)。完成了硬件的選型、繪制PCB圖和電路的焊接,還有軟件的編寫。經(jīng)過測試和實踐認證,該系統(tǒng)穩(wěn)定,能對范圍內(nèi)的多個MF1卡進行準確的讀寫。