当前位置RFID世界网 > 技术文章 > 其它 > 正文

移动支付NFC-SWP方案在SIM卡中的实现方法

作者:不详 来源:RFID世界网 2013-05-23 08:55:33

摘要:近几年,手机已经不再是简单的通信工具,它已经成为便携的娱乐工具,将来有望发展为可信赖的支付工具,在消费、购物、交通等领域通过手机方便、快捷地完成支付。

关键词:SWP[1篇]  移动支付[31篇]  NFC[57篇]  SIM卡[14篇]  

  与OSI协议类似,数据链路层分为MAC(媒介访问控制)层和链路控制层。在MAC层采用位填充的成帧方法。链路控制层包括3种类型的帧协议:ACT协议、SHDLC协议以及CLT(非接触通道)协议。在SWP接口的设计中,使用了前两种协议。

  ACT协议是接口激活协议,用于激活SWP接口。在没有射频场时,SWP接口处于去激活状态。在标签模式下,感应到外界存在射频场后,NFC芯片被激活,UICC收到NFC芯片的高电平信号后,使用ACT帧建立物理链路的连接。

  SHDLC协议是ISO制定的高级数据链路控制规范的简单版本,也是面向位的同步链路。该协议主要用来传输交互的数据信息,其信息帧承载上层HCP(主机控制协议)的包数据。此外,SHDLC协议还具有流控管理、错误检查、出错后数据重传等功能。为了保证数据的正确发送与接收,兼容NFC芯片与UICC不同速率传输的通信能力,在使用SHDLC协议通信前,首先要建立数据链路,双方协商滑动窗口的大小。

  2.2 SWP连接方案

  本文中,CLF嵌入在手机内部,UICC使用的是SIM卡,手机通过SIM卡与NFC芯片通信。NFC芯片与SIM卡的连接方案有多种,本文提出的是基于C6引脚的SWP(单线协议)方案。SWP协议连接手机NFC芯片与SIM卡,规定两者之间的通信接口。图3是SWP连接方案的示意图。

  

  图3 SWP连接方案示意图

  本方案使用了SIM卡的3个引脚连接NFC芯片:C1(VCC)、C5(GND)、C6(SWP)。其中,SWP引脚在一根单线上基于电压和负载调制原理实现全双工通信。SIM卡支持ISO7816和SWP两个接口,在大容量卡项目中还支持高速下载接口,通过预留的C4和C8接口来实现。支持SWP的SIM卡必须同时支持两个协议栈——ISO7816和SWP协议栈,这需要SIM卡的COS(片上操作系统)是多任务系统。

  SIM卡需要单独管理这两个协议栈。SWP方案加入SIM卡系统后,不能影响ISO7816接口。举个例子,SIM卡有8个引脚,RST引脚用于复位SIM卡的ISO7816接口,SWP方案加入SIM卡后,RST引脚的Reset信号对SWP接口没有作用,SWP接口通过SWP引脚复位。
