首页 > 范文大全 > 正文

近场通信技术

开篇:润墨网以专业的文秘视角,为您筛选了一篇近场通信技术范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

近场通信技术近年来逐渐受到人们的关注,相关的技术标准和协议规范也日臻完善。讲座将分3期对该技术进行介绍:第1期讲述近场通信的背景及概况,概述性介绍近场通信技术的技术架构;第2期对近场通信的具体技术规范做详细介绍,包括数字协议规范、相关动作规范、逻辑链路控制协议、标签类型及数据交换格式;第3期介绍近场通信的安全技术、设备的连接切换规范和业务应用。

近场通信技术的技术架构包含多方面的协议规范,完整掌握其技术架构对于全面认识NFC技术至关重要。本期将依照其技术架构介绍近场通信技术的各协议规范内容,包括数字协议规范、相关动作规范、链路控制协议、近场通信的标签和数据交换格式。上一期介绍了近场通信的概况,描述了NFC的整体技术架构;下一期将介绍近场通信的安全技术、设备连接切换规范,和NFC的业务与应用情况。

3 近场通信技术规范解析

3.1 数字协议规范

数字协议规范主要定义了用于完成通信的构件,是实现ISO/IEC 18092和ISO/IEC 14443标准中数字技术的规范。主要包括调制机制、比特级编码、比特速率、帧格式、相关协议和命令集。在该规范中也定义了一些可选项,实现时可自主选择,如果选择实现这些可选项则必须符合规范中指定的需求[3]。

数字信号的比特周期为1 bd = 128/(D×fe )。fe 为载波频率13.56 MHz,D依赖于所选择的比特速率,取值范围为1/2/4/8/16/32/64。

在规范中定义了专有名词——技术,分为NFC-A技术、NFC-B技术和NFC-F技术。

NFC-A技术下的序列格式要求为:轮询模式向监听模式传输的模拟信号需要对改进的密勒码进行100%幅移键控(ASK)调制,改进的密勒码定义了3个特定的图案X/Y/Z,这3种图案按照需求编码为逻辑0和逻辑1;监听模式向轮询模式传输的模拟信号需要对曼彻斯特码进行二进制启闭键控(OOK)子载波调制,密勒码也定义了3种特定图案D/E/F,图案D和E按照需求编码为逻辑0和逻辑1;NFC-A技术不需要信号同步,因此没有开始符(SoS)标识,并由终止符(EoS)标识指示序列结束[4-5]。

在NFC设备间传输的数据被划分为帧。每种技术对应的帧格式各不相同。NFC-A技术通过在数据比特前后加上开始帧(SoF)和结束帧(EoF)来形成帧,同时每隔8 bit末尾加一位奇偶校验位P。NFC-A技术使用3种帧结构:短帧、标准帧和比特导向的信号设备识别(SDD)帧。短帧用于初始化通信,作用于唤醒阶段;标准帧用于数据交换;比特导向SDD帧用于冲突解决。

NFC设备间交换的净负荷由命令及相应的响应组成。采用NFC-A技术的设备常用的命令及含义包括:ALL_REQ用于唤醒全部请求,SENS_REQ用于检测请求,SDD_REQ用于单设备检测请求,SEL_REQ用于选择请求,SLP_REQ用于睡眠请求。

NFC-B技术下的序列格式要求为:轮询模式向监听模式传输的模拟信号需要对非归零电平编码(NRZ-L)进行10%ASK调制;监听模式向轮询模式传输的模拟信号需要对NRZ-L码进行二相相移键控(BPSK)调制;NFC-B技术支持信号同步,因此信号以SoS标识开始,由EoS标识指示序列结束。

采用NFC-B技术的设备用于传输数据的帧由字符构成。一个字符由逻辑0开始,逻辑1作为结束,中间包含8位数据比特。

NFC-B设备间交换的净负荷由命令及相应的响应组成。采用NFC-B技术的设备常用的命令及其含义为:ALLB_REQ和SENSB_REQ用于轮询模式下的设备侦测操作域,SLOT_MARKER用于轮训模式下的设备在冲突解决期间定义响应时隙的开始,SLPB_REQ用于睡眠请求。

NFC-F技术下的序列格式要求为:在两个传输方向上传输的模拟信号均采用对曼彻斯特码进行ASK调制的方式传输。NFC-F技术的帧的字符有8位数据bit组成,不包含起始位、结束位和奇偶校验位。字符之间没有分隔符,被当做连续的字符串来传输。

采用NFC-F技术的设备使用SENSF_REQ命令探测操作域。SENSF_RES为相应的响应。

3.2 相关动作规范

本节描述了NFC设备如何利用数字协议规范与其他设备建立通信,介绍了这个过程中的一系列动作。我们分监听模式和轮训模式两种情况进行介绍。

在监听模式下,运行监听模式状态机之前需要设置相应的配置参数。我们将给出一些常用的相关参数信息。

·CON_LISTEN_DEP_A参数,大小为1 bit二进制位,用于控制是否监听支持NFC的数据交换协议(NFC-DEP)的NFC-A技术,1表示监听相应的NFC-A技术,0表示不监听相应技术。

·CON_LISTEN_DEP_F参数,大小为1 bit二进制位,用于控制是否监听支持NFC-DEP的NFC-F技术,1表示监听相应的NFC-F技术,0表示不监听相应技术。

·CON_LISTEN_T3TP参数,大小为1 bit二进制位,用于控制是否监听支持第三类标签平台的NFC-F技术,1表示使能监听,0表示禁止监听。

·CON_LISTEN_T4ATP参数,大小为1 bit二进制位,该位为1表示监听支持第四类标签平台的NFC-A技术,该位为0表示禁止相应功能。

其他常见的参数还包括CON_LISTEN_T4BTP 、CON_BITR_F、CON_ADV_FEAT、CON_SYS_CODE、CON_SENSF_RES、CON_ATR_RES、CON_SENSB_RES、CON_ATTRIB_RES和CON_ATS,除CON_BITR_F之外的参数均为字节矩阵变量,CON_BITR_F为以字节的整型参数,当设备选择212 kbit/s速率时,该字节的第2位必须设置为1,当设备选择424 kbit/s速率时,字节的第3位必须设置为1。需要说明的是,在NFC-B和NFC-F技术下,当需要发送多个响应时,处于监听模式的NFC设备在单个时隙中应该只发送一个响应,通过多个时隙来完成多响应的发送工作。如果处于监听模式下的NFC设备对单个轮询命令做出多个响应,那么该设备必须为每个响应预知配置参数,或者当所有响应均不能发送时,设备需要预知对应的标准以决定发送哪个响应子集。在监听模式下,NFC设备支持CON_LISTEN_DEP_F和CON_LISTEN_T3TP参数,则依据需求该设备实现两个独立的状态机[6]。

在轮询模式下,设备必须进行射频域冲突规避功能。首先,设备需要在TID + n ×T RFW时间内感知是否存在远场磁场。如果在上述时间内未检测到远场磁场,则设备进入下一步,若检测到磁场则NFC设备判定射频域冲突,需要进行冲突规避。其中,TID必须大于4 096/fc,T RFW等于512/f c,整数n在0~3间随机产生。冲突规避流程如图5 所示。

常用的动作包括:技术侦测、冲突辨析、设备激活、数据交换和设备去激活。技术侦测用于当前设备侦测其范围内的设备及所采用的技术。在侦测设备所使用的技术时,固定按照NFC-A、NFC-B、NFC-F的顺序轮询。冲突辨析动作用于设备识别当前范围内与其支持相同技术(及NFC-A/NFC-B/NFC-F)的设备。设备激活用于从技术侦测阶段和冲突辨析阶段识别的设备集中激活某个设备。这个过程也与设备所使用的具体技术相关。数据交换动作,使得当前设备基于NFC协议规范可以与范围内的设备进行数据交换并完成通信。这个过程需要考虑到设备所采用的标签类型平台。设备去激活的作用是:通过基于NFC规范的通信过程,对当前设备范围内的某个NFC设备进行去激活操作。

3.3 逻辑链路控制协议

这一章中我们将介绍NFC协议中逻辑链路控制层(LLC)的部分功能、特征及相关协议。LLC层构成了开放式系统互联(OSI)模型中数据链路层的上半层,下半层由媒体介入控制层(MAC)构成。MAC层和LLC层通过一系列映射实现两者之间协议的绑定。

逻辑链路控制协议的主要特点包括以下几点:

·链路激活、管理与去激活。逻辑链路控制协议(LLCP)说明了处于通信范围内的两个NFC设备如何识别协议的兼容性,如何建立LLCP链路,协议也包括如何管理与远端对等设备的连接,在需要的情况下可以对链路实行去激活操作。

