IC卡接口芯片TDA8007的读写器设计
的最大等待时间120ETU(Element Time Unit),TOC设定定时器工作方式,便开始等待ATR首字节到来后做相应处理。至此,IC卡上电激活工作完成,随后可以根据ATR字节的要求的工作方式对IC卡进行相应的读写处理。具体见上电程序。
图4 TDA8007产生满足ISO 7816标准诉IC卡上电激活时序
TDA8007寄存器访问的预定义
本文链接地址:http://www.oyaya.net/fanwen/view/146710.html
图4 TDA8007产生满足ISO 7816标准诉IC卡上电激活时序
TDA8007寄存器访问的预定义
#include<absacc.h>
#define XXX XBYTE[0x8000]//XXX表示CSR等各寄存器上电程序如下:
P1.5=0; //片选TDA8007
CSR&=0xf8;
CSR|=ncard; //选择卡,ncard=1,2
CSR&=0xf7;
CSR|=0xf7;
CSR|=0x08; //复位UART的寄存器
UCR2&=0xf7; //异步模式,SAN=0
CCR&=0xdf; //时钟停止于低电平
UCR2|=0x60; //关闭附加中断及收发中断
GTR=0xff; //保持时间12ETU
If(v==1) //v为函数变量
PCR|=0x08; //1.8V卡用
else if(v==3)
PCR|=0x02; //3V卡用
Else
PCR&=0xfd; //5V卡用
UCR2&=0xfc; //CKU=PSC=0,--31
FCR=0x00; //1奇偶校验1FIFO
PDR=0x0c; //Divider=12
CCR=0x00; //不分频
PCR&=0xfb; //RSTIN=0
UCR2|=0x04; //不自动转换
UCR1=0x01; //正向约定
UCR1&=0xf7; //接收模式
flag3=0; //复位定时标志
flagatr=0; //接收ATR首字节定时标志
PCR|=0x01; //激活
TOR2=0x6c;
TOR3=0x00;
TOC=0x61; //RST拉高前等待108ETU
while(flag3==0); //定时时间到,在中断中设置flag3=1
TOC=0x00; //关闭定时器
PCR|=0x04; //给复位拉高
TOR2=0x78;
《IC卡接口芯片TDA8007的读写器设计(第3页)》