国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

一種安全可靠的IC卡讀寫器系統(tǒng)

發(fā)布時間:2010-12-6 12:23    發(fā)布者:techshare
關鍵詞: IC卡 , 讀寫器
人們?nèi)粘I钪薪?jīng)常接觸到磁卡和IC卡,它們是根據(jù)卡片上的信息載體的不同而劃分的。卡片及其讀寫器都屬于人機接口的輸入輸出設備。磁卡是在卡片上貼一條窄窄的磁帶來記錄信息的,它主要用于車船票 、信用卡、電話磁卡、旅館門鑰匙等。IC卡則為近幾年才出現(xiàn)的新型卡片,在卡片上嵌有IC(E2PROM,有的還有CPU)。由于它保存的信息比較可靠安全、可以高達幾萬次的讀寫,所以大量應用于公交車票 、飯票 、保健卡、收費系統(tǒng)等。下面介紹一種以XICOR公司的X76F100為卡片的、用于存取款的IC卡讀寫器方案。

1 硬件組成

圖1為IC卡及其讀寫器硬件電路圖。其中讀寫器由單片機、鍵盤、顯示、監(jiān)控電路等部分組成。IC卡采用XICOR公司的X76F100Y。







圖1 IC卡讀寫器系統(tǒng)電路圖

1.1 IC卡及卡座

X76F100為1288位的保密串行FLASH E2PROM,其中讀密碼和寫密碼分別為64位。圖2為其智能卡Smart Card封裝的引腳圖。把芯片封裝在一個卡片上,將卡片插入IC卡讀寫器的卡座中,讀寫器就可以對它進行讀寫,實現(xiàn)加密、查詢、存款、取款等功能。

IC卡座有8個引腳,當X76F100Y插入時,正好同這幾個引腳相連。另外還有兩個固定端,其中一個固定端同卡座上一個彈簧片相連,兩個觸點和簧片就相當于一個常閉開關。當卡未插入時,簧片閉合,P3.2腳保持低電平;當卡插入時,簧片被頂開,P3.2腳變?yōu)楦唠娖健.攩纹瑱C檢測到P3.2腳變高,通過P1.3 使X76F100的RST引腳變高,使其復位。

1.2 單片機

單片機采用LG公司的GMS97C52。它有8K字節(jié)的ROM,256個字節(jié)的RAM以及32個I/O口,P1口與串行器件X25045和X76F100連接,P0、P2口用于鍵盤和顯示,P3口中P3.2用于檢測IC卡是否插入,其余7個口,可作其它功能擴充。







圖2 X76F100Y引腳

1.3 監(jiān)控電路

監(jiān)控電路采用X25045芯片,它包括看門狗定時器、電壓監(jiān)控電路和E2PROM存貯器。其功能是:上掉電時對GMS97C52產(chǎn)生RESET信號;看門狗對系統(tǒng)進行監(jiān)控,防止死機。

1.4 鍵盤電路

為了方便,鍵盤接口電路用I/O口實現(xiàn),它為44結構,16個鍵。其中數(shù)字鍵11個,功能鍵4個,回車鍵1個。

數(shù)字鍵:0、1、2、3、4、5、6、7、8、9、←(退格)。

功能鍵:查詢?、存儲+、取款-、改密碼* 。

查詢?:用戶通過讀密碼可以查詢卡中所存的款額。

存款+ :用戶通過寫密碼可以將款存入卡中。

取款-:用戶通過寫密碼可以從卡中取款。

改密碼*:分為修改讀密碼和寫密碼。為方便起見,令讀密碼和寫密碼一致,按此鍵將同時修改讀密碼和寫密碼。

回車鍵:8位密碼或存取款數(shù)輸入完確認,以及新密碼輸入完確認。

1.5 顯示電路

顯示部份采用LED顯示器,也用I/O口實現(xiàn)。用于顯示系統(tǒng)狀態(tài)、輸入的密碼或所要存取的款額以及出錯信息等。

由于GMS97C52的驅動電流有限,在P0、P2口加反向器SN74F04,增加驅動能力。它的吸入電流為64mA,輸出電流為15mA,可以保證位選所需的吸入電流。

