一种基于智能SD卡的读卡器的工作方法技术

技术编号:10923734 阅读:128 留言:0更新日期:2015-01-18 23:52
本发明专利技术公开一种基于智能SD卡的读卡器的工作方法,包括:读卡器上电,进行初始化;判断是否有智能SD卡片插入,是则定义SCSI和CCID两个卡槽的配置信息,否则定义SCSI卡槽的配置信息;使能USB连接;根据枚举指令将对应的卡槽的配置信息返回给上位机,当读卡器检测到中断标志置位为USB接收标志时,将中断标志复位,如接收数据的端点的类型为CCID的out端点则根据CCID协议对接收到的数据进行解析,并将解析结果发送给智能SD卡;等待并接收智能SD卡返回的处理结果,通过CCID卡槽的in端点将USB接收缓存区中的数据发送给上位机。通过本发明专利技术提供的方法实现了智能SD卡与上位机的通讯。

【技术实现步骤摘要】

本专利技术涉及信息安全领域,尤其涉及一种基于智能SD卡的读卡器的工作方法
技术介绍
目前,随着科技的发展,智能手机以及数码产品得到广泛应用,SD卡作为一种基于半导体闪存工艺的存储卡,由于其具有大容量、高性能、安全、读写速度高达2M/秒等特点,现已成为智能手机以及数码产品中应用最广泛的一种存储卡。SD卡分为智能SD卡和普通SD卡两种,其中,智能SD卡是一种加入了智能芯片的SD卡,包括一个金融IC模块和存储SD模块两部分组成;普通SD卡为只是存储功能的SD卡,金融IC模块是一个CPU模块,正常情况下通过两个触点进行读写;在现有技术中,智能SD卡只能依赖智能手机或数码产品进行应用,却无法在PC上使用。
技术实现思路
本专利技术的目的是为了克服现有技术的不足,提供一种基于智能SD卡的读卡器的工作方法。本专利技术提供了一种基于智能SD卡的读卡器的工作方法,包括:步骤A0:所述读卡器上电,进行初始化;步骤A1:所述读卡器判断是否有卡片插入,是则执行步骤A2,否则返回步骤A1;步骤A2:所述读卡器通过SWP接口向所述卡片发送上电指令,并判断是否接收到上电成功的信息,是则执行步骤A3,否则执行步骤A4;步骤A3:所述读卡器定义SCSI和CCID两个卡槽的配置信息,执行步骤A5;步骤A4:所述读卡器定义SCSI卡槽的配置信息,执行步骤A5;步骤A5:所述读卡器使能USB连接;步骤A6:当所述读卡器接收到上位机下发的枚举指令时,根据所述枚举指令将对应的卡槽的配置信息返回给所述上位机,执行步骤A7;步骤A7:当所述读卡器检测到中断标志置位时,所述读卡器判断所述中断标志的类型,如为USB接收标志则执行步骤A8;如为其他标志则执行相应操作;步骤A8:所述读卡器将所述中断标志复位,并判断接收数据的端点的类型,如为SCSI卡槽的out端点则执行步骤A9,如为CCID卡槽的out端点则执行步骤A10;步骤A9:所述读卡器根据SCSI协议对接收到的数据进行相应操作,返回步骤A7;步骤A10:所述读卡器根据CCID协议对接收到的数据进行解析,并将解析结果发送给所述智能SD卡;步骤A11:所述读卡器等待并接收所述智能SD卡返回的处理结果,将所述处理结果存储到USB接收缓存区中;步骤A12:所述读卡器通过CCID卡槽的in端点将所述USB接收缓存区中的数据发送给所述上位机,返回步骤A7。进一步地,在所述步骤A6与所述步骤A7之间包括:步骤T:所述读卡器判断USB是否为连接状态,是则执行步骤A7,否则执行步骤T。进一步地,所述步骤A2-步骤A5替换为:步骤B1:所述读卡器判断卡槽中是否有卡,是则执行步骤B6,否则执行步骤B2;步骤B2:所述读卡器定义SCSI卡槽的配置信息;步骤B3:所述读卡器使能USB连接;步骤B4:当检测到有卡片插入时,所述读卡器将卡槽标识复位,通过SWP接口向所述卡片发送上电指令,并判断是否接收到上电成功的信息,是则执行步骤B5,否则执行步骤A6;步骤B5:所述读卡器将USB失能,定义SCSI和CCID两个卡槽的配置信息,并将所述卡槽标识置位,执行步骤B9;步骤B6:所述读卡器将卡槽标识复位并通过SWP接口向所述卡片发送上电指令,并判断是否接收到上电成功的信息,是则执行步骤B7,否则执行步骤B8;步骤B7:所述读卡器定义SCSI和CCID两个卡槽的配置信息,并将所述卡槽标识置位,执行步骤B9;步骤B8:所述读卡器定义SCSI卡槽的配置信息,执行步骤B9;步骤B9:所述读卡器使能USB连接,执行步骤A6。进一步地,在所述步骤A6与所述步骤A7之间还包括:步骤T:所述读卡器判断USB是否为连接状态,是则执行步骤A7,否则执行步骤T。进一步地,所述步骤A2-所述步骤A6替换为:步骤C0:所述读卡器定义SCSI和CCID两个卡槽的配置信息;步骤C1:所述读卡器使能USB连接;步骤C2:当所述读卡器接收到上位机下发的枚举指令时,所述读卡器根据所述枚举指令将对应的卡槽的配置信息返回给所述上位机;步骤C3:所述读卡器判断是否有卡片插入,是则执行步骤C5,否则执行步骤C4;步骤C4:所述读卡器通过CCID卡槽的中断端点向所述上位机发送无卡信息,将卡槽标识复位,执行步骤A7;步骤C5:所述读卡器通过SWP接口向所述卡片发送上电指令,并判断是否接收到上电成功的信息,是则执行步骤C6,否则执行步骤C7;步骤C6:所述读卡器通过CCID卡槽的中断端点向所述上位机返回有卡信息,并将卡槽标识置位,执行步骤A7;步骤C7:所述读卡器通过CCID卡槽的中断端点向所述上位机发送无卡信息,将卡槽标识复位,执行步骤A7。进一步地,所述步骤C2与步骤C3之间包括:步骤T:所述读卡器判断USB是否为连接状态,是则执行步骤C3,否则返回步骤T。进一步地,所述步骤A7中读卡器判断所述中断标志为卡到位标志时,执行步骤K1;步骤K1:所述读卡器根据卡槽标识判断插入的卡片是否为智能SD卡,是则执行步骤K2,否则返回步骤A7;步骤K2:所述读卡器将所述中断标志复位,检测卡到位电平是否为低电平,是则执行步骤K4,否则执行步骤K3;步骤K3:所述读卡器通过CCID卡槽的中断端点向所述上位机返回无卡信息,返回步骤A7;步骤K4:所述读卡器通过SWP接口向所述卡片发送上电指令,并判断是否接收到上电成功的信息,是则执行步骤K5,否则执行步骤K6;步骤K5:所述读卡器通过CCID卡槽的中断端点向所述上位机返回有卡信息,并将所述卡槽标识置位,返回步骤A2;步骤K6:所述读卡器通过CCID卡槽的中断端点向所述上位机发送无卡信息,USB失能,并将所述卡槽标识复位,返回步骤A6。进一步地,所述当所述读卡器接收到上位机下发的枚举指令时,根据所述枚举指令将对应的卡槽的配置信息返回给所述上位机,包括:步骤D1:当所述读卡器接收到上位机下发的枚举指令时,所述读卡器检测所述枚举指令的类型,如所述枚举指令是设备描述符请求,则执行步骤D2;如所述枚举指令是配置描述符请求,则执行步骤D3;如所述枚举指令是卡槽名称请求,则执行步骤D4;如所述枚举指令是卡槽配置请求,则执行步骤D5;步骤D2:所述读卡器将设备描述符发送给所述上位机,执行步骤D6;步骤D3:所述读卡器将设备配置头字节和配置数据发送给所述本文档来自技高网...
一种基于智能SD卡的读卡器的工作方法

