单片机 TDA8023 读 ic 卡 smrat card & sync_card

   单片机 读 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) 和 同步卡的读卡模块

已经出来,可进我的淘宝联系购买。   

 

你可能感兴趣的:(c)