×
嵌入式 > 技术百科 > 详情

非接触式e5551读写器的开发

发布时间:2021-07-26 发布时间:
|

摘要:介绍了非接触式e5551卡工作原理和与单片机的接口,给出了非接触式e5551卡读写器的硬件电路和读卡、写卡程序流程图。

射频识别rfidradio frequency identification技术是二十世纪九十年代兴起的一项自动识别技术,它利用无线射频方式进行非接触式双向通信。rfid系统中卡片与读写器之间无须物理接触即可完成识别,可实现多目标识别和运动目标识别,应用范围更加广泛。

根据工作频率不同,rfid系统可分为低频、中频、高频系统。低频系统一般工作在100khz~500khz,中频系统工作在10mhz~15mhz,它们主要适用于短距离、低成本识别高频系统工作在850mhz~950mhz以及2.4ghz~5ghz的微波段,适用于距离长、读写数据率高的场合。本文介绍的e5551 rfid系统属于低频系统,工作频率范围为100khz~150khz,最大识别距离约为20cm。1 非接触式e5551卡工作原理

e5551 rfid系统组成如图1所示。其中pc通过rs485通信远程操作e5551读写器。读写器利用微控制器(mcu)与e5551卡进行交互读写。

通过e5551卡内线圈在特定交变磁场100khz~150khz中耦合,e5551获得感应电流,再通过整流得到直流加到卡内电路,e5551得到工作电压和电流。通过读写器的线圈感应e5551卡产生的磁场来读取e5551发送的数据。

1.1 e5551卡的存储结构

e5551卡内置264位eeprom。这些eeprom共分为8块,每块33位,其分布如图2所示。其中block0存储e5551卡的参数设置信息;block7在口令加密功能启动时存放e5551卡的读写控制密码,当加密功能没有使用时存放用户数据;其它六个存储块存放各种数据。 1.2 e5551卡工作参数的设定

block0用于设置e5551卡的各种操作特性,如同步信号、数据流格式、数据流长度、加密、口令唤醒和停止发射的启用/关闭等。

(1)位率(bitrate)设定:位率可设置为rf/8、rf/16、rf/32、rf/40、rf/50、rf/64、rf/100、rf/128,由第12、13、14位确定。其中rf指载波频率radio frequency。

(2)调制方式设定:调制方式由两部分组成。第一部分为二进制编码方式,有直接编码、曼切斯特编码和双相位编码三种方式,由第16、17位确定;第二部分为频率调制方式,有相位键控、频率键控和直接编码三种方式,由第18、19、20位确定。

(3)口令加密设定:由第28位决定。该位置1启动口令加密功能,在启动口令加密功能前应该事先在block7写入密码。启动口令加密功能后,用户对e5551卡中数据进行修改均要求提供密码验证,密码正确时修改有效,否则修改无效。图3 e5551芯片上电后线圈两端的电压 (4)请求应答(answer on request)设定:由第23位决定。该位置1启动aor功能,这时e5551卡进入射频区后不主动发射数据,由基站给e5551卡发射唤醒命令后再发射数据。该功能要求首先启动口令加密功能,即基站唤醒e5551卡必须在唤醒命令序列中向e5551卡发射口令密码,e5551卡检测到合法唤醒命令时才恢复发射数据。

(5)同步信号设定:e5551卡可以使用两种不同的同步信号—sequence terminator和block terminator。sequence terminator在每个数据循环开始时出现;block terminator在每个block数据开始时出现。两种同步信号分别由第29、30位确定,它们既可以独立使用也可以结合使用。

(6)发射最大数据块数设定(maxblk):由第25、26、27位确定。当maxblk设置为0时,e5551卡只发射block0的数据给基站;当设置为1时e5551卡只发射block1的数据给基站;当设置为2时,e5551卡发射block1和block 2的数据给基站,余者依次类推。在启动口令加密功能后maxblk的值应小于7,这样e5551将不发射block7的数据。

2 e5551卡的读写

2.1 e5551卡的读

