1概述
當前社會生活中使用的主要為接觸式智能卡,工作時需與讀寫終端觸點接觸,存在易磨損、并行性差、響應(yīng)時間長等特點;而非接觸式智能卡由于具有無接觸,可并行處理、與接觸式相比可節(jié)約70%-90%的時間等優(yōu)點正越來越廣泛的運用于醫(yī)療、交通,社會保險、稅務(wù)等諸多領(lǐng)域。
這里提供的ID10/15非接觸式智能卡模塊具有遠距離、低功耗、小體積等特點,它專為OEM廠商設(shè)計。
2ID10/15模塊工作原理
ID10/15模塊外接的電感應(yīng)線圈產(chǎn)生125KHz的電磁波,當ID-0/1-/15智能卡片在ID-0/10/15產(chǎn)生的磁場范圍內(nèi)時,智能卡片內(nèi)的線圈接收電磁波的能量,智能卡片內(nèi)的電路對其整流、穩(wěn)壓后作為卡片系統(tǒng)工作電壓,并從接收到的振幅調(diào)制脈沖調(diào)制出信息并送到內(nèi)部控制邏輯,并將內(nèi)部數(shù)據(jù)經(jīng)由天線送出,ID-0/10/15收到智能卡上的資料后再重新依輸出格式編碼輸出。
3ID-0/10/15模塊特點
電源﹕5VDC。
數(shù)據(jù)輸出接口:有二種數(shù)據(jù)輸出格式
(1)Wiegand26模式
(2)ASCⅡ模式
讀卡距離﹕0/7~10cm/12~15cm@5V
工作頻率﹕125KHz
讀寫能力﹕只讀
視覺聲音指示﹕指示燈和2.7KHz蜂鳴器驅(qū)動輸出
體積﹕22*20*6mm/26*25*6mm/39*39*9mm
4ID-0/10/15模塊引腳定義
1.電源地
2.重置腳(ResetBar)
3.天線A
4.天線B
5.接地為ASCⅡ模式/接5V為韋根26模式
6.CMOS/OneOutput
7.TTLData/ZeroOutput
8.Beeper/LED
9.+4.6V~+5.5V
ID-10的讀卡距離為8厘米,ID-15的讀卡距離為14厘米
5應(yīng)用實例
5.1Wiegand26模式
在Wiegand26模式下,ID-0/10/15引腳接法如下﹕
PIN1﹕地
PIN2﹕ResetBar
PIN3,4﹕Antenna
PIN5﹕接+5VDC
PIN6﹕DATA1
PIN7:DATA0
PIN8:Beeper/Led
PIN9:+4.6V~+5.5V
在Wiegand26模式下,ID-0/10/15數(shù)據(jù)引腳輸出波形如下﹕
data0
。。。
data1950μs50μs
。。。
50μs950μs
DATA0和DATA1總共26個低電平脈沖,每一個脈沖代表一個BIT數(shù)據(jù),第1個BIT為1-13BIT的偶校驗位,第26個BIT為14-26BIT的奇校驗位,BIT2-BIT25共6DIGITS(每4BIT為一個DIGITS)代表卡片號碼的后六位數(shù)。
此模式下與MCS51單片機接口的程序如下﹕
ID-0_DATA0:EQUP1.7;P1.7CONNECTTODATA0
ID-0_DATA1:EQUP1.6;P1.6CONNECTTODATA1
ADDR_1:EQU30H;6BYTESDATASAVEININRAM30-35H
EVEN_CHECKEQU00H;20H_BIT0SAVEASEVENPARITY
ODD_CHECKEQU01H;20H_BIT1SAVEASODDPARITY
EVEN_FLAGEQU02H;20H_BIT2
TIME_OUT_FLAGEQU03H;20H_BIT3
ORG000BH
LJMPTIMER0_IN
ORG30H
WIEGAND_START:TMOD,#01H;
SETBEA
SETBEVEN_FLAG;SETEVENCHECKFLAG
CLRTIME_OUT_FLAG
MOV R2,#6;TOTAL6BYTESDATA
MOV R3,#4;4BITSPERBYTE
MOV R0,#ADDR_1;STARTADDRESSOFDATA
WIEGAND1:JNBID-0_DATA0,WIEGAND2;DATA0ISLOWTHENSTARTTOOUTPUTDATA
JBID-0_DATA1,WIEGAND1;DATA0ANDDATA1ISHIGHTHENWAITDATA
JBTIME_OUT_FLAG,ERR
MOV TH0,#0F8H;2000USINTERRUPT
MOV TL0,#30H
CLRTIME_OUT_FLAG
SETBTR0;TIMER0START
LCALLDELAY25US
MOV C,ID-0-DATA0
LCALLDELAY175US
JNBID-0-DATA1,ERR
LJMPWIEGAND3
WIEGAND2:NOP
JBTIME_OUT_FLAG,ERR
MOV TH0,#0F8H;2000USINTERRUPT
MOV TL0,#30H;
CLRTIME_OUT_FLAG
SETBTR0;TIMER0START
LCALLDELAY25US;DELAY25μS
MOV C,ID-0_DATA0;MOVEDATAINCREGISTER
LCALLDELAY175US
JNBID-0-DATA,ERR
WIEGAND3:JNBEVEN_FLAG,WIEGAND_DATA;EVENIS0THENOUTPUTISDATA
MOV EVEN_CHECK,C;OUTPUTISEVENCHECKBIT
CLREVEN_FLAG;CLREVENCHECKBIT
LJMPWIEGAND1;RECEIVEDATA
WIEGAND_DATA:RLCA;
DJNZR3,WIEGAND1;BYTEISNOTOVER
ANLA,#00001111B;BYTEOVER
MOV @R0,A;SAVEDATATOINRAM
INCR0;INCREASEINRAMADDRESS
MOV R3,#4;4BITSPERBYTE
DJNZR2,WIEGAND1;READDATAAGAIN
ODD:JNBID-0_DATA0,ODD_BIT;WAITODDCHECKBIT
JBID-0_DATA1,ODD;
ODD_BIT:NOP;
LCALLDELAY25US;DELAY25μS
MOV C,ID-0_DATA0;ODDCHECKBIT
MOV ODD_CHECK,C;SAVEODDCHECKBIT
NOP
LJMPOTHER_PROGRAM;READCARDOVER
DELAY25US: MOV R4,#11;DELAY25μS
DELAY25US_A:DJNZR4,DELAY25US_A
NOP
RET
DELAY175US: MOV R4,#86;DELAY175μS
DELAY175US_A:DJNZR4,DELAY175US_A
NOP
RET
TIMER0_IN:SETBTIME_OUT_FLAG
CLRTR0
RETI
ERR:NOP;ERREXECEL
.;
.;
.;
LJMPWIEGAND_START;READDATAAGAIN
5.2ASCⅡ模式
在ASCⅡ模式下,ID-0/10/15引腳接法如下﹕
PIN1﹕地PIN2﹕ResetBarPIN5﹕接地
PIN3,4﹕Antenna
PIN6:CMOS
PIN7:TTLData
PIN8:Beeper/Led
PIN9:+4.6V~+5.5V
在ASCⅡ模式下,ID-0/10/15與MCS51 單片機 的連接如下圖﹕
ID-0/10/15PIN780C51UART
80C51I/O波形如下﹕
在c模式下,ID-0/10/15輸出數(shù)據(jù)為9600波特率,8位數(shù)據(jù)位,1位停止位,無奇偶校驗位。
此模式下輸出數(shù)據(jù)格式如下﹕
STX(02H)DATACHSUMCRLFETX(03H)
Thechecksumistheresultofthe‘exclusiveor‘ofthe5BinaryDatabytes
(the10ASCⅡdatacharacters)
eg:DATA=0000001164(Hex)
CHECKSUM=75H
STX(02HEX)是數(shù)據(jù)啟示位,DATA是10位卡片號碼,CR(0DHEX)是計算器回車符,LF(0AHEX)是計算器換行符,ETX(03HEX)是數(shù)據(jù)停止位。
此模式下與MCS51 單片機 接口的程序如下﹕
ID-0/10/15_DATA:EQUP1.7;P1.7CONNECTTODATA
ADDR_1:EQU30H;6BYTESDATASAVEININRAM30-35H
MAIN: MOV SP,#60H;
MAIN_1: MOV R2,#14;TOTAL14BYTES
MOV R0,#ADDR_1;
LOOP_BYTE_READ: MOV R3,#8;8BITSPERBYTES
WAIT_DATA1:JBID-0_DATA,WAIT_DATA1;DATAISHIGHTHENWAIT
WAIT_DATA2:JNBID-0_DATA,WAIT_DATA2;
LCALLDELAY_BIT_2;DELAY45μS
LOOP_BIT_READ:LCALLDELAY_BIT_1;DELAY95μS
CLREA;INTERRUPTDISABLE
MOV C,ID-0_DATA;MOVEDATAINCRESIGTER
RRCA;
DJNZR3,LOOP_BIT_READ;8BITSPERBYTE
CPLA;
MOV @R0,A;SAVEDATAINNRAM
INCR0;INCREADEINRAMADDRESS
LCALLDELAY_BIT_1;DELAY95μS
DJNZR2,LOOP_BYTE_READ;14BYTEISNOTOVERTHENAGAIN
SETBEA;INTERRUPTENABLE
LJMPOTHER_PROGRAM;READCARDEND
DELAY_BIT_1: MOV R4,#46;DELAY95μS
DELAY_BIT_1_A:DJNZR4,DELAY_BIT_1_A
NOP
RET
DELAY_BIT_2: MOV R4,#21;DELAY45μS
DELAY_BIT_2_A:DJNZR4,DELAY_BIT_2_A
NOP
RET