《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 非接觸公交IC卡讀寫器的應用設計
非接觸公交IC卡讀寫器的應用設計
摘要: 采用PHILIPS公司的Mifare卡作IC卡,設計以射頻技術為核心,以單片機為控制器的IC卡讀寫器在公交自動收費系統中的應用。制作的IC卡讀寫器可以實現制卡、售卡、自動收費等功能,具有安全、實用、方便、快捷、可靠性高的特點,解決了城市公共交通服務行業既頻繁又瑣碎的收費管理問題,有廣泛的應用前景。
Abstract:
Key words :

一、IC卡讀寫器概述

  目前經常接觸到的IC卡有兩種:接觸式的和非接觸式的IC卡。接觸式的IC卡通過機械觸點從讀寫器獲取能量和交換數據;非接觸式IC卡通過線圈射頻感應從讀寫器獲取能量和交換數據,所以又稱射頻卡。目前在社會上常見的是接觸式IC卡。它具有存儲量大(以兆為單位),保密功能強(有多重密碼設置和認證功能),可實現一卡多用。但是,這類卡的讀寫操作速度較慢,操作也不方便,每次讀寫時必須把卡正確地插入到讀寫器的口槽才能完成數據交換,這樣,在公交、考勤等需要頻繁讀寫卡的場合就很不方便,而且讀寫器的觸點和卡片上IC卡的觸腳暴露在外,容易損壞和搞臟而造成接觸不良。

  非接觸式IC卡是根據射頻電磁感應原理產生的。它的讀寫操作只需將卡片放在讀寫器附近一定的距離之內就能實現數據交換,無需任何接觸,使用中非常方便、快捷,不易損壞。因此,在公交、門禁、校園、企事業等人事管理、娛樂場所等方面有廣泛的應用前景。目前我國引進的射頻 IC卡主要有PHILIPS公司的Mifare和ATMEL公司的Temic卡。下面以PHILIPS公司的Mifare卡為主、介紹城市公交自動售票IC卡讀寫器的實現方法。

二、工作原理

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

三、硬件組成

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

(1)單片機系統

  單片機采用89C52。它片內有8KB的ROM,256字節的RAM以及有32個I/O口。P1口與串行器件24C64和顯示、報警電路連接;P0口與MMM微模塊相連,用作數據線;P2口用作4×4鍵盤;P3口用于讀寫控制和中斷。

(2)鍵盤電路

  鍵盤接口電路用P2口接成4×4結構,共16個鍵。其中數字鍵10個,功能鍵2個,退格鍵和回車鍵各1個,有2個鍵暫時未用。 功能鍵有查詢和通信兩鍵。

  查詢鍵:售卡員可以通過此鍵查詢售卡金額和售卡記錄數。

  通信鍵:由于讀寫器的存儲量有限,因此讀寫器每售卡一段時間,應將讀寫器中的數據通過RS-232串行接口與PC機通信,以便回放和清空讀寫器中的數據。數據回放到PC機中后,通過分析處理,形成各種報表,以便公交公司及時掌握售卡情況。

(3)顯示電路

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

(4)存儲器

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

(5)監控電路

  監控電路采用DS1232L芯片。它是個看門狗定時器,其功能是:上電和掉電時給89C52產生RESET信號;看門狗對系統進行監控,防止死機。

(6)非接觸式IC卡

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

  Mifare卡的16個區,每區又分4塊,每塊16字節。在售卡機中用第1區作用戶儲值塊,其中第0塊存放身份號,第1~2塊存放價值,第3塊存放兩套6字節密碼和4字節讀寫訪問條件。
 

四、程序設計

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

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

1.主程序

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

 

 2.鍵盤掃描程序

 

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

