首页> 中国专利> 一种调整近场通信NFC中数据包长度的方法、装置及系统

一种调整近场通信NFC中数据包长度的方法、装置及系统

摘要

本发明实施例公开了一种调整近场通信NFC中数据包长度的方法、装置及系统,该方法包括第一NFC设备的NFCC判断是否由其负责确定后续通信中所传输的数据包的最大长度值,若是,则向第二NFC设备发送包含第一长度值的第一请求,该第一请求用于指示将第一NFC设备与第二NFC设备在后续通信中所传输的数据包的最大长度值调整为第一长度值,第一长度值是NFCC确定的一个值且第一请求还包含第一DID,接收到第二NFC设备针对该第一请求返回的包含第二DID的第一响应,当第一DID与第二DID相同时,将第一长度值作为后续通信中所传输的数据包的最大长度值。可见,实施本发明实施例能够通过NCI规范实现NFCC与作为目标方的NFC设备调整后续通信过程中的通信数据包的最大长度值的功能。

著录项

  • 公开/公告号CN106605371A

    专利类型发明专利

  • 公开/公告日2017-04-26

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201580045514.1

  • 发明设计人 赵晓娜;常新苗;

    申请日2015-05-26

  • 分类号

  • 代理机构广州三环专利代理有限公司;

  • 代理人郝传鑫

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 01:59:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-10

    授权

    授权

  • 2017-05-24

    实质审查的生效 IPC(主分类):H04B5/00 申请日:20150526

    实质审查的生效

  • 2017-04-26

    公开

    公开

说明书

技术领域

本发明实施例涉及近场通信(NFC,Near Field Communication)技术领域,具体涉及一种调整近场通信NFC中数据包长度的方法、装置及系统。

背景技术

NFC技术是一种短距离无线连接技术,其可以利用磁场感应实现具有NFC功能的电子设备(又称“NFC设备”)间的近距离通信,且NFC设备主要包括三个功能实体:主机(DH,Device Host)、NFC控制器(NFCC,NFC Controller)以及NFC执行环境(NFCEE,NFC Execution Environment)。在NFC技术中,NFC控制器接口(NCI,NFC Controller Interface)协议主要定义了实现NFC设备中DH与NFCC之间通信的逻辑接口,且两个以点对点(P2P,Peer-to-Peer)模式进行通信的NFC设备须遵守近场通信数据交换协议(NFC-DEP,NFC-Data Exchange Protocol)。

NFC论坛(NFC Forum)制定的Digital规范(其全称为NFC数字协议技术规范)规定,两个进行点对点通信的NFC设备在可以在通过NFC-DEP协议通信之前通过属性请求(ATR_REQ,Attribute Request)以及属性响应(ATR_RES,Attribute Response)来协商后续通信过程中传输的数据包的最大长度值LRI以及LRT,其中,LRI由作为发起方(initiator)的NFC设备设置且用于限制作为目标方(target)的NFC设备发送的数据包的长度,LRT由作为目标方的NFC设备设置且用于限制作为发起方的NFC设备发送的数据包的长度。之后,作为发起方的NFC设备还可以通过参数选择请求(PSL_REQ,Parameter Selection Request)与作为目标方的NFC设备调整后续通信过程中传输的数据包的最大长度值LR,其中,LR小于或等于LRI以及LRT,即LR为两个NFC芯片之间协商通信数据包长度的方法。

NCI协议是用来规定NFC芯片在与对端的NFC芯片通信时所使用的参数、命令等如何配置的。当前,NCI协议并没有给出指导NFC芯片如何利用Digital协议定义的PSL_REQ调整后续通信过程中传输的数据包的最大长度值LR这一 功能。

发明内容

本发明实施例公开了一种调整近场通信NFC中数据包长度的方法、装置及系统,能够通过NCI规范实现作为发起方的第一NFC设备通过其NFCC与作为目标方的第二NFC设备调整后续通信过程中传输的数据包的最大长度值的功能。

本发明实施例第一方面公开了一种调整近场通信NFC中数据包长度的方法,所述方法包括:

第一NFC设备的NFCC判断是否由所述NFCC负责确定后续通信中所传输的数据包的最大长度值;

如果是由所述NFCC负责确定后续通信中所传输的数据包的最大长度值,则所述NFCC向第二NFC设备发送包含第一长度值的第一请求,所述第一请求用于指示将所述第一NFC设备与所述第二NFC设备在后续通信中所传输的数据包的最大长度值调整为所述第一长度值,且所述第一请求还包含第一设备标识DID,所述第一长度值是所述NFCC确定的一个值;

所述NFCC接收所述第二NFC设备针对所述第一请求返回的第一响应,所述第一响应包含第二DID;

如果所述第一DID与所述第二DID相同,则所述NFCC将所述第一长度值作为后续通信中所传输的数据包的最大长度值。

在本发明实施例第一方面的第一种可能的实现方式中,所述判断是否由所述NFCC负责确定后续通信中所传输的数据包的最大长度值,包括:

判断第一参数的值是否为第一特定值,所述第一特定值用于表示后续通信中所传输的数据包的最大长度值由所述NFCC负责确定,其中,所述第一参数的值是所述NFCC的默认值,或者是由所述第一设备的DH配置给所述NFCC的值。

结合本发明实施例第一方面,在本发明实施例第一方面的第二种可能的实现方式中,所述方法还包括:

所述NFCC向所述第一NFC设备的DH发送包含所述第一长度值的第一通知,所述第一通知用于告知所述DH第一射频RF接口已被激活;

所述NFCC通过所述第一RF接口接收所述DH发送的数据消息,并以所述第一长度值作为所述最大长度值将所述数据消息中的负载封装成数据包;

所述NFCC将所述数据包发送至所述第二NFC设备。

结合本发明实施例第一方面的第一种可能的实现方式,在本发明实施例第一方面的第三种可能的实现方式中,所述方法还包括:

所述NFCC向所述DH发送包含所述第一长度值的第一通知,所述第一通知用于告知所述DH第一射频RF接口已被激活;

所述NFCC通过所述第一RF接口接收所述DH发送的数据消息,并以所述第一长度值作为所述最大长度值将所述数据消息中的负载封装成数据包;

所述NFCC将所述数据包发送至所述第二NFC设备。

结合本发明实施例第一方面、本发明实施例第一方面的第一种可能的实现方式、本发明实施例第一方面的第二种可能的实现方式或本发明实施例第一方面的第三种可能的实现方式,在本发明实施例第一方面的第四种可能的实现方式中,所述方法还包括:

如果不由所述NFCC负责确定后续通信中所传输的数据包的最大长度值,则所述NFCC不向所述第二NFC设备发送包含所述第一长度值的所述第一请求。

结合本发明实施例第一方面的第二种可能的实现方式或第三种可能的实现方式,在本发明实施例第一方面的第五种可能的实现方式中,所述第一请求是Digital规范中定义的参数选择请求PSL_REQ;

所述第一响应是所述Digital规范中定义的参数选择响应PSL_RES;

所述第一RF接口是NFC控制器接口NCI规范中定义的近场通信数据交换协议NFC-DEP射频接口;

所述第一通知是所述NCI规范中定义的射频接口激活通知RF_INTF_ACTIVATED_NTF。

本发明实施例第二方面公开了一种调整近场通信NFC中数据包长度的方法,所述方法包括:

第一NFC设备的NFCC接收所述第一NFC设备的DH发送的包含第一长度值的调整命令,所述调整命令用于指示所述NFCC调整后续通信过程中所传输的数据包的最大长度值;

所述NFCC向第二NFC设备发送包含所述第一长度值的第一请求,所述第一请求用于指示将所述第一NFC设备与所述第二NFC设备后续通信过程中所传输的数据包的最大长度值调整为所述第一长度值,所述第一请求还包含第一DID,所述第一长度值是所述NFCC确定的一个值;

所述NFCC接收所述第二NFC设备针对所述第一请求返回的第一响应,所述第一响应包含第二DID;

如果所述第一DID与所述第二DID相同,则所述NFCC将所述第一长度值作为后续通信中所传输的数据包的最大长度值。

在本发明实施例第二方面的第一种可能的实现方式中,所述方法还包括:

所述NFCC向所述DH发送包含状态指示和/或所述第一长度值的调整响应,所述状态指示用于表示所述NFCC已将所述最大长度值调整为所述第一长度值。

结合本发明实施例第二方面的第一种可能的实现方式,在本发明实施例第二方面的第二种可能的实现方式中,所述接收所述第一NFC设备的DH发送的包含第一长度值的调整命令之前,所述方法还包括:

所述NFCC激活第一RF接口,并向所述DH发送第一通知,所述第一通知用于告知所述DH所述第一RF接口已被激活。

结合本发明实施例第二方面的第一种可能的实现方式,在本发明实施例第二方面的第三种可能的实现方式中,所述向第二NFC设备发送包含所述第一长度值的第一请求之前,所述方法还包括:

确定所述第一长度值小于或等于第二长度值且小于或等于第三长度值。

结合本发明实施例第二方面的第二种可能的实现方式,在本发明实施例第二方面的第四种可能的实现方式中,所述方法还包括:

所述NFCC通过所述第一RF接口接收所述DH发送的第一数据消息,并以所述第一长度值作为所述最大长度值将所述第一数据消息中的负载封装成第一数据包;

所述NFCC将所述第一数据包发送至所述第二NFC设备。

结合本发明实施例第二方面的第三种可能的实现方式,在本发明实施例第二方面的第五种可能的实现方式中,所述方法还包括:

所述NFCC向所述DH发送第二通知,所述第二通知用于告知所述DH第二 RF接口已被激活,并通过所述第二RF接口接收所述DH发送的第二数据消息,并以所述第一长度值作为所述最大长度值将所述第二数据消息中的负载封装成第二数据包;

所述NFCC将所述第二数据包发送至所述第二NFC设备。

结合本发明实施例第二方面的第二种可能的实现方式,在本发明实施例第二方面的第六种可能的实现方式中,所述第一请求是Digital规范中定义的PSL_REQ;

所述第一响应是所述Digital规范中定义的PSL_RES;

所述第一RF接口是NCI规范中定义的NFC-DEP射频接口;

所述第一通知是所述NCI规范中定义的RF_INTF_ACTIVATED_NTF。

本发明实施例第三方面公开了一种NFCC,所述NFCC为第一NFC设备中的NFCC,所述NFCC包括判断模块、通信模块以及确定模块,其中:

所述判断模块,用于判断是否由所述NFCC负责确定后续通信中所传输的数据包的最大长度值;

所述通信模块,用于当所述判断模块的判断结果为是时,向第二NFC设备发送包含第一长度值的第一请求,并接收所述第二NFC设备针对所述第一请求返回的第一响应,所述第一请求用于指示将所述第一NFC设备与所述第二NFC设备在后续通信中所传输的数据包的最大长度值调整为所述第一长度值,且所述第一请求还包含第一DID,所述第一响应包含第二DID,所述第一长度值是所述NFCC确定的一个值;

所述确定模块,用于当所述第一DID与所述第二DID相同时,将所述第一长度值作为后续通信中所传输的数据包的最大长度值。

在本发明实施例第三方面的第一种可能的实现方式中,所述判断模块判断是否由所述NFCC负责确定后续通信中所传输的数据包的最大长度值的具体方式为:

判断第一参数的值是否为第一特定值,所述第一特定值用于表示后续通信中所传输的数据包的最大长度值由所述NFCC负责确定,其中,所述第一参数的值是所述NFCC的默认值,或者是由所述第一NFC设备的DH配置给所述NFCC的值。

结合本发明实施例第三方面,在本发明实施例第三方面的第二种可能的实 现方式中,所述通信模块,还用于向所述第一NFC设备的DH发送包含所述第一长度值的第一通知,所述第一通知用于告知所述DH第一射频RF接口已被激活,并通过所述第一RF接口接收所述DH发送的数据消息;

所述NFCC还包括封装模块,其中:

所述封装模块,用于以所述第一长度值作为所述最大长度值将所述数据消息中的负载封装成数据包;

所述通信模块,还用于将所述数据包发送至所述第二NFC设备。

结合本发明实施例第三方面的第一种可能的实现方式,在本发明实施例第三方面的第三种可能的实现方式中,所述通信模块,还用于向所述DH发送包含所述第一长度值的第一通知,所述第一通知用于告知所述DH第一射频RF接口已被激活;

所述通信模块,还用于通过所述第一RF接口接收所述DH发送的数据消息;

所述NFCC还包括封装模块,其中:

所述封装模块,用于以所述第一长度值作为所述最大长度值将所述数据消息中的负载封装成数据包;

所述通信模块,还用于将所述数据包发送至所述第二NFC设备。

结合本发明实施例第三方面的第二种可能的实现方式或第三种可能的实现方式,在本发明实施例第三方面的第四种可能的实现方式中,所述第一请求是Digital规范中定义的PSL_REQ;

所述第一响应是所述Digital规范中定义的PSL_RES;

所述第一RF接口是NCI规范中定义的NFC-DEP射频接口;

所述第一通知是所述NCI规范中定义的RF_INTF_ACTIVATED_NTF。

本发明实施例第四方面公开了一种NFCC,所述NFCC为第一NFC设备中的NFCC,所述NFCC包括通信模块以及确定模块,其中:

所述通信模块,用于接收所述第一NFC设备的DH发送的包含第一长度值的调整命令,所述调整命令用于指示所述NFCC调整后续通信过程中所传输的数据包的最大长度值;

所述通信模块,还用于向第二NFC设备发送包含所述第一长度值的第一请求,并接收所述第二NFC设备针对所述第一请求返回的第一响应,所述第一请 求用于指示将所述第一NFC设备与所述第二NFC设备后续通信过程中所传输的数据包的最大长度值调整为所述第一长度值,所述第一请求还包含括第一DID,所述第一响应包含第二DID;

所述确定模块,用于当所述第一DID与所述第二DID相同时,将所述第一长度值作为后续通信中所传输的数据包的最大长度值。

在本发明实施例第四方面的第一种可能的实现方式中,所述通信模块,还用于向所述DH发送包含状态指示和/或所述第一长度值的调整响应,所述状态指示用于表示所述NFCC已将所述最大长度值调整为所述第一长度值。

结合本发明实施例第四方面的第一种可能的实现方式,在本发明实施例第四方面的第二种可能的实现方式中,所述NFCC还包括激活模块,其中:

所述激活模块,用于在所述通信模块接收所述第一NFC设备的DH发送的包含第一长度值的调整命令之前,激活第一RF接口;

所述通信模块,还用于向所述DH发送第一通知,所述第一通知用于告知所述DH所述第一RF接口已被激活。