2 程序設計

2.1 主程序流程圖

主程序流程圖如圖3所示。







開機后,系統(tǒng)處于待機狀態(tài),不斷查詢P3.2腳電平,當X76F100插入讀寫器卡座時,P3.2腳電平變高,單片機檢測到P3.2高電平信號時,使P1.3腳電平變高,如果此時為低電平,X76F100復位,輸出32位固定的“同步復位響應”數(shù)據(jù)。然后循環(huán)掃描鍵盤顯示程序,進行存款、取款、查詢或改密碼。一次操作完成后返回,然后不斷循環(huán)。

2.2 循環(huán)鍵盤顯示程序

循環(huán)掃描鍵盤顯示程序如圖4所示,它采用程控掃描方式。鍵盤實際操作的順序是:先按功能鍵,然后依次輸入8位(十進制)密碼,按回車鍵確認。當存取款時,隨后輸入所存取的款額;當修改密碼時,隨后輸入8位新密碼,輸完后按回車鍵確認。若輸入密碼正確,顯示IC卡內(nèi)存款的余額或改密碼成功信息(SUCCESS)。若密碼不正確,提示重新輸入,允許輸入密碼4次。

為了記錄操作中正在進行的狀態(tài),在鍵盤程序中設置了多個指針。

(1)KEY 有否按鍵按下標志。00H表示無鍵按下,01H表示有鍵按下。此標志用于判斷按鍵是否已松開,防止誤操作。

(2)FUN為功能鍵指針,00H表示無功能鍵按下,01H表示存款(ADD),02H表示取款(SUB),03H表示查詢(IQUIRE),04H表示改密碼(CHANGE PASSWORD)。

(3)DIG為允許數(shù)字鍵輸入標志,00H表示不允許,01H表示允許。此標志主要是防止輸入多余的密碼,或輸入的款數(shù)超出限額。

(4) NUM表示輸入第幾個數(shù)字,00H表示無數(shù)字輸入,01H~08H表示輸入密碼,09H~10H表示輸入款數(shù)或新密碼,若NUM為11H,顯示出錯信息。

2.3 X76F100讀程序舉例







圖4 循環(huán)鍵盤顯示程序流程圖

X76F100為I2C總線E2PROM。SCL為時鐘輸入,SDA為雙向數(shù)據(jù)輸入輸出線。通過片輸入來控制對器件的訪問。下面以頁寫為例,先結合時序說明X76F100的工作過程,然后給出程序。頁寫時序如圖5所示。在該系統(tǒng)中,GMS97C52為主機,X76F100為從機。首先主機向從機發(fā)一個START命令,產(chǎn)生開始條件,然后發(fā)寫命令字。當從機接到命令后,向主機發(fā)一個應答信號NACK。然后跟隨8字節(jié)密碼,隨后進入一個寫周期,寫周期結束后進行密碼應答輪詢ACK Polling。X76F100要求主機用專用的應答命令55H進行應答輪詢。如果輸入的密碼正確,將返回一個“ACK”。如果密碼不正確,將返回“no-ACK”,重試計數(shù)器加1,返回到啟始位置,提示重新送入寫命令字和8字節(jié)密碼。若密碼正確,主機接著送入8個字節(jié)的數(shù)據(jù),ACK響應成功后,主機發(fā)出STOP命令完成寫操作。下面是用寫密碼進行頁寫的程序。







圖5 頁寫時序圖(需要密碼)

WRITE_USING_WRITE_PASS: ;用寫密碼進行寫操作

ACALL START;調(diào)開始命令

MOVA,#SECTOR_WR;調(diào)頁寫命令

ACALL OUTBYTE;調(diào)輸出字節(jié)命令

ACALL NACK;X76F100發(fā)應答信號

ACALL WR_WR_PASS;調(diào)寫密碼命令

ACALL T10ms;10ms延時開始寫密碼周期

ACALL ACK_POLLING;調(diào)密碼應答輪詢子程序

ACALL WR_DATA;調(diào)頁寫數(shù)據(jù)子程序

ACALL  STOP;調(diào)停止命令

ACALL T10ms;延時10ms寫密碼周期

