您现在的位置: 主页 > MCU > 单片机应用 > 非接触式智能卡模块ID-0/10/15的原理及应用 -
本文所属标签:
为本文创立个标签吧:

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

来源: 网络用户发布,如有版权联系网管删除 2018-09-08 

[导读]这里介绍一种非接触式智能卡模块的原理,性能。并给出了与MCS51单片机接口的详细程序。1 概述当前社会生活中使用的主要为接触式智能卡,工作时需与读写终端触点接触,存在易磨损、并行性差、响应时间长等特点;而非接

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

本文引用地址: http://www.21ic.com/app/mcu/201205/119575.htm

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



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机应用 > 非接触式智能卡模块ID-0/10/15的原理及应用 -
 

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

网站地图

围观()