通过CCID接口让NFC智能手机实现近场通信

  • easy
  • LV0工程师
  • |      2015-01-23 14:44:38
  • 浏览量 879
  • 回复:8
NFC手机通过CCID接口完成近场通信所需解决的主要问题就是在ISO14433规范中扩展CLF的功能,令CLF支持CCID,并从定制终端开始将CLF的此种功能发展成为NFC手机的标配。

NFC手机配SWP SIM卡是目前国际规范定义的组合,SWP SIM卡需要NFC手机的支持,手机的NFC功能也只是为SWP SIM卡服务。但随着智能卡技术的演进,这一切未必一成不变。本文通过对现有的SWP与CCID技术的简要分析和对比,创造性的提出一种NFC手机通过CCID接口完成近场通信的方法和原理,并简述这种方法对手机SIM卡、终端、终端应用的影响和未来还须完成的工作。

1.背景

SIM卡如果要在移动支付和众多移动网络应用中承担重任,最好能支持非接通信并拥有大容量。

大容量SIM卡要支持非接通信功能,必须具备以下条件:

(1)终端、卡的技术规范;

(2)终端、卡的测试规范;

(3)终端、卡的测试环境、模拟环境;

而现实情况是:

(1)没有大容量SIM卡及其终端的非接技术规范,现行的普通容量SWP卡只定义了ISO/IEC 7816、SWP两种接口;联通大容量SIM卡及终端技术规范完善了ISO/IEC 7816中USB接口的定义及使用,但在之上叠加SWP功能,却绝不是简单照抄照搬国际规范,必须解决物理接口的选择(“SWP和CCID”或“ISO/IEC 7816、SWP和CCID”)、逻辑通道的选择(ISO/IEC 7816、SWP、CCID、大容量)、ISO/IEC 7816、SWP、CCID、大容量中任何两个以上并发等技术难点;

(2)现有含两个接口的SWP普通SIM卡的测试规范,即ETSI TS 102 694,在涉及到有USB接口的地方以"FFS-For Fut-ure Study"带过,留待实现;

(3)现在测试SWP普通SIM卡,使用Com-prion公司的ICC Spectro,测试内容依照ETSI现有规范实现,围绕ISO/IEC 7816、SWP两个接口展开,而针对USB-IC、SWP的测试环境、模拟环境尚待开发。

所以,SWP大容量SIM卡的实现不是简单的硬件、软件、协议的叠加,我们需要换一种思路,探讨更为可行的更具优势的解决方案:不通过SWP协议实现NFC功能。

2.SWP、7816、CCID的简单比较

SWP是单线协议Single Wire Proto-col的缩写,是由Gemalto公司前身之一的Axalto提出的基于SIM卡C6引脚的单线连接方案,属于物理层协议。简单来说,就是用一根数据线沟通SIM卡与NFC模块,再通过NFC模块的CLF与外部通讯。当NFC手机通过CLF前端接收POS机数据后,便通过C6管脚传给SWP卡。CLF与POS机之间的射频场频率为13.56MHz,通讯速率有106、212、424、847kbps几档,目前使用106、212kbps居多。SWP规范要求每比特(bit)宽从590ns到10us,换算通讯速率小于2Mbps。

ISO/IEC 7816国际规范是接触式智能卡必须遵循的规范,普通手机SIM卡在物理、电气特性方面遵循该规范。目前大多数手机支持的ISO/IEC 7816接口传输速率在100kbps量级。

CCID(Integrated Circuit(s)Cards Interface Devicechip card inter-face device)规范定义了在USB通道上进行APDU(应用协议数据单元)封包格式及应用协议。符合CCID规范的USB设备既可以是读卡器,也可以是集成了CCID与智能卡功能的一体设备,遵循中国联通规范大容量SIM卡便是这样的一体设备。

微软公司在其Windows 2000及以上的操作系统上提供并支持CCID驱动,使设备生产厂商可以轻松的开发使用符合CCID接口标准的设备。同时,CCID接口标准支持PC/SC接口调用,使广大开发者可以方便的对信息安全设备进行开发操作,在其它开源操作系统如Linux的众多版本上,也有许多开源的CCID驱动可供开发者和使用者使用。多数采用Android操作系统的智能手机也支持CCID驱动并提供PC/SC编程接口。图1所示为CCID协议定义的范围示意图。

图1 CCID协议定义的范围示意图
图1 CCID协议定义的范围示意图 

联通即将上市的大容量SIM卡为USB全速设备,总线速率达12Mbps,支持CCID协议。未来更可能升级为传输速率达480Mbps的USB高速接口,甚至传输速率为5Gbps的全双工USB 3.0。

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:10
一地鸡毛 2015-06-01
顶了,谢谢分享!!
0   回复
举报
发布
ANWCLM 2015-05-29

顶了,谢谢!!
0   回复
举报
发布
悠然南山 2015-02-10
帮忙顶一个!楼主辛苦!!
0   回复
举报
发布
一地鸡毛 2015-02-06
不玩射频,帮顶一个
0   回复
举报
发布
原来你也在这里 2015-02-05
帮顶一个!!
0   回复
举报
发布
凤舞九天 2015-02-02

顶一个!!
0   回复
举报
发布
ANWCLM 2015-01-29

帮顶了!!谢谢分享哦!!
0   回复
举报
发布
蝙蝠魔 2015-01-28

帮顶了!!
0   回复
举报
发布
蝙蝠魔 2015-01-27
帮顶,谢谢分享,楼主辛苦!!
0   回复
举报
发布
easy 2015-01-23

5.使用CCID代替SWP

通常情况下,SWP软件设计基于SWP标准和HCP(主机控制协议)标准。HCP标准是SWP协议之上的标准协议,定义了数据链路层之上的协议层——HCP路由层、HCP消息层以及应用层。底层SWP协议和上层HCP协议组成的协议栈共同完成NFC芯片与UICC通信的完整协议。该架构协议层级较多,实现、测试开销较大。图4所示为Android系统手机平台的架构图,原理图如图5所示。

图4 Android系统手机平台的架构图
图4 Android系统手机平台的架构图

图5 使用SWP协议的HCI架构图
图5 使用SWP协议的HCI架构图

现在,我们设想在大容量SIM卡中采用CCID协议替换SWP+HCP协议的方式完成对非接数据的读写,原理图如图6所示。那么Android系统手机平台LINUX KERNEL部分将变为如图7所示。

图6 使用CCID协议的架构图
图6 使用CCID协议的架构图 

图7 新概念下Android系统手机平台
图7 新概念下Android系统手机平台

从图6可以看到:CLF前端以通常方式接收数据传给终端,终端应用程序不需要通过SWP协议将数据传递给SIM卡,而是将NDEF格式的数据通过CCID传递给SIM卡。下面分析一下使用CCID代替SWP对SIM卡、手机和终端应用产生的影响。

0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子