您当前的位置:五五电子网电子知识单片机-工控设备AVR单片机非接触式智能卡模块的原理 正文
非接触式智能卡模块的原理

非接触式智能卡模块的原理

点击数:7581 次   录入时间:03-04 11:41:32   整理:http://www.55dianzi.com   AVR单片机
1 概述

    当前社会生活中使用的主要为接触式智能卡,工作时需与读写终端触点接触,存在易磨损、并行性差、响应时间长等特点;而非接触式智能卡由于具有无接触,可并行处理、与接触式相比可节约70%-90%的时间等优点正越来越广泛的运用于 医疗、交通,社会保险、税务等诸多领域。

    这里提供的ID10/15非接触式智能卡模块具有远距离、低功耗、小体积等特点,它专为OEM 厂商设计。 
 

2 ID10/15模块工作原理

    ID10/15模块外接的电感应线圈产生125KHz的电磁波,当ID-0/1-/15智能卡片在ID-0/10/15产生的磁场范围内时,智能卡片内的线圈接收电磁波的能量,智能卡片内的电路对其整流、稳压后作为卡片系统工作电压,并从接收到的振幅调制脉冲调制出信息并送到内部控制逻辑,并将内部数据经由天线送出,ID-0/10/15收到智能卡上的资料后再重新依输出格式编码输出。

3 ID-0/10/15模块特点

电源﹕5VDC。
数据输出接口:有二种数据输出格式
(1)Wiegand 26模式
(2)ASCⅡ模式
读卡距离﹕ 0/7~10cm/12~15cm @5V
工作频率﹕125KHz 
读写能力﹕只读
视觉声音指示﹕指示灯和2.7KHz蜂鸣器驱动输出
体积﹕22*20*6mm/26*25*6mm/39*39*9mm

4 ID-0/10/15模块引脚定义



1. 电源地
2. 重置脚(Reset Bar)
3. 天线A
4. 天线B
5. 接地为ASCⅡ模式/接5V为韦根26模式 
6. CMOS/One Output
7. TTL Data/Zero Output
8. Beeper/LED
9. +4.6V~+5.5V 

ID-10的读卡距离为8厘米,ID-15的读卡距离为14厘米

5 应用实例

5.1 Wiegand 26 模式

在Wiegand 26 模式下,ID-0/10/15引脚接法如下﹕
PIN1﹕ 地 
PIN2﹕Reset Bar 
PIN3,4 ﹕Antenna
PIN5 ﹕接+5VDC 
PIN6﹕DATA 1 
PIN7: DATA0
PIN8: Beeper/Led
PIN9: +4.6V~+5.5V

在Wiegand 26 模式下,ID-0/10/15数据引脚输出波形如下﹕
data0 
。。。 

data1 950μs 50μs 
。。。 

50μs 950μs 

DATA0 和 DATA1总共26个低电平脉冲,每一个脉冲代表一个BIT 数据,第1个BIT 为1-13 BIT 的偶校验位,第26 个BIT 为14-26 BIT 的奇校验位,BIT2-BIT25 共6 DIGITS(每4 BIT 为一个DIGITS)代表卡片号码的后六位数。

此模式下与MCS51 单片机 接口的程序如下﹕

ID-0_DATA0: EQU P1.7 ;P1.7 CONNECT TO DATA0
ID-0_DATA1: EQU P1.6 ;P1.6 CONNECT TO DATA1
ADDR_1: EQU 30H ;6 BYTES DATA SAVE IN INRAM 30-35H
EVEN_CHECK EQU 00H ;20H_BIT0 SAVE AS EVEN PARITY
ODD_CHECK EQU 01H ;20H_BIT1 SAVE AS ODD PARITY
EVEN_FLAG EQU 02H ;20H_BIT2
TIME_OUT_FLAG EQU 03H ;20H_BIT3
ORG 000BH
LJMP TIMER0_IN
ORG 30H
WIEGAND_START: TMOD,#01H ;
SETB EA
SETB EVEN_FLAG ;SET EVEN CHECK FLAG
CLR TIME_OUT_FLAG 
MOV  R2,#6 ;TOTAL 6 BYTES DATA 
MOV  R3,#4 ;4 BITS PER BYTE
MOV  R0,#ADDR_1 ;START ADDRESS OF DATA 
WIEGAND1: JNB ID-0_DATA0,WIEGAND2 ;DATA0 IS LOW THEN START TO OUTPUT DATA
JB ID-0_DATA1,WIEGAND1 ;DATA0 AND DATA1 IS HIGH THEN WAIT DATA
JB TIME_OUT_FLAG,ERR
MOV  TH0,#0F8H ;2000US INTERRUPT
MOV  TL0,#30H 
CLR TIME_OUT_FLAG 
SETB TR0 ;TIMER0 START
LCALL DELAY25US
MOV  C,ID-0-DATA0
LCALL DELAY175US
JNB ID-0-DATA1,ERR
LJMP WIEGAND3
WIEGAND2: NOP
JB TIME_OUT_FLAG,ERR
MOV  TH0,#0F8H ;2000US INTERRUPT 
MOV  TL0,#30H ;
CLR TIME_OUT_FLAG
SETB TR0 ;TIMER0 START
LCALL DELAY25US ;DELAY 25 μS
MOV  C,ID-0_DATA0 ;MOVE DATA IN C REGISTER
LCALL DELAY175US
JNB ID-0-DATA,ERR

