智能卡门禁系统设计Word文档格式.docx

上传人:b****5 文档编号:20730198 上传时间:2023-01-25 格式:DOCX 页数:37 大小:764.53KB
下载 相关 举报
智能卡门禁系统设计Word文档格式.docx_第1页
第1页 / 共37页
智能卡门禁系统设计Word文档格式.docx_第2页
第2页 / 共37页
智能卡门禁系统设计Word文档格式.docx_第3页
第3页 / 共37页
智能卡门禁系统设计Word文档格式.docx_第4页
第4页 / 共37页
智能卡门禁系统设计Word文档格式.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

智能卡门禁系统设计Word文档格式.docx

《智能卡门禁系统设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《智能卡门禁系统设计Word文档格式.docx(37页珍藏版)》请在冰豆网上搜索。

智能卡门禁系统设计Word文档格式.docx

设置开门权限等功能。

门禁机模块的主控软件主要完成门禁机模块的初始化、卡的识另开启门锁及保存有

功能特性、接口规范和控制方式。

本系统选用MIFARE1卡作为门禁钥匙,相应地,选用广

州周立功公司的ZLG500A卖写模块作为卡与门禁机交换数据的接口模块。

1.ZLG500A读写模块特性

1)功能特性

图5.3为ZLG500A非接触式IC卡读写模块,该模块采用最新PHILIPS高集成

ISO14443读卡芯片一MFRC500,能读写RC500内EEPROM提供三线SPI接口,并具有控制

图4ZLG500A模块实物图

如图5.3所示J1为与天线的接口J2为与MCU的接口,J1、J2的管脚排列和功能说明

见表5.1:

线输出口,能与任何并自带无源蜂鸣器信

表5.1ZLG500A非接触式IC卡读写模块管脚说明

(一)

管脚

符号

描述

J1-1

GND

J1-2

TX1

天线发送1

J1-3

J1-4

TX2

天线发送2

J1-5

J1-6

RX

天线接收

表5.1ZLG500A非接触式IC卡读写模块管脚说明

(二)

类型

J2-1

SCLK

输入

三线SPI接口时钟线总是由外部MCU产生

J2-2

SDATA

双向

数据线可双向传输

J2-3

SS

传输启动线接MCU外部中断

J2-4

VCC

PWR

电源正端

J2-5

RST

复位

内部MCU复位端咼电平有效

J2-6

电源负端

J2-7

CTRL

输出

控制线输出

J2-8

BZ

蜂鸣器信号输出

ZLG500模块可方便地与任何MCU进行接口,如图5.4所示为ZLG500与MCS-51单片

图5.4ZLG500与MCS-51单片机接口图

的典型接口。

SCLKSDATASS为ZLG500A与MCI相联接的控制线,分别为片选SS时钟

线SCLK和数据线SDATA主控制器的MCU和读卡模块内的MCU通过此三线相连,三根线上的实际电平是双方口线状态逻辑线与的结果。

2)ZLG500三线串行读卡模块接口规范

(1)接口原理

接口空闲时主机SS=1SCLK=0SDATA=0从机SS=1SCLK=1SDATA=0。

其中SS和DATA1

双向的而时钟线SCLK是单向的,即时钟只能由主控制器产生,该信号必须严格遵守时序规

范,否则将出现通信错误读卡模块必须释放该线。

SS为数据发送使能,若一方有数据要发送给另一方,则该方控制SS线为低并在发送结

束后将该线置高,接收数据方不得控制该线,双方必须遵守通信协议不得同时控制该线。

SDATA?

数据线,由数据发送端控制数据,接收端必须释放该线。

该线在一次传输开始

时还同时作为数据接收端的响应信号。

(2)时序图

如图5.5所示,无论数据传输的方向如何,SPI线上信号的波形总是如下;

AckfromreceiverSendermndreceiver

图5ZLG500时序图

由图中可以看出,在SS为低的情况时,时钟和数据线上的信号才有效。

且在SCLK为低