·异步均衡通信。传统上,在MAC层只有发起者能开始发送数据和请求数据,而LLCP协议通过使用对称机制可以实现对等设备间的异步平衡模式(ABM)。通过ABM,服务端点可以在认识时刻进行初始化、管理、回复、发送信息等操作。

·协议复用。LLCP可以同时容纳多个高层协议。

·无连接传输。该模式允许用户进行无连接的数据传输服务。当上层协议使用自身的流控制协议而不需要依靠链路的流控制机制时可以使用这种传输模式。

·面向连接传输。这种模式可以使得用户间进行可靠的数据传输。业务流量通过滑窗协议的编号机制得以控制。面向连接的传输模式需要在进行数据传输前先行建立链路连接并且在连接持续期间始终保持资源分配。

逻辑链路控制协议可以划分为以下几个逻辑组件:

·MAC层映射。该层映射将现有的射频(RF)协议集成到LLCP架构中。

·链路管理组件。该组件负责所有面向连接和无连接的逻辑链路协议数据单元(PDU)交换的有序进行,以及完成小PDU的聚合与解聚操作。该组件也确保异步平衡模式通信的完成,并且可以实现对链路状态的监测。

·面向连接传输组件。该组件完成面向连接的数据交换,也包括连接的建立和结束。

·无连接传输组件。该组件完成无连接的数据交换。

各组件的结构如图6所示。

根据LLC层的数据传输形式,NFC设备可以分为3类:仅提供无连接传输服务的设备为第1类链路服务;仅提供面向连接传输服务的设备为第2类链路服务;同时提供无连接和面向连接传输服务的设备为第3类链路服务。

逻辑链路控制层的PDU格式中包括目的地址域、PDU类别域、源地址域、序号域和信息域5部分。

地址域(目的地址和源地址)长度为6 bit位,用于表征数据传输的终点和起点。其中,0号地址用于指定LLC链路管理组件,不应用于指定任何特定的服务接入点;1号地址用于为服务发现协议(SDP)指定知名的服务接入点;2—15号地址为NFC论坛号码分配寄存器中指定的知名服务接入点留用;16—31号地址由局部LLC分配给在局部服务环境下注册的服务;32—63号地址由本地LLC按照上层服务请求进行分配,不应用于SDP协议的发现功能。

PDU类别域长度为4 bit位,用于为PDU其他域指明语法和语义,每一个值对应一种PDU类别。其中值1111b预留用于未来LLCP头格式的扩展。

序号域在包含序号的PDU中长8 bit位,不包含序号的PDU中没有该域。该8 bit经常分为两个4 bit子域,分别指明发送序列号和接受序列号。

信息域大小为M × 8 bit,M变化范围为0至最大信息单元(MIU)。信息域可以为空,即不传输任何有用的信息。

LLC层过程主要包括链路激活过程、常规操作过程、链路去激活过程、无连接传输过程、面向连接传输过程、聚合过程、对称过程和服务发现过程[7]。

3.4 标签类型

近场通信技术的关键要素之一,在于NFC装置与无源NFC标签沟通的能力。NFC技术的这一特征,是未来许多应用得以实现的关键。NFC标签正在被大量生产并应用在全球若干个领域。为了支持未来标签的大规模应用,标签的定义必须清晰,以确保不同制造商的标签与设备达到兼容。

NFC标签是无源装置,可以实现与有源NFC设备(有源NFC读写器)通信,NFC标签可以在以下领域中获得应用,如智能海报以及其他储存小量数据并传输到主动式NFC装置的场合。在智能海报应用中,起作用的部分可用来作为与主动设备的接触点。NFC标签所储存的数据可以是任何形式的数据,但通常情况下是用来贮存网址(URL)以供NFC装置找到进一步的信息。因为所需存储交换的数据量很少,故可使用NFC标签来实现。

为了规范化有源NFC读写器与无源标签之间的通信,NFC论坛在2006年6月推出了其第一个标准技术架构和NFC设备需满足的技术标准,包括:NFC数据交换格式(NDEF)、3种记录类型定义(RTD)。这些技术可以用于智能海报、文本、互联网资源读取应用。

NFC论坛定义了4种基本的标签类型,用1—4来标识,每种标签类型对应不同的格式和容量。这些标签类型格式的基础是:ISO 14443的A类型与B类型、Sony FeliCa,前者是非接触式智能卡的国际标准,而后者符合ISO 18092无源通信模式标准。