3 SWP连接方案在SIM卡中的设计

  3.1 系统结构

  大容量SIM卡是一种支持大容量存储、高速传输、具有新型应用的智能卡。我们研发的大容量SIM卡项目基于ARM Secure Core SC100内核,采用 AHB(高性能总线)+APB(高级外设总线)总线结构。AHB总线提供高速的数据传输,它连接SIM卡内部存储器和高速外部接口(USB接口)。APB总线通过桥接器与AHB总线相连,SIM卡的低速接口(SWP接口、ISO7816接口)挂靠在外设总线上。

  3.2 硬件设计

  SWP硬件设计基于SWP标准,即ETSI(欧洲电信标准协会)制订的的TS 102 613。SWP控制器和SWP接口共同组成了SWP方案的硬件设备。SWP控制器负责处理物理层和数据链路层逻辑。图4为硬件实现数据链路层逻辑时SIM卡内部SWP控制器的结构图。

  

  图4 SWP控制器结构图

  3.2.1 接收数据设计

  在SIM卡和NFC芯片通信期间,SWP控制器在激活、挂起、去激活三种状态间切换。交换数据时,处于激活状态。Rx 解码器不停地检测Si信号,并将来自NFC芯片的单位数据解析为字节输出。Frame resolve分析接收到的每一字节的数据,若为7E(帧头),则继续接收数据,直到接收到7F(帧尾),表明SWPC接收到一帧完整的数据。Frame resolve进一步解析接收到的数据帧,首先根据MAC协议剥离帧头和帧尾,然后根据接收方的生成多项式对数据帧进行校验。如果数据正确,则识别出SHDLC数据帧的类型并作相应处理;如果数据错误,则发送拒收帧,要求对方重新发送。对于正确的信息帧,SWP控制器提取信息帧的信息数据(包)写入RX FIFO,并根据接收到的数据帧的字节个数设置控制器的状态寄存器。SWP控制器每接收一帧数据就发起一个硬件中断。

  3.2.2 发送数据设计

  SWP控制器发送数据和接收数据是相反的过程。如果上层应用有数据要发送时,会把数据写入TX FIFO。TX FIFO一旦检测到FIFO有数据,就启动发送模块把数据从TX FIFO中取出,经Frame assemble按照SWP协议的SHDLC协议组装信息帧,添加帧头、帧尾、校验码。把生成的MAC帧数据交给Tx编码器,完成输出数据的物理层组装,将数据转换成单个位电平输出。

  3.3 软件驱动设计

  SWP软件设计基于SWP标准和HCP(主机控制协议)标准。HCP标准是SWP协议之上的标准协议,定义了数据链路层之上的协议层——HCP路由层、HCP消息层以及应用层。底层SWP协议和上层HCP协议组成的协议栈共同完成NFC芯片与UICC通信的完整协议。

  在大容量SIM卡中采用SWP方案,要实现ISO7816协议栈和SWP协议栈。SIM卡的操作系统使用μC/OS。μC/OS是一种结构小巧、抢占式的实时操作系统。其内核提供任务调度和管理、时间管理、任务同步和通信、内存管理和中断服务等功能。在软件系统中,SWP软件模块是μC/OS的任务之一。

  SWP任务依靠硬件中断驱动,SWP任务没有被激活前,一直处于等待中断的状态。通过SWP接口通信时,一旦检测到存在射频场,NFC芯片便被激活。NFC芯片发送Si信号给SIM卡,SIM卡检测到Si电压信号后,触发si_act中断通知软件做好准备通信。此时,软件设置通信参数,然后等待硬件建立物理链路成功的中断。如果接收到init_sync中断,软件开始设置SHDLC协议的滑动窗口大小M,等待建立SHDLC链路的中断。这个中断带有NFC芯片SHDLC层的滑动窗口的参数N。若M≥N,则SWP任务修改自己的滑动窗口大小为N,然后发送确认帧,这样便建立了SHDLC链路;若M<N,SWP任务发送带有自己窗口参数的RESET帧给NFC芯片,继续协商滑动窗口大小。

  SHDLC链路建立成功后,SWP任务等待信息帧中断。接收到信息帧中断,根据硬件写入的状态寄存器的接收字节数从RX FIFO中读取数据,然后由软件解析收到的数据包;通过HCP的路由层把数据包递交给应用层,应用层根据消息的类型进行相应的处理。

  结语

  本文提出一种SWP连接方案,并在大容量SIM卡中加以实现。SWP接口的硬件和软件设计方法,对于近距离通信技术应用于其他移动支付具有一定借鉴意义;同时,在SIM卡中实现SWP接口,也促进了SIM卡技术的发展。

12

 已有0条评论 我要评论 联系编辑 分享到:网易新浪腾讯人人开心网豆瓣MSN


最新评论(加载最新评论):


上一篇:微功耗WiFi无线传感器网络设计与实现


相关文章:


关键字搜索:


新闻中心:SWP[15篇]  移动支付[1184篇]  NFC[1485篇]  SIM卡[348篇]  

成功应用:SWP[0篇]  移动支付[7篇]  NFC[22篇]  SIM卡[4篇]  

解决方案:SWP[0篇]  移动支付[8篇]  NFC[4篇]  SIM卡[4篇]  


图片文章:

热点专题