IC卡接口芯片TDA8007的读写器设计
TOC=0x61; //RST拉高前等待
flagatr=1;
ATR(); //复位应答处理函数
图5为IC卡的下电时序图。相对于上电时序,下电过程对时间的要求不是很严格,只要设计者控制TDA8007按照一定的顺序置低START、RSTIN和停止CLK即可,然后TDA8007会自动逐步释放RST、I/O、Vcc及VUP。具体处理见下电程序。
下电程序:
P15=0;
PCR&=0xfe; //START=0;下电
PCR&=0xfb; //卡的复位脚保持0
CCR&=0xdf; //停止时钟于低
CCR|=0x10; //停止时钟
P15=1;
6 使用TDA8007应当注意的问题
TDA8007对于Vcc、RST出错,芯片过热(如图IC卡为电源短路卡或金属片),或IC卡插入拔出时都会产生中断输出。每次中断处理结束,应注意把HSR中的值读入一个临时地址,以便清楚HSR中的标志。
每次发送数据到IC前,即接收IC卡的最后一个数据之前,应设置寄存器UCR1中的LCT位,以便接收完IC卡的数据后,自动切换成发送状态。
对TDA8007部分布线时应注意,时钟信号线与其它线的隔离:最好被地线包围。
对于电路板上TDA8007部分的电容应尽量靠近TDA8007,其中电容Cap、Cbp、Cup尤其如此,并最好不要在这些电容连向TDA8007引脚过程中使用过孔;同时,Cap、Cup、Cbp电容的ESR要尽量小。
对TDA8007处理的两个IC卡座中的任何一个执行上电、下电、读写卡操作之前,必须执行选择卡座的操作函数,以便选中具体的IC卡进行处理。
对IC卡操作中上电时序中的定时,读写卡字节间等待定时等都可使用TDA8007中的定时器及定时控制器操作,注意其定时器为向下计数方式。
结语
本文主要从CPU IC卡的T=0的协议出发,介绍此类IC读写器设计的一些技术问题。值得指出的是,T=0协议仅仅是IC卡与外界数据交换的一种传输协议,只要在软件上适当修改并利用接口芯片TDA8007突出的处理能力,本读写器完全可以实现对其它ISO7816卡、EMV、GSM`11-11卡的读写。
《IC卡接口芯片TDA8007的读写器设计(第4页)》