时SDAT度化,在SCLK^高时SDAT应保持稳定。

以上传输中从数据发送器请求开始至数据接收器响应的时间是不确定的,取决接收器内的MCU是否忙,有必要设置一个看门狗定时器对数据接收器的响应进行监视,一旦接收器响应,则MCU必须根据数据传输的方向,严格控制以下几个时间,以确保数据传输无误。

t1—数据接收器响应至MCU产生第一个SCLK上升沿的时间。

t2—两个字节传输之间SCLK低电平的持续时间。

t3—传输最后一个字节的最后一位的SCLK信号的上升沿至SS上升沿的时间。

tH—SCLK信号的高电平持续时间。

tL—SCLK信号的低电平持续时间。

在数据传输的方向不同时,对时间11—t3tH和tL都有各自不同的要求。

(3)通信协议

MC与ZLG5O0勺通信必须先由MCI发送命令和数据给ZLG50QZLG500执行命令完毕后,将命令执行的状态和响应数据发回MCU

开始通信前,收发双方必须处于空闲状态。

首先由MDI发出SS下降沿信号,然后等待ZLG500载SDAT线上的响应,若在50ms内为检测到此信号,则退出本次传输。

若正确响应,则MC可将命令和数据发送出去。

然后MC等待ZLG50C发回的状态和响应数据。

也即等待SS线上的下降沿信号,若在50ms内为检测到此信号,则退出本次传输,若正确检测到SS信号,则可以接收状态和数据。

ZLG500初始化的子程序如下:

SETBRST

LCALL

DELAY_50MS

CLR

SETB

MOV58H,#11H

MOV

59H,#11H

5AH,#11H

5BH,#11H

CONFIG

REQUEST

ANTICOLL

.***********

IFHAVECARD

***********

MOVA,52H

CJNE

A,#04H,SA123

LJMP

SA234

SA123:

RET

SA234:

LCALLREAD_BLOCK

DELAY_100MS

R2,#20

R0,#58H

R1,#80H

COMPARE

REL13:

SCLKBITP1.0

SDATABITP1.1

SSBITP1.2

RSTBITP3.3

Zlg500:

ZLG50C内部复位

处于空闲状态

配置发送请求

;

防碰撞

A=04ISNOCARD

从存储器中读取数据

进行卡号的比较和验证

SETBFLAG

LCALLREL123JBFLAG,REL13RET

上述程序中数据的命令程序;

是检查在有效范围内命令后立即执行。

CONFIGF程序为RC5O0勺复位和配置子

REQUES子程序是MCI向ZLG50C发出的带

是否有卡存在;

ANTICOLI子程序是防冲突操作,必须

程序,是由MCI向ZLG50C发出的不带

个字节数据的命令程序,主要在执行了REQUEST

MCU与ZLG500之间的通信一般遵循如下的数据格式

MCU向ZLG500发出的命令模式的格式如下:

SeqNr

Command

Len

Data[0…N]

BCC

INFO[0]INFO[n]

其中:

SeqNr:

1Byte是数据交换包的序号

Command:

1Byte是命令字符

Len:

1Byte是数据的长度

Data[…]LenByte是数据字节

**************

BCC:

1Byte是一个字节的BCC效验

Status

INFO[0]

INFO[n]

status:

Len:

Data[…]

1Byte是数据交换包的序号

1Byte是状态字符

1Byte是数据的长度

LenByte是数据字节

1Byte是一个字节的BCC效验

按照上述数据格式传

输编制的CONFIGREQUES和ANTICOLL子程序清单如下:

***********************

CONFIG:

60H,#00H

数据交换包的序号

61H,#52H

配置命令字符代码

62H,#00H

数据的长度为0

BCC_SUM0

BCC效验子程序

63H,A

BCC_SUM

MOVA,#00H

MOVR2,#04H

R0,#60H

发送首地址

SPI_SEND

MOVR0,#30H

接收起始地址

_SPI_RCV

*************R.EQUEST***********************

