联系人:刘先生
联系电话:075536630818
移动电话:18922806389
felix.liu@fa-union.com
http://www.fa-union.com

新闻中心

移动支付芯片的软件架构详解

日期:2020-09-20 19:23
浏览次数:592
摘要: 按软件功能逻辑划分,包含支付芯片的手机终端内软件可分为五层,从底层向上依次是硬件层、内核驱动层、协议栈层、API层、应用层。 在上节中,以典型PN系列芯片为例,讲解了NFC芯片与周边器件的硬件关系。下图所示是包含NFC芯片的终端内软件架构,图中描述侧重在与支付芯片相关的软件逻辑,而与支付芯片无关的诸多终端内软件和应用不在此部分详述。 图:支付芯片及所在终端的内部软件逻辑架构 ...


按软件功能逻辑划分,包含支付芯片的手机终端内软件可分为五层,从底层向上依次是硬件层、内核驱动层、协议栈层、API层、应用层。

在上节中,以典型PN系列芯片为例,讲解了NFC芯片与周边器件的硬件关系。下图所示是包含NFC芯片的终端内软件架构,图中描述侧重在与支付芯片相关的软件逻辑,而与支付芯片无关的诸多终端内软件和应用不在此部分详述。
 
 
图:支付芯片及所在终端的内部软件逻辑架构
 
按软件功能逻辑划分,包含支付芯片的手机终端内软件可分为五层,从底层向上依次是硬件层、内核驱动层、协议栈层、API层、应用层。
 
一、硬件层:
此层对应上节中的实际硬件器件,包括NFC Controller(即NFC芯片,也称NFC控制器芯片)、eSE(即嵌入到NFC芯片的安全芯片)、UICC(即SIM卡形态的安全芯片)。其中NFC Controller与eSE通过芯片间专有协议连接,NFC Controller与UICC通过国际标准SWP协议连接。eSE和UICC可以同时存在,也可只存在其中一个芯片。
此层由芯片硬件提供商提供。
 
二、内核驱动:
此层的作用就是讲底层硬件驱动起来,与上层软件进行交互和调动。此层一般是终端操作系统的一部分,比如Android系统内的诸多硬件驱动中一部分。同时也与硬件厂家和型号紧密相关。
此层需与NFCController、UICC两类芯片特性紧密相关,一般由终端操作系统开发人提供,对于开源的操作系统(如Android)也可由相关芯片提供商协助开发。此层一般是由C语言开发。
 
三、协议栈层:
此层是控制NFC芯片、SE芯片正常工作的关键,实现了以下方面工作:**,上层应用及API调用此层NFC芯片能力、SE芯片能力的控制逻辑;**,将传输信号按照标准协议逐层打包拆包的过程控制;第三,对上层应用访问底层芯片能力的安全访问控制。
   此层与NFC芯片的非接触NFC控制协议相关,或与SE芯片智能卡安全访问控制和指令相关,一般NFC协议栈由NFC芯片供应商合作提供,SE访问协议栈由COS(智能卡操作系统)供应商合作提供。此层一般是由C语言开发。
 
四、API层:
此层为上层应用提供可调用的各类API接口,是终端操作系统的一般类实现层。具体的API定义由操作系统开发联盟制定并开发,同时一些标准组织也定义API以便实现行业通用,比如GlobalPlatform标准组织定义SE访问API,3GPP标准组织定义SIM和USIM的API,NFC Forum标准组织定义终端应用的NFC API。
对于开源性较强的操作系统如Android,开发人更希望按照行业标准的API来实现;对于封闭性更强的操作系统如iOS或windows,苹果公司和微软公司更愿意根据自己操作系统特点自己定义相关API,而不是按照行业标准。
此层一般由操作系统供应商开发提供,一般是由部分Java语言(API部分)和部分C语言(API逻辑实现部分)开发合成。
 
五、应用层:
应用层是各类实际的支付应用或NFC应用,面向个人开发人、行业应用开发商,可基于底层提供的API开发各类符合自身需求的应用。此层是应用层面的开发语言,一般是Java、Htmls、Perl脚本等。
现实中移动支付的各类应用,比如手机***、公交卡、门禁卡等都是在应用层。应用实现的好坏、应用的广泛,底下几层的API的多样、协议栈的稳定、硬件和驱动的性能是基础。此外,还有外部应用环境、应用体验、开发难易等有紧密关系,也是变化*快的一层。

粤公网安备 44030602001450号