结合本发明实施例第四方面的第一种可能的实现方式,在本发明实施例第四方面的第三种可能的实现方式中,所述确定模块,还用于在所述通信模块向所述第二NFC设备发送包括所述第一长度值的所述第一请求之前,确定所述第一长度值小于或等于第二长度值且小于或等于第三长度值。

结合本发明实施例第四方面的第二种可能的实现方式,在本发明实施例第四方面的第四种可能的实现方式中,所述通信模块,还用于通过所述第一RF接口接收所述DH发送的第一数据消息;

所述NFCC还包括第一封装模块,其中:

所述第一封装模块,用于以所述第一长度值作为所述最大长度值将所述第一数据消息中的负载封装成第一数据包;

所述通信模块,还用于将所述第一数据包发送至所述第二NFC设备。

结合本发明实施例第四方面的第三种可能的实现方式,在本发明实施例第四方面的第五种可能的实现方式中,所述通信模块,还用于向所述DH发送第二通知,所述第二通知用于告知所述DH第二RF接口已被激活,并通过所述第二RF接口接收所述DH发送的第二数据消息;

所述NFCC还包括第二封装模块,其中:

所述第二封装模块,用于以所述第一长度值作为所述最大长度值将所述第二数据消息中的负载封装成第二数据包;

所述通信模块,还用于将所述第二数据包发送至所述第二NFC设备。

结合本发明实施例第四方面的第二种可能的实现方式,在本发明实施例第四方面的第六种可能的实现方式中,所述第一请求是Digital规范中定义的PSL_REQ;

所述第一响应是所述Digital规范中定义的PSL_RES;

所述第一RF接口是NCI规范中定义的NFC-DEP射频接口;

所述第一通知是所述NCI规范中定义的RF_INTF_ACTIVATED_NTF。

本发明实施例第五方面公开了一种NFCC,包括处理器以及通信装置,所述处理器,用于判断是否由所述NFCC负责确定后续通信中所传输的数据包的最大长度值;

所述通信装置,用于当所述处理器的判断结果为是时,向第二NFC设备发送包含第一长度值的第一请求,并接收所述第二NFC设备针对所述第一请求返回的第一响应,所述第一请求用于指示将第一NFC设备与所述第二NFC设备在后续通信中所传输的数据包的最大长度值调整为所述第一长度值,所述第一长度值是所述NFCC确定的一个值,所述第一请求还包含第一DID,所述第一响应包含第二DID;

所述处理器,还用于当所述第一DID与所述第二DID相同时,将所述第一长度值作为后续通信中所传输的数据包的最大长度值。

在本发明实施例第五方面的第一种可能的实现方式中,所述判断是否由所述NFCC负责确定后续通信中所传输的数据包的最大长度值,包括:

判断第一参数的值是否为第一特定值,所述第一特定值用于表示后续通信中所传输的数据包的最大长度值由所述N FCC负责确定,其中,所述第一参数的值是所述NFCC的默认值,或者是由第一NFC设备DH配置给所述NFCC的值。

结合本发明实施例第五方面,在本发明实施例第五方面的第二种可能的实现方式中,所述通信装置,还用于向第一NFC设备的DH发送包含所述第一长度值的第一通知,所述第一通知用于告知所述DH第一RF接口已被激活;

所述通信装置,还用于通过所述第一RF接口接收所述DH发送的数据消息;

所述处理器,还用于以所述第一长度值作为所述最大长度值将所述数据消息中的负载封装成数据包;

所述通信装置,还用于将所述数据包发送至所述第二NFC设备。

结合本发明实施例第五方面的第一种可能的实现方式,在本发明实施例第五方面的第三种可能的实现方式中,所述通信装置,还用于向所述DH发送包含所述第一长度值的第一通知,所述第一通知用于告知所述DH第一RF接口已被激活;

所述通信装置,还用于通过所述第一RF接口接收所述DH发送的数据消息;

所述处理器,还用于以所述第一长度值作为所述最大长度值将所述数据消息中的负载封装成数据包;

所述通信装置,还用于将所述数据包发送至所述第二NFC设备。

结合本发明实施例第五方面的第二种可能的实现方式或第三种可能的实现方式,在本发明实施例第五方面的第四种可能的实现方式中,所述第一请求是Digital规范中定义的PSL_REQ;

所述第一响应是所述Digital规范中定义的PSL_RES;

所述第一RF接口是NCI规范中定义的NFC-DEP射频接口;

所述第一通知是所述NCI规范中定义的RF_INTF_ACTIVATED_NTF。

本发明实施例第六方面公开了一种NFCC,包括处理器以及通信装置,所述通信装置,用于接收到第一NFC设备的DH发送的包含第一长度值的调整命令,所述调整命令用于指示所述NFCC调整后续通信过程中所传输的数据包的最大长度值;

所述通信装置,还用于向第二NFC设备发送包含所述第一长度值的第一请求,并接收所述第二NFC设备针对所述第一请求返回的第一响应,所述第一请求用于指示将所述第一NFC设备与所述第二NFC设备后续通信过程中所传输的数据包的最大长度值调整为所述第一长度值,所述第一请求还包含第一DID,所述第一响应包含第二DID;

所述处理器,用于当所述第一DID与所述第二DID相同时,将所述第一长度值作为后续通信中所传输的数据包的最大长度值。

在本发明实施例第六方面的第一种可能的实现方式中,所述通信装置,还 用于向所述DH发送包含状态指示和/或所述第一长度值的调整响应,所述状态指示用于表示所述NFCC已将所述最大长度值调整为所述第一长度值。

结合本发明实施例第六方面的第一种可能的实现方式,在本发明实施例第六方面的第二种可能的实现方式中,所述处理器,还用于在所述通信装置接收所述第一NFC设备的DH发送的包含第一长度值的调整命令之前,激活第一RF接口;

所述通信装置,还用于向所述DH发送第一通知,所述第一通知用于告知所述DH所述第一RF接口已被激活。

结合本发明实施例第六方面的第一种可能的实现方式,在本发明实施例第六方面的第三种可能的实现方式中,所述处理器,还用于在所述通信装置向所述第二NFC设备发送包括所述第一长度值的所述第一请求之前,确定所述第一长度值小于或等于第二长度值且小于或等于第三长度值。

结合本发明实施例第六方面的第二种可能的实现方式,在本发明实施例第六方面的第四种可能的实现方式中,所述通信装置,还用于通过所述第一RF接口接收所述DH发送的第一数据消息;

所述处理器,还用于以所述第一长度值作为所述最大长度值将所述第一数据消息中的负载封装成第一数据包;

所述通信装置,还用于将所述第一数据包发送至所述第二NFC设备。

结合本发明实施例第六方面的第三种可能的实现方式,在本发明实施例第六方面的第五种可能的实现方式中,所述通信装置,还用于向所述DH发送第二通知,所述第二通知用于告知所述DH第二RF接口已被激活,并通过所述第二RF接口接收所述DH发送的第二数据消息;

所述处理器,还用于以所述第一长度值作为所述最大长度值将所述第二数据消息中的负载封装成第二数据包;

所述通信装置,还用于将所述第二数据包发送至所述第二NFC设备。

结合本发明实施例第六方面的第二种可能的实现方式,在本发明实施例第六方面的第六种可能的实现方式中,所述第一请求是Digital规范中定义的PSL_REQ;

所述第一响应是所述Digital规范中定义的PSL_RES;

所述第一RF接口是NCI规范中定义的NFC-DEP射频接口;

所述第一通知是所述NCI规范中定义的RF_INTF_ACTIVATED_NTF。

本发明实施例中,作为发起方的第一NFC设备的NFCC判断是否由该NFCC负责确定后续通信中所传输的数据包的最大长度值,如果是,则向第二NFC设备发送包含第一长度值的第一请求,其中,该第一请求用于指示将第一NFC设备与第二NFC设备在后续通信中所传输的数据包的最大长度值调整为第一长度值,该第一长度值是第一NFC设备的NFCC确定的一个值且第一请求还包含第一设备标识DID,接收第二NFC设备针对该第一请求返回的包含第二DID的第一响应,当第一DID与上述第二DID相同时,将第一长度值作为后续通信中所传输的数据包的最大长度值。可见,实施本发明实施例能够通过NCI规范实现作为发起方的第一NFC设备通过其NFCC与作为目标方的第二NFC设备调整后续通信过程中的通信数据包的最大长度值的功能。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例公开的一种调整近场通信NFC中数据包长度的方法的流程示意图;

图2是本发明实施例公开的另一种调整近场通信NFC中数据包长度的方法的流程示意图;

图3是本发明实施例公开的又一种调整近场通信NFC中数据包长度的方法的流程示意图;

图4是本发明实施例公开的又一种调整近场通信NFC中数据包长度的方法的流程示意图;

图5是本发明实施例公开的又一种调整近场通信NFC中数据包长度的方法的流程示意图;

图6是本发明实施例公开的一种NFCC的结构示意图;

图7是本发明实施例公开的另一种NFCC的结构示意图;

图8是本发明实施例公开的又一种NFCC的结构示意图;

图9是本发明实施例公开的又一种NFCC的结构示意图;

图10是本发明实施例公开的又一种NFCC的结构示意图;

图11是本发明实施例公开的又一种NFCC的结构示意图;

图12是本发明实施例公开的又一种NFCC的结构示意图;

图13是本发明实施例公开的一种调整近场通信NFC中数据包长度的系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通过本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种调整近场通信NFC中数据包长度的方法、装置及系统,能够通过NCI规范实现作为发起方的第一NFC设备通过其NFCC与作为目标方的第二NFC设备调整后续通信过程中的通信数据包的最大长度值的功能。以下分别进行详细说明。

需要说明的是,本发明实施例中所使用的DH与NFCC是在NFC论坛(NFC Forum)制定的NCI协议中使用的术语。其中,DH用于负责整个NFC设备的管理,其中包括NFC控制器的管理,如初始化,配置或电源管理等,在智能手机中,它可以对应手机的CPU;DH可以对应欧洲电信标准协会(ETSI,European Telecommunication Standards Institute)制定的主机控制器接口(HCI,Host Controller Interface)规范中的终端主机(Terminal Host);此外,全球平台国际标准组织(GP,Global Platform)制定的规范中的管理实体(ME,Managing Entity)若实现在终端主机(Terminal Host)上,则也可以将DH称为管理主机(MH,Managing Host)。而NFCC是NFC芯片的负责数据传输的实体,通常直接用它来指代NFC芯片;NFCC可以对应欧洲电信标准协会(ETSI,European Telecommunication Standards Institute)制定的HCI规范中的非接触前端(CLF,Contactless Front-end),此时,HCI中的主机控制器(Host Controller)要实现在NFCC上。

请参阅图1,图1是本发明实施例公开的一种调整近场通信NFC中数据包长 度的方法的流程示意图。其中,图1所示的方法应用于作为发起方的第一NFC设备的NFCC中。如图1所示,该调整近场通信NFC中数据包长度的方法可以包括以下步骤:

S101、判断是否由NFCC负责确定后续通信中所传输的数据包的最大长度值。

本发明实施例中,当步骤S101的判断结果为是时,第一NFC设备的NFCC可以执行步骤S102,即第一NFC设备的NFCC向作为目标方的第二NFC设备发送包含第一长度值的第一请求;当步骤S101的判断结果为否时,第一NFC设备的NFCC可以结束本次流程,即第一NFC设备的NFCC不向第二NFC设备发送包含第一长度值的第一请求。

本发明实施例中,在第一NFC设备的NFCC执行步骤S101之前,第一NFC设备与第二NFC设备均已经激活了MAC层,即第一NFC设备与第二NFC设备通过ATR_REQ与ATR_RES已经协商好后续通信过程中所传输的数据包的最大长度值,即第二长度值以及第三长度值,其中,第二长度值由第一NFC设备设置且用于限制第二NFC设备在后续通信过程中发送的数据包的长度(即从第二NFC设备到第一NFC设备方向上所传输的数据包的长度),第三长度值由第二NFC设备设置且用于限制第一NFC设备在后续通信过程中发送的数据包的长度(即从第一NFC设备到第二NFC设备方向上所传输的数据包的长度),也就是说,后续通信中,第二NFC设备发送的数据包的长度不能超过第二长度值,第一NFC设备发送的数据包的长度不能超过第三长度值。

本发明实施例中,步骤S101的判断结果为是意味着第一NFC设备的NFCC能够在MAC层激活之后调整第一NFC设备与第二NFC设备在后续通信过程中所传输的数据包的最大长度值,该最大长度值限制了从第一NFC设备到第二NFC设备方向上以及从第二NFC设备到第一NFC设备方向上分别传输的数据包的长度。

S102、向第二NFC设备发送包含第一长度值的第一请求。

本发明实施例中,该第一请求用于指示将第一NFC设备与第二NFC设备在后续通信过程中所传输的数据包的最大长度值调整为该第一请求中包含的第一长度值,其中,第一长度值是由第一NFC设备的NFCC确定出的一个长度值,第一长度值小于或等于上述第二长度值且小于或等于上述第三长度值,且该第 一请求还包含第一设备标识DID(Device Identification Number)。

本发明实施例中,该第一请求可以是NFC论坛定义的Digital规范中定义的参数选择请求PSL_REQ,其中第5个字节(Byte 5)表示FSL参数,该字节的值定义了命令与响应的最大长度值,进一步地,该字节中的第一和第二比特位(即Digital规范中定义的b1和b2)对应的值表示该最大长度值,例如,当这里两个比特位的值为00b时,该最大长度值为64字节;当这里两个比特位的值为01b时,该最大长度值为128字节;当这里两个比特位的值为10b时,该最大长度值为192字节;当这里两个比特位的值为11b时,该最大长度值为254字节。因此,通过PSL_REQ和PSL_RES调整该最大长度值,可以理解为从一个长度值切换(switch)到另一个长度值,也可以理解为该最大长度值的重新协商或修改等,本发明实施例不对“调整”一词的含义进行限制。

其中,上述命令与响应可以是通过NFC-DEP协议进行通信时所使用的命令与响应,例如数据交换协议请求(DEP_REQ,Data Exchange Protocol Request)和数据交换协议响应(DEP_RES,Data Exchange Protocol Response)等;上述命令与响应可以作为负载(payload,即上层应用相关的业务数据)封装在数据包(Data)中,然后由NFC设备以NFC-A技术(即NFC论坛中定义的类型A射频技术,对应ISO/IEC 14443的类型A的缩写)标准帧格式(NFC-A Technology standard frame)或NFC-F技术(即NFC论坛中定义的类型F射频技术,对应ISO/IEC 18092的212kbps和424kbps通信机制的缩写)帧格式(NFC-F Technology frame)发送出去,因此,上述最大长度值可以理解为数据包长度的最大值,也可以理解为上述命令与响应的负载(payload)字节数的最大值。