在标签类型的设计中需要最大限度保持NFC标签简单性,其优势在于:这些标签在很多应用中仅作一次性使用,通常嵌入在海报中,而这些海报的生存周期及其所包含的信息的有效性很短。

各种类型的标签的定义如下。

(1) 第1类标签:此类标签基于ISO14443A标准。此类标签具有可读功能和重新写入功能,用户也可根据需要将其配置为只读模式。该类标签存储能力为96字节,足以用来存网址URL或其他少量数据。然而,如果用户需要,内存大小也可被扩充到2 k字节。此类NFC标签的通信速度为106 kbit/s。因为此类标签的简洁性,故其成本低廉,适用于许多NFC应用场合。

(2) 第2类标签:除基本内存大小改为48字节,与第1类标签无异。

(3) 第3类标签:NFC第3类标签基于Sony FeliCa体系。目前另3类标签具有2 k字节的内存容量,数据通信速度为212 kbit/s。尽管标签成本较高,但是此类标签更适合较复杂的应用场景。

(4) 第4类标签:依据定义,此类标签与ISO14443A、B标准兼容。在生产过程中此类标签已经被预配置为可读/可重写模式或者只读模式。该标签的内存容量可以达到32 k字节,并且其通信速度介于106 kbit/s和424 kbit/s之间。

从上述不同标签类型的定义可以看出,标签类型1和2与标签类型3和4在内存容量、构成方面大不相同。因此它们的应用场合不大可能有很多重叠。此外,第1与第2类标签是双态的,可根据需要配置为读/写模式或者只读模式。而第3与第4类仅具有只读功能,数据在生产时已经写入或者可通过特殊的标签写入器来写入。

NFC标签是无源装置,不需要独立供电。标签从读写器获得很小的电源即可驱动标签的电路,通过负载调制等技术将少量的信息传输到读写器,完成交互。这些数据可能是少量的文本或其他数据,虽然数据量很小,却可能通过仅有的数据把设备导向到某个URL以获得更多的信息。

NFC标签设计与制造需要考虑很多方面。需要在保持性能的前提下,实现低成本大规模的批量制造。因此在设计标签时,需要考虑下面几个关键的性能参数与要素。

(1)读取速度:因为需要在两个NFC装置接近时传输标签所含的所有数据,故速度因素很重要。如果标签传输速度较慢,数据就不能及时传输,导致可靠性降低。第一类NFC标签允许将所有数据整块传输,这大大保持了标签的读取性能。

(2)芯片尺寸:在NFC标签的设计中芯片尺寸非常重要。尺寸较小,则成本较低、标签也不会显得很突兀(这对标签在智能海报中的应用尤为重要)。很明显,较小的内存自然会降低晶片尺寸。

(3)单位价格:鉴于NFC标签的目标应用是成本低廉的场景(例如用于智能海报),单位价格是标签设计极其重要的一个因素。标签成本受一系列因素影响,诸如内存大小和因包含附加特征带来的集成电路的复杂性。把内存和包含的特征尽可能简化,就可以有效降低成本。

3.5 数据交换格式

NFC数据交换格式(NDEF)定义了NFC设备之间以及设备与标签之间传输数据的一种消息封装格式。NDEF是轻量级的紧凑的二进制格式,其协议规范认为设备之间传输的信息可以封装成一个NDEF消息,而一个消息可以由多个NDEF记录构成,每条记录包含一个有效载荷,记录中通过3个参数来描述该负荷,分别是类别标识、长度标识、其他可选标识构成。类别标识可以是通用资源标识符(URI)、多用途互联网邮件扩展(MIME)媒质或者NFC自定义的数据类型。使用NFC定义的数据类型,载荷内容必须被定义在一个NFC记录类型定义(RTD)文档中。负荷长度是一个八进制整数用来表征负荷中八位字节的数量,且对非常小的有效负荷需要采用紧凑的短型布局。而可选标识可以实现净负荷间的复用和交叉引用。