KEY: MOV P2,#0FH ;用反轉法查鍵
MOV A,P2
ANL A,#0FH
MOV B,A
MOV P2,#0F0H
MOV A,P2
ANL A,#0F0H
ORL A,B
CJNE A,#0FFH,KEY1
RET ;無鍵按下
KEY1: MOV B,A ;有鍵按下,存鍵碼
MOV DPTR,#TABLE
MOV R3,#0FFH ;存順序碼單元初始化
KEY2: INC R3
MOV A,R3
MOVC A,@A+DPTR
CJNE A,B,KEY3 ;判鍵碼,求順序碼
MOV A,R3 ;若找到鍵碼,存順序碼
RET
KEY3: CJNE A,#0FFH,KEY2;判是否查完
RET ;已查完,鍵碼未找到,以無按鍵處理
TABLE: DB 77H,7BH,0BBH ;按鍵特征碼表
DB 0DBH,7DH,0BDH
DB 0DDH,7EH,0BEH
DB 0DEH,0B7H,0D7H
DB 0EEH,0EDH,0EBH
DB 0E7H,0C7H,0FFH

3.顯示程序

  根據圖1,在顯示電路中,用P1口的3根I/O口線(P1.0、P1.1、P1.2)分別提供時鐘信號(CLK)、串行數據(DA)和使能信號(EN)。MC14499每一次可接收20位串行輸入數據,前4位用于控制數碼管的小數點顯示,后16位是4個數碼管的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 ;讀要顯示的數
MOV R2,#08 ;置傳送位數
LCALL W14499
INC R1
MOV A,@R1
MOV R2,#08 ; 置傳送位數
LCALL W14499
SETB P1.2 ;置EN位
RET
W14499: SETB P1.0 ; 清CLK
RLC A ;準備逐位送數顯示
MOV P1.1,C ; 將數移入DA
CLR P1.0 ; 清CLK
DJNZ R2,W14499
RET


4.串行E2PROM讀寫程序

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


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

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

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

