通信设备内部的多个NFC设备的仿真 |
|||||||
申请号 | CN201380034836.7 | 申请日 | 2013-06-24 | 公开(公告)号 | CN104412692A | 公开(公告)日 | 2015-03-11 |
申请人 | 意法爱立信有限公司; | 发明人 | 康斯坦丁·索科尔; 弗雷德里克·戈芬; 纪尧姆·若耐特; 阿密特·杰哈瓦尔; | ||||
摘要 | 通信设备(T1)包括:天线(A1)和物理 电路 (PHY),用于从第二通信设备(T2)接收轮询命令(PC);多个仿真NFC设备的实体(D1、D2、D3……Dn);用于为所述多个实体的每一实体决定是否应当发送响应的装置,若应当发送响应,则向所述第二通信设备(T2)发送响应(LF1、LF2、LF3……LFn),所述响应包含与各NFC设备相关的信息。 | ||||||
权利要求 | 1.一种用于处于收听模式的第一通信设备(T1)应答第二通信设备(T2)发送的轮询命令(PC)的方法,所述第一通信设备仿真多个近场通信NFC设备,所述方法包括以下步骤: |
||||||
说明书全文 | 通信设备内部的多个NFC设备的仿真技术领域背景技术[0002] 近场通信(near-field communication,NFC)是短距离无线通信技术,用于相距几厘米至几十厘米(通常多达10厘米)的设备之间的数据交换。NFC的一种示例性应用是无线射频识别(radio-frequency identification,RFID),其中,读取设备可以从配置有天线的标签检测并重获数据。 [0003] 通常,第一设备进入轮询模式,其中其产生电磁场以轮询附近的其它可用的NFC设备。这些接近的NFC设备应当应答,以使第一设备知道它们。在一些情况下,接近的设备仅通过调制载波电磁场进行应答,调制数据形成可以被第一设备解调的信号。 [0004] 基于这一原则,国际标准化组织(International Standards Organization,ISO)和NFC论坛已经定义了更细化的、允许多个厂商的设备交互操作的协议和机制。更为精确地,标准定义多种技术以覆盖不同的厂商和遗留技术,即,NFC-A、NFC-B和NFC-F技术。每一技术与一组定义完整通信协议的传输参数相关联,像,例如:位速率、调制方案、位级编码、帧格式等。然而,所有技术共享几个可以允许基本互操作的核心参数,例如,用于载波电磁场的相同的射频(13.56MHz),相同的协议以及相同的命令集。 [0005] 图1示出了根据NFC-F技术所述的两个设备之间基本协议交换。 [0006] 第一设备D1处于所谓的“轮询模式”,其可以被认为是初始模式,用于设备通过产生载波场而尝试发现其邻域。其发送轮询帧(polling frame,PF),该轮询帧可以被附近的NFC兼容的设备接收。 [0007] 设备D2处于收听模式。该收听模式可以被认为是NFC设备的另一初始模式,其中,其不产生任何的载波场,但是连续收听另一设备产生的电磁载波场。当其检测到设备D1产生的场并接收轮询帧PF时,其使用收听帧(Listen Frame,LF)应答,使得该帧可以被设备D1感知。 [0008] 该收听帧允许设备D2使第一设备D1知道其存在以及哪一通信模式可行。 [0009] 近场通信有两种模式: [0010] -被动通信模式,其中,设备D2(即,还没有产生载波场的设备)将仅使用D1的载波场发送消息。 [0011] -主动通信模式,其中,设备D2可以产生其自己的载波场,以发送其消息。在这种模式(也称为“点对点模式”)中,两种设备交替地产生用于通信的载波场。 [0012] 在接收设备D2是标签时使用被动通信模式,例如,根据NFC论坛数字协议规范的类型3的标签(Type 3Tag,T3T)。 [0014] 这种设备D2也可以仿真简单的标签,并因此在被动通信模式与第一设备D1交互操作。 [0015] 需要考虑可以仿真NFC设备的高级的通信设备的情况。尤其是,需要提出用以使通信设备仿真多个NFC设备并让其它方知道这些仿真的设备的解决方案、尤其是体系结构。 发明内容[0016] 本发明的实施方式的目的是提出这样的解决方案。 [0017] 这通过处于收听模式的第一通信设备应答第二通信设备发送的轮询命令的方法来实现,该第一通信设备仿真多个NFC设备,该方法包括以下步骤: [0018] -通过所述第一通信设备接收轮询命令; [0019] -针对所述多个NFC设备中的每一NFC设备,决定是否应当发送响应,若应当发送响应,则向所述第二通信设备发送响应,所述响应包括与各NFC设备相关的信息。 [0020] 根据本发明的多个实施方式,该方法可以包括一个或多个以下特征: [0021] -所述决定和发送响应的步骤可以通过所述多个NFC设备中的每一NFC设备进行; [0022] -所述轮询命令可以被转发至所述多个NFC设备中的每一NFC设备; [0023] -所述决定和发送响应的步骤可以通过应答装置进行,而不向所述NFC设备转发所述轮询命令; [0024] -所述响应可以在被从定时器接收的中断触发时,被详细制作; [0025] -所述信息可以包含NFCID2标识符; [0026] -所述信息可以包含关于所述各NFC设备是类型3标签或基于NFC-DEP协议的点对点设备的指示。 [0027] 本发明具有用于其它目的的通信设备,包括: [0028] -天线和物理电路(PHY),所述天线和所述物理电路(PHY)用于从第二通信设备(T2)接收轮询命令(PC); [0029] -多个仿真NFC设备的实体(D1、D2、D3……Dn); [0030] -用于为所述多个实体中的每一实体决定是否应当发送响应的装置,若应当发送响应,则向所述第二通信设备(T2)发送响应(LF1、LF2、LF3……LFn),所述响应包含与各NFC设备相关的信息。 [0031] 根据本发明的多个实施方式,通信设备可以包括一个或多个以下特征: [0032] -每一所述实体包括应答装置,所述应答装置适于详细制作并发送与各仿真的NFC设备相关的响应; [0033] -通信设备还可以包括应答装置,所述应答装置适于详细制作并发送与至少两个仿真的设备相关的响应; [0034] -该应答装置可以包括用于根据NFC时间规则产生中断的定时器以及用于在被所述中断触发时详细制作所述响应的软件层; [0035] -所述信息可以包含NFCID2标识符; [0036] -所述信息可以包含关于所述各NFC设备是类型3标签还是基于NFC-DEP协议的点对点设备的指示。 [0037] 本发明还涉及计算机程序产品,该计算机程序产品包括计算机可读介质,所述计算机可读介质上具有计算机程序,所述计算机程序包括程序指令,所述计算机程序能够被加载到数据处理单元并适于在计算机程序被数据处理单元运行时引起执行如上所述的方法。 [0038] 本发明的另一目的是,包括如上所述的通信设备和第二通信设备的系统。 附图说明[0040] 图1示出了根据NFC-F技术的两个设备之间的基本协议交换。 [0041] 图2示出了说明根据本发明实施方式的通信设备T1、T2的示例性配置的框图,其中,一设备处于轮询模式,另一设备处于收听模式。 [0042] 图3示出根据本发明的实施方式的用于轮询命令的数据帧。 [0043] 图4示出根据本发明的实施方式的用于响应的数据帧。 [0044] 图5为示出根据本发明的实施方式的响应的可能的时间安排的时间图。 [0045] 图6和图7示出了说明本发明的通信设备的两个实施方式的更详细的框图。 具体实施方式[0046] 本发明涉及NFC-F技术。NFC论坛规范的该子集通过标准ISO/IEC 18092(称为“近场通信接口和协议(Near Field Communication Interface and Protocol,NFCIP-1)”)以及通过在第6章节中命名为“NFC数字协议”的NFC论坛技术规范而标准化。 [0047] 在图2所描绘的示例中,处于轮询模式的设备T2被认为是“发起者”:这意味着其产生载波电磁场,并发送轮询命令(polling command,PC)以知道附近的其它NFC兼容的设备。该发起者设备T2被认为是处于轮询模式。 [0049] 帧F以SoF(Start of Frame,帧开始)字段开始,接着是数据字段(图3中标注为“数据”)。该SoF字段通常设置为十六进制的“B24D”值。 [0050] 该数据字段在于SoD(Start of Data,数据开始)字段、有效载荷和EoD(End of Data,数据结束)字段。 [0051] SoD字段包含指示有效载荷长度+1的长度字节。EoD字段包含在有效载荷和SoD字段上计算的两字节的检验和。 [0052] 有效载荷包含轮询命令本身,该轮询命令被命名为“SENSF_REQ”。总体上,该命令被处于轮询模式的任何NFC论坛设备使用,以探索用于处于收听模式的NFC论坛设备的操作字段。 [0053] SC(System Code,系统码)字段包含关于待被轮询的NFC论坛设备的信息(例如,技术子集)。若发起者设备D1希望轮询任何NFC设备,则SC字段应当设置为“FFFF”(十六进制值)。 [0054] RC(Request Code,请求码)字段可以用于在一个或多个预期的SENSF_RES响应中重获另外的信息。 [0055] TSN(Time Slot Number,时隙号)字段用于冲突解决并降低冲突的可能性。防冲突方案是基于以下这样的时隙的定义的:在该时隙,处于收听模式的NFC设备受邀进行响应。 [0056] 处于轮询模式的设备D1发送带有指示可用时隙号的TSN值的SENSF_REQ命令。 [0057] 通信设备T1处于收听模式。这意味着,其等待轮询命令,该轮询命令将触发来自该通信设备T1的反应。 [0058] 在该示例中,假定通信设备T1、T2在附近,使得其各自的天线A1、A2通过电磁场联接。然后,如本领域已知,以及NFC论坛、ISO和其它标准化实体所规定,它们可以传送数据帧。 [0059] 通信设备T1包括天线A1和物理电路PHY,天线A1和物理电路PHY适于接收处于轮询模式的通信设备T2发送的命令,尤其是轮询命令。 [0060] 通信设备T2也包括多个实体D1、D2、D3……Dn,每一个实体仿真NFC设备。如之后将见到,这些实体可以有不同的性质:它们可以包括硬件元件和软件元件。实体可以是以某种方式插入通信设备T2的独立的设备、或仿真设备的硬件平台的多个部分、或以软件方式仿真设备的软件程序。其它实施方式以及这些实施方式的组合是可行的。 [0061] 仿真的设备的数量被限制为,NFC论坛的每一技术F规范有16台。若多于16台设备被仿真,一次仅有16台可以被处理。 [0062] 根据本发明的一个方面,可以仿真特定时隙的冲突。该冲突向处于轮询模式的通信设备提供存在更多待解决的仿真设备的信息。于是,其可以重启程序,以发现它们。该另外的特征允许通信设备摆脱NFC论坛规定的限制并仿真任意数量的NFC设备。 [0063] 根据NFC论坛规范,这些设备可以是不同的可能类型。更为精确的,仿真的设备可以是: [0064] -类型3标签(T3T); [0065] -基于NFC-DEP协议的点对点设备。 [0066] T3T设备的行为像仅可以处理与通信设备T2的被动通信模式的标签。 [0067] 基于NFC-DEP协议的点对点设备通过与通信设备T2建立被动通信模式而动作。这意味着,它们两者均遵守半双工传输协议,使得它们交替地切换至接收器和发射器角色。一次仅有一台设备发送数据。 [0068] 存在多个半双工传输协议。然而,NFC论坛规定了用于遵守类型F技术的设备的NFC-DEP协议。该NFC-DEP协议在NFC数字协议文件(版本1.0,日期2010年11月17日)的第14章中描述。 [0069] 通信设备T1也包括用于针对每一实体D1、D2、D3……Dn确定是否应当发送应答的装置。 [0070] 该决定基于轮询命令PC的SC字段。 [0071] 若SC字段指示所有的设备被轮询,则应当针对嵌入通信设备T1内部的每一实体发送应答。 [0072] 若SC字段指示轮询特定技术子集,则针对每一实体作出决定,在于,只有在仿真的设备属于与该SC字段对应的子集时,才针对特定实体详细制作响应。否则,与仿真的设备关联的实体不应当进行应答。 [0073] 该行为遵守NFC论坛规范。 [0074] 当已经为设备作出决定时,详细制作并发送响应。针对每一实体D1、D2、D3……Dn,(分别)发送不同的响应LF1、LF2、LF3……LFn,其中,已经决定针对该每一实体D1、D2、D3……Dn应当发送响应。 [0075] 该响应在如图4描绘的数据帧中发送。 [0076] 帧F2开始于SoF(帧开始,Start of Frame)字段,接着是数据字段(图4中标注为“数据”)。SoF字段通常设置为十六进制的值“B24D”。 [0077] 数据字段在于SoD(数据开始,Start of Data)字段、有效载荷和EoD(数据结束,End of Data)字段。 [0078] SoD字段包含指示有效载荷长度+1的长度字节。EoD字段包含在有效载荷和SoD字段上计算的两字节的检验和。 [0079] 有效载荷包含应答本身,该应答本身被命名为“SENSF_RES”。 [0080] NFCID 2字段包含遵守NFC论坛的应答设备的标识符。该字段的第一字节包含设备类型的指示符: [0081] 若类型是NFC-DEP,则字节1=“01”; [0082] 若类型是T3T,则字节1=“02”。 [0083] 第二字节通常设置为值“FE”,且其它字节通过设备随机产生。 [0084] 只有在SENSF_REQ命令的RC字段中被请求时,RD(Request Data,请求数据)字段才出现。格式依赖于NFC-F技术子集,应答设备是针对该NFC-F技术子集而配置的。 [0085] 其它字段在本发明的上下文中不相关,此处将不进行描述。为了另外的解释,可以查阅“NFC数字协议技术规范”的第6.6.2章节。 [0086] 参考Mc代表“MRTICHECK”。参考Mu代表“MRTIUPDATE”。参考P2代表“PAD2”。 [0087] 若需要,针对每一设备D1、D2、D3……Dn,详细制作相应的响应LF1、LF2、LF3……LFn。更为具体的,这意味着,确定标识符NFCID2,第一字节设置为对应于仿真的设备的类型和技术子集的值。 [0088] 图6示出了一个实施方式,其中,每一设备通过独立的实体仿真。这些实体可以包括硬件电路以及嵌入的软件模块,就像其为独立的设备。在特定实施中,这些设备中的每一设备可以为独立的卡或芯片。 [0089] 它们可以包括无接触前端(ContactLess Front-end,CLF),即适于使设备与通信网络交互操作的硬件和软件元件的组合。CLF是设备的应用层和该通信网之间的接口。 [0090] 在图6中,仅为每一设备描绘了无接触前端CLF1、CLF2、CLF3……CLFn。由于与本发明的原理无直接连接,应用层和其它元件已被忽略。 [0091] 每一无接触前端包括负责接收轮询命令PC、详细制作响应并发送该响应的应答装置AA1、AA2、AA3……AAn。 [0092] 根据上面说明的用于各个设备的数据,详细制作了响应LF1、LF2、LF3……LFn。例如,每一应答装置确定其自身的标识符NFCID2并将其插入送出的响应中。另外,应答装置插入指示仿真的设备是类型3标记(T3T)或基于NFC-DEP协议的点对点设备的数据。该响应是SENSF_RES消息。 [0093] 通信设备T1还包括转发器FWD。该FWD装置适于从物理电路PHY接收命令,如,轮询命令PC,并将其转发至多个无接触前端CLF1、CLF2、CLF3……CLFn。 [0094] 然后,转发器FWD从无接触前端CLF1、CLF2、CLF3……CLFn接收多个响应LF1、LF2、LF3……LFn,并将这些响应转发至物理电路PHY,使得这些响应通过天线A1被发送至一个或多个其它通信设备。 [0095] 无接触前端负责根据NFC论坛规定的定时规则发送各个响应。 [0096] 根据NFC论坛“数字协议”规范,冲突可能存在并在发生时不能够被处理。于是,处于轮询模式的通信设备能够“发现”在没有冲突发生的时隙中进行响应的设备。每一设备通过随机选择确定进行应答的时隙。 [0097] 处于轮询模式的通信设备可以发送另一轮询命令以发现以前在冲突中进行应答的设备。通过迭代该过程,所有的设备都可以被发现。 [0098] 根据本发明的一个方面,转发器FWD可以确定仿真的设备的响应之间的内部冲突的情况。在这种情况下,其可以重置设备随机选择的时隙,并触发下一次迭代以产生另一随机时隙号。 [0099] 图7示出了本发明的另一实施方式,其中,单个无接触前端CLF负责所有通过实体D1、D2、D3……Dn仿真的设备。 [0100] 该CLF包括适于详细制作并发送与仿真的设备有关的响应SENSF_RES的应答装置AA。因此,应答装置AA了解仿真的设备的特性。尤其是,其了解每一设备是T3T设备还是基于NFC-DEP协议的点对点设备。其还可以为每一设备产生标识符NFCID2。 [0101] 根据NFC论坛规定的时间规则,向物理电路PHY和天线A1发送响应LF1、LF2、LF3……LFn。 [0102] 根据本发明的实施方式,应答装置AA包括软件层S和定时器T。软件层S可以负责响应的详细制作和发送。 [0103] 定时器T可以是硬件层,负责根据NFC论坛的时间规则产生中断INT。 [0104] 图5使这些规则更清楚。其示出了计时图,其中时间t通过从左至右的箭头表示。轮询命令PC的到达开始时序安排(scheduling)。在延迟D之后,时间分成时隙TS0、TS1、TS2、TS3等。时隙的数量依赖于包含在轮询命令PC中的数据,即,待被轮询的设备的最大数。 [0105] 定时器T可以为每一时隙发送中断INT,尤其是在每一时隙的开始。 [0106] 当接收这种中断INT时,软件层S可以通过在缓冲器中填充待发送的数据来详细制作响应。RF接口上的数据的实际发送可以通过硬件层触发和完成。软件层S可以插入指示字节以向硬件层指示数据已经准备好用于发送。 [0107] 在每一时隙中仅有一个响应被发送。在图5描绘的示例中,响应LF3在时隙TS0中被发送,响应LFn在时隙TS1中被发送,响应LF1在时隙TS2中被发送,响应LF2在时隙TS3中被发送。当多于4个时隙可用时,序列继续进行。 [0108] 响应LF1、LF2、LF3……LFn顺序发送,并可以通过其它通信设备在不会有任何冲突问题的情况下而接收。 [0109] 为了保证发送SENSF_RES发生在特定时隙,有必要优选地在用于在每个时隙的开始时产生中断的定时器T的硬件帮助下,进行良好的软件延迟控制。然而,其它实施,包括纯软件解决方案,是可行的。 [0110] 接收响应LF1、LF2、LF3……LFn的其它通信设备T2,然后可以表现得像其已经接收来自多个设备的响应。根据其特定视点,在接收来自仿真n个设备的通信设备的n个SENSF_RES响应或接收n个独立的设备发送的n个SENSF_RES响应之间,没有差异(在发现的该步骤)。 [0111] 因此,通信设备T1可以以对其它方透明的方式仿真多个NFC设备,并遵守NFC论坛规范。 [0112] 已经参考优选实施方式对本发明进行了描述。然而,在本发明的范围内,可以有多种变型。 [0113] 例如,可以组合上述的两种实施方式,但是既具有以下这样的独立的无接触前端,即该独立的无接触前端包括其自身的应答装置来负责为第一组设备详细制作并发送SENSF_RES响应,又具有以下这样的独立的无接触前端,即该独立的无接触前端包括共享的应答装置,该共享的应答装置代表第二组设备详细制作并发送SENSF_RES响应。 |