本发明实施例中,第一NFC设备的NFCC向第二NFC设备发送包含第一长度值的第一请求,以使第二NFC设备在不接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值时不返回任何响应,或者以使第二NFC设备返回用于表示不接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的响应,例如,该响应中包含的DID不等于该第一请求中所包含的DID,以表示该第二NFC设备不接受上述第一长度值,或者以使第二NFC设备返回用于表示接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的响应,例如,该响应中包含的设备标识DID等于该第一请求中所包含的DID,以表示该第二NFC设备接受上述第一长度值。

本发明实施例中,第一NFC设备的NFCC向第二NFC设备发送包含第一长度值的第一请求即是第一NFC设备的NFCC向第二NFC设备的NFCC发送包含第一长度值的第一请求。

S103、接收上述第二NFC设备针对上述第一请求返回的第一响应。

本发明实施例中,该第一响应可以包含第二DID。

S104、当第一DID与第二DID相同时,将上述第一长度值作为后续通信中所传输的数据包的最大长度值。

本发明实施例中,当上述第一DID与上述第二DID相同时,该第一响应用于表示第二NFC设备已经将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值,其中,第一DID与第二DID均为上述第二NFC设备的设备标识,示例地,对于NFC-DEP协议而言,上述第二DID是作为发起方的第一NFC设备在通过ATR_REQ激活MAC层时为作为目标方的第二NFC设备分配的、用来标识第二NFC设备的一个标识;又示例地,对于ISO-DEP协议而言,上述第二DID是作为读写器(Reader/Writer)的第一NFC设备在通过RATS Command或ATTRIB Command激活作为NFC标签或者卡模拟的第二NFC设备时为该第二NFC设备分配的、用来标识该第二NFC设备的一个标识。

作为一种可选的实施方式,第一NFC设备的NFCC判断是否由其负责确定后续通信中所传输的数据包的最大长度值可以包括:

判断第一参数的值是否为第一特定值,其中,该第一特定值用于表示后续通信中所传输的数据包的最大长度值由第一NFC设备中的NFCC负责确定,且第一参数的值可以是第一NFC设备中的NFCC的默认值(即NFC芯片出厂时设置到NFCC中的默认值),也可以是由第一NFC设备的DH配置给第一NFC设备的NFCC的值,本发明实施例不做限定。

作为一种可选的实施方式,第一NFC设备的NFCC在执行完毕步骤S104之后,第一NFC设备的NFCC还可以执行以下操作:

向第一NFC设备的DH发送包含上述第一长度值的第一通知,其中,该第一通知用于告知第一NFC设备的DH第一射频(RF,Radio Frequency)接口已经被激活;

通过该第一RF接口接收第一NFC设备的DH发送的数据消息,并以上述第一长度值作为最大长度值将该数据消息中的负载封装成数据包,即该数据包的 长度值小于等于上述第一长度值;

将该数据包发送至第二NFC设备。

该可选的实施方式中,第一NFC设备的NFCC向第一NFC设备的DH发送包含上述第一长度值的上述第一通知的目的是向第一NFC设备的DH上报第一NFC设备与第二NFC设备调整后的后续通信中所传输的数据包的最大长度值为上述第一长度值,以使第一NFC设备的DH获取到该第一长度值后可以在上层业务中进行使用,例如,估算本次通信中完成上层业务相关数据的传输所需要的时间是多少等等,以及通知第一NFC设备的DH上述第一RF接口已被激活,也就是说,第一NFC设备的NFCC已准备好接收第一NFC设备的DH发送的数据消息。其中,该数据消息可以是NCI规范中定义的Data Message(s),其中,在DH与NFCC之间传输Data Message(s)是通过传输Data Packet(s)实现的,且该数据消息中的负载(payload)携带的可以是上层业务相关的数据。

此外,该可选的实施方式中,可以如上所述将上述数据包理解成Digital规范中定义的以相应技术帧格式携带DEP_REQ的帧;为了描述简单,也可以将上述数据包理解为Digital规范中定义的DEP_REQ,那么,以上述第一长度值作为最大长度值将该数据消息中的负载封装成数据包,就是将该数据消息中的负载都封装在至少一个DEP_REQ中,同时保证这些DEP_REQ的长度不超过上述第一长度值,以保证第一NFC设备的NFCC能通过相应的帧格式(例如,NFC-A技术标准帧格式、NFC-F技术帧格式等)将这些DEP_REQ发送出去(即将这些DEP_REQ封装在相应格式的帧中发送出去)。因此,上述将该数据包发送至第二NFC设备及其后续的具体操作可以为:

将DEP_REQ(以某种帧格式)发送至第二NFC设备,以使第二NFC设备在确定出该DEP_REQ的长度值小于或等于上述第一长度值时向第一NFC设备的NFCC返回DEP_RES;

接收第二NFC设备返回的DEP_RES,且判断该DEP_RES的长度是否小于或等于上述第一长度值;

当判断出该DEP_RES的长度小于或等于上述第一长度值时,获取该DEP_RES(具体地,是DEP_RES中与业务相关的数据),并将其转发给第一NFC设备的DH。

可选的,上述第一请求可以为Digital规范中定义的PSL_REQ,上述第一响 应可以为该Digital规范中定义的PSL_RES,上述第一RF接口可以为NCI规范中定义的NFC-DEP射频接口,且上述第一通知可以为该NCI规范中定义的射频接口激活通知RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

需要说明的是,上述第一请求也可以是Digital规范中定义的适用于ISO-DEP协议的RATS Command或ATTRIB Command,其中包含的FSDI(Frame Size for proximity coupling Device Integer)参数用于计算工作在轮询(poll)模式下的NFC设备(例如读写器等)所能接受的数据包(例如信息块I-block或该I-block的负载payload)的最大长度值FSD;相应的,上述第一响应也可以是Digital规范中定义的RATS Response或ATTRIB Response,其中可能包含的FSCI(Frame Size for proximity Card Integer)参数用于计算工作在poll模式下的NFC设备(例如NFC标签或卡模拟)能接受的数据包(例如信息块I-block或该I-block的负载payload)的最大长度值FSC;上述第一RF接口可以是NCI规范中定义的ISO-DEP射频接口或NDEF射频接口,上述第一通知可以是NCI规定中定义的RF_INTF_ACTIVATED_NTF。此时,本发明方案中所使用的“调整”,除了其本身的含义,也可以理解为协商、限定等,本发明方案对此不进行限制。

此外,需要说明的是,本发明实施例中对于“调整”的理解、对于最大长度值、第一长度值、第二长度值、第三长度值的说明、对于第一请求与第一响应的说明、对于设备标识DID的描述以及对于第一RF接口与第一通知的解释等,同样适用于后面的发明实施例,后续将不再赘述。

本发明实施例中,第一NFC设备的NFCC判断是否由该NFCC负责确定后续通信中所传输的数据包的最大长度值,如果是,则向第二NFC设备发送包含第一长度值的第一请求,其中,该第一请求用于将第一NFC设备与第二NFC设备在后续通信中所传输的数据包的最大长度值调整为第一长度值,当接收到第二NFC设备针对该第一请求返回的第一响应且该第一响应中包含的第一DID与该第一请求中包含的第二DID相同时,第一NFC设备的NFCC将该第一请求中包含的第一长度值确定为第一NFC设备与第二NFC设备在后续通信过程中所传输的数据包的最大长度值。可见,实施本发明实施例能够通过NCI规范实现作为发起方的第一NFC设备通过其NFCC与作为目标方的第二NFC设备调整后续通信过程中的数据包的最大长度值的功能。

请参阅图2,图2是本发明实施例公开的另一种调整近场通信NFC中数据包长度的方法的流程示意图。其中,图2所示的方法应用于作为发起方的第一NFC设备的NFCC中。如图2所示,该调整近场通信NFC中数据包长度的方法可以包括以下步骤:

S201、接收第一NFC设备的DH发送的包含第一长度值的调整命令。

本发明实施例中,该调整命令用于指示第一NFC设备的NFCC调整后续通信过程中所传输的数据包的最大长度值。

本发明实施例中,在第一NFC设备的NFCC在执行步骤S201之前,第一NFC设备与第二NFC设备均已经激活了MAC层,即第一NFC设备与第二NFC设备通过ATR_REQ与ATR_RES已经协商好后续通信过程中所传输的数据包的最大长度值,即第二长度值以及第三长度值,其中,第二长度值由第一NFC设备设置且用于限制第二NFC设备在后续通信过程中发送的数据包的长度(即从第二NFC设备到第一NFC设备方向上所传输的数据包的长度),第三长度值由第二NFC设备设置且用于限制第一NFC设备在后续通信过程中发送的数据包的长度(即从第一NFC设备到第二NFC设备方向上所传输的数据包的长度),也就是说,后续通信中,第二NFC设备发送的数据包的长度不能超过第二长度值,第一NFC设备发送的数据包的长度不能超过第三长度值。

本发明实施例中,第一NFC设备的NFCC接收到上述调整命令意味着第一NFC设备的NFCC能够在MAC层激活之后调整第一NFC设备与第二NFC设备在后续通信过程中所传输的数据包的最大长度值,该最大长度值限制了从第一NFC设备到第二NFC设备方向上以及从第二NFC设备到第一NFC设备方向上分别传输的数据包的长度。

S202、向第二NFC设备发送包含上述第一长度值的第一请求。

本发明实施例中,该第一请求用于指示将第一NFC设备与第二NFC设备在后续通信过程中所传输的数据包的最大长度值调整为该第一请求中包含的第一长度值,第一长度值小于或等于上述第二长度值且小于或等于上述第三长度值,且该第一请求还包含第一DID。

本发明实施例中,第一NFC设备的NFCC向第二NFC设备发送包含第一长度值的第一请求,以使第二NFC设备在不接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值时不返回任何响应,或者以使第二NFC 设备返回用于表示不接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的响应,例如,该响应中包含的DID不等于该第一请求中所包含的DID,以表示该第二NFC设备不接受上述第一长度值,或者以使第二NFC设备返回用于表示接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的响应,例如,该响应中包含的DID等于该第一请求中所包含的DID,以表示该第二NFC设备接受上述第一长度值。

本发明实施例中,第一NFC设备的NFCC向第二NFC设备发送包含上述第一长度值的第一请求即是第一NFC设备的NFCC向第二NFC设备的NFCC发送包括第一长度值的第一请求。

S203、接收上述第二NFC设备针对上述第一请求返回的第一响应。

本发明实施例中,该第一响应中包含第二DID。

S204、当第一DID与第二DID相同时,将上述第一长度值作为后续通信中所传输的数据包的最大长度值。

本发明实施例中,当第一响应中包含的第二DID与上述第一请求中包含的第一DID相同时,该第一响应用于表示第二NFC设备已经将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值,其中,第一DID与第二DID均为上述第二NFC设备的设备标识,示例地,对于NFC-DEP协议而言,上述第二DID是作为发起方的第一NFC设备在通过ATR_REQ激活MAC层时为作为目标方的第二NFC设备分配的、用来标识第二NFC设备的一个标识;又示例地,对于ISO-DEP协议而言,上述第二DID是作为读写器(Reader/Writer)的第一NFC设备在通过RATS Command或ATTRIB Command激活作为NFC标签或者卡模拟的第二NFC设备时为该第二NFC设备分配的、用来标识该第二NFC设备的一个标识。

作为一种可选的实施方式,当第一NFC设备的NFCC在执行完毕步骤S204之后,第一NFC设备的NFCC还可以执行以下操作:

向第一NFC设备的DH发送包含状态指示和/或上述第一长度值的调整响应,其中,该状态指示用于表示第一NFC设备的NFCC已将上述最大长度值调整为上述第一长度值,也就是说第一NFC设备与第二NFC设备之间已经完成本次调整。

作为一种可选的实施方式,在执行步骤S201之前,第一NFC设备的NFCC 还可以执行以下操作:

激活第一RF接口,并向第一NFC设备的DH发送第一通知,其中,该第一通知用于告知第一NFC设备的DH该第一RF接口已被激活。

需要说明的是,此时,第一NFC设备与第二NFC设备通过ATR_REQ和ATR_RES激活了第一NFC设备与第二NFC设备之间的MAC层,即第一NFC设备与第二NFC设备已经协商好后续通信中在两个方向上分别传输的数据包的最大长度值,即上述实施例中的第二长度值和第三长度值。本发明实施例中,第一NFC设备的NFCC向第一NFC设备的DH发送第一通知时,可以携带ATR_RES中的参数值,其中包括第三长度值,具体请参见NCI规范。

作为另一种可选的实施方式,在执行完毕步骤S201之后且在执行步骤S202之前,第一NFC设备的NFCC还可以执行以下操作:

确定上述第一长度值小于或等于上述第二长度值且小于或等于上述第三长度值。

需要说明的是,该可选的实施方式中,第一NFC设备的DH向第一NFC设备的NFCC发送上述调整命令可以发生在第一NFC设备通过NFCC与第二NFC设备直接激活MAC层之前或之后,由于第一NFC设备的DH不知第一NFC设备的NFCC与第二NFC设备即将协商的或已经协商好的第二长度值与第三长度值具体是多少,因此,第一NFC设备的DH发送的该调整命令中的第一长度值可能大于、等于或小于该第二长度值或第三长度值,那么,第一NFC设备的NFCC为了防止第一长度值超过该第二长度值或第三长度值,第一NFC设备的NFCC需要执行上述操作以保证该第一长度值小于或等于第二长度值与第三长度值。

作为一种可选的实施方式,在第一NFC设备的NFCC先激活上述第一RF接口并向第一NFC设备的DH发送上述第一通知,然后再执行步骤S201的情况下,在向第一NFC设备的DH发送包含状态指示和/或上述第一长度值的调整响应之后,第一NFC设备的NFCC还可以执行以下操作:

通过上述第一RF接口接收第一NFC设备的DH发送的第一数据消息,并以上述第一长度值作为最大长度值将该第一数据消息中的负载封装成第一数据包,即该第一数据包的长度值小于或等于上述第一长度值;

将该第一数据包发送至第二NFC设备。

作为一种可选的实施方式,在步骤S201之后且在步骤S202之前执行确定 上述第一长度值小于或等于上述第二长度值且小于或等于上述第三长度值的操作的情况下,在向第一NFC设备的DH发送包含状态指示和/或上述第一长度值的调整响应之后,第一NFC设备的NFCC还可以执行以下操作:

向第一NFC设备的DH发送第二通知,其中,该第二通知用于告知第一NFC设备的DH第二RF接口已被激活;

通过该第二RF接口接收第一NFC设备的DH发送的第二数据消息,并以上述第一长度值作为最大长度值将该第二数据消息中的负载封装成第二数据包,即第二数据包的长度值小于或等于上述第一长度值;

将该第二数据包发送至第二NFC设备。