5.通信程序

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

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲看片免费| 蜜月aⅴ免费一区二区三区| 久久国产加勒比精品无码| 亚洲天堂av图片| 99这里只有精品| 亚洲人成在线免费观看| 亚洲电影免费在线| 亚洲电影天堂av| 亚洲第一精品夜夜躁人人躁| 怡红院av一区二区三区| 国精品一区二区| 国语精品中文字幕| 韩国三级在线一区| 一区二区三区在线视频观看| 黄色小说综合网站| 极品日韩av| 亚洲大片精品永久免费| 亚洲激情视频在线| 亚洲日本免费电影| 亚洲精品婷婷| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲日本欧美天堂| av成人免费在线| 中文一区在线| 性欧美精品高清| 亚洲福利一区| 亚洲理论在线| 亚洲视频中文字幕| 亚洲欧美日韩国产综合精品二区| 亚洲欧美在线x视频| 久久精品国产一区二区电影| 另类av导航| 欧美韩日高清| 欧美视频四区| 国产欧美在线| 在线欧美福利| 亚洲免费久久| 亚洲欧洲av一区二区三区久久| 欧美在线观看天堂一区二区三区| 久久精品国产第一区二区三区最新章节 | 国产精品一区免费在线观看| 国产一区三区三区| 亚洲激情一区| 亚洲欧美成人在线| 亚洲国产精品久久久久婷婷884 | 亚洲人成在线观看| 亚洲午夜激情| 久久精品道一区二区三区| 亚洲三级视频在线观看| 亚洲一本大道在线| 久久精品国产96久久久香蕉| 欧美韩日一区| 国产精品视频免费观看| 在线观看成人一级片| 国产精品一区二区久激情瑜伽| 亚洲国产精品热久久| 久久久五月婷婷| 免费成人高清| 欧美日韩亚洲一区| 国产欧美日韩专区发布| 亚洲成色777777在线观看影院| 欧美一区二区三区的| 欧美专区日韩视频| 亚洲理伦电影| 欧美一区二区三区播放老司机| 久久天堂国产精品| 欧美日韩另类在线| 国产在线不卡精品| 夜夜嗨av一区二区三区网站四季av| 亚洲欧美视频在线观看| 亚洲毛片在线观看| 久久精品1区| 欧美午夜精品久久久| 精品动漫3d一区二区三区| 日韩一级黄色av| 亚洲第一黄色网| 午夜精品久久久久久99热| 欧美chengren| 国产日韩精品一区二区三区在线 | 欧美国产日韩在线| 国产日韩欧美在线视频观看| 亚洲精品久久久久久久久久久久久| 午夜精品电影| 亚洲影院色无极综合| 欧美成人情趣视频| 韩国av一区二区| 午夜精品久久| 亚洲一区自拍| 欧美日韩国产美女| 亚洲国产综合在线看不卡| 亚洲免费成人| 久久国产精品99久久久久久老狼| 欧美日韩高清在线一区| 在线观看欧美精品| 欧美亚洲一区二区三区| 亚洲欧美美女| 欧美日韩在线三区| 亚洲人被黑人高潮完整版| 久久精品水蜜桃av综合天堂| 久久不射中文字幕| 国产精品视频内| 一区二区高清在线| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美日韩大片| 在线看国产日韩| 欧美在线亚洲综合一区| 欧美一区二区在线视频| 国产精品免费电影| 在线亚洲自拍| 中文欧美日韩| 欧美日韩妖精视频| 亚洲精选视频在线| 一道本一区二区| 欧美日本不卡| 99精品国产热久久91蜜凸| 亚洲视频高清| 欧美午夜片在线观看| 一区二区三区鲁丝不卡| 亚洲一区二区精品| 国产精品扒开腿爽爽爽视频| 亚洲一二三区在线观看| 性感少妇一区| 国产色爱av资源综合区| 欧美亚洲午夜视频在线观看| 久久精品国产亚洲aⅴ| 国产中文一区| 亚洲激情在线| 欧美激情第8页| 免费观看不卡av| 国产精品99免费看| 亚洲视频在线二区| 亚洲欧美在线一区| 国产日韩一区二区三区在线播放| 亚洲欧美日本国产有色| 久久成人一区| 狠狠入ady亚洲精品| 亚洲日本在线视频观看| 欧美区在线播放| 亚洲视频在线观看视频| 欧美在线免费一级片| 国产一区激情| 亚洲精品国产系列| 欧美日韩另类视频| 亚洲综合国产| 久久免费的精品国产v∧| 在线欧美一区| 在线亚洲伦理| 国产午夜精品久久久| 亚洲国产日韩在线一区模特| 欧美激情综合五月色丁香小说| 99av国产精品欲麻豆| 性做久久久久久| 在线观看国产精品网站| 在线亚洲观看| 国产午夜精品一区二区三区欧美 | 性8sex亚洲区入口| 久久综合狠狠综合久久综合88| 亚洲国产一区视频| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品一区亚洲| 91久久精品国产91久久性色tv| 欧美日韩岛国| 性伦欧美刺激片在线观看| 欧美成人国产| 亚洲自拍16p| 欧美刺激性大交免费视频| 在线一区观看| 久久免费视频一区| av成人手机在线| 久久视频国产精品免费视频在线| 亚洲日本一区二区| 性8sex亚洲区入口| 最新成人在线| 久久精品99无色码中文字幕| 亚洲人被黑人高潮完整版| 欧美一区二区在线观看| 午夜亚洲福利| 在线观看一区二区视频| 中日韩男男gay无套| 国产视频一区二区在线观看 | 亚洲女优在线| 亚洲美女电影在线| aa级大片欧美| 国产小视频国产精品| 一本色道婷婷久久欧美| 国产一区二区丝袜高跟鞋图片| 宅男噜噜噜66一区二区66| 黄色在线一区| 午夜日韩在线观看| 亚洲精选一区二区| 久久这里只有精品视频首页| 一区二区三区日韩欧美精品| 欧美暴力喷水在线| 午夜视频在线观看一区| 欧美日韩国产区一| 亚洲国产精品久久久久| 国产欧美一区二区三区在线看蜜臀| 中文av字幕一区| 亚洲国产婷婷| 久久一区国产|