标致307倒车雷达说明书:【NFC-SWP】重拾 NFC-SWP

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 19:56:49

很早就知道 NFC 的三种模式,非常吸引人。这次有机会深入 SWP 的方式。谈谈最近的认识。

1. NFC 是近场通讯,利用 13.56M 频段。在国内有国民的 2.4G 作为竞争方案。感觉各有千秋,这里有个 对比文档,倾向于前者。另外还有握奇的 SIMPass。

2. NFC 分为非接前端(CLF)和安全(SE)模块两部分。安全模块可以是 sd, 可以是 sim, 也可以是其它形式。而 sim 利用 c6 触点与 CLF 通过 SWP 通讯。SD 上也能走 swp。也就是 sim 模块可以通过某种方式嵌入到 microSD 上。当前这是银联在推的有个方案。而据最新消息,移动支付标准将不涵盖这个方式国外也有公司在推 swp-sd 的支付方案。

 

3. swp/hci 协议栈的核心地位总是存在的。从网络的 7 层来看,swp/hci 协议栈只有其中的 4 层。物理层 (bit-stream)、链路层 (MAC/LLC)、网络层 (HCI)、应用层。一些芯片厂家提供了 swp 的支持,但是一般不提供 HCI 栈。

4. 相关规范。有一堆,主要的包括

- ETSI TS 102 221: Smart Cards; UICC-Terminal interface; Physical and logical characteristics ( 同 ISO7816-3/4)
- ETSI TS 102 241: Smart  Cards;  UICC  Application  Programming Interface (UICC API) for Java Card?
- ETSI TS 102 588: Smart  Cards;  Application  invocation  Application Programming Interface (API) by a UICC webserver for Java Card? platform
- ETSI TS 102 613: Smart Cards; UICC – Contactless Front-end (CLF) Interface; Part 1: Physical and data link layer characteristics
- ETSI TS 102 622: Smart Cards; UICC – Contactless Front-end (CLF) Interface; Host Controller Interface (HCI)
- ETSI TS 102 694-2: Smart Cards; Test  specification for the Single Wire Protocol (SWP) interface; Part 2: UICC features
- ETSI TS 102 695-1: Smart  Cards;  Test   specification  for  the  Host Controller  Interface  (HCI) Part 1: Terminal features
- ETSI TS 102 695-2: Smart  Cards;  Test   specification  for  the  Host Controller  Interface  (HCI) Part 2: UICC features
- ETSI TS 102 695-3: Smart  Cards;  Test   specification  for  the  Host Controller  Interface  (HCI) Part 3: Host Controller features
- ETSI TS 102 705: Smart Cards; Contactless API for Java Card(TM) for the UICC platform

通常认为 613 描述了 SWP, 622 描述了 HCI。个人认为比较有价值的是 705,有 javacard 的 api 实现源码,太强了。;)

 

5. SWP 上的数据与 C7 不同。它为 HCI 界面提供传输的功能,也就是 SWP 连接了 SE.HCI 和 CLF.HCI。HCI 上跑着 HCP 协议。我觉得有个比喻,不知道恰当不(不是完全等价):SWP 像网线,C6 就像一个网口。HCI 就是一个网络节点,它支持 HCP 协议(类似于 http/ftp/telnet 等)。CLF 上的 HCI 可以做路由。我理解,SWP/HCI 上的数据可以传文件、应用数据 (如 P2P 模式),也可以是某种 APDU(比如工作于 卡模拟方式)。

6. NFC 的三种模式: PICC, PCD, P2P.

 

7. SWP/HCI 构建起来了网络环境,还需要配套的软件。android 上的 nfc api 应该属于 CLF 端操作的(比如开关射频,切换工作模式,数据收发)。而 javacard applet 也许就提供了卡模拟所需的支持;而作为 SE 还能发挥什么作用呢? 这部分还有待深入。

 

下面有两个 NFC开源库:

* LibNFC - 跨平台 NFC 库,主要针对 NXP 的 PN53x 芯片;

* Open NFC - 较为完整的 NFC 实现。为 iside security 的开源实现。而在去年,NXP+Trust Logic 的 OPEN NFC API 被完整地集成到了 Android 2.3 中。

* nfcard  国人做的一个小应用。