WIEGAND3: JNB EVEN_FLAG,WIEGAND_DATA ;EVEN IS 0 THEN OUTPUT IS DATA
MOV  EVEN_CHECK,C ;OUTPUT IS EVEN CHECK BIT
CLR EVEN_FLAG ;CLR EVEN CHECK BIT 
LJMP WIEGAND1 ;RECEIVE DATA

WIEGAND_DATA: RLC A ;
DJNZ R3,WIEGAND1 ;BYTE IS NOT OVER
ANL A,#00001111B ;BYTE OVER
MOV  @R0,A ;SAVE DATA TO INRAM
INC R0 ;INCREASE INRAM ADDRESS 
MOV  R3,#4 ;4 BITS PER BYTE
DJNZ R2,WIEGAND1 ; READ DATA AGAIN

ODD: JNB ID-0_DATA0,ODD_BIT ;WAIT ODD CHECK BIT
JB ID-0_DATA1,ODD ;
ODD_BIT: NOP ;
LCALL DELAY25US ;DELAY 25 μS
MOV  C,ID-0_DATA0 ;ODD CHECK BIT 
MOV  ODD_CHECK,C ;SAVE ODD CHECK BIT
NOP
LJMP OTHER_PROGRAM ;READ CARD OVER

DELAY25US:  MOV  R4,#11 ;DELAY 25μS
DELAY25US_A: DJNZ R4,DELAY25US_A
NOP
RET

DELAY175US:  MOV  R4,#86 ;DELAY 175 μS
DELAY175US_A: DJNZ R4,DELAY175US_A
NOP
RET

TIMER0_IN: SETB TIME_OUT_FLAG
CLR TR0
RETI

ERR: NOP ;ERR EXECEL
. ;
. ;
. ;
LJMP WIEGAND_START ;READ DATA AGAIN

5.2 ASCⅡ模式

在ASCⅡ模式下,ID-0/10/15引脚接法如下﹕
PIN1﹕ 地 PIN2﹕Reset Bar PIN5 ﹕接地
PIN3,4 ﹕Antenna
PIN6: CMOS
PIN7: TTL Data
PIN8: Beeper/Led
PIN9: +4.6V~+5.5V
在ASCⅡ模式下,ID-0/10/15与MCS51 单片机 的连接如下图﹕

ID-0/10/15 PIN7 80C51 UART 


80C51 I/O波形如下﹕

在c模式下,ID-0/10/15输出数据为9600波特率,8位数据位,1位停止位,无奇偶校验位。
此模式下输出数据格式如下﹕
STX(02H) DATA CHSUM CR LF ETX(03H)

The checksum is the result of the ‘exclusive or ‘ of the 5 Binary Data bytes
(the 10 ASCⅡ data characters)
eg: DATA=0000001164(Hex)
CHECKSUM=75H
STX(02 HEX)是数据启示位,DATA是10位卡片号码,CR (0D HEX)是计算器回车符,LF(0A HEX)是计算器换行符,ETX(03 HEX)是数据停止位。

此模式下与MCS51 单片机 接口的程序如下﹕

ID-0/10/15_DATA: EQU P1.7 ;P1.7 CONNECT TO DATA
ADDR_1: EQU 30H ;6 BYTES DATA SAVE IN INRAM 30-35H

MAIN:  MOV  SP,#60H ;
MAIN_1:  MOV  R2,#14 ;TOTAL 14 BYTES
MOV  R0,#ADDR_1 ;
LOOP_BYTE_READ: MOV  R3,#8 ;8 BITS PER BYTES
WAIT_DATA1: JB ID-0_DATA,WAIT_DATA1 ;DATA IS HIGH THEN WAIT
WAIT_DATA2: JNB ID-0_DATA,WAIT_DATA2 ;
LCALL DELAY_BIT_2 ;DELAY 45μS
LOOP_BIT_READ: LCALL DELAY_BIT_1 ;DELAY 95 μS
CLR EA ;INTERRUPT DISABLE
MOV  C,ID-0_DATA ;MOVE DATA IN C RESIGTER
RRC A ;

[1] [2]  下一页


本文关键字:智能卡  AVR单片机单片机-工控设备 - AVR单片机

上一篇:AVR CH451驱动程序