单片机 读 ic 卡操作
1. 读smart card /CPU 卡
我选用的是 nxp tda8023 这颗芯片,自带DC-DC 可读A类,B类卡 i2c 操作 ,cpu选用 stm32f103ve
使用 stm32 uart3 自带smart模式
A类卡 5v,
B类卡 3v
流程:
1.通过iic 初始化 tda8023 以5V 输出, 如果能接收到 ATR 那么此卡为 A类卡,如果收不到 ATR 此卡为B类卡
2.后面对 ATR 进行分析,根据 TS 判断出 高位在前 还是 低位在前
3.一切正常, 发送apdu 可以选择文件 ,再发送读取的 apdu 就可以 读取想要的信息
4. smart card 类型:T=0; T=1; 38600; PSAM卡
读cpu 卡(smart card) 和 同步卡的读卡模
块已经出来,可进我的淘宝联系购买 ---淘宝店铺链接。
代码比较繁多,贴出不方便,需要的可以交流下
2.读同步卡,例如逻辑加密芯片卡: sle4442 FM4442
在用tda8023 的情况下:
1.TDA8023 是支持同步卡的,利用TDA 给同步卡供电
2.读同步卡主要需要三根线: clk ; io_data; reset
3. clk io_data 两根线用i/o口模拟成 类似于I2C 的接口
4.reset 线 利用TDA8023 控制,tda8023 在同步的情况下 可以通过设置tda8023 的寄存器 实现控制reset 线
5.复位以后读4个byte 的ATR(可以看到厂家代码 ,这部分是厂家固化的,尽量不改)
6.如果需要写卡的话,先要完成密码校验,然后才能写
代码部分 ()
附:
7816 atr 格式
SIM卡返回的ATR应答信号的第一个字符表示SIM卡支持传输方式是直接模式还是反转模式,这个字符定义为初始字符。如果SIM返回的是11011100,则表示SIM卡支持直接模式;如果SIM卡返回的是11000000,则表示SIM卡支持的是反转模式。
根据定义,复位应答是一系列字节的值,这些字节是由卡作为对复位命令的响应发送给接口设备的。在I/O电路上,每个字节在一个异步字符中传输。
每个成功的复位操作都会导致I/O上的一个初始字符TS,TS后面按照下面的次序跟有最多32个字符:
T0…………………………………………格式字符,强制性
TA(i) TB(i) TC(i) TD(i)…………… 接口字符,可选的
T1 T2…Tk…………………………………历史字符,可选的
Tck……………………………………… 检测字符,有条件的
• 初始字符定义了所有后继字符的解码协议。。
• 格式字符声明了第一组接口字符和所有历史字符。
• 接口字符由格式字符声明的位图技术来指明。
• 历史字符由编码在格式字符中的一个数字来指明。
• 校检字符依赖于某些接口字符中参数T的值。
为了表示简明,以下用[TS] T0 TA(i)…T1…Tck表示字节及传送字节的字符。
3. 读cpu 卡(smart card) 和 同步卡的读卡模块
已经出来,可进我的淘宝联系购买。