需要说明的是,上述第二通知中可以包含上述第一长度值,也可以不包含。

可选的,上述第一请求可以为Digital规范中定义的PSL_REQ,上述第一响应可以为该Digital规范中定义的PSL_RES,上述第一RF接口以及上述第二RF接口可以为NCI规范中定义的NFC-DEP射频接口,且上述第一通知以及上述第二通知可以为该NCI规范中定义的射频接口激活通知RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

需要说明的是,上述第一请求也可以是Digital规范中定义的适用于ISO-DEP协议的RATS Command或ATTRIB Command,其中包含的FSDI(Frame Size for proximity coupling Device Integer)参数用于计算工作在轮询(poll)模式下的NFC设备(例如读写器等)所能接受的数据包(例如信息块I-block或该I-block的负载payload)的最大长度值FSD;相应的,上述第一响应也可以是Digital规范中定义的RATS Response或ATTRIB Response,其中可能包含的FSCI(Frame Size for proximity Card Integer)参数用于计算工作在poll模式下的NFC设备(例如NFC标签或卡模拟)能接受的数据包(例如信息块I-block或该I-block的负载payload)的最大长度值FSC;上述第一RF接口以及上述第二RF接口可以是NCI规范中定义的ISO-DEP射频接口或NDEF射频接口,上述第一通知以及上述第二通知可以是NCI规定中定义的RF_INTF_ACTIVATED_NTF。此时,本发明方案中所使用的“调整”,除了其本身的含义,也可以理解为协商、限定等,本发明方案对此不进行限制。

本发明实施例中,第一NFC设备的NFCC判断其是否接收到第一NFC设备的DH发送的包含第一长度值的调整命令,其中,该调整命令用于指示第一NFC 设备的NFCC调整后续通信过程中所传输的数据包的最大长度值,且当判断结果为是时,向第二NFC设备发送包含第一长度值的第一请求,其中,该第一请求用于将第一NFC设备与第二NFC设备后续通信过程中所传输的数据包的最大长度值调整为第一长度值,当接收到第二NFC设备针对第一请求返回的第一响应且该第一响应中包含的第一DID与该第一请求中包含的第二DID相同时,第一NFC设备的NFCC将该第一请求中包含的第一长度值确定为第一NFC设备与第二NFC设备在后续通信过程中所传输的数据包的最大长度值。可见,实施本发明实施例能够通过NCI规范实现作为发起方的第一NFC设备通过其NFCC与作为目标方的第二NFC设备调整后续通信过程中的通信数据包的最大长度值的功能。

请参阅图3,图3是本发明实施例公开的又一种调整近场通信NFC中数据包长度的方法的流程示意图。其中,图3所示的方法应用于与上述实施例中作为发起方的第一NFC设备进行点对点通信的、作为目标方的第二NFC设备的NFCC中。如图3所示,该调整近场通信NFC中数据包长度的方法可以包括以下步骤:

S301、接收第一NFC设备的NFCC发送的包含第一长度值的第一请求。

本发明实施例中,第二NFC设备的NFCC执行步骤S301的前提是第一NFC设备与第二NFC设备均已经激活了MAC层,即第一NFC设备与第二NFC设备通过ATR_REQ与ATR_RES已经协商好后续通信过程中所传输的数据包的最大长度值,即第二长度值以及第三长度值,其中,第二长度值由第一NFC设备设置且用于限制第二NFC设备在后续通信过程中发送的数据包的长度(即从第二NFC设备到第一NFC设备方向上所传输的数据包的长度),第三长度值由第二NFC设备设置且用于限制第一NFC设备在后续通信过程中发送的数据包的长度(即从第一NFC设备到第二NFC设备方向上所传输的数据包的长度),也就是说,后续通信中,第二NFC设备发送的数据包的长度不能超过第二长度值,第一NFC设备发送的数据包的长度不能超过第三长度值。

本发明实施例中,第二NFC设备的NFCC接收到的包含第一长度值的第一请求是由第一NFC设备的NFCC在判断出由该NFCC负责确定后续通信中所传输的数据包的最大长度值或在该NFCC接收到第一NFC设备的DH发送的包含 第一长度值且用于指示第一NFC设备的NFCC调整后续通信过程中所传输的数据包的最大长度值的调整命令之后发出的请求。且该第一请求用于指示将第一NFC设备与第二NFC设备在后续通信过程中所传输的数据包的最大长度值调整为该第一请求中包含的第一长度值,其中,第一长度值小于或等于上述第二长度值且小于或等于上述第三长度值,且该第一请求还可以包含第一DID。

S302、判断是否由第二NFC设备的NFCC负责响应上述第一请求。

本发明实施例中,当步骤S302的判断结果为是时,第二NFC设备的NFCC可以执行步骤S303;当步骤S302的判断结果为否时,第二NFC设备的NFCC可以执行步骤S304,可选的,第二NFC设备的NFCC也可以不向第一NFC设备返回任何响应,或者,向第一NFC设备返回错误,例如,第二NFC设备的NFCC通过将其中的DID设置成不等于上述第一请求中的DID表示存在错误。

本发明实施例中,第二NFC设备的NFCC判断是否由其负责响应上述第一请求即为第二NFC设备的NFCC判断是否由第二NFC设备的NFCC负责确认上述第一请求中包含的第一长度值。

作为一种可选的实施方式,第二NFC设备的NFCC判断是否由第二NFC设备的NFCC负责响应上述第一请求可以包括:

判断第二NFC设备的NFCC中的第一参数的值是否为特定值,其中,该特定值用于表示由第二NFC设备的NFCC负责响应上述第一请求,且该第一参数的值可以是第二NFC设备的NFCC的默认值(即可以理解为在NFC芯片出厂时设置到NFCC中的默认值),也可以是由第二NFC设备的DH配置给第二NFC设备的NFCC的值,本发明实施例不做限定。

需要说明的是,本发明实施例中的第一参数与前面实施例中的第一参数可以不是同一个参数。

S303、向第一NFC设备的NFCC发送针对上述第一请求的第一响应。

本发明实施例中,该第一响应可以包括第二DID。

本发明实施例中,第二NFC设备的NFCC向第一NFC设备的NFCC发送针对上述第一请求的第一响应可以包括:

判断上述第一请求中的第一长度值是否小于或等于上述第二长度值且小于或等于上述第三长度值;

当判断结果为是时,向第一NFC设备的NFCC发送用于指示第二NFC设备 接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的第一响应,其中,该第一响应中包含的第二DID与上述第一请求中包含的第一DID相同,且该第一响应中包含的第二DID与上述第一请求中包含的第一DID均为第二NFC设备的设备标识;

当判断结果为否时,向第一NFC设备的NFCC发送用于指示第二NFC设备不接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的第一响应,例如,该第一响应中包含的DID不等于该第一请求中所包含的DID,以表示该第二NFC设备不接受上述第一长度值。

可选的,在执行完毕步骤S303之后且上述第一响应用于指示第二NFC设备接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值,例如,该第一响应中包含的DID等于该第一请求中所包含的DID(即表示该第二NFC设备接受上述第一长度值)时,第二NFC设备的NFCC还可以执行以下操作:

将上述第一长度值通过第一通知发送至第二NFC设备的DH。

S304、激活第二NFC设备上的第一RF接口,并向第二NFC设备的DH发送包含上述第一长度值的第二通知。

本发明实施例中,第二NFC设备的NFCC将包含上述第一长度值的第二通知发送至第二NFC设备的DH,以告知第二NFC设备的DH第二NFC设备上的第一RF接口已经被激活且使第二NFC设备的DH判断上述第一长度值是否小于或等于上述第二长度值且是否小于或等于上述第三长度值。

S305、接收第二NFC设备的DH返回的第二响应。

本发明实施例中,该第二响应用于指示第二NFC设备的DH是否接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值,且第二响应是由第二NFC设备的DH判断上述第一长度值是否小于或等于上述第二长度值且是否小于或等于上述第三长度值后通过数据报文(Data Message)返回的第二响应,即当上述第一长度值小于或等于上述第二长度值且小于或等于上述第三长度值时,第二响应用于指示第二NFC的DH接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值;当上述第一长度值大于上述第二长度值或上述第一长度值大于上述第三长度值时,该第二响应用于指示第二NFC设备的DH不接受将后续通信过程中所传输的数据包的最大长度值调整 为上述第一长度值。

S306、将上述第二响应发送至第一NFC设备的NFCC。

可选的,上述第一请求可以为Digital规范中定义的PSL_REQ,上述第一响应以及上述第二响应可以为该Digital规范中定义的PSL_RES,上述第一RF接口可以为NCI规范中定义的NFC-DEP射频接口,且上述第一通知以及上述第二通知可以为该NCI规范中定义的RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

需要说明的是,可选的,第二NFC设备的NFCC还可以不按照上述步骤S304的方式,即不激活上述第一RF接口,而是通过NCI规范定义的数据包(Data Message/Packet)将上述第一长度值上报给DH。相应的,在上述步骤S305之后,第二NFC设备的NFCC可以向DH发送上述第二通知,以通知第二NFC设备的DH上述第一RF接口已激活。

此外,上述步骤S302是可选的,即NFCC默认有处理与响应上述第一请求的能力或权限。

可选的,在第二NFC设备接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值之后,第二NFC设备的NFCC还可以执行以下操作:

接收第一NFC设备的NFCC发送的封装好的数据包(如前面实施例所述,该数据包可以理解为上述DEP_REQ);

判断该数据包的长度值是否小于或等于上述第一长度值;

当判断结果为是时,对该数据包进行解封装以获取其中与上层业务相关的数据,并通过上述第一RF接口将该与上层业务相关的数据发送至第二NFC设备的DH。

本发明实施例中,作为目标方的第二NFC设备的NFCC接收作为发起方的第一NFC设备的NFCC发送的用于调整后续通信过程中所传输的数据包的最大长度值的第一请求,并判断第二NFC设备的NFCC是否负责响应该第一请求,当判断结果为是时,向第一NFC设备的NFCC返回针对该第一请求的响应,当判断结果为否时,激活第二NFC设备上的RF接口并向第二NFC设备的DH发送包含第一长度值的通知,接收第二NFC设备的DH返回的响应并将该响应发送至第一NFC设备的NFCC,其中,当该响应中包含的第一DID与第一请求包含的DID相同时,该响应用于指示第二NFC设备已经将后续通信过程中所传输的 数据包的最大长度值调整为第一长度值。可见,实施本发明实施例能够通过NCI规范实现作为发起方的第一NFC设备通过其NFCC与作为目标方的第二NFC设备调整后续通信过程中的通信数据包的最大长度值的功能。

请参阅图4,图4是本发明实施例公开的又一种调整近场通信NFC中数据包长度的方法的流程示意图。其中,图4所示的方法应用于作为发起方的第一NFC设备以及作为目标方的第二NFC设备中,其中,第一NFC设备和第二NFC设备均至少由NFCC以及DH构成,且第一NFC设备与第二NFC设备均已经激活了MAC层,即第一NFC设备与第二NFC设备已经通过ATR_REQ与ATR_RES协商好后续通信过程中所传输的数据包的最大长度值,即第二长度值以及第三长度值,其中,第二长度值由第一NFC设备设置且用于限制第二NFC设备在后续通信过程中发送的数据包的长度(即从第二NFC设备到第一NFC设备方向上所传输的数据包的长度),第三长度值由第二NFC设备设置且用于限制第一NFC设备在后续通信过程中发送的数据包的长度(即从第一NFC设备到第二NFC设备方向上所传输的数据包的长度),也就是说,后续通信中,第二NFC设备发送的数据包的长度不能超过第二长度值,第一NFC设备发送的数据包的长度不能超过第三长度值。如图4所示,该调整近场通信NFC中数据包长度的方法可以包括以下步骤:

S401、第一NFC设备的NFCC判断是否由其负责确定后续通信中所传输的数据包的最大长度值。

本发明实施例中,当步骤S401的判断结果为是时,第一NFC设备的NFCC执行步骤S402;当步骤S401的判断结果为否时,第一NFC设备的NFCC可以结束本次流程。

S402、第一NFC设备的NFCC向第二NFC设备的NFCC发送包含第一长度值的第一请求。

本发明实施例中,该第一请求用于指示将第一NFC设备与第二NFC设备在后续通信过程中所传输的数据包的最大长度值调整为该第一请求中包含的第一长度值,其中,第一长度值是由第一NFC设备的NFCC确定出的一个长度值,第一长度值小于或等于上述第二长度值且小于或等于上述第三长度值,且该第一请求中还可以包含第一DID。

S403、第二NFC设备的NFCC接收上述第一请求,并判断是否由第二NFC设备的NFCC负责响应上述第一请求。

本发明实施例中,当步骤S403的判断结果为是时,第二NFC设备的NFCC可以执行步骤S404;当步骤S403的判断结果为否时,第二NFC设备的NFCC可以执行步骤S405。

S404、第二NFC设备的NFCC向第一NFC设备的NFCC发送针对上述第一请求的第一响应。

本发明实施例中,第二NFC设备的NFCC向第一NFC设备的NFCC发送针对上述第一请求的第一响应可以包括:

判断上述第一请求中的第一长度值是否小于或等于上述第二长度值且小于或等于上述第三长度值;

当判断结果为是时,向第一NFC设备的NFCC发送用于指示第二NFC设备接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的第一响应,其中,该第一响应中包含的第一DID与上述第一请求中包含的第二DID相同,且该第一响应中包含的第一DID与上述第一请求中包含的第二DID均为第二NFC设备的设备标识;

当判断结果为否时,向第一NFC设备的NFCC发送用于指示第二NFC设备不接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的第一响应。

可选的,当上述第一请求中的第一长度值大于上述第二长度值或大于上述第三长度值时,第二NFC设备的NFCC还可以不向第一NFC设备的NFCC返回任何响应,也可以向第一NFC设备的NFCC返回应答错误消息,本发明实施例不做限定。

S405、第二NFC设备的NFCC激活第二NFC设备上的第一RF接口。

S406、第二NFC设备的NFCC向第二NFC设备的DH发送包含上述第一长度值的第一通知。

本发明实施例中,第二NFC设备的NFCC将包含上述第一长度值的第一通知发送至第二NFC设备的DH,以告知第二NFC设备的DH第二NFC设备上的第一RF接口已经被激活且使第二NFC设备的DH判断上述第一长度值是否小于或等于上述第二长度值且是否小于或等于上述第三长度值。

S407、第二NFC设备的DH接收上述第一通知,并判断上述第一长度值是否小于或等于上述第二长度值且是否小于或等于上述第三长度值。

本发明实施例中,当步骤S407的判断结果为是时,第二NFC设备的DH可以执行步骤S408;当步骤S407的判断结果为否时,第二NFC设备的DH可以向第二NFC设备的NFCC返回应答错误信息。

