载频为13.56MHz非接触式IC卡接收模块设计
文章出处:http://www.nexussmartsolutions.com 作者:庞学骏,翟小伍 人气: 发表时间:2011年10月07日
非接触式IC卡又称射频卡,是世界上最近几年发展起来的一项新技术。它利用无线通信技术进行非接触双向通信,以达到识别和交换数据的目的,解决了无源(卡中无电源)和免接触这一难题。本文提出的是一种基于ISO/IEC 14443标准B型非接触式IC卡的射频接收电路设计方案。该方案利用较简单的电路形式并结合软件解调的方法满足了相关性的性能要求。由于不需使用专用的ASIC解调解码,从而使成本低廉。
1 非接触式IC卡系统的基本组成
非接触式IC卡系统由读写器和IC卡组成,其本身是无源卡。当读写器对卡进行读写操作时,读写器向IC卡发一组固定频率的电磁波,读写器发出的信号由二部分叠加组成:一部分是电源信号,该信号由卡接收后,经内部电路处理作为电源为其他电路提供工作电压;另一部分则是指令和数据信号,该信号指挥芯片完成数据的读取、修改和储存等,并返回信号给读写器。
读写器以微控制器为核心,分为发送和接收2个通道。发送通道由振荡器、功放、调谐电路、编码器和调制器组成;接收通道由滤波放大器、解调电路和解码器组成。收发数据由微控制器处理,并可和主机通信。
2 ISO14443 TYPE B
非接触式智能卡的工业标准ISO14443称IC卡为PICC卡,读写器为PCD。该标准规定了PICC和PCD之间的TYPEA和TYPEB二种通信传输模式。无论是A型或B型,载波频率都是13.56MHz,副载波的频率都是847kHz,射频卡和读写器之间的通信波特率都是106Kbps。Type B型读写器向卡传送信号时,编码方式是异步、NRZ编码,采用10%ASK调制方式;在卡向读写器传送信号时,则采用BPSK编码进行调制。
3 接收方案设计
本设计的非接触式IC卡接收电路框图如图1所示。电路由5V电源供电,完成将卡返回的射频信号放大解调解码等工作。放大环节采用场效应管BFT 46,解码工作在单片机PIC16F877中完成,并通过RS-232与计算机相连。
选择PIC16F877单片机作为该接收通道的微处理器。PIC系列单片机采用了精简指令集计算机RISC和哈佛双总线以及二级指令流水线结构,具有高速度、低工作电压、低功耗等特点和优良的性价比。PIC16F877具有8KB的Flash、256B的E2PROM,足以满足程序的要求,其工作频率为13.56MHz。
3.1 通信电路
PIC单片机通过同步/异步收发器USART与计算机进行通信,通过标准RS-232串行接口进行电平变换。RS-232通信电路如图2所示。RS-232采用的是负逻辑,即逻辑“1”:- 5~-15V;逻辑“0”:+5~+15V。而CMOS电平为逻辑“1”:4.99V;逻辑“0”:0.01V。TTL电平为逻辑“1”:24V;逻辑“0”:0.4V。因此在用RS-232总线进行串行通信时需外接电路实现电平转换,在发送端用驱动器将TTL或CMOS电平转换为RS-232C电平,在接收端用接收器将RS-232C电平再转换为TTL或CMOS电平。这里选用了MAXIM公司的MAX202E作电平转换。MAX202E属于MAXIM公司的通用串行接收/发送驱动器芯片,其外围电路简单,只需外接2个1μF的电容即可,设置波特率为9 600bps,程序实现单片机异步接收发送功能。
3.2 放大锁相电路
天线接收信号后进行检波处理,检波电路实现包络检波,将13.56MHz的载波滤除,得到847kHz副载波调制信号。调谐放大电路为所希望的信号提供有选择的放大,而对不希望的信号提供一定程度的滤波,使信号更为干净,便于软件锁相。调谐放大处理后得到携带数字信息的正余弦信号,如图3所示。检波二极管选 用高速肖特基二极管BAS70,运放采用场效应管BFT 46。
单片机软件实现位同步的处理,其思想是:由单片机定时器产生相应的时钟信号,由接收信号校正该时钟信号,使之与接收的信号相位一致。实际上也就是根据数据信号的正负边沿跳变的时刻,调整本地载波输出信号的起始定时时刻。由单片机管脚检测到信号后进入中断处理,而在另一管脚输出连续相位增量为90°的3组测试信号。软件锁相前端电路图如图4所示,测试信号作用于场效应管上。图5为中断信号处理的一种情况:通道1为原始信号,通道2为测试信号,第1个测试信号落在原始信号的0~90°相位区,所以直到第3个测试信号时才作用于原始信号得到1个脉冲,如图5中的通道3所示。
不同的结果送入单片机处理,即可得出测试信号与原始信号的相位差,做相应处理后输出锁相,并把该输出管脚设置为PWM模式,控制场效应管输出得到调制信号。经过解调后的码元交替时刻前后BPSK信号如图6所示,连续的8个脉冲代表数据bit0,若该时间内没有脉冲则代表数据bit1。
3.3 软件解码
采用picmate 2002 编译器,C语言编程完成信号解码。数据传输速率为106Kbps。由于单片机采用普通的中断计时方式无法达到正确解码目的,因此程序的主要设计思想是:捕捉同步头后读端口,设置计数器T0为4个脉冲触发,并禁止中断,精确计算每一条C语句汇编后占用的时钟周期,同时注意while语句,适时加减循环开始和结束的读取次数,使每一次操作都在8个脉冲的时间内完成。这时读取T0IF标志位,如果为1置bit为0,重新清T0IF标志位为0,继续下一步,直到完成1帧信号的读取。程序框图如图7所示。
4 结束语
本文介绍了射频识别卡接收模块的设计。该模块没有使用专用ASIC实现信号的编码和解码,编码和解码工作基本上由软件完成,有效地解决了BPSK信号相位模糊问题。该模块的硬软件调试已全部完成。