读e5551卡是指u2270b通过mcu进行读卡。在e5551卡内部,有个与e5551芯片相连的线圈,该线圈是e5551芯片供电与读卡器的双向通信接口。e5551卡就是利用该线圈产生具有阻尼特性的载频信号向读卡器发送数据。具体工作原理如图3所示。 当e5551卡接近读卡器时,由读卡器振荡电路产生的磁场感应e5551卡内的lc调谐电路产生感应电流,该电流经过e5551芯片内的整流器和过压保护电路得到e5551芯片的直流工作电压,形成上电复位,对应图3中的第一段;接着读取e5551芯片内block0的数据,即图3中的第二段;约2ms后,e5551卡按照设定的工作模式发送数据,首先从block1的第一位开始,直到maxblk所设定的最大块的最后一位。

2.2 e5551卡的写

写e5551卡指u2270b通过mcu进行写卡。读卡器通过对e5551卡内流过线圈的电流间隔性中断实现写卡,用电流流过e5551卡内线圈的持续时间实现对0和1的编码。详细过程如图4所示。

e5551卡读完block0数据后进入默认的读卡操作,如图4左半部分。若检测到起始电流中断,则e5551卡触发写卡操作,即图4的右半部分。电流中断持续时间一般为50μs~150μs,但为了便于可靠地检测起始电流中断,起始电流中断一般大于150μs。一般地,电流持续24个磁场脉冲周期编码为0,电流持续56个磁场脉冲周期编码为1。当电流持续了64个磁场脉冲周期后仍未检测到电流中断,e5551卡自动退出写卡模式。如果前面写卡数据正确就开始将数据编程写入e5551芯片的eeprom,否则进行读卡操作。图5 读写器硬件接口电路3 读写器

3.1 硬件接口

u2270b是与e5551卡配套的一种近距离非接触式读写基站芯片,它所产生的载波频率为100khz~150khz,工作电压为5v或12v,适用于曼彻斯特编码或双相位编码,与微控制器有兼容接口。配上小量外围元件构成的读卡器电路如图5所示。

图5中用电阻r5、电容c6组成选频电路,去掉高频及低频,让100khz~150khz频率通过,与u2270b内部电路共同构成解调电路;用天线与内部驱动电路形成125khz电磁场发射电路,传输能量;用4个二极管形成反馈电路稳定频率;用电阻r1及r7调节发射频率;通过二极管d5进行信号整形。

3.2 软件编程

本文以曼彻斯特编码、rf/32为例介绍e5551软件编程。采用曼彻斯特编码调制的数据,位数据1对应着电平上跳,位数据0对应着电平下跳。设rf=125khz,位传送速率bitrate=rf/32,则每传送一位数据的时间(位传送周期)为:

1p=32/125khz=256μs图6 读卡流程图 在一串数据序列中,两个相邻位数据传送跳变时间间隔为1p。若相邻位数据极性相同,则在该两次数据传送电平跳变之间,有一次非数据传送的电平空跳。程序开始时先等待一个ts=270μs~330μs高电平同步信号,然后按上述编码规则逐个检测电平变化并记录对应时间t1或t2,t1=90μs~180μs,t2=210μs~300μs。如前一数据为1的情况下,测得高电平时间为t1,对应下降沿无效,应接着测下一上升沿并得1;若测得高电平时间为t2,对应下降沿有效并得0。如前一数据为0的情况下,测得低电平时间为t1,对应上升沿无效,应接着测下一下降沿并得0;若测得低电平时间为t2,对应上升沿有效并得1。据此即可以串行方式读出卡内的数据。读卡程序流程图如图6所示。

写卡时,写0,cfe=1持续192μs,然后cfe=0持续280μs;写1,cfe=1持续448μs,然后cfe=0持续280μs。写卡程序流程图如图7所示。 e5551卡是一种低成本非接触式卡,虽然容量较小,但也能用于许多场合,如门禁系统、考勤系统等。如果硬件和软件设计合理,进一步提高其可靠性和安全性,再加上成本低廉、读写电路简单,应用必然更加广泛。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
家庭网络:从带宽共享走向内容共享