S408、第二NFC设备的DH通过数据报文向第二NFC设备的NFCC发送第二响应。

本发明实施例中,该第二响应用于指示第二NFC设备的DH是否接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值。

S409、第二NFC设备的NFCC将上述第二响应发送至第一NFC设备的NFCC。

S410、第一NFC设备的NFCC接收第二NFC设备的NFCC发送的响应。

本发明实施例中,第一NFC设备的NFCC接收到的响应为上述第一响应或上述第二响应。

S411、当第一NFC设备的NFCC接收到的响应中包含的DID与上述第一请求中包含的DID相同时,第一NFC设备的NFCC将上述第一长度值作为后续通信过程中所传输的数据包的最大长度值。

可选的,在执行完毕步骤S411之后,第一NFC设备的NFCC还可以执行步骤S412、步骤S413以及步骤S414,其中:

S412、第一NFC设备的NFCC向第一NFC设备的DH发送包含上述第一长度值的第二通知。

本发明实施例中,该第二通知用于告知第一NFC设备的DH该第一NFC设备中的第二RF接口已经被激活。

本发明实施例中,第一NFC设备的NFCC向第一NFC设备的DH发送包含上述第一长度值的上述第二通知的目的是向第一NFC设备的DH上报第一NFC设备与第二NFC设备调整后的后续通信中所传输的数据包的最大长度值为上述第一长度值,以使第一NFC设备的DH获取到该第一长度值后可以在上层业务中进行使用,例如,估算本次通信中完成上层业务相关数据的传输所需要的时间是多少等等,以及通知第一NFC设备的DH上述第二RF接口已被激活,也就是说,第一NFC设备的NFCC已准备好接收第一NFC设备的DH发送的数据消 息。其中,该数据消息可以是NCI规范中定义的Data Message(s),其中,在DH与NFCC之间传输Data Message(s)是通过传输Data Packet(s)实现的,且该数据消息中的负载(payload)携带的可以是上层业务相关的数据。

S413、通过上述第二RF接口接收第一NFC设备的DH发送的数据消息,并以上述第一长度值作为最大长度值将该数据消息中的负载封装成数据包。

本发明实施例中,该数据消息与该数据包是前面实施例中描述的数据包,即该数据包可以理解为DEP_REQ,其长度值小于或等于上述第一长度值;

S414、将上述数据包发送至第二NFC设备的NFCC。

可选的,第一NFC设备的NFCC判断是否由其负责确定后续通信中所传输的数据包的最大长度值可以包括:

判断第一NFC设备的NFCC中第一参数的值是否为第一特定值,其中,该第一特定值用于表示后续通信中所传输的数据包的最大长度值由第一NFC设备中的NFCC负责确定,且第一参数的值可以是第一NFC设备中的NFCC的默认值(即可以理解为在NFC芯片出厂时设置到NFCC中的默认值),也可以是由第一NFC设备的DH配置给第一NFC设备的NFCC的值,本发明实施例不做限定。

示例地,对于NFC-DEP协议,假设上述第一参数为PN_NFC_DEP_LENGTH,占1个字节(即八位字节octet),第一特定值为0x00(当然也可以是其他值,这里仅为示例),则当PN_NFC_DEP_LENGTH的值为0x00时表示后续通信中所传输的数据包的最大长度值由第一NFC设备中的NFCC负责确定,即该NFCC可以根据自身能力等条件确定调整该最大长度值。关于该第一参数PN_NFC_DEP_LENGTH的值,可以在NFC芯片出厂时就设置成一个默认值,如果该默认值就是上述第一特定值,则默认由第一NFC设备的NFCC负责确定后续通信中所传输的数据包的最大长度值,否则不能由第一NFC设备的NFCC负责确定该最大长度值,当然,DH可以通过NCI规范中定义的参数配置命令(例如CORE_SET_CONFIG_CMD)向NFCC配置(即修改)该第一参数的值。

可选的,第二NFC设备的NFCC判断是否由第二NFC设备的NFCC负责响应上述第一请求可以包括:

判断第二NFC设备的NFCC中的第二参数的值是否为第二特定值,其中, 该第二特定值用于表示由第二NFC设备的NFCC负责响应上述第一请求,且该第二特定值可以是第二NFC设备的NFCC的默认值,也可以是由第二NFC设备的DH配置给第二NFC设备的NFCC的值,本发明实施例不做限定。

示例地,对于NFC-DEP协议,假设上述第二参数为LN_NFC_DEP_LENGTH,占1个字节(即八位字节octet),第二特定值为0x00(当然也可以是其他值,这里仅为示例),则当LN_NFC_DEP_LENGTH的值为0x00时表示后续通信中所传输的数据包的最大长度值由第二NFC设备中的NFCC负责确认,即该NFCC可以根据自身能力等条件处理与响应上述第一请求。关于该第二参数LN_NFC_DEP_LENGTH的值,可以在NFC芯片出厂时就设置成一个默认值,如果该默认值就是上述第二特定值,则默认由第二NFC设备的NFCC负责确认后续通信中所传输的数据包的最大长度值,否则不能由第二NFC设备的NFCC负责确定该最大长度值,当然,DH可以通过NCI规范中定义的参数配置命令(例如CORE_SET_CONFIG_CMD)向NFCC配置(即修改)该第二参数的值。

可选的,当第二NFC设备的NFCC执行完毕步骤S404之后且当上述第一响应用于指示第二NFC设备接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值时,第二NFC设备的NFCC还可以执行以下操作:

将上述第一长度值通过第三通知发送至第二NFC设备的DH。

可选的,上述第一请求可以为Digital规范中定义的PSL_REQ,上述第一响应以及上述第二响应可以为该Digital规范中定义的PSL_RES,上述第一RF接口以及上述第二RF接口可以为NCI规范中定义的NFC-DEP射频接口,且上述第一通知、上述第二通知以及上述第三通知可以为该NCI规范中定义的RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

可选的,上述第一请求可以为Digital规范中定义的RATS Command或ATTRIB Command,上述第一响应以及上述第二响应可以为该Digital规范中定义的RATS Response或ATTRIB Response,上述第一RF接口以及上述第二RF接口可以为NCI规范中定义的ISO-DEP射频接口或NDEF射频接口,且上述第一通知、上述第二通知以及上述第三通知可以为该NCI规范中定义的RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

可见,实施本发明实施例能够通过NCI规范实现NFCC与作为目标方的 NFC设备调整后续通信过程中的通信数据包的最大长度值的功能。

请参阅图5,图5是本发明实施例公开的又一种调整近场通信NFC中数据包长度的方法的流程示意图。其中,图5所示的方法应用于作为发起方的第一NFC设备以及作为目标方的第二NFC设备中,其中,第一NFC设备和第二NFC设备均至少由NFCC以及DH构成,且第一NFC设备与第二NFC设备均已经激活了MAC层,即第一NFC设备与第二NFC设备已经通过ATR_REQ与ATR_RES协商好后续通信过程中所传输的数据包的最大长度值,即第二长度值以及第三长度值,其中,第二长度值由第一NFC设备设置且用于限制第二NFC设备在后续通信过程中发送的数据包的长度(即从第二NFC设备到第一NFC设备方向上所传输的数据包的长度),第三长度值由第二NFC设备设置且用于限制第一NFC设备在后续通信过程中发送的数据包的长度(即从第一NFC设备到第二NFC设备方向上所传输的数据包的长度),也就是说,后续通信中,第二NFC设备发送的数据包的长度不能超过第二长度值,第一NFC设备发送的数据包的长度不能超过第三长度值。如图5所示,该调整近场通信NFC中数据包长度的方法可以包括以下步骤:

S501、第一NFC设备的DH向第一NFC设备的NFCC发送包含第一长度值的调整命令。

本发明实施例中,该调整命令用于指示第一NFC设备的NFCC调整后续通信过程中所传输的数据包的最大长度值。

需要说明的是,该调整命令(例如RF_LR_ADJUST_CMD或RF_LR_SWITCH_CMD)可以在NCI规范定义的RFST_DISCOVERY状态、RFST_W4_ALL_DISCOVERIES状态、RFST_W4_HOST_SELECT状态或者RFST_POLL_ACTIVE状态下使用,其格式包括但不限于如下表格1与2所示的格式。

表格1:调整命令RF_LR_ADJUST_CMD

表格2:参数的标识、长度与值

标识ID长度len值val0x001Octet第一长度值0x01-0x7F 预留0x80-0xFF 专用

本实施例中,上述调整命令中的第一长度值可以是第一NFC设备的DH确定的小于或等于上述第二长度值以及第三长度值的一个值,此时,第一NFC设备的NFCC可能需要在步骤S501之前向第一NFC设备的DH上报包括上述第一长度值的射频接口激活通知,当然,该第一长度值是否不超过上述第二长度值以及第三长度值可以不经过第一NFC设备的DH判断,此时,第一NFC设备的NFCC可能需要在接收到上述调整命令后自己进行上述长度值的判断。

S502、第一NFC设备的NFCC接收上述调整命令。

S503、第一NFC设备的NFCC向第二NFC设备的NFCC发送包含第一长度值的第一请求。

本发明实施例中,该第一请求用于将第一NFC设备与第二NFC设备在后续通信过程中所传输的数据包的最大长度值调整为该第一请求中包含的第一长度值,其中,第一长度值小于或等于上述第二长度值且小于或等于上述第三长度值,且该第一请求还可以包含第一DID。

S504、第二NFC设备的NFCC接收上述第一请求,并判断是否由第二NFC设备的NFCC负责响应上述第一请求。

本发明实施例中,当步骤S504的判断结果为是时,第二NFC设备的NFCC 可以执行步骤S505;当步骤S504的判断结果为否时,第二NFC设备的NFCC可以执行步骤S506。

S505、第二NFC设备的NFCC向第一NFC设备的NFCC发送针对上述第一请求的第一响应。

本发明实施例中,该第一响应可以包括第二DID,且第二NFC设备的NFCC向第一NFC设备的NFCC发送针对上述第一请求的第一响应可以包括:

判断上述第一请求中的第一长度值是否小于或等于上述第二长度值且小于或等于上述第三长度值;

当判断结果为是时,向第一NFC设备的NFCC发送用于指示第二NFC设备接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的第一响应,其中,该第一响应中包含的DID与上述第一请求中包含的DID相同,且该第一响应中包含的DID与上述第一请求中包含的DID均为第二NFC设备的设备标识;

当判断结果为否时,向第一NFC设备的NFCC发送用于指示第二NFC设备不接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的第一响应。

可选的,当上述第一请求中的第一长度值大于上述第二长度值或大于上述第三长度值时,第二NFC设备的NFCC还可以不向第一NFC设备的NFCC返回任何响应,也可以向第一NFC设备的NFCC返回应答错误消息,本发明实施例不做限定。

S506、第二NFC设备的NFCC激活第二NFC设备上的第一RF接口。

S507、第二NFC设备的NFCC向第二NFC设备的DH发送包含上述第一长度值的第一通知。

本发明实施例中,第二NFC设备的NFCC将包含上述第一长度值的第一通知发送至第二NFC设备的DH,以告知第二NFC设备的DH第二NFC设备上的第一RF接口已经被激活且使第二NFC设备的DH判断上述第一长度值是否小于或等于上述第二长度值且是否小于或等于上述第三长度值。

S508、第二NFC设备的DH接收上述第一通知,并判断上述第一长度值是否小于或等于上述第二长度值且是否小于或等于上述第三长度值。

本发明实施例中,当步骤S508的判断结果为是时,第二NFC设备的DH可 以执行步骤S509;当步骤S508的判断结果为否时,第二NFC设备的DH可以向第二NFC设备的NFCC返回应答错误信息。

S509、第二NFC设备的DH通过数据报文向第二NFC设备的NFCC发送第二响应。

本发明实施例中,该第二响应用于指示第二NFC设备的DH是否接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值。

S510、第二NFC设备的NFCC将上述第二响应发送至第一NFC设备的NFCC。

S511、第一NFC设备的NFCC接收第二NFC设备的NFCC发送的响应。

本发明实施例中,第一NFC设备的NFCC接收到的响应为上述第一响应或上述第二响应。

S512、当第一NFC设备的NFCC接收到的响应中包含的DID与上述第一请求中包含的DID相同时,第一NFC设备的NFCC将上述第一长度值作为后续通信过程中所传输的数据包的最大长度值。

S513、第一NFC设备的NFCC向第一NFC设备的DH返回包含状态指示和/或上述第一长度值的调整响应。

本发明实施例中,上述状态指示用于表示第一NFC设备的NFCC已将上述最大值调整为上述第一长度值,也就是说第一NFC设备与第二NFC设备之间已经完成本次调整。

作为一种可选的实施方式,在第一NFC设备的DH执行步骤S501之前,第一NFC设备的NFCC还可以执行以下操作:

激活第一NFC设备上的第二RF接口,并向第一NFC设备的DH发送第二通知,其中,该第二通知用于告知第一NFC设备的DH该第一NFC设备中的第二RF接口已被激活。

作为另一种可选的实施方式,在执行完毕步骤S502之后,在执行步骤S503之前,第一NFC设备的NFCC还可以执行以下操作:

确定上述第一长度值小于或等于上述第二长度值且小于或等于上述第三长度值。

作为一种可选的实施方式,当第二NFC设备的NFCC执行完毕步骤S505之后且当上述第一响应用于指示第二NFC设备接受将后续通信过程中所传输的 数据包的最大长度值调整为上述第一长度值时,第二NFC设备的NFCC还可以执行以下操作:

将上述第一长度值通过第三通知发送至第二NFC设备的DH。

作为一种可选的实施方式,在第一NFC设备的NFCC先激活上述第一RF接口并向第一NFC设备的DH发送上述第一通知,然后再由第一NFC设备的DH执行步骤S501的情况下,在向第一NFC设备的DH发送包含状态指示和/或上述第一长度值的调整响应之后,第一NFC设备的NFCC还可以执行以下操作:

通过上述第二RF接口接收第一NFC设备的DH发送的第一数据消息,并以上述第一长度值作为最大长度值将该第一数据消息中的负载封装成第一数据包,即该第一数据包的长度值小于或等于上述第一长度值;

将该第一数据包发送至第二NFC设备的NFCC。

作为一种可选的实施方式,在步骤S502之后且在步骤S503之前执行确定上述第一长度值小于或等于上述第二长度值且小于或等于上述第三长度值的操作的情况下,在向第一NFC设备的DH发送包含状态指示和/或上述第一长度值的调整响应之后,第一NFC设备的NFCC还可以执行以下操作:

向第一NFC设备的DH发送第四通知,该第四通知用于告知第一NFC设备的DH第三RF接口已被激活;

