智能卡技术章-课件5

上传人:无*** 文档编号:241455371 上传时间:2024-06-27 格式:PPT 页数:290 大小:4.96MB
返回 下载 相关 举报
智能卡技术章-课件5_第1页
第1页 / 共290页
智能卡技术章-课件5_第2页
第2页 / 共290页
智能卡技术章-课件5_第3页
第3页 / 共290页
点击查看更多>>
资源描述
第5章 智能卡应用系统 第5章 智能卡应用系统 5.1 课程设计课程设计智能卡门禁系统设计智能卡门禁系统设计 5.2 课程训练课程训练一卡通系统的综合应用一卡通系统的综合应用5.3 典型智能卡应用系统典型智能卡应用系统 5.4 智能卡应用系统开发的一般方法智能卡应用系统开发的一般方法 思考题思考题 第5章智能卡应用系统5.1课程设计智能卡门禁第5章 智能卡应用系统 5.1 课程设计课程设计智能卡门禁系统设计智能卡门禁系统设计 5.1.1 设计要求设计要求1智能卡门禁系统智能卡门禁系统门禁机模块的设计门禁机模块的设计 1)非接触式非接触式IC卡读写头部分卡读写头部分主要内容:读写头部分采用非接触式IC卡读写模块,由读卡器读入数据并加以保存。智能卡按常规要具有加密和数据分区存储功能,读写头的读写距离在510cm左右,必须具有掉电保护、精确时间计时和显示及35KB的临时数据存储功能。5.1课程设计智能卡门禁系统设计5.1.1设计第5章 智能卡应用系统 2)门禁机主控模块主要内容:智能门禁机主控模块是智能门禁机系统的核心部分,主要包括MCU、键盘、显示、电子时钟、外部数据存储器及掉电保护和看门狗电路,有精确时间计时和显示。2)门禁机主控模块第5章 智能卡应用系统 2智能卡门禁系统智能卡门禁系统系统管理模块的设计系统管理模块的设计 1)系统管理主控模块的设计系统管理主控模块的设计主要内容:设计门禁上层软件的主控模块,其主要实现的功能是最高权限卡对管理员和一般用户发卡,管理员对一般用户发卡。它要能对丢失的卡进行挂失,对找回的卡进行解挂,同时还要具备查找功能。2)系统管理的数据库管理软件的设计系统管理的数据库管理软件的设计 主要内容:运用高级语言编程,制作数据库管理软件。它采集下位机的数据并保存,然后管理采集到的数据,具有采集、数据更新、查询统计和打印报表功能。2智能卡门禁系统系统管理模块的设计第5章 智能卡应用系统 3智能卡门禁系统智能卡门禁系统数据传输模块的设计数据传输模块的设计主要内容:完成中央控制电脑与门禁读写器之间的数据传输协议的设计,能实现主、从机的双向数据传输及一对一、一对多的数据传输。3智能卡门禁系统数据传输模块的设计第5章 智能卡应用系统 5.1.2 总体方案总体方案根据设计要求,整个智能卡门禁系统分为三大部分:其一是读写器部分,包括MCU、复位电路、时钟电路、显示电路、键盘、数据存储等主控模块及非接触式IC卡读写模块和电锁驱动部分;其二是中央控制电脑的软件管理系统模块;其三是中央控制电脑与读写器之间的数据传输模块。其总体方案见图5.1。5.1.2总体方案第5章 智能卡应用系统 图5.1非接触式IC卡门禁系统框图图5.1非接触式IC卡门禁系统框图第5章 智能卡应用系统 5.1.3 非接触式非接触式IC卡门禁机的设计卡门禁机的设计系统采用Philips公司的非接触式MIFARE1(M1)卡,以M1卡作为用户卡,以用户卡的序列号SN(全球惟一)为依据控制门的开启。因为它是一个高频卡(工作频率为13.5MHz),有较强的抗干扰能力,读写距离远(510cm)。首先,在发卡系统(中央控制电脑)里把用户的卡号及个人信息输入系统数据库,并将该卡号作为合法卡号下载给所有门禁机。当有一张M1卡在门禁机的有效工作范围内时,系统会自动向卡发出命令,卡接收到命令后向门禁机反馈其SN,门禁机判断收到的卡号是否合法。如果合法,则驱动电磁门锁开门并实时上传其开门记录;如果是非法卡(未经授权或已挂失的卡),则拒绝开门并上传报警信息。只有最高授权者(掌握授权密码)才可以发管理员卡,管理员必须用管理员卡方可登录发卡系统进行发卡/下传合法卡号、挂失、解挂、下传黑名单等操作。5.1.3非接触式IC卡门禁机的设计第5章 智能卡应用系统 由于采用了Philips公司的非接触式MIFARE1卡,因此卡的读写模块也采用了以Philips公司最新推出的MIFARE读写芯片MFRC500为核心开发的ZLG500A读写模块。门禁机模块的硬件原理图见附录B。此系统通过AT89C52对ZLG500A的控制达到对卡的读写。系统结构简单,成本较低且具有信息量大和安全保密性好等特点。外围配有RS232转RS485接口,能与PC机互连成网络,可以完成读卡、显示卡号和出入时间、身份识别、开锁以及保存和上传出入记录、下载黑名单、设置开门权限等功能。由于采用了Philips公司的非接触式MIF第5章 智能卡应用系统 图5.2非接触式IC卡门禁机总体工作流程图5.2非接触式IC卡门禁机总体工作流程第5章 智能卡应用系统 1ZLG500A读写模块特性读写模块特性 1)功能特性功能特性图5.3为ZLG500A非接触式IC卡读写模块,该模块采用最新Philips的高集成ISO14443读卡芯片MFRC500,能读写RC500内EEPROM,提供三线SPI接口,并具有控制线输出口,能与任何MCU接口。此外,该模块采用四层电路板设计,双面表贴,EMC性能优良;并自带无源蜂鸣器信号输出,能用软件控制输出频率及持续时间。1ZLG500A读写模块特性第5章 智能卡应用系统 图5.3ZLG500A模块实物图J1J2图5.3ZLG500A模块实物图J1J2第5章 智能卡应用系统 表5.1ZLG500A非接触式IC卡读写模块引脚说明(a)J1引脚说明表5.1ZLG500A非接触式IC卡读写模块引脚说明(第5章 智能卡应用系统(b)J2引脚说明(b)J2引脚说明第5章 智能卡应用系统 ZLG500A模块可方便地与任何MCU进行接口,如图5.4所示为ZLG500A与MCS-51单片机的典型接口。SCLK、SDATA、SS为ZLG500A与MCU相连接的控制线,分别为时钟线SCLK、数据线SDATA和片选SS。ZLG500A模块可方便地与任何MCU进行第5章 智能卡应用系统 图5.4ZLG500A与MCS-51单片机的接口图图5.4ZLG500A与MCS-51单片机的接口图第5章 智能卡应用系统 2)ZLG500A三线串行读卡模块接口规范三线串行读卡模块接口规范(1)接口原理:接口空闲时主机SS=1,SCLK=0,SDATA=0;从机SS=1,SCLK=1,SDATA=0。其中SS和DATA是双向的,而时钟线SCLK是单向的。SCLK只能由主控制器产生,该信号必须严格遵守时序规范,否则将出现通信错误,读卡模块必须释放该线。SS为数据发送使能,若一方有数据要发送给另一方,则该方控制SS线为低并在发送结束后将该线置高,接收数据方不得控制该线,双方必须遵守通信协议,不得同时控制该线。SDATA为数据线,由数据发送端控制数据,接收端必须释放该线。该线在一次传输开始时还同时作为数据接收端的响应信号。2)ZLG500A三线串行读卡模块接口规第5章 智能卡应用系统(2)时序图:图5.5ZLG500A的时序图(2)时序图:图5.5ZLG500A的时序图第5章 智能卡应用系统 由图中可以看出:在SS为低的情况时,时钟和数据线上的信号才有效;且在SCLK为低时SDATA变化,在SCLK为高时SDATA应保持稳定。以上传输中,从数据发送器请求开始至数据接收器响应的时间是不确定的,这取决于接收器内的MCU是否忙。有必要设置一个看门狗定时器对数据接收器的响应进行监视,一旦接收器响应,则MCU必须根据数据传输的方向,严格控制以下几个时间,以确保数据传输无误:由图中可以看出:在SS为低的情况时,时钟和第5章 智能卡应用系统 t1数据接收器响应至MCU产生第一个SCLK上升沿的时间。t2两个字节传输之间SCLK低电平的持续时间。t3传输最后一个字节的最后一位的SCLK信号的上升沿至SS上升沿的时间。tHSCLK信号的高电平持续时间。tLSCLK信号的低电平持续时间。在数据传输的方向不同时,对时间t1t3、tH和tL都有各自不同的要求。t1数据接收器响应至MCU产生第一个S第5章 智能卡应用系统(3)通信协议:MCU与ZLG500A的通信必须先由MCU发送命令和数据给ZLG500A开始,ZLG500A执行命令完毕后,将命令执行的状态和响应数据发回MCU。开始通信前,收发双方必须处于空闲状态。首先由MCU发出SS下降沿信号,然后等待ZLG500A在SDATA线上的响应。若在50ms内未检测到此信号,则退出本次传输;若正确响应,则MCU可将命令和数据发送出去。然后MCU等待ZLG500A发回的状态和响应数据,即等待SS线上的下降沿信号。若在50ms内未检测到此信号,则退出本次传输;若正确检测到SS信号,则可以接收状态和数据。(3)通信协议:MCU与ZLG500A的通信第5章 智能卡应用系统 ZLG500A初始化的子程序如下:SCLKBITP1.0SDATABITP1.1SSBITP1.2RSTBITP3.3ZLG500A:SETBRST;ZLG500A内部复位LCALLDELAY_50msCLRRSTLCALLDELAY_50msSETBSS;处于空闲状态CLRSDATAZLG500A初始化的子程序如下:第5章 智能卡应用系统 CLRSCLKMOV58H,#11HMOV59H,#11HMOV5AH,#11HMOV5BH,#11HLCALLCONFIG;配置LCALLREQUEST;发送请求LCALLANTICOLL;防碰撞;*IFHAVECARD*MOVA,52HCJNEA,#04H,SA123;A=04表示没有卡存在LJMPSA234CLRSCLK第5章 智能卡应用系统 SA123:RETSA234:LCALLREAD_BLOCK;从存储器中读取数据LCALLDELAY_100msMOVR2,#20MOVR0,#58HMOVR1,#80HLCALLCOMPARE;进行卡号的比较和验证REL13:SETBFLAGLCALLREL123JBFLAG,REL13RETSA123:第5章 智能卡应用系统 上述程序中,CONFIG子程序为ZLG500A的复位和配置子程序,是由MCU向ZLG500A发出的不带数据的命令程序;REQUEST子程序是MCU向ZLG500A发出的带一个字节数据的命 令 程 序,主 要 是 检 查 在 有 效 范 围 内 是 否 有 卡 存 在;ANTICOLL子程序是防冲突操作,必须在执行了REQUEST命令后立即执行。MCU与ZLG500A之间的通信一般遵循如下的数据格式。MCU向ZLG500A发出的命令模式的格式如下:上述程序中,CONFIG子程序为ZLG500第5章 智能卡应用系统 INFO0INFOn其中:SeqNr为1Byte,表示数据交换包的序号;Command为1Byte,表示命令字符;Len为1Byte,表示数据的长度;Data0N为LenByte,表示数据字节;BCC为1Byte,表示一个字节的BCC校验。INFO0第5章 智能卡应用系统 INFO0INFOn其中:SeqNr为1Byte,表示数据交换包的序号;Status为1Byte,表示状态字符;Len为1Byte,表示数据的长度;Data0N为LenByte,表示数据字节;BCC为1Byte,表示一个字节的BCC校验。按 照 上 述 数 据 格 式 传 输 编 制 的 CONFIG、REQUEST和ANTICOLL子程序的清单如下:;*CONFIG*INFO0第5章 智能卡应用系统 CONFIG:MOV60H,#00H;数据交换包的序号MOV61H,#52H;配置命令字符代码MOV62H,#00H;数据的长度为0LCALLBCC_SUM0;BCC校验子程序MOV63H,A;BCC_SUMMOVA,#00HMOVR2,#04HMOVR0,#60H;发送首地址LCALLSPI_SENDMOVR0,#30H;接收起始地址LCALLSPI_RCVRET;*REQUEST*CONFIG:第5章 智能卡应用系统 REQUEST:MOV60H,#00H;数据交换包的序号MOV61H,#41H;请求命令字符代码MOV62H,#01H;数据的长度为1MOV63H,#01H;请求模式的数据mode=01HLCALLBCC_SUMMOV64H,AMOVA,#00HMOVR2,#05H;发送5个字节数MOVR0,#60H;60H到64H的数据发送LCALLSPI_SENDREQUEST:第5章 智能卡应用系统 MOVR0,#40H;接收起始地址LCALLSPI_RCVRET;*ANTICOLL*ANTICOLL:MOV60H,#00;数据交换包的序号MOV61H,#42H;防碰撞命令字符代码MOV62H,#01;数据的长度为1MOV63H,#00H;数据值为0LCALLBCC_SUMMOV64H,AMOVA,#00HMOVR2,#05H;发送5个字节数MOVR0,#40H;接收起始第5章 智能卡应用系统 MOVR0,#60H;60H到64H的数据发送LCALLSPI_SENDMOVR0,#50H;存放数据LCALLSPI_RCVMOVA,52HCJNEA,#04H,L0MOV58H,53HMOV59H,54HMOV5AH,55HMOV5BH,56HMOVA,58HXRLA,59HMOVR0,#60H;60H到6第5章 智能卡应用系统 XRLA,5AHXRLA,5BHMOV5CH,AMOVA,#00HCLRP3.4LCALLDELAY_50msLCALLDELAY_50msLCALLDELAY_50msLCALLDELAY_50msSETBP3.4L0:RETXRLA,5AH第5章 智能卡应用系统 3)写数据MCUZLG500A表5.2ZLG500A读写模块写数据步骤3)写数据MCUZLG500A表5.2ZLG50第5章 智能卡应用系统 传输过程中必须严格遵守以下时间要求:t17s,t214s,tH7s,tL9s,t3=任意下面是MCU向ZLG500A写入数据的子程序(为满足上述时间要求,可通过加入空操作来实现)。SPI_SEND:ANLP3,#0F7H;恢复SS的输出功能,传输开始请求DECR0;发送数据的首地址SETBSDATACLRSCLKJBSDATA,$;SDATA仍为高,则等待CLRSSMOV R5,#100传输过程中必须严格遵守以下时间要求:第5章 智能卡应用系统 DL33:MOVR6,#7DHDL44:JBSDATA,ASDF;MCU等待SDATA的上升沿DJNZR6,DL44DJNZR5,DL33AJMPSPI_SENDASDF:ANL P1,#0FDH;SDATA恢复输出SENDBYTE:NOPINCR0NOPNOPMOVA,R0MOVR3,#8;设置一个字节的位数NOPNOPDL33:MOVR6,#7DH第5章 智能卡应用系统 SENDBIT:NOPRLCAMOV SDATA,C;发送数据位NOPNOPSENDBIT:NOP第5章 智能卡应用系统 SETBSCLK:NOPNOPCLR SCLKDJNZR3,SENDBITDJNZR2,SENDBYTESETBSS;本次数据传输结束CLRSDATANOPJBSS,$RETSETBSCLK:NOP第5章 智能卡应用系统 4)读数据读数据 ZLG500AMCU响应信号和SCLK信号由MCU产生,SS信号和SDATA信号由ZLG500A产生。ZLG500A会在SS线上产生一个下降沿,发出请求数据传输的信号,等待MCU响应后本次数据传输开始。MCU将在SCLK为高时读取SDATA线上的数据,传输完毕后,ZLG500A将会在SS线上产生一个上升沿结束本次传输。读数据的具体步骤见表5.3。4)读数据ZLG500AMCU第5章 智能卡应用系统 表5.3ZLG500A读写模块读数据步骤表5.3ZLG500A读写模块读数据步骤第5章 智能卡应用系统 传输过程中必须严格遵守以下时间要求:t114s,t216s,tH6s,tL6s,t39s下面是MCU从ZLG500A读取数据的子程序(同理,为满足上述时间要求,可通过加入空操作来实现)。SPI_RCV:ORL P3,#08H;SS设置为输入ANL P1,#0FDH;SDATA设置为输出DECR0CLRSCLKSETB SDATANOPORL P1,#02;SDATA设置为输入NOPNOP传输过程中必须严格遵守以下时间要求:第5章 智能卡应用系统 RCVBYTE:MOVR3,#8INCR0RCVBIT:NOPNOPSETBSCLKNOPNOPMOVC,SDATA;读取一位RLCANOPNOPRCVBYTE:第5章 智能卡应用系统 CLRSCLKNOPNOPDJNZ R3,RCVBITMOV R0,A;读取的一个字节存入指定地址NOPNOPJNBSS,RCVBYTEANL P1,#0FDH;SDATA设置为输出CLRSDATARETCLRSCLK第5章 智能卡应用系统 2门禁机主控模块门禁机主控模块首先,我们看一下MCU部分的设计和控制的实现。图5.6是MCU控制框图,从图中可以看出,MCU除了完成对ZLG500A读写模块的控制外,还要承担其他功能的控制,主要包括四大部分:键盘和显示部分,实时时钟和掉电保护部分,数据存储和数据传输部分,驱动控制部分。2门禁机主控模块第5章 智能卡应用系统 图5.6门禁机控制框图图5.6门禁机控制框图第5章 智能卡应用系统 1)键盘和显示部分键盘和显示部分键盘和显示是一般智能化仪器仪表均须具有的功能,是人机交互最主要的方式。不同的智能仪器,随着其功能、MCU资源的占用、使用环境等各种条件的不同,可采用多种键盘和显示方案。本应用系统中,由于外围部件较多,MCU资源占用较大,为了尽可能地减少MCUI/O(输入输出)的占用,键盘的设计采用串入并出的方式,利用一片74LS164,占用MCU的四根I/O口,就可以实现16个键的全部功能。具体电路见图5.7。1)键盘和显示部分第5章 智能卡应用系统 图5.7串行口扩展的行列式键盘图5.7串行口扩展的行列式键盘第5章 智能卡应用系统 从系统监控软件的角度来看,仅仅完成键盘扫描、读取当前时刻的键盘状态是不够的,还有不少问题需要解决,否则,在操作键盘时就容易引起误操作、失控等现象。首先是去抖动处理。按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如不妥善处理,将会引起按键命令的错误执行或重复执行。最常用的一种方法是软件延时,采用此方法来避开抖动阶段,延时过程一般取1050ms。从系统监控软件的角度来看,仅仅完成键盘扫描、读第5章 智能卡应用系统 其次是连击的处理。当按下某个键时,键盘处理程序便查找相应的功能号,并转到相应的功能模块程序去执行,如果这时操作者还没有释放按键,MCU就会反复执行该按键对应的功能,好像操作者在连续操作该键一样。本系统中需要按键去改变系统的实时日历,如果出现连击现象,操作者就很难设定时间。要解决连击问题,最关键的是一次按键只让它响应一次,该键不释放就不执行第二次。为此要分别检测到按键按下的时刻和释放的时刻。有两种程序结构可以解决连击的问题:一是按下键盘就执行,执行完成后等待操作者释放按键,在未释放按键前不再执行指定的功能,从而避免了一次按键重复执行的现象;二是在按键释放后再执行指定的功能,同时可以避免连击,但与前一种相比,给人一种反应迟钝的感觉。具体采用哪种结构,可根据实际情况而定。其次是连击的处理。当按下某个键时,键盘处理程序第5章 智能卡应用系统 显示器是人与计算机系统打交道所必不可少的部分,本系统要求门禁机在不打卡时具备显示当前时间,打卡时显示该卡卡号及打卡时间的功能。为此,选用了具有良好显示界面的图形点阵液晶显示器。图形点阵液晶显示器分辨率较高,且能够显示各种复杂图形,为以后的扩展留下了余地。本系统所选择的是JG19264A图形点阵液晶,图5.8为JG19264A的结构框图,引脚说明见表5.4。显示器是人与计算机系统打交道所必不可少的部分第5章 智能卡应用系统 图5.8JG19264A图形点阵液晶结构框图图5.8JG19264A图形点阵液晶结构框图第5章 智能卡应用系统 表5.4JG19264A图形点阵液晶引脚说明表5.4JG19264A图形点阵液晶引脚说明第5章 智能卡应用系统 续表续表第5章 智能卡应用系统 JG19264A液晶的分辨率为19264,该液晶的显示内核是HD61203U与HD61202U,其中一片HD61203U作为64路行驱动器,三片HD61202U组成192点列的列驱动器组。所以图形液晶显示模块的电路特性实际上是HD61203U和HD61202U组合的电路特性。HD61203U是带有振荡器和显示时序发生器的行驱动器。它具有64路行驱动输出,它的特点在于它本身带有振荡器和时序发生器,通过外接振荡电阻电容使其上电后就以其设定的占空比系数1/N值开始行扫描工作;它可以自行完成行、列驱动时序的生成及分配,自动进行行驱动的工作;同时向列驱动器输出同步信号及显示数据驱动所需的脉冲时序,控制列驱动器HD61202U的工作,所以我们只要控制HD61203U就可以操作整个液晶模块。JG19264A液晶的分辨率为19264第5章 智能卡应用系统 HD61202U是带显示存储器的图形液晶显示列驱动控制器。它的特点是内置6464位的显示存储器,显示屏上各像素点的显示状态与显示存储器的各位数据一一对应,显示存储器的数据直接作为图形显示驱动信号。显示数据为“1”,则表示相应的像素点显示;显示数据为“0”,则表示相应的像素点不显示。同时HD61202U配备了一套显示存储器的管理电路和与计算机的连接口电路。HD61202U一共有七条指令,从作用上可分为两类。第一条和第二条指令为显示状态设置类;其余指令为数据读写操作指令,见表5.5。HD61202U是带显示存储器的图形液晶显示第5章 智能卡应用系统 表5.5HD61202U的指令一览表表5.5HD61202U的指令一览表第5章 智能卡应用系统 下面是各个指令的功能:(1)读取状态字(StatusRead):状态字是计算机了解HD61202U当前状态,或是HD61202U向计算机提供其内部状态的惟一信息渠道。状态字为一个字节,其中仅有3位有效位,它们是:BUSY:表示当前HD61202U接口控制电路的运行状态。BUSY=1,表示HD61202U正在处理计算机发来的指令或数据,此时接口电路被封锁,不能接受除读状态字外的任何操作;BUSY=0,表示HD61202U接口控制电路已处于“准备好”状态,等待计算机的访问。下面是各个指令的功能:第5章 智能卡应用系统 ON/OFF:表示当前HD61202U的工作状态,即反映RST端的电平状态。当RST为低电平状态时,HD61202U处于复位工作状态,RESET=1;当RST为高电平状态时,HD61202U为正常工作状态,RESET=0。在指令设置和数据读写时要注意状态字中的BUSY标志。只有在BUSY=0时,计算机对HD61202U的操作才能有效。因此计算机在每次对HD61202U操作之前,都要读出状态字判断BUSY是否为“0”。若不为“0”,则计算机需要等待,直至BUSY=0为止。计算机对HD61202U操作的流程如图5.9所示。ON/OFF:表示当前HD61202U的工作第5章 智能卡应用系统 图5.9 HD61202U操作的流程图5.9HD61202U操作的流程第5章 智能卡应用系统(2)显示开关设置(DisplayON/OFF):该指令设置显示开/关触发器的状态,由此控制显示数据锁存的工作方式,从而控制显示位为开/关的控制位。当D=1为显示设置,显示数据锁存器正常工作,显示屏上呈现所需的显示效果。此时在状态字中ON/OFF=1。当D=0为关显示设置,显示数据锁存器被置零,显示存储器并没有被破坏,在状态字中ON/OFF=0。(3)显示起始行设置(DisplayStartLine):该指令设置了显示起始行寄存器的内容。HD61203U有64行显示的管理能力,该指令中L5L0显示起始行的地址,取值在03FH(164行)范围内,它规定了显示屏上最顶一行所对应的显示存储器的内容,则显示屏将呈现显示内容向上或向下平滑滚动的显示效果。(2)显示开关设置(DisplayON/O第5章 智能卡应用系统(4)页面地址设置(SetPage(Xaddress):该指令设置了页面地址,即X地址寄存器的内容。HD61202U将显示存储分成8页,指令代码中P2P0就是要确定当前所要选择的页面地址,取值范围为0007H,代表显示第18页。该指令规定了以后的读/写操作将在哪一个页面上进行。(5)列地址设置(SetYaddress):该指令设置了Y地址计数器的内容,C5C0=03FH(164)代表某一页面上的某一单元地址,随后的一次读或写数据将在这个单元上进行。Y地址计数器具有自动加1的功能,在每一次读写数据后它将自动加1,所以在连续进行读写数据时,Y地址计数器不必每一次都设置。页面地址的设置和列地址的设置将显示存储单元惟一地确定下来,为后来的显示数据的读写作了地址选通。(4)页面地址设置(SetPage(第5章 智能卡应用系统(6)写显示数据(WriteDisplayData):该操作将8位数据写入先前已确定的显示存储器的单元内。操作完成后,列地址计数器自动加1。(7)读显示数据(ReadDisplayData):该操作是将HD61203U接口部分输出到寄存器内容读出,然后列地址自动加1。本系统采用直接访问式的接口方式,就是将液晶显示模块的接口作为存储器或I/O设备直接挂在计算机总线上,计算机以访问存储器或I/O设备的方式操作液晶显示模块的工作。其具体的原理图如图5.10所示。(6)写显示数据(WriteDispla第5章 智能卡应用系统 图5.10液晶与MCU接口电路图5.10液晶与MCU接口电路第5章 智能卡应用系统 表5.6液晶显示屏控制关系表5.6液晶显示屏控制关系第5章 智能卡应用系统 另外,MCU的P2.1接液晶显示模块的R/,用来控制数据总线的数据流向;用P2.2接液晶显示模块的RS,用来区分是数据还是指令;用P2.0接液晶显示模块的,控制模块的使能;P0口(P0.0P0.7)直接与液晶显示模块的双向数据/地址端相连。为了加强P0口的驱动能力和减少外界的干扰,该口全部外接了上拉电阻。JG19264A的读时序图和写时序图分别如图5.11和图5.12所示,按照此时序编程,MCU即可实现对液晶正常的控制。另外,MCU的P2.1接液晶显示模块的R/,第5章 智能卡应用系统 图5.11JG19264A读时序图图5.11JG19264A读时序图第5章 智能卡应用系统 图5.12JG19264A写时序图图5.12JG19264A写时序图第5章 智能卡应用系统 2)实时时钟和掉电保护部分实时时钟和掉电保护部分在门禁系统中,需要实时记录出入数据(开门的卡号及其出现的时间)。若采用单片机软件计时,一方面需要占用硬件计数器资源,另一方面需要设置中断、查询等,耗费单片机的CPU资源。而在系统中采用实时时钟芯片则能很好地解决这个问题。实时时钟采用了美国Dallas公司推出的一种高性能、低功耗、带RAM的DS1302芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压为2.55.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。图5.13为DS1302的引脚及内部结构图。2)实时时钟和掉电保护部分第5章 智能卡应用系统 DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元RAM为一个8位的字节,其命令控制字为COHFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31B,命令控制字为FEH(写)、FFH(读)。具体的参数见表5.7。DS1302共有12个寄存器,其中有7个寄存器第5章 智能卡应用系统 图5.13DS1302的引脚及内部结构图图5.13DS1302的引脚及内部结构图第5章 智能卡应用系统 表5.7DS1302寄存器参数表表5.7DS1302寄存器参数表第5章 智能卡应用系统 图5.14DS1302的控制字和数据读写时序图5.14DS1302的控制字和数据读写时序第5章 智能卡应用系统 控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中;位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。DS1302的数据的写入是在控制指令字输入后的下一个SCLK时钟的上升沿,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位(位0)至高位(位7)。控制字节的最高有效位(位7)必须是逻辑1,如第5章 智能卡应用系统 DS1302是通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供了终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中置RST为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。上电运行时,在VCC2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。本系统实时时钟模块电路原理图如图5.15所示,MCU的P1.2、P1.3分别与DS1302的SCLK、I/O相连,VCC2接主电源,VCC1接后备电源,出现掉电时自动转入后备电源供电,以防时钟出现停止情况。X1、X2接外部晶振。DS1302是通过把RST输入驱动置高电平来第5章 智能卡应用系统 图5.15实时时钟模块电路原理图图5.15实时时钟模块电路原理图第5章 智能卡应用系统 MCU对DS1302的读写控制主要包括DS1302的初始化和读取DS1302的时间和日期,初始化过程就是给DS1302赋予初始的时间和日期,详见子程序SET1302。当实时时钟芯片被启动后,在没有接收到新的初始化指令的情况下,其内部的时钟将一直不停地运行,从而保证时间的实时性和准确性;MCU在任何时候都可以通过读取DS1302内部时间和日期寄存器中的值而获得准确的时间和日期,GET1302为时间和日期的读取子程序。MCU对DS1302的读写控制主要包括DS1第5章 智能卡应用系统;*;模块名称:DS1302.asm;功能:实时时钟模块;时钟芯片型号:DS1302T_CLKBitP1.2;实时时钟时钟线引脚T_IOBitP1.3;实时时钟数据线引脚T_RSTBitP3.6;实时时钟复位线引脚;*;子程序名:SET1302;功能:设置DS1302初始时间,并启动计时;*第5章 智能卡应用系统;调用:RTInputByte;入口参数:初始时间在:Second,Minute,Hour,Day,Month,Week,YearL(地址连续);返回值:无;影响资源:ABR0R1R4R7;*SET1302:CLRT_RSTCLR T_CLKSETB T_RSTMOV B,#8EH;控制寄存器LCALLRTInputByteMOVB,#00H;写操作前WP=0;调用:RTInputByte第5章 智能卡应用系统 LCALLRTInputByteSETB T_CLKCLR T_RSTMOVR0,#SecondMOVR7,#7;秒分时日月星期年MOVR1,#80H;秒写地址SET13021:CLR T_RSTCLR T_CLKSETB T_RSTMOVB,R1;写秒分时日月星期年地址LCALLRTInputByte第5章 智能卡应用系统 LCALLRTInputByteMOVA,R0;写秒数据MOVB,ALCALLRTInputByteINC R0INC R1INC R1SETB T_CLKCLR T_RSTDJNZ R7,SET13021CLR T_RSTCLR T_CLKSETB T_RSTLCALLRTInputByte第5章 智能卡应用系统 MOVB,#8EH;控制寄存器LCALLRTInputByteMOVB,#80H;控制,WP=1,写保护LCALLRTInputByteSETB T_CLKCLR T_RSTRET;*;子程序名:GET1302;功能:从DS1302读时间;调用:RTInputByte,RTOutputByte;入口参数:时间保存在:Second,Minute,Hour,Day,Month,Week,YearL;返回值:无MOVB,#8EH第5章 智能卡应用系统;影响资源:ABR0R1R4R7;*Get1302:MOV R0,#Second;MOV R7,#7MOV R1,#81H;秒地址GET13021:CLR T_RSTCLRT_CLKSETB T_RSTMOVB,R1;秒分时日月星期年地址LCALLRTInputByteLCALLRTOutputByte;影响资源:ABR0R1R4R7第5章 智能卡应用系统 MOVR0,A;秒INC R0INC R1INC R1SETB T_CLKCLR T_RSTDJNZ R7,GET13021RET;*;写1302一字节(内部子程序);*RTInputByte:MOVR4,#8MOVR0,A 第5章 智能卡应用系统 Inbit1:MOVA,BRRC AMOVB,AMOVT_IO,CSETB T_CLKCLR T_CLKDJNZ R4,Inbit1RET;*;读1302一字节(内部子程序);*Inbit1:第5章 智能卡应用系统 RTOutputByte:MOVR4,#8Outbit1:MOVC,T_IO RRCA SETBT_CLK CLRT_CLK DJNZR4,Outbit1 RETRTOutputByte:第5章 智能卡应用系统 3)门禁记录存储与传输门禁记录存储与传输各门禁点的出入记录可采用实时上传或定时采集的方式从门禁机传输给中央数据库,前者对系统网络速度要求较高,当网络堵塞时有丢失数据的可能。本系统采用了出入记录暂时存储在门禁机中,每隔一段时间(例如每周一次)上传给中央数据库的方式,为此要求门禁机有一个具备一定容量的存储器,用于暂存门禁数据以及由中央数据库下载的授权卡号。门禁机存储器的容量取决于一个门禁记录的长度、系统的卡容量以及定时上传周期内最大的刷卡次数等,通常应留有一定的余量以免由于超出存储容量而丢失数据。本系统采用了AT24C256作为门禁机的存储器,其存储容量达64KB,划分成两个区,一个区用来存储所读取的记录,另一个区用来存储上位机下载的授权卡号。门禁机存储器模块的电路原理图如图5.16所示。3)门禁记录存储与传输第5章 智能卡应用系统 图5.16门禁机存储器模块的电路原理图图5.16门禁机存储器模块的电路原理图第5章 智能卡应用系统 AT24C256是Atmel公司具有的I2C总线结构,电可擦写与编程的只读存储芯片(EEPROM)。MCU对AT24C256的读写必须遵循I2C总线传输的时序要求,MCU向AT24C256写入和读出数据的时序和格式要求与AT24C01基本一致,在此不再赘述。对于一个单一的读写器来讲,自身的数据存储是有限的,读写器外带的数据存储器主要作为数据的临时存储。对于大量的、需要长期保存的数据,一般是通过有线或无线,甚至网络系统传输到主控计算机中进行保存的。AT24C256是Atmel公司具有的I2C第5章 智能卡应用系统 5.1.4 非接触式非接触式IC卡门禁管理系统的设计卡门禁管理系统的设计门禁管理系统是智能门禁系统的管理中心,它主要包括系统管理的主控模块和数据库模块。主控模块主要的功能是卡管理,即发卡。它包括最高权限卡对管理员和一般用户发卡,管理员对一般用户发卡;卡的挂失与解挂;卡查询等功能。而数据库模块的主要功能是门禁数据采集、数据更新、查询统计和报表的打印等。5.1.4非接触式IC卡门禁管理系统的设计第5章 智能卡应用系统 一个好的门禁管理系统,应该具有下面的各项功能:(1)系统要有良好的人机界面以方便操作人员的操作;(2)由于使用的人员多和复杂性,系统要有严格的权限管理;(3)数据、记录的操作方便、明了、快捷;(4)对原始数据库的管理必须安全、方便、快捷;(5)方便快捷的记录查找,同时支持多种条件的查找;(6)上传数据能自动保存到相应的数据库中;(7)上传数据能长时间保存;(8)风格多样的打印报表功能。一个好的门禁管理系统,应该具有下面的各项功能:第5章 智能卡应用系统 图5.17非接触式IC卡门禁管理系统的功能结构示意图图5.17非接触式IC卡门禁管理系统的功能结构示意图第5章 智能卡应用系统 整个系统可分为三大模块:一是系统管理主控模块,主要包括系统设置、卡片管理和授权三大部分;二是系统数据库管理模块,主要包括查询、统计、维护和打印等功能;三是通信模块,完成上位机和下位机的通信与管理。整个系统可分为三大模块:一是系统管理主控模块第5章 智能卡应用系统 1门禁管理系统主控模块设计门禁管理系统主控模块设计本系统的主控模块主要由四层三大部分组成。第一部分为卡片管理,完成系统管理和卡授权、原始数据库的操作和管理等任务;第二部分为新刷卡记录,完成当天门禁记录的存储和管理,其主要作用是记录当天的人员进出情况;第三部分为旧刷卡记录,是对以前一段时间内刷卡的情况进行保存操作,其主要作用是对以前的人员进出情况做记录以便以后进行查找。主控模块的构成框图如图5.18所示。1门禁管理系统主控模块设计第5章 智能卡应用系统 图5.18门禁管理系统主控模块的构成框图图5.18门禁管理系统主控模块的构成框图第5章 智能卡应用系统 1)卡片管理模块卡片管理模块卡片管理模块主要完成最高权限发卡、权限设置、下传黑名单、查找等功能,可以对最高权限、管理员、一般用户的数据库进行管理操作。它具有对一般用户的原始数据进行查找,对不同人员的权限进行设置等功能。图5.19为卡片管理的操作界面示意图,用户可以很方便地进行各项功能的操作。2)最高权限发卡模块最高权限发卡模块最高权限发卡模块主要完成对最高权限进行发卡和取消最高权限卡等功能。1)卡片管理模块第5章 智能卡应用系统 3)权限设置模块权限设置模块权限设置模块主要完成给管理员和一般用户的授权,实现对不同的人员进行发卡、授权、权限的取消、修改原始数据库等功能,并能对卡进行挂失、解挂、删除等功能。图5.20为卡片权限设置的操作界面示意图,在下拉选择框内选择管理员或最高权限,再输入相应的卡号。如果原始数据库中存在此卡号,则可对相应的权限范围进行操作和管理;若无此卡号,则操作无效。最高权限的卡能对一般用户和管理员用户进行授权操作,而管理员用户则只能对一般用户授权。3)权限设置模块第5章 智能卡应用系统 图5.19卡片管理的操作界面示意图图5.19卡片管理的操作界面示意图第5章 智能卡应用系统 图5.20卡片权限设置的操作界面示意图图5.20卡片权限设置的操作界面示意图第5章 智能卡应用系统 2系统的数据库管理软件设计系统的数据库管理软件设计 数据库管理软件是门禁管理系统的重要组成部分,它负责数据库结构的建立、数据的录入和管理,具有采集新刷卡记录、对刷卡记录进行排序、查找、卡号统计,保存当天的刷卡记录等功能;同时要求具有对刷卡记录进行班级统计、专业统计、卡号统计、报表打印,对作废的卡进行删除等输出、统计的功能。具体功能见图5.21。此外,考虑到操作人员的计算机知识普遍较差,因此要求有良好的人机界面;由于该系统的使用对象多,要求有较好的权限管理;在数据处理方面要求原始数据修改简单方便,支持多条件修改;数据查询方便,支持多条件查询;在相应的权限下,删除数据方便简单,数据稳定性好;具有数据自动处理功能,尽量减少人工干预;最后能进行统计和报表的打印功能。2系统的数据库管理软件设计第5章 智能卡应用系统 图5.21门禁管理系统数据库管理软件的功能框图图5.21门禁管理系统数据库管理软件的功能框图第5章 智能卡应用系统 图5.22数据库报表生成和打印操作界面图5.22数据库报表生成和打印操作界面第5章 智能卡应用系统 5.1.5 非接触式非接触式IC卡门禁系统卡门禁系统数据传输模块的设计数据传输模块的设计数据传输可以有多种方式,既可以采用有线方式(如总线传输、串行传输、局域网络传输和广域网络传输等),也可以采用无线方式(如短距离无线直线传输、无线网络传输等),实际运用时可根据具体要求和条件灵活掌握。本系统中两种传输方式并存,以有线传输为主,无线传输为辅,可适应不同用户的需求。5.1.5非接触式IC卡门禁系统数据传输模块的设计第5章 智能卡应用系统 有线传输一般采用RS485串行数据传输方式。数据信号采用差分传输方式,也称为平衡传输。它使用一对双绞线,其最大传输距离约为1219m,最大传输速率为10Mb/s。平衡双绞线的长度与传输速率成反比,在100kb/s以下,才可能使用规定的最长电缆。只有在很短的距离下才能获得最高传输速率。一般100m长的双绞线的最大传输速率仅为1Mb/s。RS485需要两个终接电阻,其阻值要求等于传输电缆的特性阻抗,终接电阻接在传输总线的两端。在短距离传输时可不需终接电阻,即一般在300m以下不需终接电阻。有线传输一般采用RS485串行数据传输方式。数第5章 智能卡应用系统 1无线数据传输系统的设计无线数据传输系统的设计在智能门禁系统中,上位机一般采用PC机进行通信和管理,下位机则为MCU控制的智能卡读写器。在上位机与下位机之间、下位机与下位机之间都可以采用无线数据传输,见图5.23。图5.23无线收发电路结构1无线数据传输系统的设计图5.23无线第5章 智能卡应用系统 本系统无线数据传输采用FC201B/E的无线模块(如图5.24所示)作为网络通信接口。FC201B/E无线数据传输模块是利用先进的单片机技术、无线射频技术和数字处理技术设计的功率较大、体积较小的模块式半双工数传电台,可实现点对点、点对多点的多级组网通信,最大可寻址4096个用户。FC201B/E无线数据传输模块采用双锁相环及双VCO结构,数据调制采用FFSK方式,工作频率履盖20MHz,可存储16个收、发信道,用户可根据情况配置使用或由程序控制使用。该模块采用标准RS232接口,可与任何具有RS232接口的设备相连;具有多种通信协议,包容性强;内置软件看门狗,保证电台长期可靠运行。本系统无线数据传输采用FC201B/E的无第5章 智能卡应用系统 本系统中,FC201B/E采用透明模式通信协议(E协议)。透明模式是为用户完全自定义高层通信过程而设置的一种模式。从用户终端接收的数据不作任何处理发送到空中,对从空中接收到的数据不作任何处理转送给用户终端,数传电台只起数据传输的接续作用。透明模式下,RS232接口的数据流控制是以电台和终端之间的控制信号CTS控制完成的。当CTS信号有效(低电平)时,表示数据发送缓冲区满或此时不能发送数据,用户终端应停止向电台传送数据;当CTS信号无效(高电平)时,表示数据发送缓冲区未满或此时可发送数据,用户终端可向电台传送数据。FC201B/E的发送数据缓冲区有效值为72B,一般情况下,用户终端连续向电台传送72B数据后,根据CTS信号有效与否,需要暂停发送数据。本系统中,FC201B/E采用透明模式通信协第5章 智能卡应用系统 图5.25URAT连接方式图5.25URAT连接方式第5章 智能卡应用系统 1)上位机通信软件设计上位机通信软件设计上位机是以Windows为平台,采用Microsoft推出的ActiveX技术实现与无线模块的串行通信。利用高级语言编程可以很方便地进行调用,这种方法不仅较为简单,而且非常实用。PC机通过无线传输模块发送/接收数据的流程如图5.26所示。上位机通过无线传输模块接收来自下位机的数据,主要是智能读卡器读取的卡号和时间,然后核查该卡号是否被授权,并将核查的结果通过无线传输模块传给下位机,同时将接收到的数据存入相应的数据库中。1)上位机通信软件设计第5章 智能卡应用系统 图5.26PC机无线传输模块发送/接收数据的流程图5.26PC机无线传输模块发送/接收数据的流程第5章 智能卡应用系统 MCU与无线传输模块之间的数据发送/接收的汇编子程序如下。发送子程序:SEND:MOVTMOD,#20H MOVTL1,#0E6H MOVTH1,#0E6H SETBTR1 MOVSCON,#0C0H MOVPCON,#00H;SMOD=0 CLRTI MOVR7,#04MOVR0,#58HMCU与无线传输模块之间的数据发送/接收的汇第5章 智能卡应用系统 GOUT:MOVA,R0MOVSBUF,AOUT:JBCTI,END1AJMPOUTEND1:INCR0DJNZR7,GOUTRETGOUT:MOVA,R0第5章 智能卡应用系统 发送子程序首先设置定时器1工作在方式2,设置串行口工作在方式3。由于MCU采用的外部振荡频率为11.0592MHz,因此通过设置定时器的初始值,可以使MCU的串行口以1200b/s进行传输。其中R7中存放要传送的字节数,R0中存放要传送数据的首地址,当R7指定的字节数传输完毕后,MCU自动退出数据的发送,回到主程序。接收子程序与发送子程序基本相同,只是R0中存放的是接收数据的首地址。接收子程序:RECEIVE:MOVTMOD,#20H;设置定时器1为方式2MOVTL1,#0E6H;设预置值1200/11.0592MHzMOVTH1,#0E6H发送子程序首先设置定时器1工作在方式2,设置第5章 智能卡应用系统 SETBTR1;启动定时器1MOVSCON,#0C0h;设置串行口为方式3MOVPCON,#00H;SMOD=0SETBRENMOVR0,50HIN:JBC RI,EASD AJMPIN;为RB8=0为数据位EASD:MOVA,SBUFMOVR0,ARETSETBTR1第5章 智能卡应用系统 5.2 课程训练课程训练一卡通系统的综合应用一卡通系统的综合应用 5.2.1 华深达实华深达实C3系统的功能与组成系统的功能与组成 1系统概述系统概述华深达实C3系统是基于目前最先进的非接触式智能卡技术、计算机技术、网络通信技术开发的一卡通应用系统。所谓“C3”,“C”意指Card,即非接触式智能卡(又称射频IC卡);“3”意指3通,即卡通、库通、网通。5.2课程训练一卡通系统的综合应用5.2.1华第5章 智能卡应用系统 卡通:在C3中,一次发卡,全系统通用,能同时实现考勤、消费、门禁、会议签到等应用,任何子系统先上或后上均不需要重新发卡。库通:C3数据库系统,由帐套系统统一管理,各系统数据资源共享,一次性输入人员信息、一次性发卡,同时实现考勤、门禁、消费等应用,考勤和消费经过会计期间结算后,直接用于工资系统的计算。网通:包括局域网(C/S模式)的解决方案和广域网(B/S模式)的解决方案。卡通:在C3中,一次发卡,全系统通用,能同时第5章 智能卡应用系统 华深达实C3系统将用户、卡片、读卡设备以及管理需求紧密联系在一起,用一张IC卡可实现身份识别、电子消费和人员信息管理等。可以实现门禁、考勤、消费、巡更、会议签到等多种智能卡应用,同时持卡人的各类信息可通过非接触式智能卡、终端读写设备和网络传送到控制中心服务器,管理人员可方便地通过管理系统进行实时监控和管理。华深达实C3系统可根据不同企、事业单位的需求灵活配置,具有保密性高、可靠性高
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!