【技术保护点】
一种基于智能SD卡的读卡器的工作方法,其特征在于,包括:步骤A0:所述读卡器上电,进行初始化;步骤A1:所述读卡器判断是否有卡片插入,是则执行步骤A2,否则返回步骤A1;步骤A2:所述读卡器通过SWP接口向所述卡片发送上电指令,并判断是否接收到上电成功的信息,是则执行步骤A3,否则执行步骤A4;步骤A3:所述读卡器定义SCSI和CCID两个卡槽的配置信息,执行步骤A5;步骤A4:所述读卡器定义SCSI卡槽的配置信息,执行步骤A5;步骤A5:所述读卡器使能USB连接;步骤A6:当所述读卡器接收到上位机下发的枚举指令时,根据所述枚举指令将对应的卡槽的配置信息返回给所述上位机,执行步骤A7;步骤A7:当所述读卡器检测到中断标志置位时,所述读卡器判断所述中断标志的类型,如为USB接收标志则执行步骤A8;如为其他标志则执行相应操作;步骤A8:所述读卡器将所述中断标志复位,并判断接收数据的端点的类型,如为SCSI卡槽的out端点则执行步骤A9,如为CCID卡槽的out端点则执行步骤A10;步骤A9:所述读卡器根据SCSI协议对接收到的数据进行相应操作,返回步骤A7;步骤A10:所述读卡器根据CCID协议对接收到的数据进行解析,并将解析结果发送给所述智能SD卡;步骤A11:所述读卡器等待并接收所述智能SD卡返回的处理结果,将所述处理结果存储到USB接收缓存区中;步骤A12:所述读卡器通过CCID卡槽的in端点将所述USB接收缓存区中的数据发送给所述上位机,返回步骤A7。...

