77范文网 - 专业文章范例文档资料分享平台

125K非接触ID卡读卡器设计完整版(2)

来源:网络收集 时间:2020-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

硬件电路如图2所示,在图2中①为载波产生及功率放大电路,由单片机的T/C2工作于CTC模式,产生标准125 kHz载波信号,经过限流电阻R1后送入推挽式连接的三极管功率放大电路,放大后的载波信号通过天线发射出去。天线L1与电容C1构成串联谐振电路,谐振频率为125 kHz,谐振电路的作用是使天线上获得最大的电流,从而产生最大的磁通量,获得更大的读卡距离。②为检波电路,检波电路用来去除125 kHz载波信号,还原出有用数据信号。R2,D1,R3,C2构成基本包络检波电路,C3为耦合电容,R4,C4为低通滤波电路,D2,D3为保护二极管,输出接到滤波放大电路。③为滤波放大电路,滤波放大电路采用集成运放LM358对检波后的信号进行滤波整形放大,放大后的信号送入单片机的定时/计数器T1的输入捕捉引脚ICPl,由单片机对接收到的信号进行解码,从而得到ID卡的卡号。 4 软件设计

本系统的软件设计包括两部分:125 kHz载波的产生和ID卡解码。载波信号产生相对简单,可利用单片机的T/C2,使其工作于CTC模式,比较匹配时使输出OC2取反便可得到125 kHz的方波。解码软件设计相对较复杂,要对ID卡进行解码,首先应掌握ID卡的存储格式和数据编码方式。

4.1 EM4100数据存储格式

图3是EM4100的64位数据信息,它由5个区组成:9个引导位、10个行偶校验位“PO~P9'’、4个列偶校验位“PC0~PC3”、40个数据位“D00~D93”和1个停止位S0。9个引导位是出厂时就已掩膜在芯片内的,其值为“111111111”,当它输出数据时,首先输出9个引导

位,然后是10组由4个数据位和1个行偶校验位组成的数据串,其次是4个列偶校验位,最后是停止位“0”。“D00~D13”是一个8位的晶体版本号或ID识别码。“D20~D93”是8组32位的芯片信息,即卡号。

每当EM4100将64个信息位传输完毕后,只要ID卡仍处于读卡器的工作区域内,它将再次按照图3顺序发送64位信息,如此重复,直至ID卡退出读卡器的有效工作区域。 4.2 EM4100数据编码方式

EM4100采用曼彻斯特编码,如图4所示:位数据“1”对应着电平下跳,位数据“0”对应着电平上跳。在一串数据传送的数据序列中,两个相邻的位数据传送跳变时间间隔应为1P。若相邻的位数据极性相同(相邻两位均为“O”或“1”),则在两次位数据传送的电平跳变之间,有一次非数据传送的、预备性的(电平)“空跳”。电平的上跳、下跳和空跳是确定位数据传送特征的判据。在曼彻斯特码调制方式下,M4100每传送一位数据的时间是64个振荡周期,其值由RF/n决定。若载波频率为125 kHz,则每传送一位的时间为振荡周期的64分频,即位传送时间为:1P=64/125 kHz=512μs,则半个周期的时间为256μs。 4.3 解码软件设计

ATmega8单片机T/C1的输入捕捉功能是AVR定时/计数器的一个非常有特点的功能,T/C1的输入捕捉单元可用于精确捕捉一个外部事件的发生,记录事件发生的时间印记。当一个输入捕捉事件发生时,T/C1的计数器TCNTl中的计数值被写入输入捕捉寄存器ICRl中,并置位输入捕获标志位ICFl,产生中断申请。可通过设置寄存器TCCRlB的第6位ICESl来设定输入捕捉信号触发方式。本系统利用单片机的输入捕捉功能进行解码。

由曼彻斯特编码特点可知,每位数据都由半个周期的高电平和半个周期的低电平组成,因此可将一个位数据拆分为两位,即位数据“1”可视为“10”,位数据“O”可视为“01”,则64位数据可视为由128位组成。为了获得完整且连续存放的64位ID信息,在此接收两轮完整的64位数据,即接收256位。则上一轮接收到的停止位后紧跟着的必然是本轮接收到的起始位,据此找出起始同步头。再根据曼码特点获得ID卡的有效数据(“10”解码为“1”;“01”解码为“O”)并进行LCR校验,若校验无误,则将ID卡号输出至PC机,并准备下一次的解码;否则,直接准备下一次解码。另外,在程序中首先定义一个数组bit[256]用来存放接收到的数据;定义一个变量flag用来标记256位数据接收完成;定义一个变量error用来标记校验有错误产生。由于无ID卡靠近读卡器的有效工作区时,单片机输入捕捉引脚输入的是高电平,因此在主程序中先设定为下降沿触发,清零计数器TCNTl,打开T/C1的输入捕捉功能。主程序流程图如图5所示。

在输入捕捉中断程序中定义一个触发沿标志tr=1(用于表示由下降沿引起的触发),同时定义一个无符号字符型变量i用来对接收到的数据个数进行计数,由于无符号字符型数据的取值范围为O~255,所以当接收完256位时,i的值再次变为0。接着判断是否为合法跳变,由以上分析可知,电平跳变的时间为256μs或512μs为合法跳变。本系统使用8 MHz时钟,T/C1设置为无预分频,则系统周期为O.125μs,则256μs对应计数值应为2 048,512μs对应计数值应为4 096。取计数值TCNTl小于5 000为合法跳变依据,若TC-NTl大于5 000,则认为是由干扰信号产生的非法跳变,并将其忽略,取TCNTl介于3 000~5 000之间为

512μs跳变依据。若为合法跳变,由于是下降沿触发的中断,则认为接收到一位数据“1”;若为合法跳变且3 000

再将输入捕捉触发方式改为上升沿触发,设定触发沿标志tr=0(用于表示由上升沿引起的触发)。当中断是由上升沿触发时,执行类似操作。图6为中断处理程序流程图。

5 结语

本设计硬件电路中功放和检波部分采用分立元件构成,无需读卡基站芯片,电路结构简单,成本极低;软件部分采用C语言进行编写,提出了一种曼彻斯特编码的解码方法。由于RS 232的传输距离最大只有15 m,因此对于需要远距离数据传送的场合,可以通过加入RS 485电路以提高传输距离,从而实现远距离数据采集以及实行有关控制。在一些需要较远读卡距离的应用中,可通过改进功率放大电路(例如采用D类功率放大电路)来提高功放的效率,从而增大发射功率,增大读卡距离。通测试,系统可成功实现对EM4100 ID卡的读取,经过微调天线,最大读取距离可达15 cm,且读卡稳定、成功率高,可将其应用于门禁、公交等系统。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库125K非接触ID卡读卡器设计完整版(2)在线全文阅读。

125K非接触ID卡读卡器设计完整版(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1002170.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: