您的位置 首页 FPGA

STM32单片机的PSAM卡驱动模块规划

针对PSAM卡的驱动操作,并且兼容ISO7816协议里规定的使用相对较多的A类和B类两种类型的PSAM卡,采用STM32单片机为主控模块,以及相应的电压转换模块,成功实现了对于A类、B类两种类型的PS

导言

刷卡消费跟着人们生活水平的进步现已成为常用的付出方法之一。为了确保刷卡消费的安全性,将PSAM卡内嵌于各种终端刷卡设备中。PSAM(Purchase SecureAccess Module,销售点终端安全存取模块),由IC卡发行主管部门或许运用主管机构发行,是能够用于对IC卡进行脱机消费买卖认证的安全认证卡,首要运用于商用POS、网点终端、直连终端等设备上,支撑多级发卡机制,适用于多运用的环境,契合辨认卡、带触点的集成电路卡标准、ISO/IEC 7816—1/2/3/4以及《中国人民银行PSAM卡标准》。

1 PSAM卡简介

PSAM卡是触摸式CPU卡的一种。CPU卡也称智能卡,卡内集成电路带有微处理CPU,存储单元(包括随机存储器RAM、电可擦除存储器EEP ROM、程序存储器ROM)及芯片操作体系(Chip Operating System,COS)。装有COS的CPU卡不只具有数据存储功用,一起具有指令处理和数据安全维护等功用。CPU卡芯片相当于芯片内设备了一个微处理器,其功用大致与一台微型核算机相同。在生活中,人们常运用的集成电路卡(IC卡)上的金属片便是CPU芯片。因为CPU卡具有存储空间大、处理才能强、信息存储安全、支撑一卡多用以及读取速度快等长处,现已被广泛用于金融、交警、稳妥和政府职业等范畴,并经过国家暗码委和中国人民银行的认证。

就外型而言,CPU卡与一般IC卡、射频卡比较无显着不同,可是运用性能、安全性却有巨大提高,这首要源于CPU卡内含有随机数发生器、3DES加码算法、硬件DES和3DES加密算法等,合作操作体系就能够到达金融等级的安全等级。减值密钥一般存储在PSAM卡中,经过PSAM卡对IC卡进行减值操作,完成安全扣款。在非触摸逻辑加密卡的体系中,PSAM卡首要运用卡片认证密钥和各扇区的KEYA、KEYB密钥来发生非触摸逻辑加密卡操作所需求的各扇区的KEYA和KEYB认证码,买卖信息不直接参加运算。而在非触摸CPU卡体系中,PSAM卡通常用来核算和校验消费买卖过程中呈现的MAC码,一起在核算的过程中,买卖时刻、买卖金额、买卖类型等买卖信息也都参加运算,使得买卖更安全可靠。某些情况下,非触摸CPU卡体系中的PSAM卡还能够用来支撑安全报文更新数据时MAC的核算,以及买卖TAC的验证。

卡片内部逻辑结构如图1所示。

1111

其间CPU及加密逻辑确保EEPROM中数据的安全,使外界不能运用非法手段取得EEPROM中的数据。RAM是在COS 作业时寄存指令参数、回来成果、安全状况以及暂时作业密钥的区域。ROM用于寄存COS程序。EEPROM中寄存用户运用数据区域,COS将用户数据以文件的方式保存在EEP ROM中,当安全条件满意规守时,能够读/写文件。

2 硬件规划

2.1 PSAM卡电路规划

2.1.1 PSAM卡电源切换模块

ISO7816协议里规则2种运用较多的,PSAM卡的类别(A类、B类),A类需求供给5 V电压,B类需求供给3V电压,为了确保关于两种类别卡的兼容性,要求规划的读写器,能够供给挑选5V或许3 V的电压。所以本论文规划了如图2所示的电源切换模块。其作业原理是:PSAM POW为高时,P沟道的MOS管导通,供给5 V电压给PSAM_VDD,PSAM_POW为低时,P沟道的MOS管不导通,供给3.3 V电压,再经过二极管的压降,供给3 V电压。

b.JPG

2.1.2 PSAM卡复位信号

相同考虑到PSAM卡的两种类别,尤其是当PSAM卡为A类的时分,首要考虑MCU的I/O口电压是3.3V,而PSAM卡需求的是5 V,避免复位电平不行,将PSAM_RST1信号经过三极管与SAM_RST1相连,以增强驱动才能。其间PSAM_RST1与MCU相连,SAM_RST1与PSAM卡相连。详细电路如图3所示。

c.JPG

2.1.3 PSAM卡数据口电平转化电路

为了确保MCU接纳到的信号是3.3 V,规划了PSAM卡数据口电平转化电路,详细电路如图4所示,当PSAM卡是A类的时分,需求将5 V电压转化为3.3 V,这时在图4电路中,只需求焊接上两个三极管(Q1、Q2),不需求焊接电阻R,当PSAM卡是B类的时分,只需求焊接上电阻R,不需求焊接两个三极管(Q1、Q2)。