RET

WR_WR_PASS: ;將寫密碼寫入X76F100

MOVR0,#WR_PASS7;將密碼首址送入R0

MOV  R1,#08H;寫密碼為8個字節(jié)

WP:MOV  A,@R0  ;將R0中的數(shù)據(jù)送入A中

ACALL  OUTBYTE;輸出字節(jié)子程序

ACALL  NACK

INC  R0

DJNZ R1,WP

RET

WR_DATA: ;將數(shù)據(jù)寫到X76F100中

MOV R0,#DATA0;將數(shù)據(jù)首地址送入R0

MOV R1,#08H;一頁有8個數(shù)據(jù)

WB: MOV A,@R0 ;將R0中數(shù)據(jù)送入A

ACALL  OUTBYTE;調(diào)輸出字節(jié)子程序

ACALL  NACK;從機發(fā)應答信號

INC  R0;下一個字節(jié)

DJNZ R1,WB;循環(huán)直到R1為0

RET

OUTBYTE: ;主機向X76F100發(fā)字節(jié)

MOV R2,#08H;一個字節(jié)有8位

LOOPO:

CLR  SCL_76

RLC  A;移位

MOV SDA_76,C;將進位送入數(shù)據(jù)線

SETB CL_76

DJNZ R2,LOOP;循環(huán)直到R2為0

RET

START:

SETB SDA_76;開始子程序

SETB SCL_76

CLR  SDA_76

CLR  SCL_76

RET

STOP:

CLR  SDA_76;停止子程序

SETB SCL_76

SETB SDA_76

RET

ACK_POLLING: ;密碼應答輪詢子程序

ACALL  START

MOV A,#55H;主機發(fā)固定應答命令

ACALL OUTBYTE

ACALL NACK;調(diào)從機發(fā)應答信號

JC  PASS_ERROR;若有進位則密碼錯誤

RET

PASS_ERROR: ;密碼錯誤

ACALL STOP

RET

ACK:

CLRSDA_76;主機執(zhí)行一個應答

ACALLCLOCK

RET

NACK:

SETB SDA_76

從機執(zhí)行一個應答

ACALL  CLOCK

RET

CLOCK:

SETBSCL_76;第9個脈沖

MOV  C,SDA-76;讀SDA狀態(tài)以判斷是否有應答

CLR SCL_76

RET

T10ms:

MOVR7,#064H

10ms延時

T10A:

MOVR6,#032H

T10B:

DJNZR6,T10B

DJNZR7,T10A

RET
本文地址:http://m.qingdxww.cn/thread-44232-1-1.html     【打印本頁】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內(nèi)容、版權和其它問題,我們將根據(jù)著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發(fā)培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品视频在线播放| 小蝌蚪亚洲精品国产| 婷婷在线免费视频| 亚洲香蕉中文网| 亚洲激情视频网站| 在线欧美精品国产综合五月| 中文字幕在线免费视频| 贵妃高h荡肉呻吟np杨玉环| 久久国产精品二区99| 十8禁用B站在线看漫画| 最新精品国产| 亚洲乱亚洲乱妇24p| 日本操操操| 欧美成人高清乱码| 四虎影院久久| 最近韩国日本免费观看| 亚洲一区精品伊人久久伊人| FREECHINESE东北群交| 久久精品在现线观看免费15| 午夜伦伦电影理论片大片| 亚洲一区二区三区高清 不卡| 欧美亚洲国产一区| 涩涩涩涩涩涩涩涩涩涩| 中文字幕欧美在线观看| 一男多女生榨精h白丝| 国产精品久久久久久52AVAV| 日本黄色网站在线观看| 日本二区免费一片黄2019| 欧美精品亚洲精品日韩| 亚洲成a人片在线播放| 亚洲 欧美 日韩 综合 | 天天综合色天天综合| 中文字幕一区视频一线| 久久水蜜桃亚洲AV无码精品偷窥| 亚洲一日韩欧美中文字幕在线| 四虎影院wwww| 日韩精品小视频| 射菊网| 在线免费观看亚洲| 男人的天堂久久精品激情a| 一区三区在线专区在线|