通过该第三RF接口接收第一NFC设备的DH发送的第二数据消息,并以上述第一长度值作为最大长度值将该第二数据消息中的负载封装成第二数据包;

将该第二数据包发送至第二NFC设备的NFCC。

本发明实施例中,上述第四通知中可以包含上述第一长度值,也可以不包含;上述第一数据消息与第二数据消息、第一数据包与第二数据包与前面实施例中所述的数据消息、数据包分别相同,这里不再赘述。可选的,上述第一请求可以为Digital规范中定义的PSL_REQ,上述第一响应以及上述第二响应可以为该Digital规范中定义的PSL_RES,上述第一RF接口、上述第二RF接口以及上述第三RF接口可以为NCI规范中定义的NFC-DEP射频接口,且上述第一通知、上述第二通知、上述第三通知以及上述第四通知可以为该NCI规范中定义的RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

可选的,上述第一请求可以为Digital规范中定义的RATS Command或ATTRIB Command,上述第一响应以及上述第二响应可以为该Digital规范中定 义的RATS Response或ATTRIB Response,上述第一RF接口、上述第二RF接口以及上述第三RF接口可以为NCI规范中定义的ISO-DEP射频接口或NDEF射频接口,且上述第一通知、上述第二通知、上述第三通知以及上述第四通知可以为该NCI规范中定义的RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

可见,实施本发明实施例能够通过NCI规范实现作为发起方的第一NFC设备通过其NFCC与作为目标方的第二NFC设备调整后续通信过程中的通信数据包的最大长度值的功能。

请参阅图6,图6是本发明实施例公开的一种NFCC的结构示意图。其中,该NFCC为第一NFC设备中的NFCC。如图6所示,该NFCC可以包括判断模块601、通信模块602以及确定模块603,其中:

在一个实施例中,判断模块601,用于判断是否由该NFCC负责确定后续通信中所传输的数据包的最大长度值,其中,该最大长度值限制了从第一NFC设备到第二NFC设备方向上以及从第二NFC设备到第一NFC设备方向上分别传输的数据包的长度。

本发明实施例中,在判断模块601执行相应的操作之前,第一NFC设备与第二NFC设备均已经激活了MAC层,即第一NFC设备与第二NFC设备通过ATR_REQ与ATR_RES已经协商好后续通信过程中所传输的数据包的最大长度值,即第二长度值以及第三长度值,其中,第二长度值由第一NFC设备设置且用于限制第二NFC设备在后续通信过程中发送的数据包的长度(即从第二NFC设备到第一NFC设备方向上所传输的数据包的长度),第三长度值由第二NFC设备设置且用于限制第一NFC设备在后续通信过程中发送的数据包的长度(即从第一NFC设备到第二NFC设备方向上所传输的数据包的长度),也就是说,后续通信中,第二NFC设备发送的数据包的长度不能超过第二长度值,第一NFC设备发送的数据包的长度不能超过第三长度值。

通信模块602,用于当判断模块601的判断结果为是时,向第二NFC设备发送包含第一长度值的第一请求,并接收第二NFC设备针对该第一请求返回的第一响应,其中,该第一请求用于指示将第一NFC设备与第二NFC设备在后续通信中所传输的数据包的最大长度值调整为第一长度值,且第一长度值是该NFCC确定的一个值,该第一请求还可以包含第一DID且该第一响应可以包含 第二DID。

本发明实施例中,该第一请求可以是NFC论坛定义的Digital规范中定义的参数选择请求PSL_REQ,其中第5个字节(Byte 5)表示FSL参数,该字节的值定义了命令与响应的最大长度值,进一步地,该字节中的第一和第二比特位(即Digital规范中定义的b1和b2)对应的值表示该最大长度值,例如,当这里两个比特位的值为00b时,该最大长度值为64字节;当这里两个比特位的值为01b时,该最大长度值为128字节;当这里两个比特位的值为10b时,该最大长度值为192字节;当这里两个比特位的值为11b时,该最大长度值为254字节。因此,通过PSL_REQ和PSL_RES调整该最大长度值,可以理解为从一个长度值切换(switch)到另一个长度值,也可以理解为该最大长度值的重新协商或修改等,本发明实施例不对“调整”一词的含义进行限制。

其中,上述命令与响应可以是通过NFC-DEP协议进行通信时所使用的命令与响应,例如DEP_REQ和DEP_RES等;上述命令与响应可以作为负载(payload,即上层应用相关的业务数据)封装在数据包(Data)中,然后由NFC设备以NFC-A技术(即NFC论坛中定义的类型A射频技术,对应ISO/IEC14443的类型A的缩写)标准帧格式或NFC-F技术(即NFC论坛中定义的类型F射频技术,对应ISO/IEC 18092的212kbps和424kbps通信机制的缩写)帧格式发送出去,因此,上述最大长度值可以理解为数据包长度的最大值,也可以理解为上述命令与响应的负载(payload)字节数的最大值。

本发明实施例中,通信模块602向第二NFC设备发送包含第一长度值的第一请求,以使第二NFC设备在不接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值时不返回任何响应,或者以使第二NFC设备返回用于表示不接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的响应,例如,该响应中包含的DID不等于该第一请求中所包含的DID,以表示该第二NFC设备不接受上述第一长度值,或者以使第二NFC设备返回用于表示接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的响应,例如,该响应中包含的设备标识DID等于该第一请求中所包含的DID,以表示该第二NFC设备接受上述第一长度值。

确定模块603,用于当上述第一DID与上述第二DID相同时,将上述第一长度值作为后续通信中所传输的数据包的最大长度值。

本发明实施例中,当第一响应中包含的第二DID与上述第一请求中包含的第一DID相同时,该第一响应用于表示第二NFC设备已经将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值,其中,第一DID与第二DID均为上述第二NFC设备的设备标识,示例地,对于NFC-DEP协议而言,上述第二DID是作为发起方的第一NFC设备在通过ATR_REQ激活MAC层时为作为目标方的第二NFC设备分配的、用来标识第二NFC设备的一个标识;又示例地,对于ISO-DEP协议而言,上述第二DID是作为读写器(Reader/Writer)的第一NFC设备在通过RATS Command或ATTRIB Command激活作为NFC标签或者卡模拟的第二NFC设备时为该第二NFC设备分配的、用来标识该第二NFC设备的一个标识。

作为一种可选的实施方式,判断模块601判断是否由该NFCC负责确定后续通信中所传输的数据包的最大长度值的具体方式可以为:

判断第一参数的值是否为第一特定值,其中,该第一特定值用于表示后续通信中所传输的数据包的最大长度值由第一NFC设备中的NFCC负责确定,且第一参数的值可以是第一NFC设备中的NFCC的默认值(即NFC芯片出厂时设置到NFCC中的默认值),也可以是由第一NFC设备的DH配置给第一NFC设备的NFCC的值,本发明实施例不做限定。

作为一种可选的实施方式,通信模块602,还可以用于向第一NFC设备的DH发送包含上述第一长度值的第一通知,其中,该第一通知用于告知第一NFC设备的DH第一RF接口已经被激活,且还用于通过该第一RF接口接收第一NFC设备的DH发送的数据消息。

在该可选的实施方式中,通信模块602向第一NFC设备的DH发送包含上述第一长度值的上述第一通知的目的是向第一NFC设备的DH上报第一NFC设备与第二NFC设备调整后的后续通信中所传输的数据包的最大长度值为上述第一长度值,以使第一NFC设备的DH获取到该第一长度值后可以在上层业务中进行使用,例如,估算本次通信中完成上层业务相关数据的传输所需要的时间是多少等等,以及通知第一NFC设备的DH上述第一RF接口已被激活,也就是说,通信模块602已准备好接收第一NFC设备的DH发送的数据消息。其中,该数据消息可以是NCI规范中定义的Data Message(s),其中,在DH与NFCC之间传输Data Message(s)是通过传输Data Packet(s)实现的,且该数据消息中的负载 (payload)携带的可以是上层业务相关的数据。

且在该可选的实施方式中,该NFCC还可以包括封装模块604,且包括封装模块604的NFCC可以如图7所示,图7是本发明实施例公开的另一种NFCC的结构示意图。其中:

封装模块604,用于以上述第一长度值作为最大长度值将该数据消息中的负载封装成数据包。

在该可选的实施方式中,通信模块602还可以用于将该数据包发送至第二NFC设备。

可选的,上述第一请求可以为Digital规范中定义的PSL_REQ,上述第一响应可以为该Digital规范中定义的PSL_RES,上述第一RF接口可以为NCI规范中定义的NFC-DEP射频接口,且上述第一通知可以为该NCI规范中定义的射频接口激活通知RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

可选的,上述第一请求也可以是Digital规范中定义的适用于ISO-DEP协议的RATS Command或ATTRIB Command,其中包含的FSDI(Frame Size for proximity coupling Device Integer)参数用于计算工作在轮询(poll)模式下的NFC设备(例如读写器等)所能接受的数据包(例如信息块I-block或该I-block的负载payload)的最大长度值FSD;相应的,上述第一响应也可以是Digital规范中定义的RATS Response或ATTRIB Response,其中可能包含的FSCI(Frame Size for proximity Card Integer)参数用于计算工作在poll模式下的NFC设备(例如NFC标签或卡模拟)能接受的数据包(例如信息块I-block或该I-block的负载payload)的最大长度值FSC;上述第一RF接口可以是NCI规范中定义的ISO-DEP射频接口或NDEF射频接口,上述第一通知可以是NCI规定中定义的RF_INTF_ACTIVATED_NTF。此时,本发明方案中所使用的“调整”,除了其本身的含义,也可以理解为协商、限定等,本发明方案对此不进行限制。

可见,实施本发明实施例能够通过NCI规范实现作为发起方的第一NFC设备通过其NFCC与作为目标方的第二NFC设备调整后续通信过程中的通信数据包的最大长度值的功能。

请参阅图8,图8是本发明实施例公开的又一种NFCC的结构示意图。其中,该NFCC为第一NFC设备中的NFCC。如图8所示,该NFCC可以包括通信模块 801以及确定模块802,其中:

通信模块802,用接收第一NFC设备的DH发送的包含第一长度值的调整命令,其中,该调整命令用于指示NFCC调整后续通信过程中所传输的数据包的最大长度值,且该最大长度值限制了从第一NFC设备到第二NFC设备方向上以及从第二NFC设备到第一NFC设备方向上分别传输的数据包的长度。

本发明实施例中,在通信模块801执行相应的操作之前,第一NFC设备与第二NFC设备均已经激活了MAC层,即第一NFC设备与第二NFC设备通过ATR_REQ与ATR_RES已经协商好后续通信过程中所传输的数据包的最大长度值,即第二长度值以及第三长度值,其中,第二长度值由第一NFC设备设置且用于限制第二NFC设备在后续通信过程中发送的数据包的长度(即从第二NFC设备到第一NFC设备方向上所传输的数据包的长度),第三长度值由第二NFC设备设置且用于限制第一NFC设备在后续通信过程中发送的数据包的长度(即从第一NFC设备到第二NFC设备方向上所传输的数据包的长度),也就是说,后续通信中,第二NFC设备发送的数据包的长度不能超过第二长度值,第一NFC设备发送的数据包的长度不能超过第三长度值。

通信模块801,还用于向第二NFC设备发送包含第一长度值的第一请求,并接收第二NFC设备针对该第一请求返回的第一响应,其中,该第一请求用于指示将第一NFC设备与第二NFC设备后续通信过程中所传输的数据包的最大长度值调整为第一长度值,该第一请求还可以包含第一DID,且该第一响应可以包含第二DID。

本发明实施例中,该第一请求可以是NFC论坛定义的Digital规范中定义的参数选择请求PSL_REQ,其中第5个字节(Byte 5)表示FSL参数,该字节的值定义了命令与响应的最大长度值,进一步地,该字节中的第一和第二比特位(即Digital规范中定义的b1和b2)对应的值表示该最大长度值,例如,当这里两个比特位的值为00b时,该最大长度值为64字节;当这里两个比特位的值为01b时,该最大长度值为128字节;当这里两个比特位的值为10b时,该最大长度值为192字节;当这里两个比特位的值为11b时,该最大长度值为254字节。因此,通过PSL_REQ和PSL_RES调整该最大长度值,可以理解为从一个长度值切换(switch)到另一个长度值,也可以理解为该最大长度值的重新协商或修改等,本发明实施例不对“调整”一词的含义进行限制。

其中,上述命令与响应可以是通过NFC-DEP协议进行通信时所使用的命令与响应,例如DEP_REQ和DEP_RES等;上述命令与响应可以作为负载(payload,即上层应用相关的业务数据)封装在数据包(Data)中,然后由NFC设备以NFC-A技术(即NFC论坛中定义的类型A射频技术,对应ISO/IEC14443的类型A的缩写)标准帧格式或NFC-F技术(即NFC论坛中定义的类型F射频技术,对应ISO/IEC 18092的212kbps和424kbps通信机制的缩写)帧格式发送出去,因此,上述最大长度值可以理解为数据包长度的最大值,也可以理解为上述命令与响应的负载(payload)字节数的最大值。

本发明实施例中,通信模块801向第二NFC设备发送包含第一长度值的第一请求,以使第二NFC设备在不接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值时不返回任何响应,或者以使第二NFC设备返回用于表示不接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的响应,例如,该响应中包含的DID不等于该第一请求中所包含的DID,以表示该第二NFC设备不接受上述第一长度值,或者以使第二NFC设备返回用于表示接受将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值的响应,例如,该响应中包含的设备标识DID等于该第一请求中所包含的DID,以表示该第二NFC设备接受上述第一长度值。

确定模块802,用于当上述第第一DID与上述第二DID相同时,将第一长度值作为后续通信中所传输的数据包的最大长度值。

本发明实施例中,当第一响应中包含的第二DID与上述第一请求中包含的第一DID相同时,该第一响应用于表示第二NFC设备已经将后续通信过程中所传输的数据包的最大长度值调整为上述第一长度值,其中,第一DID与第二DID均为上述第二NFC设备的设备标识,示例地,对于NFC-DEP协议而言,上述第二DID是作为发起方的第一NFC设备在通过ATR_REQ激活MAC层时为作为目标方的第二NFC设备分配的、用来标识第二NFC设备的一个标识;又示例地,对于ISO-DEP协议而言,上述第二DID是作为读写器(Reader/Writer)的第一NFC设备在通过RATS Command或ATTRIB Command激活作为NFC标签或者卡模拟的第二NFC设备时为该第二NFC设备分配的、用来标识该第二NFC设备的一个标识。

作为一种可选的实施方式,通信模块801还可以用于向第一NFC设备的DH 发送包含状态指示和/或上述第一长度值的调整响应,其中,该状态指示用于表示该NFCC已将上述最大长度值调整为上述第一长度值,也就是说第一NFC设备与第二NFC设备之间已经完成本次调整。

