<strike id="tpvd9"><dfn id="tpvd9"></dfn></strike>

        <em id="tpvd9"></em>

          <address id="tpvd9"></address>
            <dfn id="tpvd9"><sub id="tpvd9"></sub></dfn>

            <thead id="tpvd9"><noframes id="tpvd9">
            <ruby id="tpvd9"></ruby>

                  <thead id="tpvd9"></thead>
                  歡迎您訪(fǎng)問(wèn)鄭州興邦電子股份有限公司官方網(wǎng)站!
                  阿里巴巴誠信通企業(yè)
                  全國咨詢(xún)熱線(xiàn):40000-63966
                  興邦電子,中國水控機第一品牌

                  聯(lián)系興邦電子

                  全國咨詢(xún)熱線(xiàn):40000-63966

                  售后:0371-55132951/55132952

                  工廠(chǎng):河南省 鄭州市 高新區蓮花街電子電器產(chǎn)業(yè)園

                  公交非接觸IC卡讀寫(xiě)器的應用設計

                  文章出處:http://psychicreadingswithdeb.com 作者:上海市齊濟電子有限公司&nbsp;&nbsp; 人氣: 發(fā)表時(shí)間:2011年10月29日

                  [文章內容簡(jiǎn)介]:采用PHILIPS公司的Mifare卡作IC卡,設計以射頻技術(shù)為核心,以單片機為控制器的IC卡讀寫(xiě)器在公交自動(dòng)收費系統中的應用.制作的IC卡讀寫(xiě)器可以實(shí)現制卡、售卡、自動(dòng)收費等功能,具有安全、實(shí)用、方便、快捷、可靠性高的特點(diǎn),解決了城市公共交通服務(wù)行業(yè)既頻繁又瑣碎的收費管理問(wèn)題,有廣泛的應用前景.

                  一、IC卡讀寫(xiě)器概述

                  目前經(jīng)常接觸到的IC卡有兩種:接觸式的和非接觸式的IC卡。接觸式的IC卡通過(guò)機械觸點(diǎn)從讀寫(xiě)器獲取能量和交換數據;非接觸式IC卡通過(guò)線(xiàn)圈射頻感應從讀寫(xiě)器獲取能量和交換數據,所以又稱(chēng)射頻卡。日前在利會(huì )上常見(jiàn)的是接觸式IC卡。它具有存儲量大(以兆為單位),保密功能強(有多重密碼設置和認證功能),可實(shí)現一卡多用。但是,這類(lèi)卡的讀寫(xiě)操作速度較慢,操作也不方便,每次讀寫(xiě)時(shí)必須把卡正確地插入到讀寫(xiě)器的日槽才能完成數據交換,這樣,在公交、考勤等需要頻繁讀寫(xiě)卡的場(chǎng)合就很不方便,而且讀寫(xiě)器的觸點(diǎn)和卡片上IC卡的觸腳暴露在外,容易損壞和搞臟而造成接觸不良。
                  非接觸式IC卡是根據射頻電磁感應原理產(chǎn)生的。已的讀寫(xiě)操作只需將卡片放在讀寫(xiě)器附近一定的距離之內就能實(shí)現數據交換,無(wú)需任何接觸,使用中非常方便、快捷,不易損壞。因此,在公交、門(mén)禁、校園、企事業(yè)等人事管理、娛樂(lè )場(chǎng)所等方面有廣泛的應用前景。日前我國引進(jìn)的射頻工C卡主要有PHILIPS公司的Mifaue和ATMEL公司的Temic卡。卜面以PHILIPS公司的Mifaue卡為主、介紹城市公交自動(dòng)售票IC卡讀寫(xiě)器的實(shí)現方法。

                  二、工作原理

                  非接觸式IC卡讀寫(xiě)器以射頻識別技術(shù)為核心,讀寫(xiě)器內主要使用了1片Mifare卡專(zhuān)用的讀寫(xiě)處理芯片——MMM微模塊。已是一個(gè)小型的最大操作即離達20-30mm的Mifare讀/寫(xiě)設各的核心器件,其功能包括調制、解調、產(chǎn)生射頻信號、安全管理和防碰撞機制。內部結構分為射頻區和接口區:射頻區內含調制解調器和電源供電電路,直接與人線(xiàn)連接;接口區有與單片機相連的端日,還具有與射頻區相連的收/發(fā)器、16字節的數據緩沖器、存放64對傳輸密鑰的ROM、存放3套密鑰的只寫(xiě)存儲器以及進(jìn)行三次證實(shí)和數據加密的密碼機、防碰撞處理的防碰撞模塊和控制單元。這是與射頻卡實(shí)現無(wú)線(xiàn)通信的核心模塊,也是讀寫(xiě)器讀寫(xiě)Mifare卡的關(guān)鍵接口芯片。讀寫(xiě)器工作時(shí),不斷地向外發(fā)出一組固定頻率的電磁波(13. 6MHz),當有卡靠近時(shí),卡片內有一個(gè)LG串聯(lián)諧振電路,其頻率與讀寫(xiě)器的發(fā)射頻率相同,這樣在電磁波的激勵下,LG諧振電路產(chǎn)生共振,從而使電容充電有了電荷。在這個(gè)電容另一端,接有一個(gè)單向導電的電子泵,將電容內的電荷送到另一個(gè)電容內存儲。當電容器充電達到2V時(shí),此電容就作為電源為卡片上的其他電路提供工作電壓,將卡內數據發(fā)射出去或接收讀寫(xiě)器發(fā)出的數據與保存。

                  三、硬件組成

                  公交收費系統結構復雜,環(huán)節較多,因此,公交非接觸IC卡的讀寫(xiě)器至少應包括公交售卡機、公交車(chē)載機和公交制卡機三個(gè)讀寫(xiě)器。除了售卡機要求有鍵盤(pán)外,其余的硬件組成大體相同。圖1為非接觸IC卡及其讀寫(xiě)器硬件電路原理圖,主要由MMM微模塊、單片機、鍵盤(pán)、顯示、存儲器、天線(xiàn)和監控電路以及與PC機通信的TC232串行通信接日電路等部分組成。

                  (1)單片機系統

                  單片機采用89C52。片內有8KB的ROM,256字節的RAM以及有32個(gè)I/0口。P1口與串行器件24C64和顯示、報警電路連接;PO口與MMM微模塊相連,用作數據線(xiàn);P2口用作4*4鍵盤(pán);P3口用于讀寫(xiě)控制和中斷。

                  (2)鍵盤(pán)電路

                  鍵盤(pán)接口電路用P2口接成4*4結構,共16個(gè)鍵。其中數字鍵10個(gè),功能鍵2個(gè),退格鍵和回車(chē)鍵各1個(gè),有2個(gè)鍵暫時(shí)未用。功能鍵有查詢(xún)和通信兩鍵。

                  查詢(xún)鍵:售卡員可以通過(guò)此鍵查詢(xún)售卡金額和售卡記錄數。通信鍵:由于讀寫(xiě)器的存儲量有限,因此讀寫(xiě)器每售卡一段時(shí)間,應將讀寫(xiě)器中的數據通過(guò)RS-232串行接口與PC機通信,以便回放和清空讀寫(xiě)器中的數據。數據回放到PC機中后,通過(guò)分析處理,形成各種報表,以便公交公司及時(shí)掌握售卡情祝。

                  (3)顯示電路

                  顯示部分采用數碼顯示,利用串行輸入BCD碼——十進(jìn)制譯碼驅動(dòng)顯示器件MC14499來(lái)完成與單片機系統的顯示接口,以顯示讀寫(xiě)器工作狀態(tài)、輸入的數據或讀出IC卡中所剩余以及出錯信息等。此器件主要有1個(gè)20位移位寄存器、1個(gè)鎖存器、1個(gè)多路輸出器。多路輸出器輸出的BCD碼經(jīng)段譯碼器譯碼后,換成七段碼(abcdefg)和小數點(diǎn)DP送到段驅動(dòng)器輸出。

                  (4)存儲器

                  讀寫(xiě)器中設計了存儲器。存儲器選用24CXX系列的串行E2PROM。在售卡機中主要存放卡號、售卡員號、售卡金額、售卡日期、售卡總金額和售卡總記錄數;在車(chē)載機中主要存放乘客IC卡號、司機號和刷卡總數等信急。顯示用的MC14499驅動(dòng)4位共陰數碼管。正常工作后,每隔一段時(shí)間要把讀寫(xiě)器拿到公交管理中心將讀寫(xiě)器儲存的信息回放到PC機中保存處理。讀寫(xiě)器中存儲器可采用24C64,其存儲量為8KB,如有需要也可用容量更大的存儲器如24C128或24C256等。

                  (5)監控電路

                  監控電路采用DS1232L芯片。它是個(gè)看門(mén)狗定時(shí)器,其功能是:上電和掉電時(shí)給89C52產(chǎn)生RESET信號;看門(mén)狗對系統進(jìn)行監控,防止死機。

                  (6)非接觸式IC卡

                  非接觸式IC卡選用Mifare卡。其工作頻率為13. 6MHz,存儲量為1KB分16區,每區2套密碼,每個(gè)區的存儲區域相互獨立,因此每區可用作一種用途(第0區一般不用)以實(shí)現一卡多用。由十Mifare卡密碼驗證機制嚴密,保存的信息,比較可靠安全,可以擦寫(xiě)幾萬(wàn)次。

                  Mifare卡的16個(gè)區,每區又分4塊,每塊16字節。在售卡機中用第1區作用作用戶(hù)儲值塊,其中第0塊存放身份號,第1-2塊存放價(jià)值,第3塊存放兩套6字節密碼和4字節讀寫(xiě)訪(fǎng)問(wèn)條件。

                  四、程序設計

                  下面以售卡機為主介紹軟件設計方法。

                  考慮到售卡金額的安全管理,公交公司事先必須制作好兩種IC票卡:一種是用戶(hù)IC票卡,另一種是售卡員的售票IC卡。這兩種卡可使用相同區號,但密碼和訪(fǎng)問(wèn)條件完全不同,不會(huì )混淆。售卡員要進(jìn)行售卡時(shí),必須先到公交公司辦理一張售票IC卡,才有售卡的資格。售票IC卡內存放了售卡員身份號、允許售卡的最大金額、兩套6字節密碼和4字節讀寫(xiě)訪(fǎng)問(wèn)條件。售卡員售卡時(shí),每充值一張卡必須從自己的售票IC卡中減去售卡金額,加到用戶(hù)IC卡中。當售票IC卡金額減到零后,要到公交公司結賬,并再對售票IC卡充值記賬。這樣,可使公交公司的售卡網(wǎng)點(diǎn)分布得多而不亂,又可方便用戶(hù)充值加卡,可有效地防止售票人員賬日不清而造成的資金流失。程序主要包括IC卡讀寫(xiě)操作程序、鍵盤(pán)掃描程序、顯示程序、存儲器讀寫(xiě)程序和通信程序。

                  1.主程序

                  主程序主要完成系統變量的初始化,循環(huán)掃描鍵盤(pán),檢測操作IC卡,將操作結果存儲和顯示。在售卡機中使用了8KB的24C64作存儲器,主要存儲的內容有:售卡機機號(1字節)、售卡總金額(3字節)和總記錄(2字節)。售出的每張卡的記錄包含:用戶(hù)卡身份號(4字節)、售卡日期(2字節)、加卡金額(1字節)和售卡人編號1字節)。因此最大能存儲1023張售卡記錄。主程序流程如圖2所示,讀寫(xiě)器對IC卡的操作流程如圖3所示。


                  2.鍵盤(pán)掃描程序

                  鍵盤(pán)掃描采用反轉法讀鍵:先從P2口的高4位輸出零電平,從P2口的低4位讀取鍵盤(pán)狀態(tài);再從P2口的低4位輸出零電平,從P2口的高4位讀取鍵盤(pán)狀態(tài),將兩次讀取的結果組合起來(lái)就可以得到當前按鍵的特征碼(見(jiàn)程序中TABLE表)。有了這張表就可以編程,將已們轉換成順序碼。用當前讀得的特征碼來(lái)順序查表,用一單元記錄查找次數。當在表中查到有該特征碼時(shí),已的位置(即查找次數)就是對應的順序碼。對應的鍵盤(pán)查鍵程序如下:

                  KEY: MOV P2, #OFH;用反轉法查鍵
                  MOV A, P2
                  ANL A, #OFH
                  MOV B, A
                  MOV P2, #OFOH
                  MOV A, P2
                  ANL A, #OFOH
                  ORL A, B
                  CJNE A, #OFFH, KEY1
                  RET;無(wú)鍵按下
                  KEY1: MOV B, A;有鍵按下,存鍵碼
                  MOV DPTR, #TABLE
                  MOV R3, #OFFH;存順序碼單元初始化
                  KEY2:INC R3
                  MOV A, R3
                  MOVC A, @A+DPTR
                  CJNE A, B, KEY3;判鍵碼,求順序碼
                  MOV A, R3;若找到鍵碼,存順序碼
                  RET
                  KEY3:CJNE A, #OFFH, KEY2;判是否查完
                  RET;己查完,鍵碼未找到,以無(wú)按鍵處理
                  TABLE : DB 77H, 7BH, OBBH;按鍵特征碼表
                  DB ODBH, 7DH, OBDH
                  DB ODDH, 7EH, OBEH
                  DB ODEH, OB7H, OD7H
                  DB OEEH, OEDH, OEBH
                  DB OE7H.OC7H.OFFH

                  3.顯示程序

                  根據圖1,在顯示電路中,用P1口的3根I/0口線(xiàn)(P1.0. P1.1. P1.2)分別提供時(shí)鐘信號(CLK) 。

                  串行數據CDA)和使能信號(EN)。MC14499每一次可接收20位串行輸入數據,前4位用于控制數碼管的小數點(diǎn)顯示,后16位是4個(gè)數碼管的BCD碼輸入數據。在每幀數據傳送之前,必須將EN置0;然后傳送20位數據,數據傳送完后,丙將EN置1。

                  顯示程序如下:

                  DISP:CLR P1. 0;清CLK
                  CLR P1. 2;清EN
                  MOV R2, #04;置傳送位數
                  MOV A, #00
                  LCALL W14499;調送數顯示
                  MOV A, @R1;讀要顯T的數
                  MOV R2, #08;置傳送位數
                  LCALL W14499
                  工NC R1
                  MOV A, @R1
                  MOV R2,#08;置傳送位數
                  LCALL W14499
                  SETS P1. 2;置EN位
                  RET
                  W14499:SETS P1. 0;清CLK
                  RLC A;準各逐位送數顯T
                  NtOV P1.1, C;將數移入DA
                  CLR P1.0;清CLK
                  DJNZ R2, W14499
                  RET

                  4.串行E2PROM讀寫(xiě)程序

                  24C64為I2C總線(xiàn)的E2PROMo SCL為400kHz時(shí)鐘線(xiàn),SDA為雙向數據線(xiàn),A2. A1. AO三位為片選地址,即I2C總線(xiàn)上最多可并聯(lián)8個(gè)串行E2PROM芯片。對E2PROM的操作方式由讀寫(xiě)控制命令字決定,如圖4所示其中”1010”為4位讀寫(xiě)控制碼,R/W為讀寫(xiě)控制位: 0 為寫(xiě)操作,"1”為讀操作。所以結合圖1可知A2H為寫(xiě)控制命令字,A3H為讀控制命令字。



                  對存儲器寫(xiě)操作,首先,單片機向24C64發(fā)一個(gè)START命令,產(chǎn)生開(kāi)始條件。然后,發(fā)寫(xiě)命令控制字(如A2H)。當24C64接到命令后,進(jìn)入一個(gè)寫(xiě)周期,再由單片機發(fā)送存儲地址,即確定數據寫(xiě)入到存儲器的哪個(gè)地址,隨后,單片機將要存儲的數據送入到SDA數據線(xiàn)上。寫(xiě)周期結束時(shí),甲一片機再發(fā)一停止位(STOP)。

                  對存儲器讀操作,首先,單片機向24C64發(fā)一個(gè)START命令,產(chǎn)生開(kāi)始條件。然后發(fā)寫(xiě)命令控制字(如A2H)。當24C64接到命令后,進(jìn)入一個(gè)寫(xiě)周期,再由單片機發(fā)送存儲地址。存儲地址發(fā)送成功后,單片機又向24C64發(fā)一個(gè)START命令,產(chǎn)生開(kāi)始條件,然后發(fā)讀命令控制字(A3H)。當24C64接到命令后,進(jìn)入一個(gè)讀周期,單片機從SDA數據線(xiàn)上讀出指定存儲地址中的數據。讀周期結束時(shí),單片機再發(fā)一停止位(STOP)。(程序略)

                  值得注意的是,對存儲器操作時(shí),每讀寫(xiě)一個(gè)字節,單片機必須送一個(gè)應答位(ACK),釋放一下SDA數據線(xiàn),以便存儲器能繼續接收數據。

                  5.通信程序

                  在讀寫(xiě)器中,單片機與PC機之間的通信主要由TC232來(lái)實(shí)現TTL電平( 0-5V>與RS232電平(正10-負10V)的轉換(電路見(jiàn)圖1),以完成售卡機保存的售卡記錄的傳送。通信格式設置為:采用串行工作方式1,波特率為9600baud,  1個(gè)起始位,8位數據位,1個(gè)停止位,采取和校驗方式。讀寫(xiě)器中,單片機程序可采用C語(yǔ)言進(jìn)行編程。C語(yǔ)言有功能豐富的庫函數,運算速度快、編譯效率高、可移植性好、軟件的可讀性強,便于改進(jìn)和擴充(程序略)。

                  為提高在公交系統的適應能力,包括用戶(hù)的各類(lèi)特殊要求,抗干擾,抗惡劣環(huán)境,除硬件上采用監控電路外,在軟件上還采取了指令冗余和軟件陷阱。

                  本文關(guān)鍵詞:?jiǎn)纹瑱C,非接觸式IC卡,讀寫(xiě)器
                  回到頂部
                  99久热只有精品视频在线17_精品一区二区三区自拍图片_最新国产v亚洲_久久综合九色综合久
                  <strike id="tpvd9"><dfn id="tpvd9"></dfn></strike>

                        <em id="tpvd9"></em>

                          <address id="tpvd9"></address>
                            <dfn id="tpvd9"><sub id="tpvd9"></sub></dfn>

                            <thead id="tpvd9"><noframes id="tpvd9">
                            <ruby id="tpvd9"></ruby>

                                  <thead id="tpvd9"></thead>