REQUEST:

MOV61H,#41H

请求命令字符代码

62H,#01H

数据的长度为1

63H,#01H

请求模式的数据mode=01H

64H,A

A,#00H

R2,#05H

发送5个字节数

60H_64H的数据发送

MOVR0,#40H

LCALLSPIRCV

ANTICOLL:

60H,#00

61H,#42H

防碰撞命令字符代码

62H,#01

63H,#00H

数据值为0

R0,#50H

存放数据

SPI_RCV

A,52H

A,#04H,L0

58H,53H

59H,54H

5AH,55H

5BH,56H

A,58H

XRL

A,59H

A,5AH

A,5BH

5CH,A

P3.4

DELAY_

_50MS

LO:

RET

3)写数据MC-—ZLG500

除响应信号外,三根线上的信号全由MCU产生。

MCU在SS线上产生一个下降沿,发出请求数据传输的信号,等待ZLG500响应后本次数据传输开始,ZLG500将在SCLK为高时读取SDAT线上的数据,传输完毕后MC应在SS线上产生一个上升沿结束本次传输。

写数据的具体步骤可见表5.2。

表5.2ZLG500A读写模块写数据步骤

:

序号

动作发出者

动作

动作接收者

动作说明

1

MCU

SDATA=1SCLK=0SS=T降沿

ZLG500

本次数据传输开始请求

2

SDATA上升沿

本次数据传输响应

3

SDATA串行数据

数据传输

4

SCLK上升沿、延时、下降沿

产生时钟ZLG500读

数据

5

重复动作3、4传送N8位

数据传输N字节

6

SS=h升沿SDATA=0SCLK=0

本次数据传输结束

传输过程中必须严格遵守以下时间要求:

t1>

7s,t2>

14s,tH>

7s,tL>

9s,t3=任意

F面是MCI向ZLG500写入数据的子程序,为满足上述时间要求,可通过加入空操作来实现。

NOP

SETBSCLK:

NOP

CLRSCLK

DJNZR3,SENDBIT

DJNZR2,SENDBYTE

SETBSS;

CLRSDATA

JBSS,$

4)读数据ZLG50MCU

响应信号SCLK言号由MCU产生,SS信号和SDATA信号由ZLG500产生。

ZLG500会在SS线上产生一个下降沿发出请求数据传输的信号,等待MCU响应后本次数据传输开始,MCU将在SCLK为高时读取SDATA线上的数据,传输完毕后ZLG500将会在SS线上产生一个上升沿结束本次传输。

读数据的具体步骤可见表5.3

表5.3ZLG500A读写模块读数据步骤

动作

动作发出者

动作接收者

SDATA=1SS下降沿

本次数据传输开始请求

SCLK=h#沿、延时、下

降沿

MCI产生时钟,且读取数据

双方

重复动作3、4传送N8位

SS吐升沿,SDATA=0

传输过程中必须严格遵守以下时间要求

14s,t2>

16s,tH>

6s,tL>

6s,t3>

9s

下面是MCU从ZLG500读取数据的子程序,同理,为满足上述时间要求,可通过加入空操作来实现。

SPI_RCV:

ORL

P3,#08H

SS设置为输入

ANL

P1,#0FDH

SDATA设置为输出

DEC

R0

P1,#02

SDATA设置为输入

RCVBYTE:

MOVR3,#8

INCRO

RCVBIT:

SETBSCLK

MOVC,SDATA;

读取一位

RLCA

DJNZR3,RCVBIT

MMM@R0,A;

读取的一个字节存入指定地址

MMM

JNBSS,RCVBYTE

ANLP1,#0FDH;

SDATA设置为输出

2.门禁机主控模块

上面我们对ZLG500A读写模块的功能特性、接口规范和控制方式作了比较详细地讲解,

在此基础上,可以进一步完成MCU寸ZLG500A的读写和控制,如果附加上周边的辅助功能和驱动控制,就可以形成一个完整的智能卡读写器。

首先,我们看一下MCI部分的设计和控制的实现。

图5.6是MCI控制框图,从图中可以看出MCC除了完成对ZLG500A读写模块的控制外,还要承担其它功能的控制,主要包括四大部

数据传输部分、驱动控制部

图6门禁机控制框图分:

键盘和显示部分、实时时钟和掉电保护部分、数据存储和分。

1)键盘和显示部分

键盘和显示是一般智能化仪器仪表均须具有的功能,是人机交互最主要的方式。

不同

的智能仪器,随着其功能、MCI资源的占用、使用环境等各种条件的不同,可采用多种键

盘和显示方案。

本应用系统中,由于外围部件较多,MCI资源占用较大,为了尽可能的减少MCU俞入输出I/O的占用,键盘的设计采用串入并出的方式,利用一片74LS164,占用MCU勺四根I/O口,就可以实现16个键的全部功能。

具体电路见图5.7:

事行口I/OTJR的行列式键盘

图7串行口扩展的行列式键盘

从系统监控软件的角度来看,仅仅完成键盘扫描,读取当前时刻的键盘状态是不够的,

还有不少问题需要解决,否则,在操作键盘时就容易引起误操作、失控等现象。

首先是去抖动处理。

按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如不妥善处理,将会引起按键命令的错误执行或重复执行。

最常用的一种方法是软件延时的方法来避开抖动阶段,延时过程一般取10ms~50ms。

其次是连击的处理。

当按下某个键时,键盘处理程序便查找相应的功能号,并转到相应

行,如果这时操作者还没有释放按键,在连续操作该键一样。

本系统中需要按键作者就很难设定时间。

要解决连击的问题就不执行第二次。

为此要分别检测到按键以解决连击的问题,一是按下键盘就执行再执行指定的功能,从而避免了一次按键的功能,同时可以避免连击,但与前一种

关于键盘控制的具体编程,可参考有关的书籍和应用说明,在此就不再说明。

显示是人与计算机系统打交道所必不可少的部分,本系统要求门禁在不打卡时具备显

示当前时间,打卡时显示该卡卡号及打卡时间。

为此,选用了具有有良好的显示界面的图形

点阵液晶显示器。

图形点阵液晶显示器分辨率较高,显示出的结果非常细腻,且能够显示

各种复杂图形,为以后的扩展留下了余地。

本系统所选择的是JG19264A图形点阵液晶,图

5.8为JG19264A的结构框图,弓I脚说明见表5.4。

图8JG19264A图形点阵液晶结构框图

表4JG19264A图形点阵液晶引脚说明

引脚

电平

说明

DB7

H/L

数据位7

DB6

数据位6

DB5

数据位5

DB4

数据位4

DB3

数据位3

DB2

数据位2

7

DB1

数据位1

8

DB0

数据位0

9

E

H,HHL

片使能信号

10

R/W

H:

读;

L:

11

RS

数据;

指令

12

V0

可调

LCD驱动电压,对比度调节

13

VDD

5.0V

电源电压

14

VSS

0V

接地(GND)

15

CSB

片选信号,00,01,10分别对应一片

IC的SEG11三片均不选中

16

CSA

17

VEE

-10.0V

LCD驱动负电源

18

L

复位信号,低有效

19

LED+

背光正极

20

LED-

背光负极

JG19264A液晶的分辨率为192X64,该液晶的显示内核是HD61202U与HD61203U其中

一片HD61203作为64路行驱动器,三片HD61203U组成196点列的列驱动器组。

所以内置HD61202U图形液晶显示模块的电路特性实际上是HD61203U和HD61202U组合的电路特性。

HD61203U是带有振荡器和显示时序发生器的行驱动器。

它具有64路行驱动输出,但它的特点在于它本身带有振荡器和时序发生器,通过外接振荡电阻电容使其上电后就以其设定的占空比系数1/N值开始行扫描工作;

它可以自行完成行、列驱动时序的生成及分配,自动进行行驱

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1