作为一种可选的实施方式,当通信模块801还可以用于向第一NFC设备的DH发送包含状态指示和/或上述第一长度值的调整响应时,该NFCC还可以包括第一激活模块803,且包括第一激活模块803的NFCC可以如图9所示,图9是本发明实施例公开的又一种NFCC的结构示意图。其中:

第一激活模块803,用于在通信模块801向第二NFC设备发送包括第一长度值的第一请求之前,激活第一RF接口。

通信模块801,还可以用于向第一NFC设备的DH发送第一通知,其中,该第一通知用于告知第一NFC设备的DH第一RF接口已被激活。

需要说明的是,在该可选的实施方式中,第一NFC设备与第二NFC设备通过ATR_REQ和ATR_RES激活了第一NFC设备与第二NFC设备之间的MAC层,即第一NFC设备与第二NFC设备已经协商好后续通信中在两个方向上分别传输的数据包的最大长度值,即上述实施例中的第二长度值和第三长度值。本发明实施例中,第一NFC设备的NFCC向第一NFC设备的DH发送第一通知时,可以携带ATR_RES中的参数值,其中包括第三长度值,具体请参见NCI规范。

作为一种可选的实施方式,当通信模块801还可以用于向第一NFC设备的DH发送包含状态指示和/或上述第一长度值的调整响应且NFCC包括第一激活模块803时,通信模块801,还可以用于通过上述第一RF接口接收第一NFC设备的DH发送的第一数据消息。

且在该可选的实施方式中,该NFCC还包括第一封装模块804,且包括第一封装模块804的NFCC可以如图10所示,图10是本发明实施例公开的又一种NFCC的结构示意图。其中:

第一封装模块804,用于以上述第一长度值作为最大长度值将该第一数据消息中的负载封装成第一数据包。

且通信模块801,还可以用于将第一数据包发送至第二NFC设备。

作为另一种可选的实施方式,当通信模块801还可以用于向第一NFC设备的DH发送包含状态指示和/或上述第一长度值的调整响应时,确定模块802还可以在通信模块801向第二NFC设备发送包括上述第一长度值的第一请求之 前,确定上述第一长度值小于或等于第二长度值且小于或等于第三长度值。

在该可选的实施方式中,该NFCC还包括第二封装模块805以及第二激活模块806,且包括第二封装模块805以及第二激活模块806的NFCC可以如图11所示,图11是本发明实施例公开的又一种NFCC的结构示意图。其中:

第二激活模块806,用于激活第二RF接口。

通信模块801,还可以用于向第一NFC设备的DH发送第二通知,该第二通知用于告知第一NFC设备的DH第二RF接口已被激活,并通过该第二RF接口接收第一NFC设备的DH发送的第二数据消息。

第二封装模块805,用于以上述第一长度值作为最大长度值将上述第二数据消息中的负载封装成第二数据包。

通信模块801,还可以用于将上述第二数据包发送至第二NFC设备。

需要说明的是,在该可选的实施方式中,第一NFC设备的DH向第一NFC设备的NFCC发送上述调整命令可以发生在第一NFC设备通过NFCC与第二NFC设备直接激活MAC层之前或之后,由于第一NFC设备的DH不知第一NFC设备的NFCC与第二NFC设备即将协商的或已经协商好的第二长度值与第三长度值具体是多少,因此,第一NFC设备的DH发送的该调整命令中的第一长度值可能大于、等于或小于该第二长度值或第三长度值,那么,第一NFC设备的NFCC为了防止第一长度值超过该第二长度值或第三长度值,第一NFC设备的NFCC需要执行上述操作以保证该第一长度值小于或等于第二长度值与第三长度值。

需要说明的是,本发明实施例中,上述第二通知可以包含上述第一长度值,也可以不包含;上述第一数据消息与第二数据消息、上述第一数据包与第二数据包与前面实施例所述的数据消息、数据包分别相同,这里不再赘述。

可选的,上述第一请求可以为Digital规范中定义的PSL_REQ,上述第一响应可以为该Digital规范中定义的PSL_RES,上述第一RF接口以及上述第二RF接口可以为NCI规范中定义的NFC-DEP射频接口,且上述第一通知以及上述第二通知可以为该NCI规范中定义的射频接口激活通知RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

可选的,上述第一请求也可以是Digital规范中定义的适用于ISO-DEP协议的RATS Command或ATTRIB Command,其中包含的FSDI(Frame Size for  proximity coupling Device Integer)参数用于计算工作在轮询(poll)模式下的NFC设备(例如读写器等)所能接受的数据包(例如信息块I-block或该I-block的负载payload)的最大长度值FSD;相应的,上述第一响应也可以是Digital规范中定义的RATS Response或ATTRIB Response,其中可能包含的FSCI(Frame Size for proximity Card Integer)参数用于计算工作在poll模式下的NFC设备(例如NFC标签或卡模拟)能接受的数据包(例如信息块I-block或该I-block的负载payload)的最大长度值FSC;上述第一RF接口以及上述可以是NCI规范中定义的ISO-DEP射频接口或NDEF射频接口,上述第一通知以及上述第二通知可以是NCI规定中定义的RF_INTF_ACTIVATED_NTF。此时,本发明方案中所使用的“调整”,除了其本身的含义,也可以理解为协商、限定等,本发明方案对此不进行限制。

可见,实施本发明实施例能够通过NCI规范实现作为发起方的第一NFC设备通过其NFCC与作为目标方的第二NFC设备调整后续通信过程中的通信数据包的最大长度值的功能。

请参阅图12,图12是本发明实施例公开的又一种NFCC的结构示意图。如图12所示,该NFCC可以包括:至少一个处理器1201,如CPU,通信装置1202以及至少一个通信总线1203。且第一NFC设备与第二NFC设备均已经激活了MAC层,即第一NFC设备与第二NFC设备通过ATR_REQ与ATR_RES已经协商好后续通信过程中所传输的数据包的最大长度值,即第二长度值以及第三长度值,其中,第二长度值由第一NFC设备设置且用于限制第二NFC设备在后续通信过程中发送的数据包的长度(即从第二NFC设备到第一NFC设备方向上所传输的数据包的长度),第三长度值由第二NFC设备设置且用于限制第一NFC设备在后续通信过程中发送的数据包的长度(即从第一NFC设备到第二NFC设备方向上所传输的数据包的长度),也就是说,后续通信中,第二NFC设备发送的数据包的长度不能超过第二长度值,第一NFC设备发送的数据包的长度不能超过第三长度值。其中:

通信总线1203用于实现这些组件之间的连接通信。

在一个实施例中,处理器1201,用于判断是否由NFCC负责确定后续通信中所传输的数据包的最大长度值。

通信装置1202,用于当处理器1201的判断结果为是时,向第二NFC设备发送包含第一长度值的第一请求并接收第二NFC设备针对该第一请求返回的第一响应,其中,该第一请求用于指示将第一NFC设备与第二NFC设备在后续通信中所传输的数据包的最大长度值调整为第一长度值,第一长度值是NFCC确定的一个值,且该该最大长度值限制了从第一NFC设备到第二NFC设备方向上以及从第二NFC设备到第一NFC设备方向上分别传输的数据包的长度,该第一请求还可以包含第一DID且该第二响应包含第二DID。

具体的,如图12所示,通信装置1202可以包括用于与第二NFC设备进行通信(即向第二NFC设备发送数据以及从第二NFC设备接收数据)的第一通信子装置12021,如NFCC中的收发电路等,该收发电路中NFC天线的工作频率可以是13.56MHz,NFCC通过该NFC天线可以向第二NFC设备发送数据,也可以从第二NFC设备接收数据。本发明实施例中,通信装置1202可以通过第一通信子装置12021向第二NFC设备发送包含第一长度值的第一请求并接收第二NFC设备针对上述第一请求返回的上述第一响应。

处理器1201,还用于当上述第一DID与上述第二DID相同时,将第一长度值作为后续通信中所传输的数据包的最大长度值。

作为一种可选的实施方式,处理器1201判断是否由NFCC负责确定后续通信中所传输的数据包的最大长度值的具体方式为:

判断第一参数的值是否为第一特定值,其中,该第一特定值用于表示后续通信中所传输的数据包的最大长度值由NFCC负责确定,该第一参数的值是NFCC的默认值(即可以理解为在NFC芯片出厂时设置到NFCC中的默认值),或者是由第一NFC设备的DH配置给NFCC的值。

作为一种可选的实施方式,通信装置1202,还可以用于向第一NFC设备的DH发送包含第一长度值的第一通知,其中,该第一通知用于告知第一NFC设备的DH第一RF接口已被激活,并通过该第一RF接口接收第一NFC设备发送的数据消息,处理器1201还可以用于以上述第一长度值作为最大长度值将该数据消息中的负载封装成数据包,通信装置1202,还用于通过第一通信子装置12021将该数据包发送至第二NFC设备。

在该可选的实施方式中,通信装置1202向第一NFC设备的DH发送包含上述第一长度值的上述第一通知的目的是向第一NFC设备的DH上报第一NFC设 备与第二NFC设备调整后的后续通信中所传输的数据包的最大长度值为上述第一长度值,以使第一NFC设备的DH获取到该第一长度值后可以在上层业务中进行使用,例如,估算本次通信中完成上层业务相关数据的传输所需要的时间是多少等等,以及通知第一NFC设备的DH上述第一RF接口已被激活,也就是说,第一NFC设备的NFCC已准备好接收第一NFC设备的DH发送的数据消息。其中,该数据消息可以是NCI规范中定义的Data Message(s),其中,在DH与NFCC之间传输Data Message(s)是通过传输Data Packet(s)实现的,且该数据消息中的负载(payload)携带的可以是上层业务相关的数据。

具体的,如图12所示,通信装置1202还可以包括用于与第一NFC设备的DH进行通信的第二通信子装置12022,如DH与NFCC之间的接口,该接口在上层可以支持NCI协议,在底层可以使用通用异步收发传输器(UART,Universal Asynchronous Receiver/Transmitter)、I2C总线(Inter-Integrated Circuit)或半双工串行外设接口(SPI,Serial Peripheral Interface)等传输数据。本发明实施例中,通信装置1202通过第二通信子装置12022向第一NFC设备的DH发送包含第一长度值的第一通知,并通过第二通信子装置12022接收DH发送的数据消息,即上述第一RF接口即可以理解为第二通信子装置12022。

需要说明的是,本发明实施例中,上述数据消息和数据包分别与前面实施例所述的数据消息和数据包相同,这里不再赘述。

可选的,上述第一请求可以为Digital规范中定义的PSL_REQ,上述第一响应可以为该Digital规范中定义的PSL_RES,上述第一RF接口可以为NCI规范中定义的NFC-DEP射频接口,且上述第一通知可以为该NCI规范中定义的射频接口激活通知RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

可选的,上述第一请求也可以是Digital规范中定义的适用于ISO-DEP协议的RATS Command或ATTRIB Command,其中包含的FSDI(Frame Size for proximity coupling Device Integer)参数用于计算工作在轮询(poll)模式下的NFC设备(例如读写器等)所能接受的数据包(例如信息块I-block或该I-block的负载payload)的最大长度值FSD;相应的,上述第一响应也可以是Digital规范中定义的RATS Response或ATTRIB Response,其中可能包含的FSCI(Frame Size for proximity Card Integer)参数用于计算工作在poll模式下的NFC设备(例如NFC标签或卡模拟)能接受的数据包(例如信息块I-block或该I-block 的负载payload)的最大长度值FSC;上述第一RF接口可以是NCI规范中定义的ISO-DEP射频接口或NDEF射频接口,上述第一通知可以是NCI规定中定义的RF_INTF_ACTIVATED_NTF。此时,本发明方案中所使用的“调整”,除了其本身的含义,也可以理解为协商、限定等,本发明方案对此不进行限制。

在另一个实施例中,通信装置1202,用于接收第一NFC设备的DH发送的包含第一长度值的调整命令,其中,该调整命令用于指示NFCC调整后续通信过程中所传输的数据包的最大长度值。

具体的,通信装置1202可以包括用于与第一NFC设备的DH进行通信的第二通信子装置12022,如DH与NFCC之间的接口,该接口在上层可以支持NCI协议,在底层可以使用通用异步收发传输器(UART,Universal Asynchronous Receiver/Transmitter)、I2C总线(Inter-Integrated Circuit)或半双工串行外设接口(SPI,Serial Peripheral Interface)等传输数据。本发明实施例中,通信装置1202可以通过第二通信子装置12022接收第一NFC设备的DH发送的包含第一长度值的调整命令。

通信装置1202,还用于向第二NFC设备发送包含上述第一长度值的第一请求,并接收第二NFC设备针对该第一请求返回的第一响应,其中,该第一请求用于指示将第一NFC设备与第二NFC设备后续通信过程中所传输的数据包的最大长度值调整为第一长度值,该第一请求还可以包含第一DID且该第一响应还包含第二DID。

具体的,通信装置1202还可以包括用于与第二NFC设备进行通信(即向第二NFC设备发送数据以及从第二NFC设备接收数据)的第一通信子装置12021,如NFCC中的收发电路等,该收发电路中NFC天线的工作频率可以是13.56MHz,NFCC通过该NFC天线可以向第二NFC设备发送数据,也可以从第二NFC设备接收数据。本发明实施例中,在接收第一NFC设备的DH发送的包含第一长度值的调整命令之后,通信装置1202可以通过第一通信子装置12021向第二NFC设备发送包含上述第一长度值的第一请求并接收第二NFC设备针对该第一请求返回的第一响应。

处理器1201,用于当上述第一DID与上述第二DID相同时,将上述第一长度值作为后续通信中所传输的数据包的最大长度值。

作为一种可选的实施方式,通信装置1202,还可以用于通过第二通信子装 置12022向第一NFC设备的DH发送包含状态指示和/或上述第一长度值的调整响应,该状态指示用于表示NFCC已将最大长度值调整为第一长度值。

作为一种可选的实施方式,当通信装置1202还可以用于通过第二通信子装置12022向第一NFC设备的DH发送包含状态指示和/或上述第一长度值的调整响应时,处理器1201,还可以用于在通信装置1202的第一通信子装置12021向第二NFC设备发送包括第一长度值的第一请求之前,激活第一RF接口。通信装置1202,还可以用于向第一NFC设备的DH发送第一通知,其中,该第一通知用于告知该DH第一RF接口已被激活,具体的,通信装置1202可以通过第二通信子装置12022向第一NFC设备的DH发送第一通知。

在该可选的实施方式中,进一步可选的,通信装置1202,还可以用于通过第一RF接口接收第一NFC设备的DH发送的第一数据消息;处理器1201,还可以用于以上述第一长度值作为最大长度值将该第一数据消息中的负载封装成第一数据包;通信装置1202,还可以用于通过第一通信子装置12021将该第一数据包发送至第二NFC设备。