【技术特征摘要】
1.一种基于智能SD卡的读卡器的工作方法,其特征在于,包括:
步骤A0:所述读卡器上电,进行初始化;
步骤A1:所述读卡器判断是否有卡片插入,是则执行步骤A2,否则返回
步骤A1;
步骤A2:所述读卡器通过SWP接口向所述卡片发送上电指令,并判断是
否接收到上电成功的信息,是则执行步骤A3,否则执行步骤A4;
步骤A3:所述读卡器定义SCSI和CCID两个卡槽的配置信息,执行步骤
A5;
步骤A4:所述读卡器定义SCSI卡槽的配置信息,执行步骤A5;
步骤A5:所述读卡器使能USB连接;
步骤A6:当所述读卡器接收到上位机下发的枚举指令时,根据所述枚举指
令将对应的卡槽的配置信息返回给所述上位机,执行步骤A7;
步骤A7:当所述读卡器检测到中断标志置位时,所述读卡器判断所述中断
标志的类型,如为USB接收标志则执行步骤A8;如为其他标志则执行相应操作;
步骤A8:所述读卡器将所述中断标志复位,并判断接收数据的端点的类型,
如为SCSI卡槽的out端点则执行步骤A9,如为CCID卡槽的out端点则执行步
骤A10;
步骤A9:所述读卡器根据SCSI协议对接收到的数据进行相应操作,返回
步骤A7;
步骤A10:所述读卡器根据CCID协议对接收到的数据进行解析,并将解析
结果发送给所述智能SD卡;
步骤A11:所述读卡器等待并接收所述智能SD卡返回的处理结果,将所述

