基于STC12C2052单片机的串口ID读卡器设计
2010-07-28梁飞张红雨
梁 飞 张红雨
引言
射频识别技术RFID是从20世纪80年代发展起来的一项自动识别技术。它是利用射频方式进行非接触双向通信,以达到自动识别目标并获取数据。不同于传统的磁卡和IC卡。RFID技术解决了无源和无接触两大问题,同时它可实现运动目标识别,多目标识别,在交通运输、门禁安全、身份识别、货物管理、自动控制、防盗防伪等方面广泛应用。
低频射频识别系统
根据天线理论,无源电子标签与读卡器之间的作用距离属于天线近区场(r<<λ,λ为载波波长),因此,电子标签天线与识读终端天线之间的作用是基于电磁感应原理。由读卡器产生恒定125kHz左右的载波信号。标签进入读卡器的工作区域后,由标签中的电感线圈和电容组成的谐振回路接收读卡器发射的载波信号,卡中芯片的射频接口模块由此信号产生出电源电压、复位信号及系统时钟,使芯片工作;芯片将内存中的数据经曼彻斯特编码后控制调制器上的开关电流调制到载波上,通过卡上天线回送给读卡器,读卡器对接收到的卡回送信号进行ASK解调、解码后送至后台计算机输出。
ID卡内存中存有不可改写的64位数据,它包含9个开始位(其值均为‘1)、40个数据位(8个厂商信息位+32个数据位)、14个行列校验位(10位行校验、4个列校验)和1个结束停止位。其数据格式见图1。
当电子标签向读卡器回传信息时,首先传送9个开始位,由于数据和偶校验的格式的原因,在后面的数据串中不会出现9个1,保证了数据头的唯一性;再传送8位芯片厂商信息,然后再传送32个数据位。其中15个校验以及结束位用以跟踪包含厂商信息在内的40位数据。传送卡号时,这64位数据通过载波在天线上首尾相
系统硬件设计
图2给出了基于单片机的低频ID读卡器的系统结构。该系统由单片机组成主控模块,结合载波电路和解调电路对标签回传信号进行解码并向PC传送数据,同时进行闪灯和响蜂鸣器来提示正确读取卡号。该系统设计的天线电感值是345μH。天线采用铜制漆包线绕制,漆包线直径为0.29mm。圆形(内径)直径为2cm,115圈。
射频接口电路
射频接口电路发射射频载波信号以启动电子标签工作,对标签返回的信号进行解调。采74HC4060的分频范围分别为8~1024、4096~32768:采用74HC4060对4MHz信号进行32分频得到125KHz载波信号。分频出来的载波信号通过天线对ID卡提供能量。
接收回路首先采用一个二极管检波电路进行包络检波。选择适当的RC和二极管可使传输系数接近为1,防止隋性失真的产生,包络检波器的输出波形与调幅波包络线基本一致。再通过运算放大器对信号进行放大,以便通过比较器使模拟信号转变成数字信号,最终完成ASK的解调输出。
主控模块
主控模块主要实现对解调信号进行解码,同时将得到的卡号数据通过UART向PC机传输。本设计采用STC12C2052单片机作为主控芯片,该单片机成本低,同时兼容8051单片机内核,具有运算速度高,功耗低,内部具有UART模块,可直接与PC通信,满足本设计要求。MCU部分电路图见图3。
解调电路输出的已调数字信号从单片机P3.2引脚输入,P3.2是外部中断INTO输入引脚,设置INTO为下降沿中断。当接收到已调信号时,触发中断,同时打开定时器进行计数,在下一中断到来时,统计计数值进行判断。采用外部16MHz晶振,R15与C17构成了复位电路:p3.0和p3.1作为UART的RX和TX引脚,构成人机交互接口。P1.4、P1.3分别作为指示灯、蜂鸣器的输出引脚,平时灯一直为亮,在刚通电与读到卡时,会闪一下,同时蜂鸣器也会响一下作为警不。
系统软件设计
系统流程图如图4所示。系统上电后首先进行一系列设置,包括UART波特率、定时器计数方式和计数时钟选择、外部下降沿中断触发式的设置等,设置完成后会响一声作为提示。然后进行曼彻斯特解码和奇偶校验,当奇偶校验正确之后,将收到的32位卡号数据转化为10位ASCII码。单片机会将这10位ASCII码送人串口数据寄存器中,通过TXD引脚送给PC。通过设置单片机内部寄存器TMOD可以得到需要的波特率。
结语
本读卡器设计具有电路简单,成本低,灵敏度高,读取效率高的特点;在软件上对曼彻斯特码进行同步解码,读卡速度比较快,由于对载波频率的变化不敏感,故读卡成功率非常高:同时可以实现波特率从1200~115200的设置。实际应用表明读取距离可达到7 cm左右。