2.1.4 PSAM卡卡槽电路接口

PSAM卡卡槽电路接口如图5所示。因为是低电平复位,在RST端口需求接上PSAM VDD信号,在正常作业的时分将电平拉高。数据脚(DATA)正常情况下也需求上拉,这是为了避免电平起伏不行,尤其在5 V的时分,经过电平切换的信号是3.3 V,有必要上拉到5 V才行。

2.2 主控模块规划

图6为主控模块以及相关的外围电路的原理图。主控模块选用的是STM32F103C8T6芯片。OSC32_IN、OSC32_OUT两个引脚外接32.768 kHz的低速外部晶振,能够用其驱动实时时钟RTC。OSC_IN、OSC_OUT两个引脚外接8 MHz晶振,经过设置STM32的相关寄存器经过PLL倍频之后发生72 MHz的STM32体系时钟(SYSCLK)。C1、C2作为晶体的匹配电容。为了使晶振愈加简单启振,在晶振周围并联1 MΩ电阻(R)。主控模块低电平复位,电阻上接高电平,电容鄙人接地,中间位RST。详细作业原理是在上电时给电容充电,电容给RST一个时间短的低电平,此低电平跟着VCC给%&&&&&%充电的过程中变高。

e.JPG

3 软件规划

关于PSAM卡的软件驱动规划要契合ISO7816—4协议。运用协议数据单元(APDU)可包括有指令报文或呼应报文,它从接口设备发送到卡,或许相反地由卡发送到接口设备。

APDU指令的格局如表1所列。

d.JPG

APDU指令的指令头内容如表2所列。

f.JPG

APDU指令呼应结构如表3所列。

APDU指令呼应内容如表4所列。

(1)首要的数据结构

Typedef struct{

u8 Cla; //指令的类型

u8 Cmd; //指令的编码

u8 P1; //详细指令参数1

u8 P2; //详细指令参数2

u8 P3; //在发送形式的为Lc;//在接纳形式时为Le

u8*Data_Ptr;//指令和相应的数据字段

u8 RspCode[2];//APDU呼应的内容

}APDU;

(2)首要功用函数

①函数名:PSAM_APDU_Out

功用描绘:读取智能卡的数据。

参数:*Data_out,回来从智能卡中读出的数据;PSAMConfig,智能卡的装备。

回来值:读取数据成功标志(0为失利,1为成功)。

②函数名:PSAM_APDU In

功用描绘:向智能卡写数据。

参数:*Data_in,向卡上写入的数据;PSAMConfig,智能卡的装备。

回来值:写入数据成功标志(0为失利,1为成功)。

③函数名:PSAM_Send1 Byte

功用描绘:向智能卡发送1字节数据,并判别接纳方是否成功接纳。假如没有成功,则向收方发送两次该数据。

参数:SendByte,待发送的字节数据。

回来值:SendStatus,数据发送是否成功标志(成功为0x01,失利为0x00,超时为0xFF)。

④函数名:PSAM_Send1Block

功用描绘:向智能卡发送n个字节数据。

参数:*SendPtr,待发送的字节数据指针;DataLen,传送的字节数;ByteDir,字节方向。

回来值:SendStatus,数据发送是否成功标志(成功为0x01,失利:0x00)。

⑤函数名:PSAM_Receive1Byte

功用描绘:接纳智能卡的1字节数据,当检测到奇偶犯错时,可恳求2次智能卡从发当时字节数据。

参数:无。

回来值:DataBuf,其间高字节是数据接纳是否成功标志(成功为0x01,失利为Parity error(0x55),timeout overflow(0xff))低字节是收到的有效字节数据。

⑥函数名:PSAM_Reset

功用描绘:对智能卡进行复位操作,并等候智能卡的应对,假如应对成功则回来复位成功标志,不然回来复位失利标志。

参数:*uiATR,保存复位应对信息的指针。

回来值:复位成功标志(0x01为复位成功,0x00为复位失利)。

4 模块测验

经过串口调试帮手对体系进行测验,剖析发送和回来的数据,判别该模块作业是否正常。图7为发送对PSAM卡的复位操作的指令。图8为发送对PSAM卡进行通明数据流传输的指令。

g.JPG

h.JPG

结语

本文规划的PSAM卡驱动模块,依据上述软件和硬件的规划思路进行的规划得到了实践的验证,取得了令人满意的作用。无论是软件的代码仍是硬件的电源转化模块都具有很好的可移植性,便利在不同的体系中运用,而且供给了对外的接口函数,便利上层体系运用工程师的调用。该模块能够运用到固网付出、POS终端等设备上。

  • STM32单片机中文官网
  • STM32单片机官方开发工具
  • STM32单片机参阅规划

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/291617.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部