\t处理结果存储到USB接收缓存区中;
步骤A12:所述读卡器通过CCID卡槽的in端点将所述USB接收缓存区中
的数据发送给所述上位机,返回步骤A7。
2.如权利要求1所述的方法,其特征在于,在所述步骤A6与所述步骤A7
之间包括:
步骤T:所述读卡器判断USB是否为连接状态,是则执行步骤A7,否则执
行步骤T。
3.如权利要求1所述的方法,其特征在于,所述步骤A2-步骤A5替换为:
步骤B1:所述读卡器判断卡槽中是否有卡,是则执行步骤B6,否则执行步
骤B2;
步骤B2:所述读卡器定义SCSI卡槽的配置信息;
步骤B3:所述读卡器使能USB连接;
步骤B4:当检测到有卡片插入时,所述读卡器将卡槽标识复位,通过SWP
接口向所述卡片发送上电指令,并判断是否接收到上电成功的信息,是则执行
步骤B5,否则执行步骤A6;
步骤B5:所述读卡器将USB失能,定义SCSI和CCID两个卡槽的配置信
息,并将所述卡槽标识置位,执行步骤B9;
步骤B6:所述读卡器将卡槽标识复位并通过SWP接口向所述卡片发送上
电指令,并判断是否接收到上电成功的信息,是则执行步骤B7,否则执行步骤
B8;
步骤B7:所述读卡器定义SCSI和CCID两个卡槽的配置信息,并将所述
卡槽标识置位,执行步骤B9;
步骤B8:所述读卡器定义SCSI卡槽的配置信息,执行步骤B9;
步骤B9:所述读卡器使能USB连接,执行步骤A6。
4.如权利要求3所述的方法,其特征在于,在所述步骤A6与所述步骤A7
之间还包括:
步骤T:所述读卡器判断USB是否为连接状态,是则执行步骤A7,否则执
行步骤T。
5.如权利要求1所述的方法,其特征在于,所述步骤A2-所述步骤A6替
换为:
步骤C0:所述读卡器定义SCSI和CCID两个卡槽的配置信息;
步骤C1:所述读卡器使能USB连接;
步骤C2:当所述读卡器接收到上位机下发的枚举指令时,所述读卡器根据
所述枚举指令将对应的卡槽的配置信息返回给所述上位机;
步骤C3:所述读卡器判断是否有卡片插入,是则执行步骤C5,否则执行步
骤C4;
步骤C4:所述读卡器通过CCID卡槽的中断端点向所述上位机发送无卡信
息,将卡槽标识复位,执行步骤A7;
步骤C5:所述读卡器通过SWP接口向所述卡片发送上电指令,并判断是
否接收到上电成功的信息,是则执行步骤C6,否则执行步骤C7;
步骤C6:所述读卡器通过CCID卡槽的中断端点向所述上位机返回有卡信
息,并将卡槽标识置位,执行步骤A7;
步骤C7:所述读卡器通过CCID卡槽的中断端点向所述上位机发送无卡信
息,将卡槽标识复位,执行步骤A7。
6.如权利要求5所述的方法,其特征在于,所述步骤C2与步骤C3之间包
括:
步骤T:所述读卡器判断USB是否为连接状态,是则执行步骤C3,否则返
回步骤T。
7.如权利要求1-6任意一项所述的方法,其特征在于,所述步骤A7中读
卡器判断所述中断标志为卡到位标志时,执行步骤K1;
步骤K1:所述读卡器根据卡槽标识判断插入的卡片是否为智能SD卡,是
则执行步骤K2,否则返回步骤A7;
步骤K2:所述读卡器将所述中断标志复位,检测卡到位电平是否为低电平,
是则执行步骤K4,否则执行步骤K3;
步骤K3:所述读卡器通过CCID卡槽的中断端点向所述上位机返回无卡信
息,返回步骤A7;
步骤K4:所述读卡器通过SWP接口向所述卡片发送上电指令,并判断是
否接收到上电成功的信息,是则执行步骤K5,否则执行步骤K6;
步骤K5:所述读卡器通过CCID卡槽的中断端点向所述上位机返回有卡信
息,并将所述卡槽标识置位,返回步骤A2;
步骤K6:所述读卡器通过CCID卡槽的中断端点向所述上位机发送无卡信
息,USB失能,并将所述卡槽标识复位,返回步骤A6。
8.如权利要求1-6任意一项所述的方法,其特征在于,所述当所述读卡器
接收到上位机下发的枚举指令时,根据所述枚举指令将对应的卡槽的配置信息
返回给所述上位机,包括:
步骤D1:当所述读卡器接收到上位机下发的枚举指令时,所述读卡器检测
所述枚举指令的类型,如所述枚举指令是设备描述符请求,则执行步骤D2;如

\t所述枚举指令是配置描述符请求,则执行步骤D3;如所述枚举指令是卡槽名称
请求,则执行步骤D4;如所述枚举指令是卡槽配置请求,则执行步骤D5;
步骤D2:所述读卡器将设备描述符发送给所述上位机,执行步骤D6;
步骤D3:所述读卡器将设备配置头字节和配置数据发送给所述上位机,执
行步骤D6;
步骤D4:所述读卡器根据所述枚举指令中的标志号判断所述卡槽名称请求
的类型,如标志号为第一数值则将SCSI卡槽名称返回给所述上位机,执行步骤
D6;如标志号为第二数值则将CCID卡槽名称返回给所述上位机,执行步骤D6;
步骤D5:所述读卡器根据所述枚举指令中的标志号判断所述卡槽配置请求
的类型,如标志号为第一数值则将SCSI卡槽的配置信息返回给所述上位机,执
行步骤D6;如标志号为第二数值则将CCID卡槽的配置信息返回给所述上位机,
执行步骤D6;
步骤D6:所述读卡器判断枚举是否完成,是则将枚举标志设为预定数据,
继续;否则返回步骤D1。
9.如权利要求2或4或6所述的方法,其特征在于,所述读卡器将卡槽的
配置信息全部返回给所述上位机之后还包括:将枚举标志设为预定数据;
所述读卡器判断USB是否为连接状态具体包括:判断所述枚举标志是否为
预定数据,是则USB为连接状态,否则USB不为连接状态。
10.如权利要求1-6任意一项所述的方法,其特征在于,所述步骤A2具体
为:
步骤A2-1:所述读卡器将所述SWP接口的电源引脚上电;
步骤A2-2:所述读卡器将由主设备到从设备的信号置为高电平,开启计时
器;
步骤A2-3:所述读卡器检测由从设备到主设备的信号是否变为高电平,是
则执行步骤A2-5,否则执行步骤A2-4;
步骤A2-4:所述读卡器判断所述计时器的值是否超过第一预设值,是则所
述计时器清零,执行步骤A4,否则返回步骤A2-3;
步骤A2-5:所述读卡器接收所述卡片返回的由主设备到从设备的信号置为
高电平的成功信息;
步骤A2-6:所述读卡器给所述卡片发送设置自身处于全功耗模式指令;
步骤A2-7:所述读卡器接收所述卡片返回的已准备好信息;
步骤A2-8:所述读卡器给所述卡片发送复位初始化链路信息;
步骤A2-9:所述读卡器判断是否接收到所述卡片返回的回复信息,是则执
行步骤A2-10,否则执行步骤A4;
步骤A2-10:所述读卡器连接管道,并获取所述卡片中的参数;
步骤A2-11:所述读卡器关闭所有连接的管道,更新所述卡片中的参数;
步骤A2-12:所述读卡器创建动态管道参数,并打开所有连接的管道,执行
步骤A3。
11.如权利要求1-6任意一项所述的方法,其特征在于,
所述步骤A7中所述读卡器判断所述中断标志的类型为卡到位标志时,则执
行步骤E1;
步骤E1:所述读卡器判断插入的卡片是否为智能SD卡,是则执行步骤E2,
否则将所述中断标志复位,返回步骤A7;
步骤E2:所述读卡器将所述中断标志复位,检测卡到位电平是否为低电平,

\t是则执行步骤E4,否则执行步骤E3;
步骤E3:所述读卡器通过CCID卡槽的中断端点向所述上位机返回有卡信
息,返回步骤A2;
步骤E4:所述读卡器通过CCID卡槽的中断端点向所述上位机返回无卡信
息,USB失能,返回步骤A7。
12.如权利要求11所述的方法,其特征在于,
所述步骤A0中进行初始化包括:将卡槽标识复位;
所述步骤A3还包括:所述读卡器将所述卡槽标识置位;
所述步骤E1具体为:所述读卡器判断所述卡槽标识是否置位,是则插入的
卡片为智能SD卡,否则插入的卡片不为智能SD卡。
13.如权利要求1-6任意一项所述的方法,其特征在于,所述步骤A10具
体包括:
步骤A10-1:所述读卡器判断所述接收到的数据是否合法,是则执行步骤
A10-2,否则设置错误信息并存储到USB接收缓存区中,执行步骤A12;
步骤A10-2:所述读卡器检测所述接收到的数据的指令类型,如是数据交换
APDU指令则执行步骤A10-3,如是其他则执行相应操作;
步骤A10-3:所述读卡器将所述数据交换APDU指令存储到SD卡输出缓存
区中;
步骤A10-4:所述读卡器将所述SD卡输出缓存区中的数据发送给所述智能
SD卡。
14.如权利要求13所述的方法,其特征在于,所述步骤A10-2中所述读卡
器检测到的指令类型为上电指令,则执行步骤F1,如是下电指令,则执行步骤

\tF5;如是扩展通道指令,则执行步骤F6;如是其他指令,则设置不支持信息,
并将其存储到所述USB接收缓存区,执行步骤A12;
步骤F1:所述读卡器对所述智能SD卡进行上电操作;
步骤F2:所述读卡器判断是否上电激活成功,是则执行步骤F3,否则执行
步骤F4;
步骤F3:所述读卡器设置上电成功信息,并将其存储到所述USB接收缓存
区,执行步骤A12;
步骤F4:所述读卡器设置上电失败信息,并将其存储到所述USB接收缓存
区,执行步骤A12;
步骤F5:所述读卡器对所述智能SD卡片执行下电操作,设置下电成功信
息并将其存储到所述USB接收缓存区,执行步骤A12;
步骤F6:所述读卡器根据所述扩展通道指令进行相应操作,并将操作结果
存储到所述USB接收缓存区,执行步骤A12。
15.如权利要求13所述的方法,其特征在于,所述步骤A10-4包括:
步骤A10-41:所述读卡器将所述SD卡输出缓存区中的数据中最低字节数
据作为当前字节数据;
步骤A10-42:所述读卡器获取当前字节数据的最高比特位作为当前比特位;
步骤A10-43:所述读卡器判断当前比特位上的值是否为预定值,是则执行
步骤A10-44,否则执行步骤A10-45;
步骤A10-44:所述读卡器将所述SWP接口的输出电平变为高电平,延时第
一预设时长后将所述SWP接口的输出电平变为低电平,延时第二预设时长,执
行步骤A10-46;
步骤A10-45:所述读卡器将所述SWP接口的输出电平变为低电平,延时第
三预设时长后将所述SWP接口的输出电平变为高电平,延时第四预设时长,执
行步骤A10-46;
步骤A10-46:所述读卡器判断当前字节数据是否发送完成,是则执行步骤
A10-48,否则执行步骤A10-47;
步骤A10-47:所述读卡器将当前比特位的相邻低位作为当前比特位,返回
步骤A10-43;
步骤A10-48:所述读卡器判断所述SD卡输出缓存区中的数据是否发送完
成,是则执行步骤A11,否则执行步骤A10-49;
步骤A10-49:所述读卡器将当前字节的相邻高字节数据作为当前字节数据,
返回步骤A10-42。
16.如权利要求15所述的方法,其特征在于,步骤A11具体包括:
步骤A11-1:所述读卡器将所述SWP接口的输出电平变为高电平,延时第
五预设时长;
步骤A11-2:所述读卡器判断所述SWP接口的输入采集电平是否为高电平,
是则执行步骤A11-3,否则执行步骤A11-4;
步骤A11-3:所述读卡器将补位计数器加1,并采集一个比特位的高电平值
并顺序存储到所述SD卡输出缓存区中,执行步骤A11-7;
步骤A11-4:所述读卡器判断所述补位计数器的值是否等于第一预设值,是
则执行步骤A11-5,否则执行步骤A11-6;
步骤A11-5:所述读卡...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1