新闻中心

EEPW首页>手机与无线通信>设计应用> Mifare系列射频卡读写器的研制

Mifare系列射频卡读写器的研制

作者: 时间:2009-07-13 来源:网络 收藏

4.3 串行存储器
我们用AT24C256作数据存储器。AT24C256是串行E2PROM存储器,支持I2C总线数据传输协议,32KB存储器容量,用两根线与CPU构成串行接口。SDA是双向数据线,接CPU的P2.1;SCL是时钟线,接CPU的P2.0;这两根线必须接上拉电阻。WP是写保护线,一般接地,表示允许读写操作。A0、A1是地址线,通过这二根地址线CPU最多可寻址4个AT24C256器件,4个芯片都有固定的地址,分别对应A0、A1为00到11,在此二根地址线上可扩充1~3片AT24C256串行E2PROM存储器。串行E2PROM读写格式和操作时序如图4所示。

本文引用地址://m.amcfsurvey.com/article/157991.htm

图4 串行E2PROM读写格式和操作时序
写数据到AT24C256有字节写和页面写两种方式。在字节写模式下,主器件(单片机) 发送起始信号和从器件(AT24C256)地址信息,在从器件送回应答信号后,主器件发送两个8位地址字节给AT24C256,主器件在收到从器件的应答信号后,再发送数据到被寻址的存储单元。AT24C256再次应答,并在主器件产生停止信号后开始内部数据的擦写周期,在内部擦写过程中AT24C256 不再应答主器件的任何请求。页写模式下一次最多可以写入64个字节数据。从AT24C256中读数据有三种方式,即当前地址读、随机读和连续读。如随机读,允许主器件对E2PROM的任意地址进行读操作。分两步进行,首先主器件发起始信号、器件地址和两字节的存储器地址执行一个伪写操作,在 AT24C256应答之后,主器件再发起始信号和器件地址,AT24C256响应并发应答信号,然后输出8位数据,主器件收到数据后发停止信号结束本次操作。连续读可用随机读开始,在收到AT24C256发来的8位数据后,主器件不发停止信号,而发应答信号, AT24C256收到主器件的应答信号后,又传下一个地址的数据,一直进行下去,直到主器件发停止信号为止。

5 程序设计
5.1 单片机主程序流程图
单片机的程序包括:IC卡读/写/密码验证/擦除操作程序,与RC500通信中断处理程序,键盘中断处理程序,与PC机通信中断处理程序,显示程序及存储器读写程序等。读卡器的主程序流程图如图5所示:

图5 读卡器的主程序流程图
5.2 读/写卡程序设计
读写卡过程是一个很复杂的程序执行过程,要执行一的操作指令,调用多个C51函数。包括装载密码,询卡,防冲突,选卡,验证密码,读写卡,停卡。这一的操作必须按固定的顺序进行。在没有卡进入天线有效范围时,在低5位显示当前时钟,当有卡进入到天线的有效范围,读卡程序验证卡及密码成功后,将卡号和读卡时间及相关数据作为一条记录存入E2PROM存储器中,并在LED显示器高5位上显示卡号。
程序设计采用单片机汇编语言和KeilC51混合编程。看门狗定时器中断服务程序采用汇编语言编写,其它程序采用C语言编写。程序的每一部分按模块化设计成一个文件,单独调试通过后,再在KeilC51环境下加入到工程文件中汇编生成HEX文件,用仿真器进行仿真通过后,写入P89C58BP芯片中脱离仿真器运行。

6结束语
本文设计的能够读写多种 Mifare系列,如Mifare 1 S50、Mifare Light和Mifare Pro等,读写距离在10cm范围内。该操作方便灵活,只要通过计算机串口按规定协议发送命令给它即可完成读卡、写卡、取消和更改密码等操作;也可设置为脱离计算机独立工作方式,必要时再将所存储的记录数据上传到上位机供其处理。本已经实际应用在长沙某非接触式IC卡预付费电度表的售电系统中,系统运行良好、可靠性高。实际应用中证明:此读写器系统读写非接触式IC卡片迅速、方便、可靠、安全、稳定,深受用户欢迎。有足够的优势取代目前仍使用磁卡和接触式IC卡读写器的应用,具有巨大的市场竞争力和广阔的发展前景。

电度表相关文章:电度表原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