微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 非接触式智能卡模块ID-0/10/15的原理及应用

非接触式智能卡模块ID-0/10/15的原理及应用

时间:05-03 来源:互联网 点击:

这里介绍一种非接触式智能卡模块的原理,性能。并给出了与MCS51单片机接口的详细程序。

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模块特点

电源s5VDC。

数据输出接口:有二种数据输出格式

(1)Wiegand 26模式

(2)ASCⅡ模式

读卡距离s 0/7~10cm/12~15cm @5V

工作频率s125KHz

读写能力s只读

视觉声音指示s指示灯和2.7KHz蜂鸣器驱动输出

体积s22*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引脚接法如下s

PIN1s 地

PIN2sReset Bar

PIN3,4 sAntenna

PIN5 s接+5VDC

PIN6sDATA 1

PIN7: DATA0

PIN8: Beeper/Led

PIN9: +4.6V~+5.5V

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

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单片机接口的程序如下s

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top