色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > AT88RF020在學校就餐管理系統(tǒng)中的應用

          AT88RF020在學校就餐管理系統(tǒng)中的應用

          ——
          作者:湖北師范學院 洪家平 時間:2006-10-08 來源:單片機及嵌入式系統(tǒng)應用 收藏

          摘  要:就餐比較集中的學?;旧喜捎梅墙佑|式卡組成的現(xiàn)場前臺系統(tǒng)與微機后臺管理系統(tǒng)相結合的形式。使用頻率在13.56 MHz的低端非接觸式射頻卡芯片,它遵循lS0/IEC 14443 Type B協(xié)議。本文著重介紹的特點及工作原理,并對其在學校就餐管理中的應用及管理系統(tǒng)作相應介紹,同時也給出部分程序代碼。由射頻芯片組成的現(xiàn)場前臺系統(tǒng)使用方便,價格低廉。

          關鍵詞 AT88RF020

          1 概述

          現(xiàn)在,在一些就餐比較集中的大、中專及中學里,學生的就餐基本上采用微機管理,學生憑一張非接觸式的卡就可以很方便地在學校食堂消費。有些學校還采用了校園一卡通,只要持有一張合法的RFID卡,就可在全校范圍內的公共消費場所進行消費。

          RFID(Radio Frequency Identification)即射頻識別卡或是感應式電子芯片。RFID射頻識別是一種非接觸式的自動識別技術,它通過射頻信號自動識別目標對象并獲取相關數(shù)據,識別工作無須人工干預,可工作于各種惡劣環(huán)境。RFID技術可識別高速運動的物體,并可同時識別多個標簽,操作快捷方便。AT88RF020就是Atmel公司生產的非接觸式RFID卡。

          2 RFlD卡AT88RF020的特點

              ◇AT88RF020是13.56 MHz射頻卡,遵循ISO/IEC 14443 Type B協(xié)議;
              ◇容量為2048位;
              ◇每張卡有唯一序列號;
              ◇帶有加密和鎖定功能;
              ◇一個一次性計數(shù)器;
              ◇所有傳輸信息中包括一個字節(jié)的循環(huán)校驗碼;
              ◇寫時間為3 ms;
              ◇寫次數(shù)為100 000次;
              ◇工作環(huán)境是O~70℃。

          3 RFID射頻識別技術的組成及工作原理

          3.1 RFID系統(tǒng)的基本組成

              ①標簽(tag,即射頻卡)。由耦合元件及芯片組成,標簽含有內置天線,用于和射頻天線間進行通信,每個標簽具有唯一的電子編碼,附著在物體上標識目標對象。圖1是RFID芯片AT88RF020的內部結構原理圖。

              ②閱讀器(reader或叫)。讀取(除讀卡外還可以寫入)標簽信息的設備,可設計為手持式或固定式。

              ③天線(antenna)。在標簽(射頻卡)和之間傳遞射頻信號。

              有些系統(tǒng)還通過讀卡器的RS232或RS485接口與外部計算機(上位機主系統(tǒng))連接,進行數(shù)據交換。

          3.2 RFID系統(tǒng)的基本工作原理

          讀卡器通過發(fā)射天線發(fā)送一定頻率(如13.56 MHz)的射頻信號,當射頻卡進入發(fā)射天線工作區(qū)域時產生感應電流,射頻卡獲得能量被激活。射頻卡將自身編碼等信息通過射頻卡的內置發(fā)射天線發(fā)送出去。系統(tǒng)接收天線接收到從射頻卡發(fā)送來的載波信號,經天線調節(jié)器傳送到讀卡器,讀卡器對接收的信號進行解調和解碼,然后送到后臺主系統(tǒng)進行相關處理。主系統(tǒng)根據邏輯運算判斷該卡的合法性,針對不同的設定做出相應的處理和控制,發(fā)出指令信號控制執(zhí)行機構動作。

          3.3 RFID系統(tǒng)讀卡器的結構及工作原理

          對讀卡器而言,在耦合方式(如電感-電磁)、通信流程(如FDX、HDX、SEQ)、從射頻卡到讀卡器的數(shù)據傳輸方法(如負載調制、反向散射、高次諧波)以及頻率范圍等方面,不同的非接觸傳輸方法有根本的區(qū)別。但所有的讀卡器在功能原理上,以及由此決定的設計構造上都很相似,所有閱讀器均可簡化為高頻接口和控制單元兩個基本模塊。高頻接口包含發(fā)送器和接收器,其功能包括:產生高頻發(fā)射功率以啟動射頻卡并提供能量;對發(fā)射信號進行調制,用于將數(shù)據傳送給射頻卡;接收并解調來自射頻卡的高頻信號。不同射頻識別系統(tǒng)的高頻接口設計具有一些差異,電感耦合系統(tǒng)的高頻接口原理如圖2所示。

          讀卡器控制單元的功能包括:與應用系統(tǒng)軟件進行通信,并執(zhí)行應用系統(tǒng)軟件發(fā)來的命令;控制與射頻卡的通信過程(主-從原則);信號的編解碼。對一些特殊的系統(tǒng)還有執(zhí)行反碰撞算法,對射頻卡與閱讀器問要傳送的數(shù)據進行加密和解密,以及進行射頻卡和讀卡器間的身份驗證等附加功能。

          4 RFID卡AT88RF020的存儲結構

          Atmel的AT88Rt020射頻卡芯片有2048位的存儲容量,分成32頁,每頁8個字節(jié),存儲組織結構如表1所列。

          表1中標有“—”的字節(jié)由用戶定義,出廠時初始值為0。

              ①Pseudo Unique PICC Identifier。卡唯一序列號,卡序列號由卡廠家寫入,不能被修改。
              ②Applicatlon Data。應用數(shù)據,這個數(shù)據被作為ATQB回復信息的一部分由卡傳輸?shù)阶x寫器中。
              ③counter。計數(shù)器,每執(zhí)行一次COUNT指令,計數(shù)器的值就加1,初始值由廠家設為0。
              ④Signature。簽名(用于加密),這個數(shù)據位于第2頁的前6個字節(jié),可以通過COUNT指令修改,counter和Signature 可以提供更進一步的安全保護。
              ⑤Password。密碼,密碼放在第3頁中,不能讀出。
              ⑥Lock Bits。鎖定位,位于第0頁,驗證密碼后,能用LocK命令修改。鎖定位中的每一位與內存各頁對應,如果某位被設為“1”,則對應的頁就被鎖死,不能再進行寫操作,也沒有機制解鎖,所以某頁一旦被鎖,其內容再也不能修改,出廠初始值為0。

          AT88RF020通電或重啟的工作流程如圖3所示。

          5 RFlD卡AT88RF020的常用命令與函數(shù)

          5.1 AT88RF020的常用命令

              ①REQB/WUPB:用于尋卡或者喚醒處于HALT狀態(tài)的卡,這種卡只響應應用代碼(API)為00或01的情況,如果接收到一個帶有無效API代碼的WUPB命令,那么卡仍然處于HALT狀態(tài)。
              ②ATTRIB:用于從所有響應REQB/WUPB的卡中選擇一張卡,此后,卡進入AC-TIVE狀態(tài)。
              ③Slot MARKER:為讀寫器提供了一種用于查詢隨機數(shù)大于1的卡。
              ④HALTB:設置卡處于HALT狀態(tài),此后只能執(zhí)行WUPB命令。
              ⑤READ:用于讀取卡中的數(shù)據,讀取頁0~2可以不必驗證密碼,而第3頁的數(shù)據不能讀出,只能通過PASS—WORD命令修改,其他的頁驗證密碼后可以讀出。
              ⑥WRITE:用于對卡寫入數(shù)據。
              ⑦LOCK:只有在驗證密碼之后才能執(zhí)行,用于鎖定某一地址區(qū)域,被鎖定的地址區(qū)域在驗證密碼之后只可以進行讀操作。
              ⑧CHECK PASSWORD:密碼校驗命令,在設備進入就緒狀態(tài)之后執(zhí)行。
              ⑨DESELECT:如果對處于ACTIVE狀態(tài)的卡執(zhí)行該命令,且通過,則卡發(fā)送一個正確的回答信息,并進入HALT狀態(tài)。
              ⑩COUNT:用于寫第2頁。COUNT命令中所帶的數(shù)據寫入到第2頁的前6個字節(jié)中,后2個字節(jié)被用做計數(shù)器使用,每執(zhí)行一次COUNT命令,計數(shù)器的值就增1,如果計數(shù)器的值達到2的15次方,就不能再執(zhí)行COUNT操作,且第2頁被鎖定,不能再修改。執(zhí)行該命令之前要驗證密碼。

          5.2 AT88RF020的函數(shù)

          下面以rf_attrib()函數(shù)為例來說明AT88RF020的函數(shù)用法。

              ①函數(shù)rLattrib()的格式:
              int rI_attrib(HANDLE icdev,unsigned long pupi,unsigned char param,unsigned char cid,unsigned charbrTx,unsigned char brRx);

              ②函數(shù)的功能。從已響應REQB/WUPB命令的卡中選取一張卡,同時給每一張卡分配一個ID號。

              ③函數(shù)的參數(shù)描述。
              icdev:rf_init()返回的設備描述符。pupi:Pseudo—Unique PICC Identifier。param:設為0。cid:卡片ID號(0~15),這個值存儲在卡片中供后面操作使用。
              brTx:由CD(近耦合設備)到PICC(近耦合集成電路卡)的波特率,對于AT88RF020,0x00代表106 kb/s。
              brRx:由PICC到PCD的波特率,對于AT88RF020,0x00代表106 kb/s。

              ④返回值。等于0表示成功;不等于0表示失敗。

              ⑤例程。
              int st;
              unsigned char Mode=0;
              unsigned char_Data[15];
              unsigned long pupi=0;
              st=rf_requestb(iedev,Mode,0~0 Data);
              if(st==0){
              memcpy(&pupi,&Data[1],4);
              st=rf_attrih(icdev,pupi,0,0,0.0);
          }

          經過選卡后,如果有多張卡進入激活狀態(tài),則可以根據CID(射頻卡ID號)在同一時間內對多張卡操作。以兩張卡為例:
              int st;
              unsigned long pupi[2];
              unsigned char receive[256],data[10];
              pupi[o]=0x25510200;//卡1的pupi
              pupill]=Ox344e0200;//卡2的pupi
              unsigned char cid=0;
              st=rf_requestb(icdev,0,0,0,receive);//選擇一張卡
              //in the case of the response card is card 1
              cid一0;//slot 0
              st=rf_attrib(icdev,pupiEO],o,cid,0,O);
              //select card 2
              st=rf_request(iedev,0,0,0,receive);
              //in the case of the response card is card 2
              cid=1;
              st=rf_attrib(icdev.pupi[l].0,cid,0,0);
              //operate the two cards in the same time
              for(int i一0;i-(2;i++){
              st=rt_read(icdev,i,0,data);
              //deseleet card 1
              st=at88rf020 deseleet(iedev,0);
              //deseleet card 2
              st=at88rf020 deseleet(icdev.1);

          6 RFlD卡在學校就餐管理中的應用

          6.1系統(tǒng)總體方案

          采用美國Atmel公司生產的AT88RF020射頻識別卡、IDIc(Identification IntegratecI circuit)、讀寫基站集成電路u2270B和Atmel公司的8位單片機研制開發(fā)學校食堂,系統(tǒng)具有預付收費、目標識別、身份驗證、數(shù)據采集、數(shù)據加密和數(shù)據庫管理的功能。系統(tǒng)由AT88RF020卡、就餐管理終端、數(shù)據庫管理系統(tǒng)、就餐管理終端與數(shù)據庫管理微機的通信系統(tǒng)四部分組成。主機與就餐管理終端之間的通信采用RS一485通信標準,工作方式為半雙工,每次通信都是主機首先呼叫從機。系統(tǒng)結構如圖4所示。

          6.2通信硬件接口設計

          本系統(tǒng)中,就餐管理終端與上位機的通信選用了RS485總線標準,并采用了MAX465芯片來實現(xiàn),它具有RS485通信接口需要的全部功能。數(shù)據通信的方向由RE和DE腳來控制,設計中二者連在一起,由單片機的Pl,5來控制。當它為高電平時,數(shù)據由就餐管理終端經MAX485到外部串行總線,即處于發(fā)送狀態(tài);為低電平時,數(shù)據由外部串行總線到就餐管理終端。一般微機的串行口采用RS232接口,故在上位機一端需要一個RS232/Rs485轉換器。本設計中采用臺灣Aten公司生產的IC-485SN轉換器,它是一種雙向RS232/R$485或RS422轉換器,可提供點對點、點對多點(最多可達254個點)的全雙工和半雙工以及多點的單工串行通信。

          6.3通信軟件接口設計

          上位機數(shù)據庫管理系統(tǒng)采用Visual FoxPro(即VF)編寫,這里介紹的串行通信程序主要是在VF中實現(xiàn)與就餐管理終端的通信程序設計。本系統(tǒng)采用標準的通信控
          件commLmications進行通信程序的設計,實現(xiàn)掛失數(shù)據的發(fā)送、用戶卡號的發(fā)送、發(fā)卡和就餐數(shù)據的接收。每次通信時,首先在上位機的lnlt事件中初始化通信控件olecon—troll,初始化設置為:
          thisform,olecontroll,commPort=1 //選擇串行口COM1
          thisform,olecontroll,PortOpen=1 //打開串行口COM1
          thisform,olecontroll,lnpLltMode=O //接收的數(shù)據按文本方式
          thisform olecontroll,RTSEnable=1 //允許使用RTs線.用于
          //RS232/485轉換器的發(fā)送控制和供電
          thisform,oleconatroll,InputLen=1 //每次讀取接收緩沖
          //區(qū)的一個字符
          thisform,olecontroll,OutbifferCount=O//清除發(fā)送緩沖區(qū)
          thisform,olecontroll,InbufferCotInt=O//清除接收緩沖區(qū)

          結 語 

          本文介紹了RFID卡ATRF88020的特點、工作原理及在學校就餐管理中的應用。RFID技術的典型應用還有;物流和供應管理、生產制造和裝配、航空行李處理、郵件/快運包裹處理、文檔追蹤/圖書館管理、動物身份標識、運動計時、門禁控制/電子門票、道路自動收費等。



          評論


          相關推薦

          技術專區(qū)

          關閉