微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 非接触式CPU卡的空中传输协议的软硬件设计

非接触式CPU卡的空中传输协议的软硬件设计

时间:06-09 来源:RF技术社区 点击:

if((APDU_Data[0]&PCB_BlkNo_Mask)==Blk_Info.PCB_BlkNo)

{Blk_Info.PCB_BlkNo ^= PCB_BlkNo_Mask;} //反转块号

else { return; } //块号不对!

switch(APDU_Data[0]&PCB_Type_Mask)

{

case 0x00: //收到I块

{

if(!(APDU_Data[0]&I_PCB_Link_Mask))

{ }//PICC发送的最后一块数据,后续无链接

else

{ }//PICC分段发送响应数据,后续有链接。PCD需要发送R-块确认

break;

}

case 0x80: //收到R块

{

//说明PCD分段发送请求数据,需通过链接位。

break;

}

case 0xC0: //收到S块

{

if((APDU_Data[0]&0x30)==0x30) //PICC请求等待时间扩展

{

//以后的等待超时时间(Timeout)需要随之改变!

}

break;

}

default:

{ break; }

}

}

4 测试

我们选取复旦微电子的非接触式CPU卡做测试。点击"寻找卡片",依次执行图3中的寻卡,防冲 突,选卡等三个步骤,获得卡片序列号和卡片类型;点击"RATS",发送选择应答请求来激活CPU模式,PICC返回ATS响应 "107880B0022090000000000026BAB4A2",具体含义如表1所示;发送表2所示的取随机数指令,PICC返回表3所示的四字 节随机数;发送表4所示的选择MF主文件命令,PICC返回表5所示的嵌套TLV格式的文件控制信息(FCI)。测试效果图如图9所示。

非接触式CPU卡的空中传输协议的软硬件设计

非接触式CPU卡的空中传输协议的软硬件设计
图9 上位机测试效果图

结语

本 文硬件电路采用ARM内核的32位微处理器芯片STM32F103RBT6和NXP公司的RC632来完成,软件开发则从物理层和协议层两个层面对PCD 和PICC之间的无线射频通信进行设计实现。经实际测试证明,该读写设备工作稳定,抗干扰能力强,读卡准确且操作距离大于5cm。由此可见,对空中传输协 议进行了较好的实现。另外,还可以进行扩展改进,如增加GPRS模块再结合相关的非接触式IC卡支付规范,便可实现方便快捷的移动支付。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top