作为另一种可选的实施方式,当通信装置1202还可以用于通过第二通信子装置12022向第一NFC设备的DH发送包含状态指示和/或上述第一长度值的调整响应时,处理器1201,还可以用于在通信装置1202的第一通信子装置12021向第二NFC设备发送包括第一长度值的第一请求之前,确定第一长度值小于或等于上述第二长度值且小于或等于上述第三长度值。

在该可选的实施方式中,进一步可选的,通信装置1202,还可以用于通过第二通信子装置12022向第一NFC设备的DH发送第二通知,该第二通知用于告知第一NFC设备DH第二RF接口已被激活,并通过第二RF接口接收第一NFC设备DH发送的第二数据消息;处理器1201,还用于以上述第一长度值作为最大长度值将该第二数据消息中的负载封装成第二数据包;通信装置1202,还可以用于通过第一通信子装置12021将改第二数据包发送至第二NFC设备。

需要说明的是,本发明实施例中,上述第二通知可以包含上述第一长度值,也可以不包含;上述第一数据消息与第二数据消息、上述第一数据包与第二数据包与前面实施例所述的数据消息、数据包分别相同,这里不再赘述。可选的,上述第一请求可以为Digital规范中定义的PSL_REQ,上述第一响应可以为该Digital规范中定义的PSL_RES,上述第一RF接口以及第二RF接口可以为NCI 规范中定义的NFC-DEP射频接口,且上述第一通知以及第二通知可以为该NCI规范中定义的射频接口激活通知RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

可选的,上述第一请求也可以是Digital规范中定义的适用于ISO-DEP协议的RATS Command或ATTRIB Command,其中包含的FSDI(Frame Size for proximity coupling Device Integer)参数用于计算工作在轮询(poll)模式下的NFC设备(例如读写器等)所能接受的数据包(例如信息块I-block或该I-block的负载payload)的最大长度值FSD;相应的,上述第一响应也可以是Digital规范中定义的RATS Response或ATTRIB Response,其中可能包含的FSCI(Frame Size for proximity Card Integer)参数用于计算工作在poll模式下的NFC设备(例如NFC标签或卡模拟)能接受的数据包(例如信息块I-block或该I-block的负载payload)的最大长度值FSC;上述第一RF接口以及上述第二RF接口可以是NCI规范中定义的ISO-DEP射频接口或NDEF射频接口,上述第一通知以及上述第二通知可以是NCI规定中定义的RF_INTF_ACTIVATED_NTF。此时,本发明方案中所使用的“调整”,除了其本身的含义,也可以理解为协商、限定等,本发明方案对此不进行限制。

可见,实施本发明实施例能够通过NCI规范实现作为发起方的第一NFC设备通过其NFCC与作为目标方的第二NFC设备调整后续通信过程中的通信数据包的最大长度值的功能。

请参阅图13,图13是本发明实施例公开的一种调整近场通信NFC中数据包长度的系统的结构示意图。如图13所示,该系统可以包括作为发起方的第一NFC设备1301以及作为目标方的第二NFC设备1302,其中,第一NFC设备1301可以包括第一NFCC13011以及第一DH13012,第二NFC设备1302可以包括第二NFCC13021以及第二DH13022,且第一NFC设备1301与第二NFC设备1302均已经激活了MAC层,即第一NFC设备1301与第二NFC设备1302已经通过ATR_REQ与ATR_RES协商好后续通信过程中所传输的数据包的最大长度值,即第二长度值以及第三长度值,其中,第二长度值由第一NFC设备1301设置且用于限制第二NFC设备1302在后续通信过程中发送的数据包的长度,第三长度值由第二NFC设备1302设置且用于限制第一NFC设备1301在后续通信过程中 发送的数据包的长度其中:

在一个实施例中,第一NFCC13011用于判断是否由第一NFCC13011负责确定后续通信中所传输的数据包的最大长度值,如果是,则向第二NFC设备1302的第二NFCC13021发送包含第一长度值的第一请求,其中,该第一请求用于指示将第一NFC设备1301与第二NFC设备1302在后续通信中所传输的数据包的最大长度值调整为第一长度值,其中,该第一长度值是第一NFCC13011确定的一个值,且第一请求还可以包含第一DID。

第二NFCC13021用于判断是否由第二NFCC13021负责响应上述第一请求,当判断结果为是时,向第一NFCC13011发送针对上述第一请求的第一响应,当判断结果为否时,激活第二NFC设备1302上的第一RF接口,并向第二DH13022发送包含上述第一长度值的第一通知。

第二DH13022用于当接收到上述第一通知时,判断上述第一通知中的第一长度值是否小于或等于上述第二长度值且是否小于或等于上述第三长度值,当判断结果为是时,向第二NFCC13021返回第二响应。

第二NFCC13021还用于当接收到上述第二响应后将上述第二响应发送至第一NFCC13011。

第一NFCC13011还用于当接收到第二NFCC13021返回的响应且当该响应中包含的第二DID与上述第一请求中包含的第一DID相同时,将上述第一长度值作为第一NFC设备1301与第二NFC设备1302在后续通信中所传输的数据包的最大长度值,其中,该响应为上述第一响应或上述第二响应。

作为一种可选的实施方式,第一NFCC13011判断是否由第一NFCC13011负责确定后续通信中所传输的数据包的最大长度值的具体方式可以为:

判断第一参数的值是否为第一特定值,其中,该第一特定值用于表示后续通信中所传输的数据包的最大长度值由第一NFCC13011负责确定,第一参数的值是第一NFCC13011的默认值(即可以理解为在NFC芯片出厂时设置到NFCC中的默认值),或者是由第一DH13012配置给第一NFCC13011的值,本发明实施例不做限定。

作为一种可选的实施方式,第一NFCC13011还可以用于在将上述第一长度值作为第一NFC设备1301与第二NFC设备1302在后续通信中所传输的数据包的最大长度值之后,向第一DH13012发送包含上述第一长度值的第二通知,其 中,该第二通知用于告知第一DH13012第一NFC设备1301的第二RF接口已经被激活,并通过该第二RF接口接收第一DH13012发送的数据消息,以上述第一长度值作为最大长度值将该数据消息中的负载封装成数据包并将该数据包发送至第二NFC设备1302的第二NFCC1321,其中,该数据包的长度值小于或等于上述第三长度值。

在该可选的实施方式中,第一NFCC13011向向第一DH13012发送包含上述第一长度值的上述第二通知的目的是向第一DH13012上报第一NFC设备1301与第二NFC设备1302调整后的后续通信中所传输的数据包的最大长度值为上述第一长度值,以使第一DH13012获取到该第一长度值后可以在上层业务中进行使用,例如,估算本次通信中完成上层业务相关数据的传输所需要的时间是多少等等,以及通知第一DH13012上述第二RF接口已被激活,也就是说,第一NFCC13011已准备好接收第一DH13012发送的数据消息。其中,该数据消息可以是NCI规范中定义的Data Message(s),其中,在第一DH13012与第一NFCC13011之间传输Data Message(s)是通过传输Data Packet(s)实现的,且该数据消息中的负载(payload)携带的可以是上层业务相关的数据。

作为一种可选的实施方式,第二NFCC13021判断是否由第二NFCC13021负责响应上述第一请求的具体方式可以为:

判断第二NFCC13021中的第二参数的值是否为第二特定值,其中,该第二特定值用于表示由第二NFCC13021负责响应上述第一请求,且该第二特定值可以是第二NFCC13021的默认值(即可以理解为在NFC芯片出厂时设置到NFCC中的默认值),也可以是由第二DH13022配置给第二NFCC13021的值,本发明实施例不做限定。

作为一种可选的实施方式,第二NFCC13021还可以用于在向第一NFCC13011发送针对上述第一请求的第一响应之后且该第一响应中包含的第一DID与上述第一请求中包含的第二DID相同时,将上述第一长度值通过第三通知发送至第二DH13022。

需要说明的是,本发明实施例中,上述数据消息和数据包分别与前面实施例所述的数据消息和数据包相同,这里不再赘述。

可选的,上述第一请求可以为Digital规范中定义的PSL_REQ,上述第一响应及上述第二响应可以为该Digital规范中定义的PSL_RES,上述第一RF接口以 及上述第二RF接口可以为NCI规范中定义的NFC-DEP射频接口,上述第一通知、第二通知以及第三通知可以为该NCI规范中定义的RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

可选的,上述第一请求可以为Digital规范中定义的RATS Command或ATTRIB Command,上述第一响应以及上述第二响应可以为该Digital规范中定义的RATS Response或ATTRIB Response,上述第一RF接口以及上述第二RF接口可以为NCI规范中定义的ISO-DEP射频接口或NDEF射频接口,且上述第一通知、上述第二通知以及上述第三通知可以为该NCI规范中定义的RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

在另一个实施例中,第一NFCC13011用于接收第一DH13012发送的包含第一长度值的调整命令,其中,该调整命令用于指示第一NFCC13011调整后续通信过程中所传输的数据包的最大长度值,如果是,向第二NFCC13021发送包含第一长度值的第一请求,其中,该第一请求用于指示将第一NFC设备1301与第二NFC设备1302后续通信中所传输的数据包的最大长度值调整为第一长度值,且该第一请求还可以包含第一DID。

第二NFCC13021用于判断是否由第二NFCC13021负责响应上述第一请求,当判断结果为是时,向第一NFCC13011发送针对上述第一请求的第一响应,当判断结果为否时,激活第二NFC设备1302上的第一RF接口,并向第二DH13022发送包含上述第一长度值的第一通知。

第二DH13022用于当接收到上述第一通知时,判断上述第一通知中的第一长度值是否小于或等于上述第二长度值且是否小于或等于上述第三长度值,当判断结果为是时,向第二NFCC13021返回第二响应。

第二NFCC13021还用于当接收到上述第二响应后将上述第二响应发送至第一NFCC13011。

第一NFCC13011还用于接收第二NFCC13021返回的响应且当该响应中包含的第二DID与上述第一请求中包含的第一DID相同时,将上述第一长度值作为第一NFC设备1301与第二NFC设备1302在后续通信中所传输的数据包的最大长度值,其中,该响应为上述第一响应或上述第二响应。

作为一种可选的实施方式,第一NFCC13011还可以用于在将上述第一长度值作为后续通信过程中所传输的数据包的最大长度值之后,向第一DH13012 发送包含状态指示和/或上述第一长度值的调整响应,该状态指示用于第一NFCC13011已将上述最大长度值调整为上述第一长度值。

作为一种可选的实施方式,当第一NFCC13011还可以用于在将上述第一长度值作为后续通信过程中所传输的数据包的最大长度值之后,向第一DH13012发送包含状态指示和/或上述第一长度值的调整响应时,第一NFCC13011还可以用于在接收第一DH13012发送的包含第一长度值的调整命令之前,激活第一NFC设备1301上的第二RF接口,并向第一DH13011发送第二通知,该第二通知用于告知第一DH13011第二RF接口已被激活。

在该可选的实施方式中,进一步可选的,第一NFCC13011,还可以用于通过上述第二RF接口接收第一DH13012发送的第一数据消息,以上述第一长度值作为最大长度值将该第一数据消息中的负载封装成第一数据包,并将该第一数据包发送至第二NFC设备1302的第二NFCC13022,其中,该第一数据包的最长度值小于或等于上述第一长度值。

作为另一种可选的实施方式,第一NFCC13011还可以用于在向第二NFCC13021发送上述第一请求之前,确定上述第一长度值小于或等于上述第二长度值且小于或等于上述第三长度值。

在该可选的实施方式中,进一步可选的,第一NFCC13011还可以用于向第一DH13012发送的第三通知,该第三通知用于告知第一DH13012第三RF接口已被激活,并通过该第三RF接口接收第一DH13012发送的第二数据消息,以上述第一长度值作为最大长度值将该第二数据消息中的负载封装成第二数据包并将该第二数据包发送至第二NFC设备1302的第二NFCC13021中,其中,该第二数据包的长度值小于或等于上述第一长度值。

作为一种可选的实施方式,第二NFCC13021判断是否由第二NFCC13021负责响应上述第一请求的具体方式可以为:

判断第二NFCC13021中的第一参数的值是否为第一特定值,其中,该第一特定值用于表示由第二NFCC13021负责响应上述第一请求,且该第二特定值可以是第二NFCC13021的默认值(即可以理解为在NFC芯片出厂时设置到NFCC中的默认值),也可以是由第二DH13022配置给第二NFCC13021的值,本发明实施例不做限定。

需要说明的是,本发明实施例中的上述第一参数、第一特定值,与上述发 明实施例中的第一参数、第一特定值可以是不同的。此外,上述第三通知可以包含上述第一长度值,也可以不包含;上述第一数据消息与第二数据消息、上述第一数据包与第二数据包与前面实施例所述的数据消息、数据包分别相同,这里不再赘述。

作为一种可选的实施方式,第二NFCC13021还可以用于在向第一NFCC13011发送针对上述第一请求的第一响应之后且该第一响应中包含的第二DID与上述第一请求中包含的第一DID相同时,将上述第一长度值通过第四通知发送至第二DH13022。

作为一种可选的实施方式,上述第一请求可以为Digital规范中定义的PSL_REQ,上述第一响应及上述第二响应可以为该Digital规范中定义的PSL_RES,上述第一RF接口、上述第二RF接口以及上述第三RF接口可以为NCI规范中定义的NFC-DEP射频接口,上述第一通知、第二通知、第三通知以及第四通知可以为该NCI规范中定义的RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

作为另一种可选的实施方式,上述第一请求可以为Digital规范中定义的RATS Command或ATTRIB Command,上述第一响应以及上述第二响应可以为该Digital规范中定义的RATS Response或ATTRIB Response,上述第一RF接口、上述第二RF接口以及上述第三RF接口可以为NCI规范中定义的ISO-DEP射频接口或NDEF射频接口,且上述第一通知、上述第二通知、上述第三通知以及上述第四通知可以为该NCI规范中定义的RF_INTF_ACTIVATED_NTF,本发明实施例不做限定。

可见,实施本发明实施例能够通过NCI规范实现作为发起方的第一NFC设备通过其NFCC与作为目标方的第二NFC设备调整后续通信过程中的通信数据包的最大长度值的功能。需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本发明实施例NFCC中的模块可以根据实际需要进行合并、划分和删减。

本发明实施例中所述模块,可以通过通用集成电路,例如CPU(Central Processing Unit,中央处理器),或通过ASIC(Application Specific Integrated Circuit,专用集成电路)来实现。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上对本发明实施例公开的一一种调整近场通信NFC中数据包长度的方法、装置及系统进行了详细介绍,本文中应用了具体实例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号