NDEF消息由一个或多个NDEF记录构成。消息中的第一个记录由开始信息(MB)标记表示,最后一个记录由结束信息(ME)标记表示。最小的消息只包含一个记录,此时MB标记和ME标记被设置为相同的值。如果对净负荷进行分块操作,则为了对净负荷块进行编码,至少需要两个记录块。需要说明的是,规范对于NDEF消息中支持的最大NDEF记录数未作规定。多个NDEF消息间不能重叠,即MB标记和ME标记不能用于对NDEF消息嵌套,MB标记放置在第一个记录中,ME标记放置在最后一个记录中。实际中,NDEF记录中并不包含序号,响应的顺序是由记录的序列化顺序隐性表示。

一个记录块承载一块净负荷,通常需要对净负荷分块,这样可以将动态生成的内容或者非常大的实体分割成同一NDEF消息中序列化表示的多个记录块。分块并不是将复用机制和数据流机制引入到NDEF中,它是一种减少数据生成端带外缓冲需求的机制。一个NDEF消息包含0个或多个分块的净负荷,每一个分块后的净负荷按顺序编码成初始记录块、中间记录块和截止记录块。并且,分块后的净负荷一定要封装在同一个NDEF消息中,即一个净负荷不能同时存在于多个NDEF消息中。

NDEF记录的传输次序由8位字节的位置决定。如果将一组8位字节放在网格中,则这些8位字节的传输顺序为:首先自左向右,随后自顶端至底端。如果一个8位字节表示一个数字量,则该字节最左端的bit位作为最高有效位(MSB),如果用多个8位字节组成的域来表示数字量,则该域的最左端bit为最高有效位。NFC规范中规定使用大端法传输这些数字量,先传送最高有效位。

NDEF记录长度可变,且每个记录包含多个头部域和有效负荷,图7展示了NDEF记录布局。各头部域标记的功能如下。

·MB:长度为1 bit位,置为1表示NDEF消息开始。

·ME:长度为1 bit位,置为1表示NDEF消息结束。如果对净负荷分块,则仅在该净负荷的最后一个记录中将ME置为1。在中间记录位置上的MB和ME均为0。

·下一数据块标识(CF):长度为1 bit位,置为1则表示存在着下一个记录。

·短记录(SR):长度为1 bit位,置为1表示有效荷载长度域只有一个8位字节。该标记用于少量净负荷情况下的紧凑封装。

·身份识别长度(IL):长度为1 bit位,置为1表示头部身份识别长度(ID_LENGTH)有效且为1个字节长,置为0表示记录的头部中不包含ID_LENGTH域和ID域。

·类型名称格式(TNF):长度为3 bit位,表示8种类型格式。0x00表示记录中ID和负载域为空;0x01表示NFC论坛已定义的记录类型;0x02表示RFC2046中定义的媒体类型;0x03表示RFC3986中定义的URI类型;0x04表示NFC论坛外部类型;0x05表示未知类型;0x06为不可随意改变的类型;0x07作为保留值,有待研究。

·TYPE_LENGTH:长度为8 bit位的无符号整数,以字节为单位指定TYPE域的长度。对于TNF域中的值,TYPE_LENGTH总是置为0。

·ID_LENGTH:长度为8 bit位的无符号整数,以字节为单位ID域的长度。只有记录头部中的IL标记为1时该域才有效。允许ID_LENGTH为0,此时表示NDEF记录中不包含ID域。

·PAYLOAD_LENGTH:使用无符号整数表示PAYLOAD域字节长度。该域大小由SR标记决定。SR = 1,PAYLOAD_LENGTH是一个单个字节,表示无符号8位整数;SR = 0,该域大小为4字节,表示一个32位无符号整数。

·TYPE:该域的值用来指示净负荷的类型。其值要遵循TNF域所指定的结构、编码方式和格式。

·PAYLOAD:该域承载NDEF用户应用的数据,其外部结构对于NDEF是非透明的。

最后,需要强调的是,在NDEF标识符的设计中需要考虑国际惯例,以增加标准的实用性和统一性。比如,在URI与MIME媒体类型标识符的实现中,就需要参考RFC2718、RFC2046/RFC2047都能够标准。 (待续)

参考文献

[3] NFC Forum. Connection handover technical specification 1.2[S]. 2010.

[4] NFC Forum. NFC activity specification technical specification 1.0[S]. 2010.

[5] NFC Forum. Logical link control protocol technical specification 1.1[S]. 2011.

[6] NFC Forum. Type 1 tag operation specification technical specification 1.1[S].2011.

[7] NFC Forum. Type 2 tag operation specification technical specification 1.1[S]. 2011.