CN106664506B - 一种基于逻辑链路控制协议llcp的服务发现方法及nfc控制器 - Google Patents
一种基于逻辑链路控制协议llcp的服务发现方法及nfc控制器 Download PDFInfo
- Publication number
- CN106664506B CN106664506B CN201580039545.6A CN201580039545A CN106664506B CN 106664506 B CN106664506 B CN 106664506B CN 201580039545 A CN201580039545 A CN 201580039545A CN 106664506 B CN106664506 B CN 106664506B
- Authority
- CN
- China
- Prior art keywords
- pdu
- nfcc
- nfc
- service discovery
- connect
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 217
- 238000004891 communication Methods 0.000 claims abstract description 149
- 230000008569 process Effects 0.000 claims abstract description 129
- 230000006870 function Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 20
- 230000002776 aggregation Effects 0.000 claims description 2
- 238000004220 aggregation Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 abstract description 20
- 238000010586 diagram Methods 0.000 description 19
- 230000003213 activating effect Effects 0.000 description 7
- 230000001172 regenerating effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/11—Allocation or use of connection identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
本发明实施例公开了一种基于逻辑链路控制协议LLCP的服务发现方法及NFC控制器,该方法包括NFCC接收到LLC PDU后,根据LLC PDU的包头中的类型标识判断LLC PDU是否为目标LLC PDU,其中,目标LLC PDU包括DH或第二NFC设备发送的CONNECT PDU、第二NFC设备发送的SNL PDU或第二NFC设备发送的AGF PDU,且当LLC PDU为目标LLC PDU时,NFCC判断是否需要执行服务发现过程,若是,则NFCC执行服务发现过程。可见,实施本发明实施例能够使NFCC执行服务发现过程,减少了NFCC与DH之间的交互,节省资源开销,且提高了通信效率。
Description
技术领域
本发明实施例涉及近场通信(NFC,Near Field Communication)技术领域,具体涉及一种基于逻辑链路控制协议LLCP的服务发现方法及NFC控制器。
背景技术
NFC技术是一种短距离无线连接技术,其可以利用磁场感应实现具有NFC功能的电子设备(又称“NFC设备”)间的近距离通信。在NFC技术中,NFC控制器接口(NCI,NFCController Interface)协议主要定义了实现NFC设备中主机(DH,Device Host)与NFC控制器(NFCC,NFC Controller)之间通信的逻辑接口。
若两个进行点对点通信的NFC设备采用逻辑链路控制协议(LLCP,Logical LinkControl Protocol),则根据LLCP可知,在两个进行点对点通信的NFC设备通过一种服务(无连接服务或面向连接服务)进行上层信息单元的交互之前,每个NFC设备均要获知另一个NFC设备为上述服务分配的服务访问点(SAP,Service Access Point)。若其中一个NFC设备未获知另一个NFC设备为上述服务分配的SAP,则该其中一个NFC设备需要通过服务发现过程(SDP,Service Discovery Procedure)来获知另一个NFC设备为上述服务分配的SAP。
根据现有的NCI协议,其中一个NFC设备在接收到对端的另一个NFC设备发送的一个逻辑链路控制协议数据单元(LLC PDU,Logical Link Control Protocol Data Unit)之后,该NFC设备的NFCC都要将该LLC PDU转发给DH,以使DH进行处理与应答,然后再将DH的应答发送给对端。对于服务发现过程,例如,每当其中一个NFC设备接收到包括服务发现请求(SDREQ,Service Discovery Request)的服务名称发现协议数据单元(SNL PDU,ServiceName Lookup Protocol Data Unit)或包括服务名称(SN,Service Name)的连接协议数据单元(CONNECT PDU,CONNECT Protocol Data Unit)时,该NFC设备的NFCC都要将其转发给DH,以等待DH做出应答,然后再通过NFCC向对端反馈该应答。在上述服务发现过程中NFCC与DH间的多次交互导致了资源开销较大的问题。
发明内容
本发明实施例公开了一种基于逻辑链路控制协议LLCP的服务发现方法及NFC控制器,能够减少NFC设备中NFCC与DH之间的交互,节省资源开销。
本发明实施例第一方面公开了一种基于逻辑链路控制协议LLCP的服务发现方法,所述方法应用于第一近场通信NFC设备的NFC控制器NFCC中,所述第一NFC设备还包括主机DH,所述方法包括:
所述NFCC接收逻辑链路控制协议数据单元LLC PDU;
所述NFCC根据所述LLC PDU的包头中的类型标识判断所述LLC PDU是否为目标LLCPDU,其中,所述目标LLC PDU包括所述DH或第二NFC设备发送的第一连接协议数据单元CONNECT PDU、所述第二NFC设备发送的服务名称发现协议数据单元SNL PDU或所述第二NFC设备发送的聚合帧协议数据单元AGF PDU;
当所述LLC PDU为所述目标LLC PDU时,所述NFCC判断是否需要执行服务发现过程;
若是,则所述NFCC执行所述服务发现过程。
本发明实施例第二方面公开了一种NFC控制器,所述NFC控制器为第一NFC设备中的NFC控制器,所述第一NFC设备还包括DH,所述NFC控制器包括:
通信模块,用于接收LLC PDU;
第一判断模块,用于根据所述LLC PDU的包头中的类型标识判断所述LLC PDU是否为目标LLC PDU,其中,所述目标LLC PDU包括所述DH或第二NFC设备发送的第一CONNECTPDU、所述第二NFC设备发送的SNL PDU或所述第二NFC设备发送的AGF PDU;
第二判断模块,用于当所述第一判断模块的判断结果为是时,判断是否需要执行服务发现过程;
执行模块,用于当所述第二判断模块的判断结果为是时,执行服务发现过程。
本发明实施例第三方面公开了一种NFC控制器,包括存储器、处理器以及通信装置,所述NFC控制器为第一NFC设备中的NFC控制器,所述第一NFC设备还包括DH,所述通信装置,用于接收LLC PDU;
所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,用于执行以下操作:
根据所述LLC PDU的包头中的类型标识判断所述LLC PDU是否为目标LLC PDU,其中,所述目标LLC PDU包括所述DH或第二NFC设备发送的第一CONNECT PDU、所述第二NFC设备发送的SNL PDU或所述第二NFC设备发送的AGF PDU;
当所述LLC PDU为所述目标LLC PDU时,判断是否需要执行服务发现过程,若是,则执行服务发现过程。
本发明实施例中,NFCC接收到LLC PDU后,根据LLC PDU的包头中的类型标识判断LLC PDU是否为目标LLC PDU,其中,目标LLC PDU包括DH或第二NFC设备发送的CONNECTPDU、第二NFC设备发送的SNL PDU或第二NFC设备发送的AGF PDU,且当LLC PDU为目标LLCPDU时,NFCC判断是否需要执行服务发现过程,若是,则NFCC执行服务发现过程。可见,实施本发明实施例能够使NFCC执行服务发现过程,减少了NFCC与DH之间的交互,节省资源开销,且提高了通信效率,此外,还能够使NFCC分担DH的一部分功能,如服务发现过程,也符合了点对点模式下DH与NFCC之间逻辑接口向上层发展的趋势。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种基于逻辑链路控制协议LLCP的服务发现方法的流程示意图;
图2是本发明实施例公开的另一种基于逻辑链路控制协议LLCP的服务发现方法的流程示意图;
图3是本发明实施例公开的又一种基于逻辑链路控制协议LLCP的服务发现方法的流程示意图;
图4是本发明实施例公开的又一种基于逻辑链路控制协议LLCP的服务发现方法的流程示意图;
图5是本发明实施例公开的一种NFC控制器的结构示意图;
图6是本发明实施例公开的另一种NFC控制器的结构示意图;
图7是本发明实施例公开的又一种NFC控制器的结构示意图;
图8是本发明实施例公开的又一种NFC控制器的结构示意图;
图9是本发明实施例公开的又一种NFC控制器的结构示意图;
图10是本发明实施例公开的一种NFC控制器中通信模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于逻辑链路控制协议LLCP的服务发现方法及NFC控制器,能够使NFCC执行服务发现过程,减少了NFCC与DH之间的交互,节省资源开销,且提高了通信效率。以下分别进行详细说明。
需要说明的是,本发明实施例中所使用的主机DH与NFC控制器NFCC是在NFC论坛(NFC Forum)制定的NCI协议中使用的术语。其中,DH用于负责整个NFC设备的管理,其中包括NFC控制器的管理,如初始化,配置或电源管理等,在智能手机中,它可以对应手机的CPU;DH可以对应欧洲电信标准协会(ETSI,European Telecommunication StandardsInstitute)制定的主机控制器接口(HCI,Host Controller Interface)规范中的终端主机(Terminal Host);此外,全球平台国际标准组织(GP,Global Platform)制定的规范中的管理实体(ME,Managing Entity)若实现在终端主机(Terminal Host)上,则也可以将DH称为管理主机(MH,Managing Host)。而NFCC是NFC芯片的负责数据传输的实体,通常直接用它来指代NFC芯片;NFCC可以对应欧洲电信标准协会(ETSI,European TelecommunicationStandards Institute)制定的HCI规范中的非接触前端(CLF,Contactless Front-end),此时,HCI中的主机控制器(Host Controller)要实现在NFCC上。
请参阅图1,图1是本发明实施例公开的一种基于逻辑链路控制协议LLCP的服务发现方法的流程示意图。其中,图1所示的方法应用于第一NFC设备的NFCC中,且第一NFC设备还包括DH。如图1所示,该基于逻辑链路控制协议LLCP的服务发现方法可以包括以下步骤:
S101、NFCC接收LLC PDU。
S102、NFCC根据上述LLC PDU的包头中的类型标识判断上述LLC PDU是否为目标LLC PDU。
本发明实施例中,当步骤S102的判断结果为是时,NFCC执行步骤S103;当步骤S102的判断结果为否且上述LLC PDU为第二NFC设备发送的PDU时,NFCC将上述LLC PDU发送至上述DH,或当上述LLC PDU对应的功能在当前已激活的射频接口(即NCI协议定义的RFInterface,具体请见NCI协议,这里不再赘述)下可作为射频接口功能扩展(即NCI协议定义的RF Interface Extension,具体请见NCI协议,这里不再赘述)在NFCC上处理时,NFCC直接对上述LLC PDU进行处理并应答;当步骤S102的判断结果为否且上述LLC PDU为上述DH发送的PDU时,NFCC将上述LLC PDU发送至第二NFC设备。
需要说明的是,对于点对点模式,上述射频接口可以是帧射频接口(Frame RFInterface)或NFC数据交换协议射频接口(NFC-DEP RF Interface,Near FieldCommunication-Data Exchange Protocol RF Interface),也可以是NCI协议还未具体定义的LLCP高射频接口(LLCP High RF Interface),即NFCC要承担LLCP协议中大部分或者全部功能的实现。
本发明实施例中,目标LLC PDU可以包括但不限于上述DH或第二NFC设备发送的第一CONNECT PDU、第二NFC设备发送的SNL PDU或第二NFC设备发送的聚合帧协议数据单元(AGF PDU,Aggregated Frame PDU)等,即目标LLC PDU可以是上述DH发送或第二NFC设备发送的第一CONNECT PDU、第二NFC设备发送的SNL PDU以及第二NFC设备发送的AGF PDU中的任意一种,其中,AGF PDU中可以包括CONNECT PDU和/或SNL PDU,本发明实施例不做限定。
需要说明的是,上述CONNECT PDU是用于为了使用两个NFC设备上的某个面向连接的服务而请求在这两个NFC设备之间的LLCP链路之上创建数据链路连接的。
S103、当上述LLC PDU为上述目标LLC PDU时,NFCC判断是否需要执行服务发现过程。
本发明实施例中,当步骤S103的判断结果为是时,NFCC执行步骤S104;当步骤S103的判断结果为否且上述LLC PDU为第二NFC设备发送的LLC PDU时,NFCC将上述LLC PDU发送至上述DH;当步骤S103的判断结果为否且上述LLC PDU为上述DH发送的LLC PDU时,NFCC将上述LLC PDU发送至第二NFC设备。
S104、若判断出需要执行服务发现过程,则NFCC执行服务发现过程。
作为一种可选的实施方式,在执行服务发现过程之前,NFCC还可以执行以下操作:
NFCC接收上述DH发送的开启命令,其中,该开启命令用于命令NFCC开启执行服务发现过程的功能,且NFCC接收上述DH发送的开启命令的前提为上述DH确定NFCC具有执行服务发现过程的能力,上述DH确定NFCC具有执行服务发现过程的能力的具体方式包括但不限于以下两种:一、上述DH在确定需要由NFCC执行服务发现过程之前主动向NFCC发送用于查询NFCC是否具有执行服务发现过程的能力的查询请求,以使NFCC响应该查询请求向上述DH上报能力信息,该能力信息用于指示NFCC具有执行服务发现过程的能力;二、在第一NFC设备的NFCC初始化时,NFCC向上述DH上报能力信息,该能力信息用于指示NFCC具有执行服务发现过程的能力。
本发明实施例中,NFCC接收上述DH发送的开启命令的前提是帧射频接口、NFC-DEP射频接口或者LLCP高射频接口已经被激活,且NFCC接收上述DH发送的开启命令可以发生在步骤S101之前,也可以发生在步骤S101之后以及步骤S102之前,还可以发生在当步骤S102的判断结果为是之后以及步骤S103之前,还可以发生在当步骤S103的判断结果为是之后以及步骤S104之前,本发明实施例不做限定。
作为另一种可选的实施方式,在执行服务发现过程之前,NFCC还可以执行以下操作:
NFCC确定NFCC具有执行服务发现过程的能力。
本发明实施例中,NFCC确定其具有执行服务发现过程的能力可以发生在步骤101之前,也可以发生在步骤S101之后以及步骤S102之前,还可以发生在当步骤S102的判断结果为是之后以及步骤S103之前,还可以发生在当步骤S103的判断结果为是之后以及步骤S104之前,本发明实施例不做限定。
本发明实施例中,当NFCC确定其具有执行服务发现过程的能力时,在NFCC执行完服务发现过程之后,NFCC可以激活上述LLCP高射频接口并上报至上述DH。
作为一个可选的实施方式,在执行步骤S101之前,NFCC还可以执行以下操作:
NFCC向上述DH上报能力信息,其中,该能力信息用于指示NFCC具有执行服务发现过程的能力。
本发明实施例中,NFCC可以通过初始化响应CORE_INIT_RSP(其完整的字段组成请参见NCI协议,这里不再赘述)向上述DH上报能力信息,即对于NFC-DEP射频接口或帧射频接口、甚至LLCP高射频接口,在通过CORE_INIT_RSP向DH上报这些射频接口对应的射频接口扩展时,可以将本发明实施例所需的射频接口扩展(如逻辑链路控制协议服务发现过程射频接口扩展LLCP SDP RF Interface Extension)作为CORE_INIT_RSP中的扩展列表(如下表1所示的CORE_INIT_RSP中的部分相关字段)中的一个上报给DH:
表1:CORE_INIT_RSP
其中,射频接口扩展列表[0…x]表示NFCC针对某个射频接口被激活时所支持的射频接口扩展,射频接口扩展的类型详见如下表2,该表2为NCI协议中定义的表格132:
表2:射频接口扩展
本发明实施例中,NFCC接收到LLC PDU后,根据LLC PDU的包头中的类型标识判断LLC PDU是否为目标LLC PDU,其中,目标LLC PDU包括DH或第二NFC设备发送的CONNECTPDU、第二NFC设备发送的SNL PDU或第二NFC设备发送的AGF PDU,且当LLC PDU为目标LLCPDU时,NFCC判断是否需要执行服务发现过程,若是,则NFCC执行服务发现过程。可见,实施本发明实施例能够使NFCC执行服务发现过程,减少了NFCC与DH之间的交互,节省资源开销,且提高了通信效率,此外,还能够使NFCC分担DH的一部分功能,如服务发现过程,也符合了点对点模式下DH与NFCC之间逻辑接口向上层发展的趋势。
请参阅图2,图2是本发明实施例公开的另一种基于逻辑链路控制协议LLCP的服务发现方法的流程示意图。其中,图2所示的流程示意图为当NFCC接收到的LLC PDU为第二NFC设备发送的SNL PDU时的基于逻辑链路控制协议LLCP的服务发现方法的流程示意图,且图2中的NFCC为第一NFC设备的NFCC,图2中的DH为第一NFC设备中的DH。如图2所示,该基于逻辑链路控制协议LLCP的服务发现方法可以包括以下步骤:
S201、NFCC通过CORE_INIT_RSP向DH上报用于表示NFCC具有执行服务发现过程能力的能力信息。
本发明实施例中,NFCC上报能力信息的具体方式如上面实施例所述,这里不再赘述。本发明实施例仅以此为例进行描述,当然,还可以采用如上实施例所述的其他上报方式。
S202、NFCC接收上述DH通过CORE_SET_CONFIG_CMD配置的服务信息。
本发明实施例中,服务信息可以包括至少一个SN,也可以包括至少一个SN以及与每个SN对应的SAP,还可以包括一个或多个SN以及与该一个或多个SN的部分SN中每个SN分别对应的SAP,本发明实施例不做限定。当服务信息包括至少一个SN时,NFCC在接收到服务信息之后为服务信息中的每个SN分配对应的SAP。
本发明实施例中,上述DH可以在接收到上述能力信息后通过配置参数命令为NFCC配置服务信息,其中,配置参数命令可以为NCI协议中定义的CORE_SET_CONFIG_CMD,也可以为专门用于配置该服务信息的命令,如CORE_CONFIG_LLCP_SDP_CMD,本发明实施例不做限定。当配置参数命令为CORE_SET_CONFIG_CMD且服务信息包括至少一个SN以及每个SN对应的SAP时,该配置参数命令可以如表3所示:
表3:CORE_SET_CONFIG_CMD
其中,表3为NCI协议中的表格11。本实施例中用于配置服务信息的参数可以为LLCP服务发现过程操作参数LLCP_SDP_OP,如表4所示:
表4:配置参数
其中,表4为NCI协议中的表格134,NCI协议可以将该参数LLCP_SDP_OP作为NFC-DEP射频接口下NFCC执行服务发现过程所需的参数进行配置,当然也可以作为其他射频接口(如帧射频接口、LLCP高射频接口等)下NFCC执行服务发现过程所需的参数进行配置。当通过上述表3配置该参数LLCP_SDP_OP时,其对应的值(Val)字段包括的具体参数(即服务信息包括的内容及内容的长度)可以如表5所示:
表5:LLCP服务发现过程操作参数LLCP_SDP_OP
S203、NFCC接收上述DH发送的开启命令,以开启NFCC执行服务发现过程的能力。
本发明实施例中,NFCC向上述DH发送的开启命令可以是NCI协议定义的RF_INTF_EXT_START_CMD(如下表6所示),其中包括的Extension字段可为LLCP服务发现过程射频接口扩展标识LLCP SDP RF IF Ext,开启参数Start Parameter可为空。
S204、NFCC接收第二NFC设备发送的LLC PDU。
S205、NFCC通过上述LLC PDU包头中的类型标识判断接收到的LLC PDU是否为SNLPDU。
本发明实施例中,当步骤S205的判断结果为是时,NFCC执行步骤S206;当步骤S205的判断结果为否时,NFCC判断上述LLC PDU是否为CONNECT PDU或包括至少一个SNL PDU和/或至少一个CONNECT PDU的AGF PDU,若是,则NFCC执行对应的操作,若否,则NFCC判断上述LLC PDU对应的功能是否在当前已激活的射频接口(即NCI协议定义的RF Interface,具体请见NCI协议,这里不再赘述)下可作为射频接口功能扩展(即NCI协议定义的RF InterfaceExtension,具体请见NCI协议,这里不再赘述)在NFCC上处理,若能,则NFCC直接处理后应答,若否,则NFCC直接将上述LLC PDU转发至DH。
需要说明的是,本步骤也可以包括以下情形:如果通过LLC PDU的包头中的类型标识判断出该LLC PDU为AGF PDU,则NFCC可以通过解析该AGF PDU的信息字段中携带的至少一个LLC PDU来判断其中是否存在SNL PDU。
S206、当上述LLC PDU为SNL PDU时,NFCC判断该SNL PDU的信息字段中包含的参数是否为第一SDREQ。
本发明实施例中,当该SNL PDU的信息字段中的类型参数type取值为08h时,NFCC即可认定上述SNL PDU的信息字段中包含的参数为第一SDREQ。
本发明实施例中,当步骤S206的判断结果为是时,NFCC执行步骤S207;当步骤S206的判断结果为否时,NFCC将上述SNL PDU转发至DH,以使DH进行处理并应答。
S207、当上述SNL PDU的信息字段中包含的参数为第一SDREQ时,NFCC从上述服务信息中确定出与上述第一SDREQ包括的第一SN对应的第一SAP。
S208、NFCC生成包括上述第一SAP的第一服务发现响应(SDRES,ServiceDiscovery Response),并将该第一SDRES通过SNL PDU返回至第二NFC设备。
本发明实施例中,在步骤S207中,若NFCC未在上述服务信息中查询出与第一SN对应的第一SAP,则NFCC不进行应答,或直接生成包含错误指示的应答信息并将该应答信息返回至第二NFC设备,或为第一SN分配对应的第一SAP后上报DH并向第二NFC设备应答包含该第一SAP的SDRES。
作为一种可选的实施方式,步骤S202以及步骤S203可以合并为一个步骤,即NFCC向DH上报用于表示NFCC具有执行服务发现过程能力的能力信息之后,NFCC接收DH发送的RF_INTF_EXT_START_CMD,以开启NFCC执行服务发现过程的能力,其中,该RF_INTF_EXT_START_CMD的开启参数Start Parameter可以包含上述服务信息,在此种情况下,RF_INTF_EXT_START_CMD可以如表6所示:
表6:RF_INTF_EXT_START_CMD
其中,对RF_INTF_EXT_START_CMD中Start Parameter的扩展可以如表7所示:
表7:LLCP服务发现射频接口扩展对应的开启参数
本发明实施例中,步骤S206为NFCC判断是否需要执行服务发现过程的步骤,步骤S207以及步骤S208为NFCC执行服务发现过程的步骤。
本发明实施例中的步骤203是以激活某个射频接口(如NFC-DEP射频接口、帧射频接口或LLCP高射频接口)之后,DH向NFCC发送开启命令为例进行说明的。此外,本发明实施例还可以在激活某个射频接口(如LLCP高射频接口)之前需要在NFCC上执行服务发现过程为例,此时,NFCC在执行服务发现过程之前的任意时刻需要确定自身具有执行服务发现过程的能力,具体不再赘述。
需要说明的是,本发明实施例中所说的NCI协议是指目前的NCI 2.0版本草案9,下面实施例中同样是指该协议版本,后续不再赘述。
本发明实施例减少了NFCC与DH之间的交互次数,即NFCC执行服务发现过程,从而无需与DH进行交互,减少了DH的资源开销。此外,虽然NFCC在执行服务发现过程中需要具有解析LLC PDU的能力,但NFCC只需先对LLC PDU的包头进行解析,然后再针对个别LLC PDU进行解析,如包含SN的SNL PDU,并不需要对LLCP规定的所有(目前有14种)LLC PDU的信息字段全都进行解析,因此,NFCC解析个别LLC PDU带来的NFCC的开销较小,不会影响RF通信,且本发明实施例还能够使NFCC分担DH的一部分功能,如服务发现过程,也符合点对点模式下DH与NFCC之间逻辑接口向上层发展的趋势。另外,本实施例中,双方在传送上层信息之前,即使DH处于休眠状态,NFCC一样可以完成服务发现过程,从而为后续交互上层信息做好准备。
请参阅图3,图3是本发明实施例公开的又一种基于逻辑链路控制协议LLCP的服务发现方法的流程示意图。其中,图3所示的流程示意图为当NFCC接收到的LLC PDU为第二NFC设备或DH发送的第一CONNECT PDU时的基于逻辑链路控制协议LLCP的服务发现方法的流程示意图,且图3中的NFCC为第一NFC设备的NFCC,图3中的DH为第一NFC设备中的DH。如图3所示,该基于逻辑链路控制协议LLCP的服务发现方法可以包括以下步骤:
S301、NFCC通过CORE_INIT_RSP向DH上报用于表示NFCC具有执行服务发现过程能力的能力信息。
本发明实施例中,NFCC上报能力信息的具体方式如上面实施例所述,这里不再赘述。本发明实施例仅以此为例进行描述,当然,还可以采用如上实施例所述的其他上报方式。
S302、NFCC接收上述DH通过CORE_SET_CONFIG_CMD配置的服务信息。
本发明实施例中,NFCC接收DH发送的服务信息的方式同前面的实施例所述,这里不再赘述。
S303、NFCC接收上述DH发送的开启命令,以开启NFCC执行服务发现过程的能力。
本发明实施例中,NFCC接收DH发送的开启命令的方式同前面的实施例所述,这里不再赘述。
S304、NFCC接收第二NFC设备或DH发送的LLC PDU。
S305、NFCC通过上述LLC PDU包头中的类型标识判断上述LLC PDU是否为第一CONNECT PDU。
本发明实施例,当步骤S305的判断结果为是时,NFCC执行步骤S306;当步骤S305的判断结果为否时,NFCC判断上述LLC PDU是否为第二设备发送的SNL PDU或第二设备发送AGF PDU,若是,则NFCC执行对应的操作,如当上述LLC PDU为第二设备发送的SNL PDU时,NFCC执行图2所示的步骤S206~S208对应的操作,若否,则NFCC判断上述LLC PDU对应的功能能否在当前已激活的射频接口(即NCI协议定义的RFInterface,具体请见NCI协议,这里不再赘述)下作为射频接口功能扩展在NFCC上进行处理,若能,则NFCC直接处理后应答,若不能,则当上述LLC PDU为第二NFC设备发送的PDU时,NFCC直接将上述LLC PDU转发至DH,当上述LLC PDU为DH发送的PDU时,NFCC直接将上述LLC PDU发送至第二NFC设备。
S306、当上述LLC PDU为第一CONNECT PDU时,NFCC判断该第一CONNECT PDU的包头中的DSAP字段的值是否等于预设值01h。
本发明实施例中,当步骤S306的判断结果为是时,NFCC执行步骤S307;当步骤S306的判断结果为否且上述第一CONNECT PDU为第二NFC设备发送的PDU时,NFCC判断上述第一CONNECT PDU对应的功能能够在当前已激活的射频接口(即NCI协议定义的RF Interface,具体请见NCI协议,这里不再赘述)下作为射频接口功能扩展在NFCC上进行处理,若能,则NFCC直接处理后应答,若否,则NFCC直接将上述LLC PDU转发至DH;当步骤S306的判断结果为否且上述第一CONNECT PDU为DH发送的PDU时,NFCC直接将上述第一CONNECT PDU发送至第二NFC设备。
S307、当上述DSAP字段的值等于预设值01h时,NFCC判断是否能够从上述第一CONNECT PDU的信息字段中解析出第二SN。
本发明实施例中,当步骤S307的判断结果为是时,NFCC执行步骤S308;当步骤S307的判断结果为否且上述第一CONNECT PDU为第二NFC设备发送的PDU时,NFCC不对上述第一CONNECT PDU进行应答,或直接生成包含错误指示的应答信息并将该应答信息返回至第二NFC设备;当步骤S306的判断结果为否且上述第一CONNECT PDU为DH发送的PDU时,NFCC不对上述第一CONNECT PDU进行应答,或直接生成包含错误指示的应答信息并将该应答信息返回至DH。
S308、当解析出第二SN时,NFCC生成包括上述第二SN的第二SDREQ,并将该第二SDREQ通过SNL PDU发送至第二NFC设备。
S309、NFCC接收第二NFC设备响应上述第二SDREQ发送的包括第二SDRES的SNLPDU。
本发明实施例中,该第二SDRES中包括第二SAP,其中,第二SAP可以是第二NFC设备的NFCC为上述第二SN分配的SAP,也可以是第二NFC设备的NFCC从该NFCC存储的服务信息中查询出的与上述第二SN对应的SAP,本发明实施例不做限定。
本发明实施例中,步骤S306及步骤S307为NFCC判断是否需要执行服务发现过程的步骤,步骤S308以及步骤S309为NFCC执行服务发现过程的步骤。
作为一种可选的实施方式,当上述第一CONNECT PDU为DH发送的PDU时,NFCC在执行完毕步骤S309之后,NFCC还可以执行以下操作:
NFCC生成第二CONNECT PDU,并将该第二CONNECT PDU发送至第二NFC设备,其中,该第二CONNECT PDU中的DSAP为上述第二SDRES中的第二SAP,且当上述第一CONNECT PDU的包头中的源服务访问点(SSAP,Source Service Access Point)字段的值为无效值(如00h或01h等)时,该第二CONNECT PDU中的SSAP为NFCC从上述服务信息中查询出的与上述第二SN对应的第三SAP,当上述第一CONNECT PDU的包头中的SSAP字段的值为有效值时,该第二CONNECT PDU中的SSAP为上述第一CONNECT PDU的包头中的SSAP。
本发明实施例中,对于上述步骤S306-S307,NFCC在确定接收到的LLC PDU是DH发送的CONNECT PDU之后,还可以判断该CONNECT PDU的包头中的DSAP是否为01h且SSAP是否为有效值(即非00h以及非01h的其它值),如果是,则NFCC可以直接将该CONNECT PDU发送给对端的第二NFC设备,也可以先判断该CONNECT PDU的信息字段中的SN与该CONNECT PDU的包头中的SSAP是否为NFCC中保存的服务信息中的一对,若是,则将该CONNECT PDU发送给对端的第二NFC设备,若否,则执行上述步骤S308-S309所述的服务发现过程以及上述重新生成CONNECT PDU的操作;如果该CONNECT PDU的包头中的DSAP为01h且SSAP为非有效值(如00h或01h),则NFCC可以直接将该CONNECT PDU发送给第二NFC设备,也可以执行上述步骤S308-S309所述的服务发现过程以及上述重新生成CONNECT PDU的操作,还可以在解析出该CONNECT PDU的信息字段中的SN后为其查找到对应的SAP或为其分配对应的SAP,然后执行上述重新生成CONNECT PDU的操作;如果该CONNECT PDU的包头中的DSAP为非00h以及非01h的其它值,则NFCC直接将该CONNECT PDU发送给对端的第二NFC设备。
作为另一种可选的实施方式,当上述第一CONNECT PDU为DH发送的PDU时,NFCC在执行完毕步骤S309之后,NFCC还可以执行以下操作:
NFCC将NFCC执行服务发现过程的结果(即上述第二SDRES中的第二SAP)以及用于重新生成CONNECT PDU的请求消息上报至DH,接收DH重新生成的CONNECT PDU并将该重新生成的CONNECT PDU发送至第二NFC设备,其中,该重新生成的CONNECT PDU中的DSAP为上述第二SDRES中的第二SAP。
作为一种可选的实施方式,当上述第一CONNECT PDU为第二NFC设备发送的PDU时,NFCC在执行完毕步骤S309之后,NFCC还可以执行以下操作:
NFCC生成连接完成协议数据单元(CC PDU,CONNECT Complete PDU),并将该CCPDU发送至第二NFC设备,其中,该CC PDU中的SSAP为上述服务信息中与上述第二SN对应的第四SAP,该CC PDU中的DSAP为上述第二SDRES中的第二SAP,且该CC PDU用于指示第一NFC设备与第二NFC设备间的数据链路连接建立成功;
NFCC将上述第一CONNECT PDU对应的指示信息以及用于指示数据链路连接建立成功的指示信息发送至DH,其中,上述第一CONNECT PDU对应的指示信息可以包括但不限于上述第二SAP,或者上述第二SAP与上述第一CONNECT PDU的PDU类型,其中,上述第一CONNECTPDU的PDU类型用于表示第二NFC设备请求建立与第一NFC设备之间的数据链路连接。
本发明实施例中,对于上述步骤S306-S307,NFCC在确定接收到的LLC PDU是对端的第二NFC设备发送的CONNECT PDU之后,还可以判断该CONNECT PDU的包头中的DSAP是否为01h且SSAP是否为有效值(即非00h以及非01h的其它值),如果是,即该DSAP为01h且SSAP为有效值,则NFCC可以直接执行上述步骤S307-S309,也可以在解析出该CONNECT PDU的信息字段中的SN后为其查找到对应的SAP或为其分配对应的SAP,然后直接转发给DH;如果该DSAP为01h且SSAP为非有效值,则NFCC可以直接执行上述步骤S307-S309以及上述生成与应答CC PDU的操作;如果该DSAP为非00h以及非01h的其它值,且SSAP为有效值,则NFCC可以将该CONNECT PDU直接转发给DH;如果该DSAP为非00h以及非01h的其它值,且SSAP为非有效值,则NFCC可以在从NFCC保存的服务信息中为该DSAP查找到对应的SN之后执行上述步骤S308-S309以及上述生成与应答CC PDU的操作。
作为另一种可选的实施方式,当上述第一CONNECT PDU为第二NFC设备发送的PDU时,NFCC在执行完毕步骤S309之后,NFCC还可以执行以下操作:
NFCC将NFCC执行服务发现过程的结果以及上述第一CONNECT PDU对应的指示信息上报给DH,以等待DH生成CC PDU,其中,上述第一CONNECT PDU对应的指示信息可以包括但不限于上述第二SAP,或者上述第二SAP与上述第一CONNECT PDU的PDU类型,其中,上述第一CONNECT PDU的PDU类型用于表示第二NFC设备请求建立与第一NFC设备之间的数据链路连接。
当然,上述第一CONNECT PDU对应的指示信息还可以是第一CONNECT PDU,本发明对此不进行限定。
本发明实施例中,当上述LLC PDU为第二NFC设备发送的AGF PDU时,NFCC将该AGFPDU的信息字段中的每个LLC PDU解析出来,然后对解析出来的每个SNL PDU执行图2中的步骤S206~步骤S208对应的操作,对解析出来的每个CONNECT PDU执行图3中的步骤S306~步骤S309对应的操作。此外,NFCC也可以对DH发送的AGF PDU进行解析,若解析出该AGF PDU中包括CONNECT PDU,则NFCC也可以针对解析出的每个CONNECT PDU执行图3中的步骤S306-S309对应的操作。
本发明实施例减少了NFCC与DH之间的交互次数,即NFCC执行服务发现过程,从而无需与DH进行交互,减少了DH的资源开销。此外,虽然在NFCC执行服务发现过程中需要NFCC具有解析LLC PDU的能力,但NFCC只需先对LLC PDU的包头进行解析,然后再针对个别LLCPDU进行解析,如包含SN的CONNECT PDU,并不是要对LLCP规定的所有(目前有14种)LLC PDU的信息字段全都进行解析,因此,NFCC解析个别LLC PDU带来的NFCC的开销较小,不会影响RF通信,且本发明实施例还能够使NFCC分担DH的一部分功能,如服务发现过程,也符合点对点模式下DH与NFCC之间逻辑接口向上层发展的趋势。另外,本实施例中,双方在传送上层信息之前,即使DH处于休眠状态,NFCC一样可以完成服务发现过程,从而为后续交互上层信息做好准备。
请参阅图4,图4是本发明实施例公开的又一种基于逻辑链路控制协议LLCP的服务发现方法的流程示意图。其中,图4所示的流程示意图为NFCC在激活某个射频接口(如LLCP高射频接口)之前执行基于逻辑链路控制协议LLCP的服务发现方法的流程示意图,且图4中的NFCC为第一NFC设备的NFCC,图4中的DH为第一NFC设备中的DH。如图4所示,该基于逻辑链路控制协议LLCP的服务发现方法可以包括以下步骤:
S401、NFCC向DH上报用于表示NFCC支持LLCP高射频接口的指示信息。
本发明实施例中,NFCC可以通过上述实施例中的表1向DH上报自身支持LLCP高射频接口的指示信息,示例地,通过表1中第n(n=1,2…)个支持的射频接口字段中占1个字节的射频接口的值来表示该指示信息,当该值为0x04时,表示支持LLCP高射频接口,如下表8所示:
表8:射频接口(RF Interfaces)
射频接口的值 | 意义 |
…… | …… |
0x04 | LLCP高射频接口(LLCP High RF Interface) |
…… | …… |
其中,上述表8是NCI协议的表格131,本发明实施例中的0x04以及对应的LLCP高射频接口是在NCI协议的表格131中新增的内容。
S402、NFCC接收上述DH通过CORE_SET_CONFIG_CMD配置的服务信息。
本发明实施例中,NFCC接收DH发送的服务信息的方式同前面的实施例所述,这里不再赘述。
S403、NFCC在RF发现过程中完成LLCP链路激活。
本发明实施例中,所述LLCP链路激活的具体过程请参考NFC论坛定义的LLCP协议,此处不再赘述。
S404、NFCC接收第二NFC设备发送的LLC PDU。
S405、NFCC确定上述LLC PDU的类型。
本发明实施例中,同上述实施例的方式相同,NFCC可以通过LLC PDU的包头中的类型标识PTYPE来判断该LLC PDU是哪种类型的PDU。当上述LLC PDU为SNL PDU时,NFCC执行步骤S406;当上述LLC PDU为CONNECT PDU时,NFCC执行步骤S413;当上述LLC PDU为包括至少一个SNL PDU和/或至少一个CONNECT PDU的AGF PDU时,NFCC首先将该AGF PDU的信息字段中的每个LLC PDU解析出来,当解析出的LLC PDU为SNL PDU时,NFCC执行步骤S406,当解析出的LLC PDU为CONNECT PDU时,NFCC执行步骤S413;此外,当上述LLC PDU为其他任意一种类型的PDU时,NFCC可以执行步骤S412(图4中未示出)。
S406、NFCC判断LLC PDU的信息字段中包含的参数是否为SDREQ。
本发明实施例中,当步骤S406的判断结果为是时,NFCC执行步骤S407;当步骤S406的判断结果为否时,NFCC执行步骤S412。
S407、NFCC从上述服务信息中查找与上述SDREQ包括的SN对应的SAP。
本发明实施例中,上述服务信息的获取方式同上述实施例,这里不再赘述。
S408、NFCC判断是否能够查找到与上述SDREQ包括的SN对应的SAP。
本发明实施例中,当步骤S408的判断结果为是时,NFCC执行步骤S409;当步骤S408的判断结果为否时,NFCC执行步骤S411。
需要说明的是,本发明实施例中,当本步骤判断结果为否时,NFCC也可以为该SN分配一个对应的SAP,然后执行步骤S409。
S409、NFCC生成包括上述SAP的SDRES,并将该SDRES通过SNL PDU返回至第二NFC设备,并等待第二NFC设备发送的其它LLC PDU。
S410、NFCC激活LLCP高射频接口并上报至上述DH。
S411、NFCC不进行应答,或直接生成包含错误指示的应答信息并将该应答信息返回至第二NFC设备。
S412、NFCC对LLC PDU进行处理,并激活LLCP高射频接口。
S413、NFCC判断LLC PDU的包头中的DSAP字段的值是否等于01h。
本发明实施例中,当步骤S413的判断结果为是时,NFCC执行步骤S414;当步骤S413的判断结果为否时,NFCC执行步骤S412。
需要说明的是,对于CONNECT PDU的判断过程,还可以采用上述实施例中所述的其他方式,这里不再赘述。
S414、NFCC判断是否能够从LLC PDU的信息字段中解析出SN。
本发明实施例中,当步骤S414的判断结果为是时,NFCC执行步骤S415;当步骤S414的判断结果为否时,NFCC执行步骤S411。
S415、NFCC从上述服务信息中查找上述SN和/或与上述SN对应的SAP。
需要说明的是,本步骤的目的是,NFCC为了检查第一NFC设备上是否有服务名称为上述SN的服务,或者更进一步地,检查第一NFC设备是否为服务名称为上述SN的服务分配了对应的SAP。
S416、NFCC判断是否能够查找到上述SN和/或与上述SN对应的SAP。
本发明实施例中,当步骤S416的判断结果为是时,NFCC执行步骤S417;当步骤S416的判断结果为否时(即NFCC没有查找到服务名称为上述SN的服务,或者,没有查找到服务名称为上述SN的服务对应的SAP),NFCC执行步骤S420。
S417、NFCC执行服务发现过程,即生成包括上述SN的SDREQ,将该SDREQ通过SNLPDU发送至第二NFC设备,并接收第二NFC设备响应于上述SDREQ而发送的包括SDRES的SNLPDU。
本发明实施例中,该SDRES包括第二NFC设备的NFCC从该NFCC中存储的服务信息中查询出的与步骤S416中的SN对应的SAP,或第二NFC设备的NFCC为步骤S416中的SN分配的SAP。
S418、NFCC激活LLCP高射频接口并上报至DH。
本发明实施例中,NFCC激活LLCP高射频接口的方式与NCI协议中定义的激活其他射频接口的方式相似,激活射频接口之后上报DH的方式也相似,这里不再赘述。
S419、NFCC将执行服务发现过程的结果及所接收或解析出的CONNECT PDU发送至DH,或根据上述SDRES修改所接收或解析出的CONNECT PDU(即将该CONNECT PDU中的DSAP更新为上述所接收SDRES中的SAP)并发送至DH,以使DH生成CC PDU进行应答;或者生成CC PDU并将该CC PDU发送至第二NFC设备,然后将LLC PDU对应的指示信息(同上述实施例中的LLCPDU对应的指示信息,这里不再赘述)以及用于指示数据链路连接建立成功的指示信息发送至DH。
S420、NFCC生成包含拒绝原因的断开模式协议数据单元(DM PDU,DisconnectedMode Protocol Data Unit),并将该DM PDU发送至第二NFC设备。
需要说明的是,该DM PDU中的拒绝原因用来表示第一NFC设备不与第二NFC设备建立数据链路连接的具体原因。
实施本发明实施例能够使NFCC在激活NFCC支持的LLCP高射频接口之前执行服务发现过程,且在执行完服务发现过程之后激活LLCP高射频接口并上报至DH,因此,可以在激活射频接口之前减少DH与NFCC之间的交互,减少DH的资源开销,能使NFCC在一定程度上与对端NFC设备进行自由交互,即,能够使NFCC分担DH的一部分功能,如服务发现过程,也符合了点对点模式下DH与NFCC之间逻辑接口向上层发展的趋势。
请参阅图5,图5是本发明实施例公开的一种NFC控制器的结构示意图。其中,图5所示的NFC控制器为第一NFC设备中的NFC控制器,且该第一NFC设备还包括DH。如图5所示,该NFC控制器可以包括通信模块501、第一判断模块502、第二判断模块503以及执行模块504,其中:
通信模块501,用于接收LLC PDU。
本发明实施例中,通信模块501可以由用于与DH进行通信的第一通信子模块5011以及用于与第二NFC设备进行通信的第二通信子模块5012组成,此时,通信模块501的结构示意图可以如图10所示,图10是本发明实施例公开的一种NFC控制器中通信模块的结构示意图。且通信模块501接收LLC PDU的具体方式为:第一通信子模块5011接收DH发送的LLCPDU,第二通信子模块5012接收第二NFC设备发送的LLC PDU。
第一判断模块502,用于根据上述LLC PDU的包头中的类型标识判断上述LLC PDU是否为目标LLC PDU。
本发明实施例中,当第一判断模块502的判断结果为是时,第二判断模块503判断是否需要执行服务发现过程;当第一判断模块502的判断结果为否且上述LLC PDU为第二NFC设备发送的PDU时,NFC控制器可以通过通信模块501的第一通信子模块5011将上述LLCPDU发送至上述DH,或当上述LLC PDU对应的功能能够在当前已激活的射频接口(即NCI协议定义的RF Interface,具体请见NCI协议,这里不再赘述)下可作为射频接口功能扩展(即NCI协议定义的RF Interface Extension,具体请见NCI协议,这里不再赘述)在NFC控制器上处理时,NFC控制器直接对上述LLC PDU进行处理并应答;当第一判断模块502的判断结果为否且上述LLC PDU为上述DH发送的PDU时,NFC控制器可以通过通信模块501的第二通信子模块5012将上述LLC PDU发送至第二NFC设备。
本发明实施例中,目标LLC PDU可以包括但不限于上述DH或第二NFC设备发送的第一CONNECT PDU、第二NFC设备发送的SNL PDU或第二NFC设备发送的聚合帧协议数据单元(AGF PDU,Aggregated Frame PDU)等,其中,AGF PDU中可以包括CONNECTPDU和/或SNLPDU,本发明实施例不做限定。
第二判断模块503,用于当第一判断模块502的判断结果为是时,判断是否需要执行服务发现过程。
本发明实施例中,当第二判断模块503的判断结果为是时,NFC控制器的执行模块504执行服务发现过程;当第二判断模块503的判断结果为否且上述LLC PDU为第二NFC设备发送的LLC PDU时,NFC控制器可以通过通信模块501的第一通信子模块5011将上述LLC PDU发送至上述DH;当第二判断模块503的判断结果为否且上述LLC PDU为上述DH发送的LLCPDU时,NFC控制器通过通信模块501的第二通信子模块5012将上述LLCPDU发送至第二NFC设备。
执行模块504,用于当第二判断模块503的判断结果为是时,执行服务发现过程。
作为一种可选的实施方式,通信模块501的第一通信子模块5011还可以用于在执行模块504执行服务发现过程之前,接收上述DH发送的开启命令,其中,该开启命令用于命令NFC控制器开启执行服务发现过程的功能,且通信模块501的第一通信子模块5011接收上述DH发送的开启命令的前提为上述DH确定NFC控制器具有执行服务发现过程的能力,上述DH确定NFC控制器具有执行服务发现过程的能力的具体方式包括但不限于以下两种:一、上述DH在确定需要由NFC控制器执行服务发现过程之前主动向NFC控制器发送用于查询NFC控制器是否具有执行服务发现过程的能力的查询请求,以使NFC控制器响应该查询请求并通过通信模块501的第一通信子模块5011向上述DH上报能力信息,该能力信息用于指示NFC控制器具有执行服务发现过程的能力;二、在NFC控制器初始化时,NFC控制器通过通信模块501的第一通信子模块5011向上述DH上报能力信息,该能力信息用于指示NFCC具有执行服务发现过程的能力。本发明实施例中,NFC控制器的通信模块501的第一通信子模块5011接收上述DH发送的开启命令的前提是帧射频接口、NFC-DEP射频接口或者LLCP高射频接口已经被激活。
作为另一种可选的实施方式,在图5所示的NFC控制器的结构的基础上,NFC控制器还可以包括确定模块505,且包括确定模块505的NFC控制器的结构如图6所示,图6是本发明实施例公开的另一种NFC控制器的结构示意图,其中:
确定模块505,用于确定NFC控制器具有执行服务发现过程的能力。
本发明实施例中,当确定模块505确定NFC控制器具有执行服务发现过程的能力时,在执行模块504执行服务发现过程之后,NFC控制器可以激活上述LLCP高射频接口并通过通信模块501的第一通信子模块5011上报至上述DH。
作为一种可选的实施方式,通信模块501的第一通信子模块5011还可以用于在接收LLC PDU之前,向上述DH上报能力信息,其中,该能力信息用于指示NFC控制器具有执行服务发现过程的能力。
本发明实施例中,通信模块501的第一通信子模块5011向上述DH上报能力信息的具体方式如上面实施例所示,这里不再赘述。
作为一种可选的实施方式,当通信模块501接收到的LLC PDU为第二NFC设备发送的SNL PDU时,第二判断模块503判断是否需要执行服务发现过程的具体方式可以为:
判断上述SNL PDU的信息字段中包含的参数是否为第一SDREQ,若是,则确定需要执行服务发现过程,若否,则不需要执行服务发现过程。
执行模块504执行服务发现过程的具体方式可以为:
从预先存储的服务信息中确定出与上述第一SDREQ包括的第一SN对应的第一SAP,其中,该服务信息包括至少一个SN以及每个SN对应的SAP;
生成包括上述第一SAP的第一SDRES,并通过通信模块501的第二通信子模块5012将上述第一SDRES发送至第二NFC设备。
本发明实施例中,该服务信息可以为通信模块501的第一通信子模块5011接收到的、上述DH在接收到能力信息后直接为NFC控制器配置的服务信息,其中,通信模块501的第一通信子模块5011接收DH发送的服务信息的方式如上面实施例所述,这里不再赘述,也可以是通信模块501的第一通信子模块5011接收到的、上述DH发送的开启命令中包括的服务信息。其中,该服务信息可以包括至少一个SN,也可以包括至少一个SN以及与每个SN对应的SAP,还可以包括一个或多个SN以及与该一个或多个SN的部分SN中每个SN分别对应的SAP,本发明实施例不做限定,且当该服务信息包括至少一个SN时,在通信模块501的第一通信子模块5011接收到服务信息之后,NFC控制器为服务信息中的每个SN分配对应的SAP。
作为一种可选的实施方式,当上述LLC PDU为上述第一CONNECT PDU时,第二判断模块503判断是否需要执行服务发现过程的具体方式为:
判断上述第一CONNECT PDU的包头中的DSAP字段的值是否等于预设值01h,当该DSAP字段的值等于预设值01h时,判断是否能够从上述第一CONNECT PDU的信息字段中解析出第二SN。
当第二判断模块503判断出能够从上述第一CONNECT PDU的信息字段中解析出第二SN时,执行模块504执行服务发现过程的具体方式为:
生成包括上述第二SN的第二SDREQ,并通过通信模块501的的第二通信子模块5012将该第二SDREQ发送至第二NFC设备,然后通过通信模块501的第二通信子模块5012接收第二NFC设备响应该第二SDREQ发送的第二SDRES,其中,该第二SDRES中包括第二SAP,且第二SAP可以是第二NFC设备的NFC控制器为上述第二SN分配的SAP,也可以是第二NFC设备的NFC控制器从存储的服务信息中查询出的与上述第二SN对应的SAP。
作为一种可选的实施方式,在图5所示的NFC控制器的结构的基础上,NFC控制器还可以包括第一生成模块506,且包括第一生成模块506的NFC控制器的结构如图7所示,图7是本发明实施例公开的又一种NFC控制器的结构示意图,其中:
第一生成模块506,用于当上述第一CONNECT PDU由上述DH发送时且在执行模块504执行服务发现过程之后,生成第二CONNECT PDU,其中,第二CONNECT PDU中的SSAP为上述第一CONNECT PDU中的SSAP或图7所示的NFC控制器从预先存储的服务信息中查询出的与上述第二SN对应的第三SAP,第二CONNECT PDU中的DSAP为上述第二SAP,且该服务信息包括至少一个SN以及每个SN对应的SAP,该服务信息是通信模块501的第一通信子模块5011接收到的、上述DH配置的服务信息,且通信模块501的第一通信子模块5011接收服务信息的具体方式如上面实施例所述,这里不再赘述。
本发明实施例中,通信模块501的第二通信子模块5012,还可以用于将上述第二CONNECT PDU发送至第二NFC设备。
本发明实施例中,当上述LLC PDU为DH发送的CONNECT PDU时,第二判断模块503还可以用于判断该CONNECT PDU的包头中的DSAP是否为01h且SSAP是否为有效值(即非00h以及非01h的其它值),如果是,则NFC控制器的通信模块501的第二通信子模块5012可以直接将该CONNECT PDU发送给对端的第二NFC设备,或第二判断模块503先判断该CONNECT PDU的信息字段中的SN与包头中的SSAP是否为NFC控制器中保存的服务信息中的一对,若是,则NFC控制器的通信模块501的第二通信子模块5012将该CONNECT PDU发送给对端的第二NFC设备,若否,则由执行模块504执行服务发现过程且在执行模块504执行服务发现过程之后,由第一生成模块506重新生成CONNECTPDU;如果该CONNECT PDU的包头中的DSAP为01h且SSAP为非有效值(如00h或01h),则NFC控制器的通信模块501的第二通信子模块5012可以直接将该CONNECT PDU发送给第二NFC设备,也可以由执行模块504执行服务发现过程且在执行模块504执行服务发现过程之后,由第一生成模块506重新生成CONNECT PDU,还可以在解析出该CONNECT PDU的信息字段中的SN后为其查找到对应的SAP或为其分配对应的SAP,然后由第一生成模块506重新生成CONNECT PDU;如果该CONNECT PDU的包头中的DSAP为非00h以及非01h的其它值,则NFC控制器的通信模块501的第二通信子模块5012直接将该CONNECTPDU发送给对端的第二NFC设备。
作为一种可选的实施方式,在图5所示的NFC控制器的结构的基础上,NFC控制器还可以包括第二生成模块507,且包括第二生成模块507的NFC控制器的结构如图8所示,图8是本发明实施例公开的又一种NFC控制器的结构示意图,其中:
第二生成模块507,用于当上述第一CONNECT PDU由第二NFC设备发送时且在执行模块504执行服务发现过程之后,生成CC PDU,其中,该CC PDU中的SSAP为预先储存的服务信息中与上述第二SN对应的第四SAP,该CC PDU中的DSAP为上述第二SAP,且CC PDU用于指示第一NFC设备与第二NFC设备间的数据链路连接建立成功,且该服务信息包括至少一个SN以及每个SN对应的SAP,该服务信息是通信模块501的第一通信子模块5011接收到的、上述DH配置的服务信息,且通信模块501的第一通信子模块5011接收服务信息的具体方式如上面实施例所述,这里不再赘述。
本发明实施例中,通信模块501的第二通信子模块5012,还可以用于将上述CC PDU发送至第二NFC设备,且通信模块501的第一通信子模块5011还可以用于将上述第一CONNECT PDU对应的指示信息以及用于指示上述数据链路连接建立成功的指示信息发送至上述DH,其中,上述第一CONNECT PDU对应的指示信息可以包括但不限于上述第二SAP以及上述第一CONNECT PDU的PDU类型,其中,上述第一CONNECT PDU的PDU类型用于表示第二NFC设备请求建立与第一NFC设备之间的数据链路连接。
本发明实施例中,当通信模块501接收到的LLC PDU是对端的第二NFC设备发送的CONNECT PDU之后,第二判断模块503还可以判断该CONNECT PDU的包头中的DSAP是否为01h且SSAP是否为有效值(即非00h以及非01h的其它值),如果是,即该DSAP为01h且SSAP为有效值,则NFC控制器的执行模块504执行服务发现过程,也可以在解析出该CONNECT PDU的信息字段中的SN后为其查找到对应的SAP或为其分配对应的SAP,然后由通信模块501的第一通信子模块5011直接转发给DH;如果该DSAP为01h且SSAP为非有效值,则由执行模块504执行上服务发现过程,并在服务发现过程执行完毕后,由第二生成模块507生成CC PDU并由通信模块501的第二通信子模块5012将该CC PDU发送至对端的第二NFC设备;如果该DSAP为非00h以及非01h的其它值,且SSAP为有效值,则NFC控制器的通信模块501的第一通信子模块5011可以将该CONNECT PDU直接转发给DH;如果该DSAP为非00h以及非01h的其它值,且SSAP为非有效值,则NFC控制器可以在从NFCC保存的服务信息中为该DSAP查找到对应的SN之后,由执行模块504执行服务发现过程,然后由第二生成模块507生成CC PDU,最后由通信模块501的第二通信子模块5012将该CC PDU发送至对端的第二NFC设备。
本发明实施例减少了NFC控制器与DH之间的交互次数,即NFCC执行服务发现过程,从而无需与DH进行交互,减少了DH的资源开销。此外,虽然NFC控制器在执行服务发现过程中需要具有解析LLC PDU的能力,但NFC控制器只需先对LLC PDU的包头进行解析,然后再针对个别LLC PDU进行解析,并不需要对LLCP规定的所有(目前有14种)LLC PDU的信息字段全都进行解析,因此,NFC控制器解析个别LLC PDU带来的NFCC的开销较小,不会影响RF通信,且本发明实施例还能够使NFC控制器分担DH的一部分功能,如服务发现过程,也符合点对点模式下DH与NFC控制器之间逻辑接口向上层发展的趋势。另外,本实施例中,双方在传送上层信息之前,即使DH处于休眠状态,NFCC一样可以完成服务发现过程,从而为后续交互上层信息做好准备。
请参阅图9,图9是本发明实施例公开的又一种NFC控制器的结构示意图。其中,图9所示的NFC控制器为第一NFC设备中的NFC控制器,且该第一NFC设备还包括DH。如图9所示,该NFC控制器可以包括:至少一个处理器901,如CPU,通信装置902,且该通信装置902可以包括用于与DH进行通信的第一通信子装置9021,如DH与NFCC之间的接口,该接口在上层可以支持NCI协议,在底层可以使用通用异步收发传输器(UART,Universal AsynchronousReceiver/Transmitter)、I2C总线(Inter-Integrated Circuit)或半双工串行外设接口(SPI,Serial Peripheral Interface)等传输数据,以及用于与第二NFC设备进行通信的第二通信子装置9022,如NFC控制器中的收发电路等,该收发电路中NFC天线的工作频率可以是13.56MHz,NFC控制器通过该NFC天线可以向第二NFC设备发送数据,也可以从第二NFC设备接收数据,存储器903以及至少一个通信总线904,存储器903可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),如至少一个磁盘存储器,可选的,存储器903还可以是至少一个位于远离前述处理器901的存储装置。其中:
通信总线904用于实现这些组件之间的连接通信。
通信装置902,用于接收LLC PDU。
具体的,通信装置902的第一通信子装置9021用于接收DH发送的LLC PDU,通信装置902的第二通信子装置9022用于接收第二NFC设备发送的LLC PDU。
存储器903中存储一组程序代码,且处理器901调用存储器903中存储的程序代码,用于执行以下操作:
根据上述LLC PDU的包头中的类型标识判断上述LLC PDU是否为目标LLC PDU,其中,该目标LLC PDU包括上述DH或第二NFC设备发送的第一CONNECT PDU、第二NFC设备发送的SNL PDU或第二NFC设备发送的AGF PDU,且AGF PDU中可以包括CONNECT PDU和/或SNLPDU,本发明实施例不做限定。
当上述LLC PDU为上述目标LLC PDU时,判断是否需要执行服务发现过程,若是,则执行服务发现过程。
在一个实施例中,当上述LLC PDU为第二NFC设备发送的SNL PDU时,处理器901判断是否需要执行服务发现过程的具体方式可以为:
判断上述SNL PDU的信息字段中包含的参数是否为第一SDREQ,当判断结果为是时,处理器901需要执行服务发现过程;
处理器901执行服务发现过程的具体方式可以为:
从预先存储的服务信息中确定出与上述第一SDREQ包括的第一SN对应的第一SAP,其中,该服务信息包括至少一个SN以及每个SN对应的SAP;
生成包括上述第一SAP的第一SDRES,并通过通信装置902的第二通信子装置9022将该第一SDRES发送至第二NFC设备。
在一个实施例中,当上述LLC PDU为上述第一CONNECT PDU时,处理器901判断是否需要执行服务发现过程的具体方式可以为:
判断上述第一CONNECT PDU的包头中的DSAP字段的值是否等于预设值01h,当该DSAP字段的值等于预设值01h时,判断是否能够从上述第一CONNECT PDU的信息字段中解析出第二SN,当解析出第二SN时,处理器901需要执行服务发现过程。
处理器901执行服务发现过程的具体方式为:
生成包括上述第二SN的第二SDREQ,并通过通信装置902的第二通信子装置9022将该第二SDREQ发送至第二NFC设备;
通过通信装置902的第二通信子装置9022接收第二NFC设备响应上述第二SDREQ发送的第二SDRES,其中,第二SDRES中包括第二SAP,且第二SAP可以是第二NFC设备的NFC控制器为上述第二SN分配的SAP,也可以是第二NFC设备的NFC控制器从存储的服务信息中查询出的与上述第二SN对应的SAP。
在一个实施例中,处理器901用于调用存储器903中存储的程序代码,还用于执行以下操作:
当上述第一CONNECT PDU由上述DH发送时且在执行服务发现过程之后,生成第二CONNECT PDU,其中,该第二CONNECT PDU中的SSAP为上述第一CONNECT PDU中的SSAP或NFC控制器从预先存储的服务信息中查询出的与上述第二SN对应的第三SAP,且该第二CONNECTPDU中的DSAP为上述第二SAP,该服务信息包括至少一个SN以及每个SN对应的SAP。
通信装置902的第二通信子装置9022,还可以用于将上述第二CONNECT PDU发送至第二NFC设备。
在一个实施例中,处理器901用于调用存储器903中存储的程序代码,还用于执行以下操作:
当上述第一CONNECT PDU由第二NFC设备发送时且在执行服务发现过程之后,生成CC PDU,其中,该CC PDU中的SSAP为预先储存的服务信息中与上述第二SN对应的第四SAP,该CC PDU中的DSAP为上述第二SAP,且该CC PDU用于指示第一NFC设备与第二NFC设备间的数据链路连接建立成功,该服务信息包括至少一个SN以及每个SN对应的SAP。
通信装置902的第二通信子装置9022,还可以用于将上述CC PDU发送至第二NFC设备,且通信装置902的第一通信子装置9021还可以用于将上述第一CONNECT PDU对应的指示信息以及用于指示上述数据链路连接建立成功的指示信息发送至上述DH,其中,该第一CONNECT PDU对应的指示信息可以包括但不限于第二SAP以及以及上述第一CONNECT PDU的PDU类型,其中,上述第一CONNECT PDU的PDU类型用于表示第二NFC设备请求建立与第一NFC设备之间的数据链路连接。
在一个实施例中,通信装置902的第一通信子装置9021,还可以用于在处理器901执行服务发现过程之前,接收上述DH发送的开启命令,其中,该开启命令用于命令NFC控制器开启执行服务发现过程的功能。
在一个实施例中,处理器901用于调用存储器903中存储的程序代码,还用于执行以下操作:
确定NFC控制器具有执行服务发现过程的能力。
在一个实施例中,通信装置902的第一通信子装置9021,还可以用于向上述DH上报能力信息,其中,该能力信息用于指示NFC控制器具有执行服务发现过程的能力。
在一个实施例中,上述服务信息可以为通信装置902的第一通信子装置9021接收到的、上述DH在接收到能力信息后直接为NFC控制器配置的服务信息,其中,通信装置902的第一通信子装置9021接收DH发送的服务信息的方式如上面实施例所述,这里不再赘述,也可以是通信装置902的第一通信子装置9021接收到的、上述DH发送的开启命令中包括的服务信息。其中,上述服务信息可以包括至少一个SN,也可以包括至少一个SN以及与每个SN对应的SAP,还可以包括一个或多个SN以及与该一个或多个SN的部分SN中每个SN分别对应的SAP,本发明实施例不做限定,且当该服务信息包括至少一个SN时,在通信装置902的第一通信子装置9021接收到服务信息之后,NFC控制器的处理器901为服务信息中的每个SN分配对应的SAP。
本发明实施例减少了NFC控制器与DH之间的交互次数,即NFCC执行服务发现过程,从而无需与DH进行交互,减少了DH的资源开销。此外,虽然NFC控制器在执行服务发现过程中需要具有解析LLC PDU的能力,但NFC控制器只需先对LLC PDU的包头进行解析,然后再针对个别LLC PDU进行解析,并不需要对LLCP规定的所有(目前有14种)LLC PDU的信息字段全都进行解析,因此,NFC控制器解析个别LLC PDU带来的NFCC的开销较小,不会影响RF通信,且本发明实施例还能够使NFC控制器分担DH的一部分功能,如服务发现过程,也符合点对点模式下DH与NFC控制器之间逻辑接口向上层发展的趋势。另外,本实施例中,双方在传送上层信息之前,即使DH处于休眠状态,NFCC一样可以完成服务发现过程,从而为后续交互上层信息做好准备。
需要说明的是,上述实施例中提到的NFC设备(第一NFC设备以及第二NFC设备)是具有NFC功能的或通过NFC论坛(NFC Forum)测试认证的设备,它可以包括但不限于移动电话、移动电脑、平板电报、个人数字助理(PDA,Personal Digital Assistant)或可穿戴式设备等,本发明实施例不做限定。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例NFC控制器中的模块以及子模块可以根据实际需要进行合并、划分和删减。
本发明实施例中所述模块以及子模块,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上对本发明实施例公开的一种基于逻辑链路控制协议LLCP的服务发现方法及NFC控制器进行了详细介绍,本文中应用了具体实例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (27)
1.一种基于逻辑链路控制协议LLCP的服务发现方法,所述方法应用于第一近场通信NFC设备的NFC控制器NFCC中,所述第一NFC设备还包括主机DH,其特征在于,所述方法包括:
所述NFCC接收逻辑链路控制协议数据单元LLC PDU;
所述NFCC根据所述LLC PDU的包头中的类型标识判断所述LLC PDU是否为目标LLCPDU,其中,所述目标LLC PDU包括所述DH或第二NFC设备发送的第一连接协议数据单元CONNECT PDU、所述第二NFC设备发送的服务名称发现协议数据单元SNL PDU或所述第二NFC设备发送的聚合帧协议数据单元AGF PDU;
当所述LLC PDU为所述目标LLC PDU时,所述NFCC基于所述LLC PDU判断是否需要执行服务发现过程;
若是,则所述NFCC执行所述服务发现过程。
2.根据权利要求1所述的方法,其特征在于,当所述LLC PDU为所述SNL PDU时,所述NFCC基于所述LLC PDU判断是否需要执行服务发现过程,包括:
所述NFCC判断所述SNL PDU的信息字段中包含的参数是否为第一服务发现请求SDREQ;
所述NFCC执行所述服务发现过程,包括:
所述NFCC从预先存储的服务信息中确定出与所述第一SDREQ包括的第一服务名称SN对应的第一服务访问点SAP,所述服务信息包括至少一个SN以及每个所述SN对应的SAP;
所述NFCC生成包括所述第一SAP的第一服务发现响应SDRES,并将所述第一SDRES发送至所述第二NFC设备。
3.根据权利要求1所述的方法,其特征在于,当所述LLC PDU为所述第一CONNECT PDU时,所述NFCC基于所述LLC PDU判断是否需要执行服务发现过程,包括:
所述NFCC判断所述第一CONNECT PDU的包头中的目的服务访问点DSAP字段的值是否等于预设值;
当所述DSAP字段的值等于所述预设值时,所述NFCC判断是否能够从所述第一CONNECTPDU的信息字段中解析出第二SN;
所述NFCC执行所述服务发现过程,包括:
所述NFCC生成包括所述第二SN的第二SDREQ,并将所述第二SDREQ发送至所述第二NFC设备;
所述NFCC接收所述第二NFC设备响应所述第二SDREQ发送的第二SDRES,所述第二SDRES中包括第二SAP。
4.根据权利要求3所述的方法,其特征在于,当所述第一CONNECT PDU由所述DH发送时,所述NFCC执行所述服务发现过程之后,所述方法还包括:
所述NFCC生成第二CONNECT PDU,并将所述第二CONNECT PDU发送至所述第二NFC设备,所述第二CONNECT PDU中的源服务访问点SSAP为所述第一CONNECT PDU中的SSAP或所述NFCC从预先存储的服务信息中查询出的与所述第二SN对应的第三SAP,所述第二CONNECTPDU中的DSAP为所述第二SAP,所述服务信息包括至少一个SN以及每个所述SN对应的SAP。
5.根据权利要求3所述的方法,其特征在于,当所述第一CONNECT PDU由所述第二NFC设备发送时,所述NFCC执行所述服务发现过程之后,所述方法还包括:
所述NFCC生成连接完成协议数据单元CC PDU,并将所述CC PDU发送至所述第二NFC设备,所述CC PDU中的SSAP为预先储存的服务信息中与所述第二SN对应的第四SAP,所述CCPDU中的DSAP为所述第二SAP,所述CC PDU用于指示所述第一NFC设备与所述第二NFC设备间的数据链路连接建立成功,所述服务信息包括至少一个SN以及每个所述SN对应的SAP;
所述NFCC将所述第一CONNECT PDU对应的指示信息以及用于指示所述数据链路连接建立成功的指示信息发送至所述DH,所述第一CONNECT PDU对应的指示信息包括所述第二SAP。
6.根据权利要求1所述的方法,其特征在于,所述AGF PDU包括至少一个SNL PDU和/或至少一个CONNECT PDU。
7.根据权利要求1所述的方法,其特征在于,所述NFCC执行所述服务发现过程之前,所述方法还包括:
所述NFCC接收所述DH发送的开启命令,所述开启命令用于命令所述NFCC开启执行所述服务发现过程的功能;或者,
所述NFCC确定所述NFCC具有执行所述服务发现过程的能力。
8.根据权利要求2、4或5所述的方法,其特征在于,所述服务信息是由所述DH发送给所述NFCC的。
9.根据权利要求1所述的方法,其特征在于,所述NFCC接收逻辑链路控制协议数据单元LLC PDU之前,所述方法还包括:
所述NFCC向所述DH上报能力信息,所述能力信息用于指示所述NFCC具有执行服务发现过程的能力。
10.一种NFC控制器,所述NFC控制器为第一NFC设备中的NFC控制器,所述第一NFC设备还包括DH,其特征在于,所述NFC控制器包括:
通信模块,用于接收LLC PDU;
第一判断模块,用于根据所述LLC PDU的包头中的类型标识判断所述LLC PDU是否为目标LLC PDU,其中,所述目标LLC PDU包括所述DH或第二NFC设备发送的第一CONNECT PDU、所述第二NFC设备发送的SNL PDU或所述第二NFC设备发送的AGF PDU;
第二判断模块,用于当所述第一判断模块的判断结果为是时,判断基于所述LLC PDU是否需要执行服务发现过程;
执行模块,用于当所述第二判断模块的判断结果为是时,执行服务发现过程。
11.根据权利要求10所述的NFC控制器,其特征在于,当所述LLC PDU为所述SNL PDU时,所述第二判断模块判断基于所述LLC PDU是否需要执行服务发现过程的具体方式为:
判断所述SNL PDU的信息字段中包含的参数是否为第一服务发现请求SDREQ;
所述执行模块执行服务发现过程的具体方式为:
从预先存储的服务信息中确定出与所述第一SDREQ包括的第一SN对应的第一SAP,所述服务信息包括至少一个SN以及每个所述SN对应的SAP;
生成包括所述第一SAP的第一SDRES,并通过所述通信模块将所述第一SDRES发送至所述第二NFC设备。
12.根据权利要求10所述的NFC控制器,其特征在于,当所述LLC PDU为所述第一CONNECT PDU时,所述第二判断模块判断基于所述LLC PDU是否需要执行服务发现过程的具体方式为:
判断所述第一CONNECT PDU的包头中的DSAP字段的值是否等于预设值;
当所述DSAP字段的值等于所述预设值时,判断是否能够从所述第一CONNECT PDU的信息字段中解析出第二SN;
所述执行模块执行服务发现过程的具体方式为:
生成包括所述第二SN的第二SDREQ,并通过所述通信模块将所述第二SDREQ发送至所述第二NFC设备;
通过所述通信模块接收所述第二NFC设备响应所述第二SDREQ发送的第二SDRES,所述第二SDRES中包括第二SAP。
13.根据权利要求12所述的NFC控制器,其特征在于,所述NFC控制器还包括第一生成模块,其中:
所述第一生成模块,用于当所述第一CONNECT PDU由所述DH发送时且在所述执行模块执行服务发现过程之后,生成第二CONNECT PDU,所述第二CONNECT PDU中的SSAP为所述第一CONNECT PDU中的SSAP或所述NFC控制器从预先存储的服务信息中查询出的与所述第二SN对应的第三SAP,所述第二CONNECT PDU中的DSAP为所述第二SAP,所述服务信息包括至少一个SN以及每个所述SN对应的SAP;
所述通信模块,还用于将所述第二CONNECT PDU发送至所述第二NFC设备。
14.根据权利要求12所述的NFC控制器,其特征在于,所述NFC控制器还包括第二生成模块,其中:
所述第二生成模块,用于当所述第一CONNECT PDU由所述第二NFC设备发送时且在所述执行模块执行服务发现过程之后,生成CC PDU,所述CC PDU中的SSAP为预先储存的服务信息中与所述第二SN对应的第四SAP,所述CC PDU中的DSAP为所述第二SAP,所述CC PDU用于指示所述第一NFC设备与所述第二NFC设备间的数据链路连接建立成功,所述服务信息包括至少一个SN以及每个所述SN对应的SAP;
所述通信模块,还用于将所述CC PDU发送至所述第二NFC设备,并将所述第一CONNECTPDU对应的指示信息以及用于指示所述数据链路连接建立成功的指示信息发送至所述DH,所述第一CONNECT PDU对应的指示信息包括所述第二SAP。
15.根据权利要求10所述的NFC控制器,其特征在于,所述AGF PDU包括至少一个SNLPDU和/或至少一个CONNECT PDU。
16.根据权利要求10所述的NFC控制器,其特征在于,所述通信模块,还用于在所述执行模块执行服务发现过程之前,接收所述DH发送的开启命令,所述开启命令用于命令所述NFC控制器开启执行所述服务发现过程的功能;或者,
所述NFC控制器还包括确定模块,其中:
所述确定模块,用于确定所述NFC控制器具有执行所述服务发现过程的能力。
17.根据权利要求11、13或14所述的NFC控制器,其特征在于,所述服务信息是由所述DH发送给所述NFC控制器的。
18.根据权利要求10所述的NFC控制器,其特征在于,所述通信模块,还用于向所述DH上报能力信息,所述能力信息用于指示所述NFC控制器具有执行服务发现过程的能力。
19.一种NFC控制器,包括存储器、处理器以及通信装置,所述NFC控制器为第一NFC设备中的NFC控制器,所述第一NFC设备还包括DH,其特征在于,
所述通信装置,用于接收LLC PDU;
所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,用于执行以下操作:
根据所述LLC PDU的包头中的类型标识判断所述LLC PDU是否为目标LLC PDU,其中,所述目标LLC PDU包括所述DH或第二NFC设备发送的第一CONNECT PDU、所述第二NFC设备发送的SNL PDU或所述第二NFC设备发送的AGF PDU;
当所述LLC PDU为所述目标LLC PDU时,判断基于所述LLC PDU是否需要执行服务发现过程,若是,则执行服务发现过程。
20.根据权利要求19所述的NFC控制器,其特征在于,当所述LLC PDU为所述SNL PDU时,所述处理器判断基于所述LLC PDU是否需要执行服务发现过程的具体方式为:
判断所述SNL PDU的信息字段中包含的参数是否为第一SDREQ;
所述处理器执行服务发现过程的具体方式为:
从预先存储的服务信息中确定出与所述第一SDREQ包括的第一SN对应的第一SAP,所述服务信息包括至少一个SN以及每个所述SN对应的SAP;
生成包括所述第一SAP的第一SDRES,并通过所述通信装置将所述第一SDRES发送至所述第二NFC设备。
21.根据权利要求19所述的NFC控制器,其特征在于,当所述LLC PDU为所述第一CONNECT PDU时,所述处理器判断基于所述LLC PDU是否需要执行服务发现过程的具体方式为:
判断所述第一CONNECT PDU的包头中的DSAP字段的值是否等于预设值;
当所述DSAP字段的值等于所述预设值时,判断是否能够从所述第一CONNECT PDU的信息字段中解析出第二SN;
所述处理器执行服务发现过程的具体方式为:
生成包括所述第二SN的第二SDREQ,并通过所述通信装置将所述第二SDREQ发送至所述第二NFC设备;
通过所述通信装置接收所述第二NFC设备响应所述第二SDREQ发送的第二SDRES,所述第二SDRES中包括第二SAP。
22.根据权利要求21所述的NFC控制器,其特征在于,所述处理器用于调用所述存储器中存储的程序代码,还用于执行以下操作:
当所述第一CONNECT PDU由所述DH发送时且在执行服务发现过程之后,生成第二CONNECT PDU,所述第二CONNECT PDU中的SSAP为所述第一CONNECT PDU中的SSAP或所述NFC控制器从预先存储的服务信息中查询出的与所述第二SN对应的第三SAP,所述第二CONNECTPDU中的DSAP为所述第二SAP,所述服务信息包括至少一个SN以及每个所述SN对应的SAP;
所述通信装置,还用于将所述第二CONNECT PDU发送至所述第二NFC设备。
23.根据权利要求21所述的NFC控制器,其特征在于,所述处理器用于调用所述存储器中存储的程序代码,还用于执行以下操作:
当所述第一CONNECT PDU由所述第二NFC设备发送时且在执行服务发现过程之后,生成CC PDU,所述CC PDU中的SSAP为预先储存的服务信息中与所述第二SN对应的第四SAP,所述CC PDU中的DSAP为所述第二SAP,所述CC PDU用于指示所述第一NFC设备与所述第二NFC设备间的数据链路连接建立成功,所述服务信息包括至少一个SN以及每个所述SN对应的SAP;
所述通信装置,还用于将所述CC PDU发送至所述第二NFC设备,并将所述第一CONNECTPDU对应的指示信息以及用于指示所述数据链路连接建立成功的指示信息发送至所述DH,所述第一CONNECT PDU对应的指示信息包括所述第二SAP。
24.根据权利要求19所述的NFC控制器,其特征在于,所述AGF PDU包括至少一个SNLPDU和/或至少一个CONNECT PDU。
25.根据权利要求19所述的NFC控制器,其特征在于,所述通信装置,还用于在所述处理器执行服务发现过程之前,接收所述DH发送的开启命令,所述开启命令用于命令所述NFC控制器开启执行所述服务发现过程的功能;或者,
所述处理器用于调用所述存储器中存储的程序代码,还用于执行以下操作:
确定所述NFC控制器具有执行所述服务发现过程的能力。
26.根据权利要求20、22或23所述的NFC控制器,其特征在于,所述服务信息是由所述DH发送给所述NFC控制器的。
27.根据权利要求19所述的NFC控制器,其特征在于,所述通信装置,还用于向所述DH上报能力信息,所述能力信息用于指示所述NFC控制器具有执行服务发现过程的能力。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/076693 WO2016165093A1 (zh) | 2015-04-16 | 2015-04-16 | 一种基于逻辑链路控制协议llcp的服务发现方法及nfc控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106664506A CN106664506A (zh) | 2017-05-10 |
CN106664506B true CN106664506B (zh) | 2019-11-12 |
Family
ID=57125624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580039545.6A Active CN106664506B (zh) | 2015-04-16 | 2015-04-16 | 一种基于逻辑链路控制协议llcp的服务发现方法及nfc控制器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10237902B2 (zh) |
EP (1) | EP3276984B1 (zh) |
JP (1) | JP6511540B2 (zh) |
KR (1) | KR101923093B1 (zh) |
CN (1) | CN106664506B (zh) |
WO (1) | WO2016165093A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009045085A1 (en) * | 2007-10-03 | 2009-04-09 | Samsung Electronics Co., Ltd. | Method and system for communication in near field communication network |
CN102457849A (zh) * | 2010-10-20 | 2012-05-16 | 诺基亚公司 | 具有带外启动的无线对接 |
CN103503323A (zh) * | 2013-03-05 | 2014-01-08 | 华为终端有限公司 | 近场通信射频通信方法、装置和终端设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5641323B2 (ja) * | 2010-11-29 | 2014-12-17 | ソニー株式会社 | 通信装置、通信方法、およびプログラム |
CN103430621A (zh) * | 2011-02-19 | 2013-12-04 | 三星电子株式会社 | 在近场通信对等通信环境中提供网络协议(ip)数据通信的方法和系统 |
US9326222B2 (en) * | 2011-09-23 | 2016-04-26 | Qualcomm Incorporated | Methods and apparatus for improving a NFCEE discovery process |
US9370040B2 (en) * | 2011-12-27 | 2016-06-14 | Qualcomm Incorporated | Methods and apparatus for improving NFC LLCP partitioning |
JP2014086923A (ja) * | 2012-10-24 | 2014-05-12 | Sony Corp | 集積回路、無線通信装置及びコンピュータプログラム |
WO2014156620A1 (ja) * | 2013-03-29 | 2014-10-02 | ソニー株式会社 | 集積回路、通信方法、コンピュータプログラム及び通信装置 |
KR102039522B1 (ko) * | 2013-06-03 | 2019-11-26 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 근거리 무선 통신(nfc)을 이용한 nfc 태그의 기록방법 및 장치 |
KR102300583B1 (ko) * | 2015-06-26 | 2021-09-09 | 삼성전자주식회사 | 비콘을 이용한 서비스 제공 방법 및 그 전자 장치 |
KR102453705B1 (ko) * | 2015-09-25 | 2022-10-11 | 삼성전자주식회사 | 호스트의 정당성 여부에 따라 선택적으로 결제 기능을 온(on)하는 결제 장치의 동작 방법 |
-
2015
- 2015-04-16 JP JP2017554340A patent/JP6511540B2/ja active Active
- 2015-04-16 US US15/566,974 patent/US10237902B2/en active Active
- 2015-04-16 CN CN201580039545.6A patent/CN106664506B/zh active Active
- 2015-04-16 KR KR1020177032783A patent/KR101923093B1/ko active IP Right Grant
- 2015-04-16 EP EP15888798.4A patent/EP3276984B1/en active Active
- 2015-04-16 WO PCT/CN2015/076693 patent/WO2016165093A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009045085A1 (en) * | 2007-10-03 | 2009-04-09 | Samsung Electronics Co., Ltd. | Method and system for communication in near field communication network |
CN102457849A (zh) * | 2010-10-20 | 2012-05-16 | 诺基亚公司 | 具有带外启动的无线对接 |
CN103503323A (zh) * | 2013-03-05 | 2014-01-08 | 华为终端有限公司 | 近场通信射频通信方法、装置和终端设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3276984B1 (en) | 2019-11-13 |
JP2018513643A (ja) | 2018-05-24 |
US20180084592A1 (en) | 2018-03-22 |
EP3276984A4 (en) | 2018-03-07 |
EP3276984A1 (en) | 2018-01-31 |
US10237902B2 (en) | 2019-03-19 |
KR20170137838A (ko) | 2017-12-13 |
CN106664506A (zh) | 2017-05-10 |
WO2016165093A1 (zh) | 2016-10-20 |
JP6511540B2 (ja) | 2019-05-15 |
KR101923093B1 (ko) | 2019-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10993166B2 (en) | Data transmission method, electronic device, and computer readable storage medium | |
US6826387B1 (en) | Efficient service registration for legacy applications in a bluetooth environment | |
CN113170521B (zh) | 用于管理承载的电子装置以及其操作方法 | |
CN106605371B (zh) | 一种调整近场通信nfc中数据包长度的方法、装置及系统 | |
CN103326749B (zh) | 一种nfc射频通信的控制方法、装置及系统 | |
WO2016058166A1 (zh) | 一种触发注册机协议交互的方法、接入点、站点 | |
AU2014408099A1 (en) | Routing method, near field communication controller, device host, and terminal | |
CN111182611B (zh) | 一种通信方法及装置 | |
TWI705681B (zh) | 增強型進程事務標識處理方法及使用者設備 | |
CN107454659B (zh) | 一种终端识别方法、系统、终端设备和基站 | |
CN106664506B (zh) | 一种基于逻辑链路控制协议llcp的服务发现方法及nfc控制器 | |
US11895571B2 (en) | Electronic device transmitting and/or receiving packet through network slice and method for operating the same | |
CN107404771B (zh) | 通信终端及请求扩展非连续接收参数的方法 | |
WO2022087796A1 (zh) | Zigbee设备的属性订阅方法、装置及设备 | |
JP2023546564A (ja) | 複数のシムをサポートする電子装置及びその動作方法 | |
CN114302381A (zh) | 一种pos终端与移动终端双模蓝牙兼容性提升方法 | |
US9077700B2 (en) | Authentication server, authentication method and computer program | |
JP2013062581A (ja) | 無線通信装置、対向機器および近距離無線通信システム | |
CN105828412A (zh) | 一种网络连接方法及装置 | |
CN106470414B (zh) | 访问sim卡的方法和装置 | |
CN116546475A (zh) | 蓝牙辅助连接方法及装置、存储介质、终端设备 | |
WO2022104806A1 (zh) | 异构网络设备的控制方法、装置、设备及存储介质 | |
KR20240078259A (ko) | 데이터 통신을 수행하는 전자 장치 및 그 동작 방법 | |
CN115397033A (zh) | 无线通信方法、装置、无线通信模组、介质及程序产品 | |
KR20220053309A (ko) | 복수 sim을 지원하는 전자 장치 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |