




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
浙江科技學院本科畢業設計(論文) 30-RFID應用系統軟件摘要:近年來,隨著射頻識別技術(RFID)的進步和成熟,這項技術的應用領域日益擴大,現已涉及到人們日常生活的各個方面,并將成為未來信息社會建設的一項基礎技術。RFID在城市交通的應用也是一個重要的方面。城市公共交通在我國城市交通中占有重要的地位,是同我國城市居民生產、生活等活動密切相關的系統.如今在城市交通中,很多城市已經用IC卡代替了原有的紙制月票,杜絕了公交月票的假冒行為,緩解了高峰客流,提高了服務水平,為公司運營提供了科學的管理手段,社會反映良好。另一方面,通過公交IC卡可使城市公共交通實現智能化。城市公共交通實行智能化能夠把握客流數據的變化規律,隨著公交采用IC卡進行公交收費的普及,使得我們有了新的客流數據采集方式。本次探討、設計的公交IC卡充值系統將具有售卡、充值等一系列功能。以單片機為控制器的IC卡讀寫器可以實現制卡、售卡、自動收費等功能,具有安全、實用、方便、快捷、可靠性高的特點,解決了城市公共交通服務行業既頻繁又瑣碎的收費管理問題。關鍵詞:RFID;城市公交;讀卡器Abstract:Inrecentyears,withtheprogressandmatureoftheradiofrequencyidentification(RFID)Technology,theapplicationofthistechnologyinthefieldareexpanding.Peoplehavebeeninvolvedinallaspectsofdailylife,andwillbecomeatechnicalbasisofthefuturebuildingoftheinformationsociety.Theapplicationintheurbanpublictransportisalsooneoftheimportantaspects.UrbanpublictransportincitytrafficoccupyanimportantpositionofChina'surbanresidentsisthesameproduction,lifeactivitiescloselyrelatedtothesystem.Nowinurbantraffic,ManycitiesalreadyuseICcardsinsteadoftheoriginalpaperpass,stopthetransitofcounterfeittickets,easingthepeakpassengerflow,improvethelevelofservice,theoperationofthecompanyandprovidesascientificmeansofmanagement,reflectthesocialgood.Ontheotherhand,urbanpublictransportcanintelligentbybusICcard.Theintelligenturbanpublictransportimplementcangraspthelawofthechangesdataflow.WiththeuniversaluseintheurbanpublictransportICcardssystem,wehaveanewacquisitionmodeofthedataflow.ThisdesignofpublictransportICcardrechargingsystemhasaseriesfunction.MicroprocessorcontrollerICCardReadercardsystemcanbeachieved,automaticcharges,andotherfunctions,issafe,practicalandconvenient,fast,highreliability.Itsolvestheproblemofthefrequentlytrivialurbanpublictransportchargesmanagement.Keywords:RFID;Urbanpublictransport;reader1緒論近年來,隨著射頻識別技術的進步和成熟,這項技術的應用領域日益擴大,現已涉及到人們日常生活的各個方面,并將成為未來信息社會建設的一項基礎技術。RFID典型應用包括:在物流領域用于倉庫管理、生產線自動化、日用品銷售;在交通運輸領域用于集裝箱與包裹管理、高速公路收費與停車收費;在農牧漁業用于羊群、魚類、水果等的管理以及寵物、野生動物跟蹤;在醫療行業用于藥品生產、病人看護、醫療垃圾跟蹤;在制造業用于零部件與庫存的可視化管理;RFID還可以應用于圖書與文檔管理、門禁管理、定位與物體跟蹤、環境感知和支票防偽等多種應用領域。城市公共交通在我國城市交通中占有重要的地位,是同我國城市居民生產、生活等活動密切相關的系統.如今在城市交通中,很多城市已經用IC卡代替了原有的紙制月票,杜絕了公交月票的假冒行為,緩解了高峰客流,提高了服務水平,為公司運營提供了科學的管理手段,社會反映良好。以單片機為控制器的IC卡讀寫器可以實現制卡、售卡、自動收費等功能,具有安全、實用、方便、快捷、可靠性高的特點,解決了城市公共交通服務行業既頻繁又瑣碎的收費管理問題。另一方面,通過公交IC卡使城市公共交通實現智能化。城市公共交通實行智能化能夠把握客流數據的變化規律,隨著公交采用IC卡進行公交收費的普及,使得我們有了新的客流數據采集方式。與人工調查相比,利用IC卡收費系統進行客流數據采集的投入小得多,幾乎不需要額外成本,并且可以提供大量詳細、準確的動態數據,對數據進行進一步挖掘也更容易。因此公交IC卡系統對城市公交以及公交的智能化調度、線路的開辟、優化、站點的設置等都具有極其重要的意義。基于上述原因,設計一款以射頻識別為核心技術的公交收費系統將給城市公交帶來長期的效益。本次探討、設計的應用系統將具有售卡、充值等一系列功能。2系統總體設計介紹2.1系統功能介紹將RFID技術應用到公交充值系統中,實現公交充值系統的以下功能。制卡制卡功能專門用于對卡片進行初始化,卡片在正式投入使用前必須經過初始化,初始化的工作就是對卡片內的空間按照規定進行化分,然后將密鑰、存取權限寫入卡內。[1]售卡充值乘客可到車站的售卡充值系統中辦理購卡、充值手續。該系統現場為用戶的IC卡寫入充值金額,并將用戶信息輸入管理系統數據庫中保存。退卡、掛失、解掛退卡:刪除數據庫中該用戶的記錄,收回舊卡。舊卡經過數據清理可實現再利用。掛失:將原卡進行備注,列入黑名單。用戶可重新辦理新卡,并將舊卡中的余額寫入新卡中,減少用戶損失。解掛:可重新使卡有效。信息管理通過上位機軟件可查看數據庫中的信息,獲息用戶相關信息。2.2RFID簡介2.2.1RFID系統組成最基本的RFID系統由三部分組成:標簽(Tag,即非接觸式IC卡):由耦合元件及芯片組成,標簽含有內置天線,用于和射頻天線間進行通信。讀卡器:讀取(在讀寫卡中還可以寫入)標簽信息的設備。天線:在標簽和讀取器間傳遞射頻信號。[2]2.2.2RFID通訊原理系統的基本工作流程是:讀卡器通過發射天線發送一定頻率的射頻信號,卡片內有一個LC串聯諧振電路,其頻率與讀卡器發射的頻率相同,在電磁波的激勵下,LC諧振電路產生共振,從而使電容內有了電荷,在這個電容的另一端,接有一個單向導通的電子泵,將電容內的電荷送到另一個電容內儲存,當所積累的電荷達到2V時,此電容可做為電源為其它電路提供工作電壓。因此當射頻卡進入發射天線工作區域時產生感應電流,射頻卡獲得能量被激活;射頻卡將自身編碼等信息通過卡內置發送天線發送出去;系統接收天線接收到從射頻卡發送來的載波信號,經天線調節器傳送到讀寫器,讀卡器對接收的信號進行解調和解碼然后送到后臺主系統進行相關處理;主系統根據邏輯運算判斷該卡的合法性,針對不同的設定做出相應的處理和控制,發出指令信號控制執行機構動作。2.2.3非接觸式IC卡的優點與接觸式IC卡相比較,非接觸式IC卡具有以下優點:可靠性高非接觸式IC卡與讀寫器之間無機械接觸,避免了由于接觸讀寫而產生的各種故障。例如:
由于粗暴插卡,非卡外物插入,灰塵或油污導致接觸不良造成的故障。此外,非接觸式卡表面無裸露芯片,無須擔心芯片脫落,靜電擊穿,彎曲損壞等問題,既便于卡片印刷,又提高了卡片的使用可靠性。操作方便由于非接觸通訊,讀寫器在10CM范圍內就可以對卡片操作,所以不必插撥卡,非常方便用戶使用。非接觸式卡使用時沒有方向性,卡片可以在任意方向掠過讀寫器表面,既可完成操作,這大大提高了每次使用的速度。防沖突非接觸式卡中有快速防沖突機制,能防止卡片之間出現數據干擾,因此,讀寫器可以"同時"處理多張非接觸式IC卡。這提高了應用的并行性,無形中提高系統工作速度。可以適合于多種應用非接觸式卡的序列號是唯一的,制造廠家在產品出廠前已將此序列號固化,不可再更改。非接觸式卡與讀寫器之間采用雙向驗證機制,即讀寫器驗證IC卡的合法性,同時IC卡也驗證讀寫器的合法性。
非接觸式卡在處理前要與讀寫器之間進行三次相互認證,而且在通訊過程中所有的數據都加密。此外,卡中各個扇區都有自己的操作密碼和訪問條件。
接觸式卡的存儲器結構特點使它一卡多用,能運用于不同系統,用戶可根據不同的應用設定不同的密碼和訪問條件。加密性能好非接觸式IC卡由IC芯片,感應天線組成,并完全密封在一個標準PVC卡片中,無外露部分。非接觸式IC卡的讀寫過程,通常由非接觸型IC卡與讀寫器之間通過無線電波來完成讀寫操作。
非接觸型IC卡本身是無源體,當讀寫器對卡進行讀寫操作時,讀寫器發出的信號由兩部分疊加組成:一部分是電源信號,該信號由卡接收后,與其本身的L/C產生諧振,產生一個瞬間能量來供給芯片工作。另一部分則是結合數據信號,指揮芯片完成數據、修改、存儲等,并返回給讀寫器。由非接觸式IC卡所形成的讀寫系統,無論是硬件結構,還是操作過程都得到了很大的簡化,同時借助于先進的管理軟件,可脫機的操作方式,都使數據讀寫過程更為簡單。
2.2.4射頻卡的標準及分類目前生產RFID產品的很多公司都采用自己的標準,國際上還沒有統一的標準。目前,可供射頻卡使用的幾種標準有ISO10536、ISO14443、ISO15693和ISO18OOO。應用最多的是ISO14443和ISO15693,這兩個標準都由物理特性、射頻功率和信號接口、初始化和反碰撞以及傳輸協議四部分組成。按照不同得方式,射頻卡有以下幾種分類:按供電方式分為有源卡和無源卡。有源是指卡內有電池提供電源,其作用距離較遠,但壽命有限、體積較大、成本高,且不適合在惡劣環境下工作;無源卡內無電池,它利用波束供電技術將接收到的射頻能量轉化為直流電源為卡內電路供電,其作用距離相對有源卡短,但壽命長且對工作環境要求不高。按載波頻率分為低頻射頻卡、中頻射頻卡和高頻射頻卡。低頻系統主要用于短距離、低成本的應用中,如多數的門禁控制、校園卡、動物監管、貨物跟蹤等。中頻系統用于門禁控制和需傳送大量數據的應用系統;高頻系統應用于需要較長的讀寫距離和高讀寫速度的場合,其天線波束方向較窄且價格較高,在火車監控、高速公路收費等系統中應用。按調制方式的不同可分為主動式和被動式。主動式射頻卡用自身的射頻能量主動地發送數據給讀寫器;被動式射頻卡使用調制散射方式發射數據,該類技術適合用在門禁或交通應用中,因為讀卡器可以確保只激活一定范圍之內的射頻卡。按作用距離可分為密耦合卡(作用距離小于1厘米)、近耦合卡(作用距離小于15厘米)、疏耦合卡(作用距離約1米)和遠距離卡(作用距離從1米到10米,甚至更遠)。按芯片分為只讀卡、讀寫卡和CPU卡。[2]2.2.5RFID技術發展的瓶頸隱私權問題失業問題國際標準的制定與推行成本的降低技術的突破2.3系統硬件結構系統的上位機主要負責傳輸讀寫命令給下位機,進行用戶數據信息的統一管理,并實現良好的人機交互。系統的下位機主要負責和讀卡器之間進行數據傳輸,再通過讀卡器和IC卡進行數據交換,并將響應數據傳回給上位機。圖1系統硬件結構圖圖1系統硬件結構圖圖1為系統的硬件結構圖。系統的IC卡采用Mifare標準IC卡MF1ICS50,讀卡器采用周立功內置PHILIPS高集成ISO14443A讀卡芯片MFRC500的ZLG500AT讀卡模塊。系統的MCU采用MICROCHIP公司的PIC系列單片機,采用內部的USART模塊與讀卡器進行通信,通過RC500芯片與IC卡進行無線數據收發,并通過RS485與計算機相連接。另外,下位機還帶有顯示功能。上位機軟件通過ACCESS數據庫對用戶數據信息進行管理。2.4上位機控制界面設計采用VisualC++編寫上位機軟件程序,運用MFC中的CRecordSet類與Access數據庫相連接,行進數據交換。界面采用樹和列表的視圖方式,實現良好的人機交互功能。上位機與下位機的通信采用485通信,運用VC中的MSCOMM控件來控制計算機的串口數據的接收和發送。2.5下位機軟件流程下位機的工作流程為:PIC單片機通過控制ZLG500AT讀卡模塊中的MFRC500讀卡芯片,與Mifare標準IC卡進行數據通信,并通過RS485與計算機交換數據信息的。首先,單片機上電后對各模塊進行初始化,然后接收上位機的指令,根據不同的指令,對卡實行不同的數據操作。下圖為軟件流程圖:圖2系統軟件流程圖圖2系統軟件流程圖3PIC16F877單片機3.1PIC16F877系統硬件概況3.1.1內核及外圍模塊圖3PIC圖3PIC16F877內核與外圍模塊3.1.2內核結構的特點采用哈佛結構程序空間8K字節,共35條指令512字節RAM,使用寄存器文檔的概念8層硬件堆棧指令采用流水線機制,指令順序執行時只需一個指令周期,程序分支跳轉需2個字節具有獨立看門狗3.1.3存儲器尋址方式數據寄存器尋址:直接尋址:由于在指令編碼中只有最低7位數據代表了尋址操作數地址,而有512字節RAM,因此需要利用STATUS中的RP1:RP0來實現高2位的尋址,即劃分BANK區。間接尋址:利用特殊寄存器FSR和STATUS的第7位IRP來表示9位地址,用INDF寄存器來實現間接尋址。即對INDF的任何操作,操作對象都被轉到FSR+IRP構成的9位地址處的寄存器。程序存儲器尋址:直接尋址:由于在指令編碼中只有11位數據代表了跳轉的目的地址,而程序空間有8K字節,因此需要利用PCLATH的3:4位來實現高2位的尋址,即分頁的概念。當執行跳轉指令時,會自動把兩者結合送入PC中,實現程序的正確跳轉。間接尋址:由PCLATH的低5位和PCL來表示13位地址。當指令的操作數為PCL時,那么當指令把結果寫回PCL的同時,內核會自動把PCLATH的低5位同步寫入PCH中,實現程序的正確跳轉。[3]3.1.4中斷機制PIC系列單片機只有一個中斷入口(004H),所有的中斷都通過該入口進入中斷服務子程序,至于是哪一個中斷源,只有在進入中斷服務子程序后查詢中斷標志才能確認。該單片機沒規定中斷的優先級,也沒有用于設定中斷優先級的寄存器,中斷的優先級是由于中斷服務子程序中斷查詢中斷標志的順序確定的。CPU響應一個中斷并進入中斷服務程序后,全局中斷允許位GIE被自動清零,CPU在此期間不響應其它中斷,也不能形成中斷嵌套。中斷大致可以分為兩類:一類是由中斷控制器INTCON直接控制的中斷,包括外部引腳中斷INT的RB口電平變化中斷以及定時器TMRO溢出中斷,它們的中斷允許位和中斷標志都在INTCON寄存器中。引腳中斷INT和定時器TMRO溢出中斷與其它微處理器相同。RB口電平變化中斷是PIC單片機特有的中斷,當把RB口高4位I/O口線設置為輸入時,只要這4位I/O口線上的電平發生變化就會引起中斷;另一類是外圍接口中斷,包括定時器TMR1溢出中斷、TMR溢出或匹配中斷、同步串行口中斷、異步串行口中斷、并行從動口中斷、A/D轉換完成中斷和CCP(Capture/Compare/PWM)中斷等。這些中斷的允許位分別在PIE1和PIE2寄存器,而中斷標志則分別在PIR1和PIR2中。圖4PIC圖4PIC16F877中斷邏輯圖3.2USART通信模塊通用同步異步接收發送模塊(USART)是二線制串行通信接口,它可以被定義如下三種工作方式:全雙工異步方式、半雙工同步主控方式、半雙工同步從動方式。USART功能模塊含有兩個8位可讀/寫的狀態/控制寄存器,它們是發送狀態/控制寄存器TXSTA和接收狀態/控制寄存器RCSTA。USART帶有一個8位波特率發生器BRG(BaudRatoGenerator),這個BRG支持USART的同步和異步工作方式。用SPBRG寄存器控制一個獨立的8位定時器的周期。在異步方式下,發送狀態/控制寄存器TXSTA的BRGH位也被用來控制波特率。在發送或接收數據時,通過查詢發送/接收中斷標志位即可判斷是否發送完一個數據/接收到一個數據。發送/接收中斷標地不需要也不用軟件復位。在異步串行發送的過程中,只要TXREG寄存器為空,中斷標志TXIF就置位。因此,TXIF為1并不是發送完畢的標志,但仍可以用TXIF標志來判斷。因此當TXREG為空時,將數據送入后,數據會保留在TXREG寄存器中,直到前一個數據從發送移位寄存器中移出,即前一個數據發送完。圖5USART發送模塊圖5USART發送模塊圖6USART接收模塊圖6USART接收模塊本系統中利用USART模塊的異步通信功能,通過MAX485芯片實現和上位機的通信。為了把RC6和RC7分別設置成串行通信接口的發送/時鐘(TX/CK)線和接收/數據(TX/DT)線,必須首先把SPEN位(TCSTAT的RD7)和方向寄存器TRISC的D7:D6置1。3.3定時器3.3.1定時器0Timer0是一個8位定時器,只要程序在運行,TMR0的遞增計數就不會停止,TMR0寄存器用來存放計時值。Timer0的時鐘源選擇是由0PTl0N_REG寄存器中的T0CS位來決定的,將此位設為0表示使用內部的時鐘源,設為1則使用外部時鐘。使用內部時鐘時,定時器會每一個指令周期增量一次,也就是時鐘頻率為Fosc/4(在不使用頓分頻器的情況下)。Timer0有一個預定標器(也叫預分頻器),通過預分頻器的使用,可以使得定時器可計算的時間范圍增加不少。這個預分頻器也可分配給WDT作為后分頻器使用,至于預分頻器是給WDT還是Timer0使用,則是由0PTION_REG寄存器中的PSA位來決定的。當PSA位為0時,表示作為Timer0的預分頻器:當PSA位為1時,表示作為WDT的后分頻器。這個預分頻器的比例由OPTlON_REG寄存器中PS2、PSl與PS0三個標志位來設置。3.3.2定時器116位計數寬度。可工作在同步定時器方式,同步計數器方式,異步計數器方式。Timer1的外部時鐘輸入引腳有2個,分別是RC0/T10SO/T1CKI和RCl/T1OSI/CCP2引腳。在單片機內部,這2個引腳之間內置了一個振蕩器電路。在進入休眠模式后,振蕩器依然會繼續輸出,因此可以繼續Timer1的累計動作。和CCP模塊功能結合時,必須工作于同步模式。3.3.3定時器28位計數寬度。有一個前置預分頻器和后置預分頻器。Timer2另外一個特點就是帶有一個PR2寄存器,稱之為周期寄存器,這個寄存器可以被填入適當的值。當TMR2寄存器的值增量到與PB2寄存器的值相等時,便會產生Timer2的中斷。可于CCP模塊結合,產生PWM。4Mifare標準IC卡MF1ICS504.1Mifare標準IC卡MF1ICS50簡介4.1.1主要指標容量為8K位EEPROM分為16個扇區,每個扇區為4塊,每塊16個字節,以塊為存取單位每個扇區有獨立的一組密碼及訪問控制每張卡有唯一序列號,為32位具有防沖突機制,支持多卡操作無電源,自帶天線,內含加密控制邏輯和通訊邏輯電路數據保存期為10年,可改寫10萬次,讀無限次工作頻率:13.56MHZ通信速率:106KBPS[4]圖7圖7MF1ICS50示意圖4.1.2結構組成RF接口:調制器解調器,整流器,時鐘再生器,上電復位,電壓調整器反沖突:在同一區域中的卡可以被順序選中執行操作確認:確認過程確保只有通過每個段的兩個密鑰才能對這個段進行任何存儲器操作控制和算術邏輯單元:值以特殊的冗余格式保存而且可以增加和減少EEPROM接口Crypto單元:Mifare經典系列經區域驗證的CRYPTO1流密碼確保數據交換的保密性EEPROM:有1K字節分成16個區每區又分成4段每一段中有16個字節每個區的最后一個段叫尾部它包括兩個密鑰和這個區中每一個段的訪問條件。圖8USART接收模塊圖8USART接收模塊4.2EEPROM存儲器4.2.1存儲結構M1卡分為16個扇區,每個扇區4段(段0、段1、段2、段3),每段16字節。第0扇區的段0,它用于存放廠商代碼,已經固化,不可更改。每個扇區的段0、段1、段2為數據段,可用于存貯數據。數據段可作兩種應用:一般的數據保存,可以進行讀、寫操作;數據值,可以進行初始化值、加值、減值、讀值操作。每個扇區的段3為控制塊,包括了密碼A、存取控制、密碼B。圖9卡捏存儲結構圖圖9卡捏存儲結構圖4.2.2存儲器訪問每個扇區的密碼和存取控制都是獨立的,可以根據實際需要設定各自的密碼及存取控制。每個數據段和區尾的訪問條件由3個位來定義它們以取反和不取反的形式保存在指定區的區尾中。存取控制為4個字節,共32位。扇區中的每個塊(包括數據塊和控制塊)的存取條件是由密碼和存取控制共同決定的,在存取控制中每個塊都有相應的三個控制位,定義如下:塊0:C10C20C塊1:C11C21C塊2:C12C22C塊3:C13C23C三個控制位以正和反兩種形式存在于存取控制字節中。密鑰和訪問位的讀寫訪問可分為從不、密鑰A、密鑰B或密鑰A|B。詳細的數據段及尾區的訪問條件如下表所示。根據系統需要,各訪問權限設定為:段3:011,段2-0:110。表1尾區的訪問條件列表表1尾區的訪問條件列表表2數據段的訪問條件列表表2數據段的訪問條件列表4.3流程示意圖10圖10IC卡工作流程圖請求標準所有(request): 當有卡片進入讀寫器的操作范圍時,讀寫器以特定的協議與它通訊,從而確定該卡是否為M1射頻卡,即驗證卡片的卡型;若沒有則一直處于等待狀態。反沖突環(Anticollision):反沖突環可以讀出卡的序列號。如果在RWD的工作范圍內有幾張卡RWD,通過唯一的序列號來區別它們,而且每次選擇其中一張卡進行下一步操作,沒有被選中的卡會回到準備模式等待新的請求命令。選擇卡(SelectTag):RWD使用選擇卡命令選中其中一張卡進行確認和存儲器相關操作。卡返回AnswerToSelect(ATS)碼(=08h),RWD通過ATS可以確定被選中的卡的類型。3輪確認(3PassAuthentication):選中了一張卡之后,RWD指出了接著要訪問的存儲器位置,然后使用相應的密鑰進行3輪確認,在成功確認后所有的存儲器操作都是保密的。[4]存儲器操作:確認之后可以執行以下的任何操作:讀存儲器段寫存儲器段減存儲器段的內容并將結果保存在臨時的內部數據寄存器中增加存儲器段的內容并將結果保存在數據寄存器中恢復將存儲器段的內容移到數據寄存器傳送將臨時內部數據寄存器的內容寫到值存儲器段中4.4保密性這個卡一個特殊的要點是保密,防止欺騙。需要通過3輪相互詢問和響應確認(ISO/IECDIS9798-2),數據保密和報文確認檢查防止系統受到任何干擾,RF信道的數據加密,有重放攻擊保護,使購票應用更有吸引力。每個設備有唯一的序列號,且該序列號不可修改,保證了每張卡都是唯一的。每個區有兩套獨立的密鑰,支持帶密鑰層次的多應用,在運輸過程中訪問EEPROM有傳輸密鑰保護。4.5數據存儲地址根據系統需要,將用戶賬號、卡類、剩余金額、車載機號及最后刷卡時間等數據存儲到如下地址:變量長度地址賬號3個字節30(0,1,2)卡類1個字節30(3)金額2個字節29(0,1)車載機號2個字節29(2,3)時間5個字節29(4年,5月,6日,7時,8分)表3系統數據存儲地址表3系統數據存儲地址5ZLG500A讀卡模塊5.1模塊特性概述ZLG500AT讀卡模塊內置最新PHILIPS高集成ISO14443A讀卡芯片MFRC500,能讀寫RC500內EEPROM。采用三線SPI接口(三線分別為片選SS時鐘線SCLK和數據線SDATA),能與任何MCU接口。模塊采用四層電路板設計,雙面表貼,EMC性能優良。無源蜂鳴器信號輸出口能用軟件控制輸出頻率及持續時間。[5]下圖為天線一體化的讀卡模塊:圖11圖11天線一體化模塊5.2MFRC500芯片5.2.1概述MFRC500是應用于13.56MHz非接觸式通信中高集成讀卡IC系列中的一員。該讀卡IC系列利用了先進的調制和解調概念,完全集成了在13.56MHz下所有類型的被動非接觸式通信方式和協議。MFRC500支持ISO14443A所有的層。內部的發送器部分不需要增加有源電路就能夠直接驅動近操作距離的天線可達100mm。接收器部分提供一個堅固而有效的解調和解碼電路,用ISO14443A兼容的應答器信號。數字部分處理ISO14443A幀和錯誤檢測(奇偶&CRC)。此外,它還支持快速CRYPTO1加密算法用于驗證MIFARE系列產品。方便的并行接口可直接連接到任何8位微處理器,這樣給讀卡器/終端的設計提供了極大的靈活性。5.2.2內部結構圖圖12圖12RC500內部結構圖并行微控制器接口自動檢測連接的8位并行接口的類型。它包含一個易用的雙向FIFO緩沖區和一個可配置的中斷輸出。這樣就為連接各種MCU提供了很大的靈活性。即使使用非常低成本的器件也能滿足高速非接觸式通信的要求。數據處理部分執行數據的并行-串行轉換。它支持的幀包括CRC和奇偶校驗。它以完全透明的模式進行操作,因而支持ISO14443A的所有層。狀態和控制部分允許對器件進行配置以適應環境的影響并使性能調節到最佳狀態。當與MIFAREStandard和MIFARE產品通信時,使用高速CRYPTO1流密碼單元和一個可靠的非易失性密匙存儲器。模擬電路包含了一個具有非常低阻抗橋驅動器輸出的發送部分。這使得最大操作距離可達100mm。接收器可以檢測到并解碼非常弱的應答信號。由于采用了非常先進的技術,接收器已不再是限制操作距離的因素了。[6]5.3串行接口5.3.1接口原理圖13圖13ZLG500AT與PIC16F877的接口圖示接口空閑時主機SS=1,SCLK=0,SDATA=0,從機SS=1,SCLK=1,SDATA=0。其中SS和DATA是雙向的,而時鐘線SCLK是單向的,即時鐘只能由主控制器產生,該信號必須嚴格遵守時序規范,否則將出現通信錯誤,讀卡模塊必須釋放該線。SS為數據發送使能,若一方有數據要發送給另一方,則該方控制SS線為低,并在發送結束后將該線置高,接收數據方不得控制該線。雙方必須遵守通信協議,不得同時控制該線。SDATA為數據線,由數據發送端控制,數據接收端必須釋放該線。該線在一次傳輸開始時還同時作為數據接收端的響應信號。5.3.2時序圖圖14圖14ZLG500AT與PIC16F877的接口圖示t1—數據接收器響應至MCU產生第一個SCLK上升沿的時間t2—兩個字節傳輸之間,SCLK低電平的持續時間t3—傳輸最后一個字節的最后一位的SCLK信號的上升沿至SS上升沿的時間tH—SCLK信號的高電平持續時間tL—SCLK信號的低電平持續時間5.3.3數據讀寫寫數據:除響應信號外,三根線上的信號全由MCU產生。MCU在SS線上產生一個下降沿。發出請求數據傳輸的信號,等待ZLG500響應后,本次數據傳輸開始,ZLG500將在SCLK為高時讀取SDATA線上的數據。傳輸完畢后,MCU應在SS線上產生一個上升沿結束本次傳輸。傳輸過程中,必須嚴格遵守以下時間要求:t1>7us,t2>14us,tH>7us,tL>9us,t3=任意。讀數據:響應信號、SCLK信號由MCU產生,SS信號和SDATA信號由ZLG500產生。ZLG500會在SS線上產生一個下降沿,發出請求數據傳輸的信號,等待MCU響應后,本次數據傳輸開始,MCU將在SCLK為高時讀取SDATA線上的數據。傳輸完畢后,ZLG500將會在SS線上產生一個上升沿結束本次傳輸。傳輸過程中必須嚴格遵守以下時間要求:t1>14us,t2>16us,tH>6us,tL>6us,t3>9us。5.4數據傳輸協議5.4.1協議描述通信必須先由MCU發送命令和數據給ZLG500,ZLG500執行命令完畢后,將命令執行的狀態和響應數據發回MCU。開始通信前,收發雙方必須處于空閑狀態。首先MCU發出SS下降沿信號,然后等待ZLG500在SDATA線上的響應。若在50ms內未檢測到此響應,則退出本次傳輸。若ZLG500正確響應,則MCU可將命令和數據發送出去。然后MCU等待ZLG500發回的狀態和響應數據。也即等待SS線上的下降沿的產生,此時的MCU可用軟件查詢,也可用外部中斷。若在500ms內未檢測到此信號,則退出本次傳輸。若正確檢測到SS信號則可接收狀態和數據5.4.2數據塊格式MCU->ZLG500命令模式:SeqNr:1Byte數據交換包的序號Command:1Byte命令字符Len:1Byte數據的長度Data[]:LenByte數據字節BCC:1Byte的BCC校驗ZLG500->MCU響應模式:SeqNr:1Byte數據交換包的序號Status:1Byte狀態字符Len:1Byte數據的長度Data[]:LenByte數據字節BCC:1Byte的BCC校驗612864液晶模塊6.18位并行連接時序圖模塊有并行和串行兩種連接方法,當PSB腳接高電時(模塊背面S/P的短路電阻在“P”側),模塊將進入并行傳輸模式;在并行傳輸模式下,可由指令位(DLFLAG)來選擇8-BIT或4-BIT接口,主控制系統將配合(RS,RW,E,DB0..DB7)來完成傳輸動作。系統中采用8位并行連接的方式。圖15MCU寫數據到模塊的時序圖圖15MCU寫數據到模塊的時序圖6.2漢字顯示坐標文本顯示RAM提供8個×4行的漢字空間,顯示中文字形時,將兩字節編碼寫入DDRAMK,范圍為A1A0H-F7FFH(GB碼)或A140H-D75FH(BIG5碼)的編碼。表4漢字顯示坐標表4漢字顯示坐標6.3幾個主要的功能指令代碼清除顯示:顯示狀態開/關:設定DDRAM位址:讀取忙碌狀態:寫數據到RAM:7上位機控制界面設計7.1上位機控制主界面主界面采用樹和列表的視圖方式,左邊是樹,顯示數據庫中對應的表;右邊是數據列表,顯示用戶信息:卡號、姓名、證件號、辦卡日期、卡類、金額、備注,通過選擇左邊樹的某一項即能在右邊的列表模式中顯示該項的相關信息;最上面是工具欄,包括初始化、辦卡、充值、掛失、解掛、查詢、退卡等功能按鈕。通過該工具欄可進入其它功能子界面,實現功能需要。圖16上位機圖16上位機控制主界面7.2單片機與計算機的通訊使用MSCOMM控件控制計算機的串口,實現上位機與下位機的通信。其傳輸協議為:起始字節+命令字節/狀態字節+數據長度+數據。上位機傳送IC卡讀寫指令和相關數據給下位機,下位機執行指令,并將IC卡讀寫狀態信息傳回給上位機,上位機將傳回的數據進行處理,保存到數據庫中。[7]串口初始化程序如下:m_Com1.SetCommPort(1); //選擇串口1 m_Com1.SetInBufferSize(30); //設置緩沖大小 m_Com1.SetOutBufferSize(30); m_Com1.SetInputMode(1); //二進制傳輸 m_Com1.SetSettings("9600,n,8,1"); //設置波特率if(!m_Com1.GetPortOpen()) //打開串口 { m_Com1.SetPortOpen(true); }各指令的傳輸數據見下表:上位機命令發送數據接收數據命令執行成功命令執行失敗初始化0xF0+Cmd_Initialize+0x04+賬號和卡類 0xF0+OpRight+0x000xF0+WriteError/MissWrite/MissKey/MissData/MissCmd/CardNoReady+0x00辦卡0xF0+Cmd_ReadCard+0x000xF0+OpRight+0x06+賬號、卡類和金額0xF0+MissRead/MissKey/MissData/MissCmd/CardNoReady+0x000xF0+Cmd_WriteCard+0x02+金額0xF0+OpRight+0x000xF0+WriteError/MissWrite/MissKey/MissData/MissCmd/CardNoReady+0x00充值0xF0+Cmd_ReadCard+0x000xF0+OpRight+0x06+賬號、卡類和金額0xF0+MissRead/MissKey/MissData/MissCmd/CardNoReady+0x000xF0+Cmd_WriteCard+0x02+金額0xF0+OpRight+0x000xF0+WriteError/MissWrite/MissKey/MissData/MissCmd/CardNoReady+0x00查詢0xF0+Cmd_ReadCard+0x000xF0+OpRight+0x06+賬號、卡類和金額0xF0+MissRead/MissKey/MissData/MissCmd/CardNoReady+0x00退卡0xF0+Cmd_ReadCard+0x000xF0+OpRight+0x06+賬號、卡類和金額0xF0+MissRead/MissKey/MissData/MissCmd/CardNoReady+0x00表5上位機指令傳輸數據表5上位機指令傳輸數據7.3數據庫幾中常用的數據庫接口。ODBC(OpenDataBaseConnectivity),MFCODBC(MicrosoftFoundationClassesODBC),DAO(DataAccessObject),OLEDB(ObjectLinkandEmbeddingDataBase),ADO(ActiveXDataObject)。ODBC(OpenDatabaseConnectivity開放數據庫連接),提供了應用程序接口(API),使得任何一個數據庫都可以通過ODBC驅動器與指定的DBMS相聯。用戶的程序就可以通過調用ODBC驅動管理器中相應的驅動程序達到管理數據庫的目的。用MFCAppwizard(exe)創建一個數據庫處理的SDI/MDI程序,只需在向導的第二步中選中“Databaseviewwithoutfilesupport”或“Databaseviewwithfilesupport”即可。[8]本系統使用Access數據庫來保存用戶數據資料。VC程序通過使用MFCODBC中的CRecordSet類與數據庫建立聯系,查看、編輯其中的數據記錄。另外,使用CRecordSet類的成員變量m_strFilter、m_strSort還可以對表進行記錄的查詢和排序。數據庫中保存的信息主要包括:卡號、姓名、證件號、辦卡日期、卡類、金額、備注等。CRecordSet類的主要成員函數如下:Open(); //打開記錄集AddNew(); //在表的末尾增加新記錄Update(); //將新記錄存入數據庫MoveLast(); //將當前記錄位置定位到最后一個記錄MoveFirst(); //將當前記錄位置定位到第一個記錄MoveNext(); //將當前記錄位置下移一個Edit(); //編輯當前記錄Delete(); //刪除當前記錄7.4功能子界面設計點擊最上方工具欄中的按鈕,即可進入其它功能子界面,實現初始化、辦卡、充值、掛失、解掛、查詢、退卡等服務功能。其中辦卡和掛失的界面如下圖:圖17上位機控制功能子界面圖17上位機控制功能子界面另外,為提高系統的安全性,在進入系統前,設置了一個系統登陸對話框。其界面如下圖所示:圖18系統軟件登陸框圖18系統軟件登陸框8系統的調試8.1單片機和讀卡器通信部分的調試8.1.1調試過程連接電路及調試工具:連接PIC與ZLG500間的接口,連接PIC與ICD2的在線編程調試接口,連接ICD2與計算機的串口,連接+12V電源線。調試程序:打開MPLABIDEv7.5調試軟件,打開軟件工作區,配置系統數據,編譯,鏈接,下載,調試。觀察數據的收發狀況。8.1.2調試結果實現了ZLG500與PIC單片機之間的正確通信,包括模塊初始化,請求,防沖突,選擇,密碼驗證,讀數據,寫數據,掛起,蜂鳴器、復位等命令,并能通過讀卡器訪問IC卡內部的存儲器,實現數據存儲的功能,在多張卡的情況下能實現防沖突的功能。8.1.3發現的問題在執行buzzer命令后,需要延時和蜂鳴時間相應的時間長度才能和ZLG500進行通信。因為ZLG芯片中的MCU是51,沒有PWM,其驅動的蜂鳴器又是無源的,要靠振蕩才會發出聲音,所以在發出聲音的時候,ZLG不接收其他指令,其內部程序不能執行其他服務程序。在以后的改進中,可用PIC直接控制蜂鳴器。8.2單片機和上位機通信部分的調試8.2.1調試過程編寫單片機程序、上位機控制界面及數據庫。連接電路及調試工具:連接PIC與ZLG500間的接口,連接PIC與ICD2的在線編程調試接口,連接ICD2與計算機的串口,連接+12V電源線。通過RS-232轉RS-485接口連接單片機和上位機。調試程序:打開MPLABIDEv7.5調試軟件,打開軟件工作區,配置系統數據,編譯,鏈接,下載,調試。觀察數據的收發狀況,實現系統功能。8.2.2調試結果實現公交充值系統的以下功能:初始化:制卡功能專門用于對卡(新卡或再利用的卡)進行初始化。卡片在正式投入使用前必須經過初始化,將密鑰、存取權限及卡號寫入卡內。辦理新用戶:登記用戶信息,寫金額到卡中的寄存器。充值:為IC卡寫入充值金額。同時,數據庫中更新數據。掛失:當用戶遺失卡時,可通過此功能進行掛失。解掛:將已掛失的卡解除其掛失狀態。查詢:可查詢卡內余額,及其它用戶信息。退卡:用戶退還卡,刪除數據庫中的相關信息。8.3系統調試 連接系統所有設備進行調試:連接PIC與ZLG500間的接口,連接PIC與液晶模塊的接口,連接PIC與ICD2的在線編程調試接口,連接ICD2與計算機的串口,連接+12V電源線。通過RS-232轉RS-485接口連接單片機和上位機。使液晶模塊實現其相應的顯示功能,完善整個系統功能。 最后,雖然本次設計的系統運行基本正常,但還需要很多的改進。8.4系統的后續設計方向由于在ZLG500控制蜂鳴器工作時,單片機不能和其進行數據通信,導致讀寫卡的效率降低,因此可改用PIC單片機直接控制蜂鳴器,以提高工作效率。或者可以脫離ZLG500,PIC直接與RC500讀卡模塊通信。本系統只完成了公交IC卡收費系統中的辦卡充值系統的功能,在后續的工作上還須要設計車載收費系統以及數據采集系統。其中車載收費系統只須在現
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 下肢靜脈血栓形成的健康宣教
- 2025年農田種植承包合同
- 北京科技大學物流學考試真題
- 2025年平涼貨運從業資格證好考嗎
- 新生兒獲得性免疫缺陷綜合征的健康宣教
- 實習生入重癥醫學科培訓大綱
- 2025年日照貨運從業資格證模擬考試題下載
- 護理操作并發癥的探討與應對
- 2025企業合同終止協議范本
- 2025年未簽訂勞動合同如何證實合同關系
- 2023年-江蘇蘇州市市屬國有企業招聘筆試參考題庫附帶答案詳解
- 初中英語 基數詞序數詞練習題(附答案)
- 空氣動力學試題
- 精軋機組F軋機主傳動系統設計
- GB 15631-2008特種火災探測器
- 菩薩蠻黃鶴樓(毛澤東).中職課件電子教案
- 銀行存款日記賬課件
- 2023高中學業水平合格性考試歷史重點知識點歸納總結(復習必背)
- 導游人員管理法律制度課件
- 美國地圖高清中文版
- 金屬監督監理實施細則
評論
0/150
提交評論