CN101305585A - 近距离通信主机控制器接口 - Google Patents
近距离通信主机控制器接口 Download PDFInfo
- Publication number
- CN101305585A CN101305585A CNA2006800415785A CN200680041578A CN101305585A CN 101305585 A CN101305585 A CN 101305585A CN A2006800415785 A CNA2006800415785 A CN A2006800415785A CN 200680041578 A CN200680041578 A CN 200680041578A CN 101305585 A CN101305585 A CN 101305585A
- Authority
- CN
- China
- Prior art keywords
- equipment
- data
- response
- message
- order
- 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.)
- Pending
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种NFCH与NFC设备之间的通信接口以及用于控制NFC HCI的方法。在该方法中,从主机向设备发送命令消息。命令消息包括向设备记录数据、读取设备的数据、请求设备发送预定数据和对设备进行设置中的一种。响应于该命令消息,从设备向主机发送告知了相关命令执行结果的响应消息。此后,在需要时从设备向主机发送事件消息。
Description
技术领域
本发明涉及近距离通信(NFC)主机与NFC设备之间的通信接口。
背景技术
就NFC主机与NFC设备或与NFC芯片组之间的通信接口而言,需要通用性和兼容性。主机(如移动手机的MSM芯片及移动设备的微控制器单元(MCU))与连接到该主机上的设备或芯片组之间的接口应当予以特别关注。
图1例示了多种NFC主机(NFCH)与多种NFC设备或NFC芯片组(NFCC)之间的接口。NFCH A 110与NFCC A 210之间的接口在相关驱动器接口112的基础上连接到上层111,驱动器接口112被实现为适用于通过串行总线而连接到NFCCA 210上的驱动器A 113。其它NFCH B120与其它NFCC B 220之间的接口在相关驱动器接口122的基础上连接到上层121,驱动器接口122被实现为适用于通过串行总线而连接到NFCC B 220上的驱动器B 113。另一个NFCH C 130与另一个NFCC 230之间的接口在相关驱动器接口132的基础上连接到上层131,驱动器接口132被实现为适用于通过串行总线而连接到NFCC C 230上的驱动器C133。
参照图1,对于预定主机而言,连接到该预定主机上的设备或芯片组利用被实现为适用于该设备或芯片组的驱动器而建立了相关驱动器接口。因此,主机与芯片组或设备之间的接口彼此不同,不能保证相互之间的兼容性或通用性。
图2例示了在主机与芯片组或设备之间的接口中无法保证相互之间的兼容性或通用性情况下可能产生的缺点。当针对预定的NFCH 100建立了适于NFCC 210的接口时,其它NFCC 220和230无法在不同驱动器123和133的基础上连接到主机100。
发明内容
当主机与连接到主机的设备或芯片组之间的接口对于每个主机、每个设备或每个芯片组都不同时,相互之间的兼容性或通用性无法得到保证。
如上所述,参照图2,需要不同接口的不同设备之间的控制接口需要设计并开发出一种适于每个主机和每个设备的新驱动器和新驱动器接口,并且需要不仅在主机方面而且在设备或芯片组方面将驱动器和驱动器接口安装到设备内。
本发明的目的是在主机与连接到主机的设备或芯片组之间定义一种接口,并且符合所定义的接口,从而保证了不同设备之间的主机控制器接口的通用性及兼容性。
本发明的另一个目的是定义一种用于在NFCH与NFC设备或NFC芯片组之间传输数据的数据格式,以及一种对于该数据格式的处理,并通过符合所定义的格式及其处理来提供一种设备之间的接口,从而保证了不同设备之间的主机控制器接口的通用性及兼容性。
为了实现这些及其它优点并且根据所体现并广泛描述的发明目的,提供了一种在主机与连接到该主机的设备之间的通信接口中在该主机与该设备之间进行通信的方法,该方法包括以下步骤:从该主机向该设备发送命令消息;响应于该命令消息从该设备向该主机发送响应消息;在该主机与该设备之间传输数据;以及在需要时从该设备向该主机发送事件消息。
本发明的另一方面提供了一种在主机与连接到该主机的设备之间的通信接口中在该主机与该设备之间进行通信的方法,该方法包括以下步骤:从该主机向该设备发送命令消息,该命令消息包括表示消息种类的数据、表示消息内容的数据以及额外数据;从该设备发送事件消息或发送响应消息,该响应消息包括表示消息种类的数据、表示消息内容的数据以及额外数据;以及在需要时响应于该命令或该响应消息而在该主机与该设备之间传输表示数据的信息以及包括该数据的消息。
本发明的又一方面提供了一种在近距离通信主机与连接到该近距离通信主机的近距离通信设备之间的通信接口中在该主机与该设备之间进行通信的方法,该方法包括以下步骤:从该主机向该设备发送命令消息,该命令消息包括该设备的记录数据和读取数据中的一种,其请求该设备发送预定数据并对该设备进行设置;响应于该命令消息,从该设备向该主机发送通知了相关命令的执行结果的响应消息;以及在需要时从该设备向该主机发送事件消息。
根据本发明,主机MCU与NFC设备或芯片组之间的通信的通用性及兼容性得到了保证。
根据本发明,主机MCU与NFC设备或芯片组之间的通信中的接口在命令、响应、数据及事件消息方面的通用性及兼容性得到了保证。
根据本发明,在NFCH方面,可以在没有设备驱动器、中间件或应用修改的情况下来使用NFC设备或NFC芯片组。并且,根据本发明,即使在NFC设备或NFC芯片组方面没有实现适于每个主机的驱动器,也可以实现主机与NFC设备或NFC芯片组之间的接口中的通用性与兼容性。
附图说明
图1例示了多种NFCH与多种NFC设备或NFC芯片组之间的接口;
图2例示了在NFCH与NFC设备或NFC芯片组之间实现了不同接口的情况下可能产生的缺点;
图3解释了根据本发明的主机控制器接口概念;
图4解释了在采用了根据本发明的主机控制器接口的情况下的优点;
图5例示了根据本发明实施方式的NFCH和NFC设备的示例性结构;
图6例示了根据本发明实施方式的读/写器模式下的接口控制处理的例子;
图7例示了根据本发明实施方式的对等模式(peer mode)下的接口控制处理的例子;
图8例示了根据本发明实施方式的用于发送数据的示例性方法;
图9例示了根据本发明实施方式的NFCH与NFC设备之间的接口控制处理的例子;
图10例示了根据本发明实施方式的NFCH与NFC芯片组(或NFC设备)之间的接口的示例性结构;
图11例示了根据本发明实施方式的NFCH与NFC芯片组(或NFC设备)之间的接口的另一示例性结构;
图12例示了根据本发明实施方式的消息格式的例子;
图13例示了根据本发明实施方式的消息格式中的消息描述符字段(MDESC)的例子;
图14例示了根据本发明实施方式的消息格式中的节点地址字段(NAD)的例子;
图15例示了根据本发明实施方式的消息格式中的命令消息格式的例子;
图16例示了根据本发明实施方式的消息格式中的响应消息格式的例子;
图17例示了根据本发明实施方式的消息格式中的事件消息格式的例子;
图18例示了根据本发明实施方式的消息格式中的数据消息格式的例子;
图19例示了根据本发明实施方式的一种命令消息的例子;
图20例示了根据本发明实施方式的一种响应消息的例子;
图21例示了根据本发明实施方式的多种命令消息以及响应消息的例子;
图22例示了根据本发明实施方式的一种事件消息的例子;
图23例示了根据本发明实施方式的命令和响应消息中的设备管理功能的例子;
图24例示了根据本发明实施方式的命令和响应消息中的NFC数据通信功能的例子;
图25例示了根据本发明实施方式的命令和响应消息中的安全部件支持功能的例子;
图26例示了根据本发明实施方式的命令和响应消息中的差错代码消息的例子;而
图27例示了根据本发明实施方式的事件消息的例子。
具体实施方式
图3解释了根据本发明的主机控制器接口(HCI)概念。NFCH及NFC芯片组或NFC设备符合根据本发明的格式和处理。根据本发明,任意NFCH 100相对于与多种驱动器相对应的接口112、122和132都具有公共接口驱动器120,并且任意NFC芯片组(此后包括NFC设备)经由通信线路(例如一个实施方式中的串行总线)而连接到包含了HCI的公共设备驱动器。并且,进一步提供了用于公共设备驱动器的扩展接口125,以提供可扩展性。因此,进一步提供了可由厂商随意定义并使用的驱动器区域135。
参照图3,通过使设备符合与NFCH和NFC芯片组之间的接口相关联地确定的格式和处理,可以保证一系列控制操作(包括不同设备之间的数据传输)的相互兼容性和通用性。
图4解释了在采用了根据本发明的主机控制器接口的情况下的优点。当主机(如移动手机及数字电视接收机)符合本发明的NFC HCI时,针对任何NFC芯片组(NFC IC),都可以在保证了兼容性与通用性的情况下随意使用该主机,而无需设备驱动器或中间件(MW)。并且,当NFCIC符合NFC HCI时,针对任何NFC主机,都可以在保证了兼容性与通用性的情况下随意使用NFC IC,而不会存在与主机驱动器相关的困难。
图5例示了根据本发明实施方式的NFCH及NFC设备的示例性结构。图5示出了主机500、NFC设备600和安全部件700的内部结构。主机(即NFCH)500包括逻辑链路控制协议(LLCP)、读/写器、NFC数据交换格式(NDEF)、卡模拟模块(如NFCIP-1、ISO 14443B)以及记录类型定义(RTD),它们位于设备发现及模式切换堆栈之上。并且,主机500还包括各自的安全部件输入/输出(I/O)部(如安全部件I/O固件(F/W)和安全部件I/O硬件(H/W))、串行输入/输出(I/O)部(如串行I/O固件(F/W)和串行I/O硬件(H/W))。并且主机500在NFC HCI的基础上连接到NFC设备600和安全部件700。
NFC设备600在NFC HCI的基础上连接到主机500和安全部件700,并且在串行I/O部(如串行I/O F/W和SE I/O F/W及H/W)的基础上连接到主机500与安全部件700。并且,NFC设备600包括设备发现和模式切换堆栈、卡模拟模块以及NFC RF H/W。
安全部件700包括卡应用、NFC HCI、安全部件I/O部(如安全部件I/O F/W及H/W),并且连接到主机500和NFC设备600。
在此,串行I/O F/W对串行端口(如通用异步接收机和发射机(UART)或通用串行总线(USB))进行控制。图5用虚线和实线例示了HCI路径、物理串行I/O路径以及用于安全部件的物理路径。
图5所示的主机-设备-安全部件结构仅为举例,本发明的NFC系统并不限于此处所示的实施方式。可以对上述主机、设备和基于卡的安全系统各自的内部结构、其物理结构以及包含安装于其上的模块的通信方法进行更随意地设计与改动,并且可容易地由本领域的普通技术人员实现。
图6例示了根据本发明实施方式的读/写器模式下的接口控制处理的例子。图6例示了一种处理,即主机控制器接口(HCI)可在主机A与NFC设备之间执行。主机对设备进行设备扫描处理(步骤110)。相应地,设备发现和单个设备检测得以执行。将对此的卡检测响应(Card_Detected)递送给主机(步骤120)。主机响应于卡检测而进行卡读取处理(Read_Card)(步骤130)。在此,可以应用数据交换协议。从NFC设备向NFCH接收数据(Data_Received)(步骤140)。当数据接收完成时,主机进行卡取消选定处理(Deselect_Card)(步骤150)。当卡取消选定处理完成时,NFC设备对NFC主机进行相关响应(Deselect_Card)(步骤160)。
参照图6,在根据本发明的HCI中,命令和响应是成对出现的,稍后将对此进行详细描述。
图7例示了根据本发明实施方式的对等模式下的接口控制处理的例子。即,图7例示了NFC HCI在对等通信中运行的情况。主机A与主机B分别在NFC A和NFC B的基础上相互通信。主机A在NFC A和NFCB的基础上对主机B进行会话打开(LLC_Open_Session)处理(步骤210到230)。主机B在NFC B和NFC A的基础上对主机A进行会话打开确认(LLC_Open_Session_Ack)处理。即,通过符合本发明的NFC HCI可以在保证兼容性与通用性的情况下随意地进行对等通信。
图8例示了根据本发明实施方式的用于发送数据的示例性方法。在此,例示了当发送数据时通过防止过流(overflow)而无数据丢失地发送数据的方法。即,数据发送方在考虑设备缓冲器尺寸的情况下进行数据分段并将分段后的数据及相关数据发送给数据接收方。数据接收方接收到所发送的并分段了的数据,以重构分段数据,从而可在无丢失的情况下接收到原始数据。发送分段数据时的相关数据的例子包括与数据尺寸相关的数据。与接收方设备的缓冲器尺寸相关的数据是在发送操作中获得的,并且利用所获得的与缓冲器尺寸相关的数据来发送数据。
图9例示了根据本发明实施方式的NFCH与NFC设备之间的接口控制处理的例子。即,图9例示了在考虑设备缓冲器尺寸的情况下对数据分段并发送分段后的数据,由此避免数据丢失的一系列处理。
从NFCH向HFC设备递送请求设备的缓冲器尺寸的命令(HCI_GET_BUFFER_SIZE命令消息)(步骤310)。
响应于请求设备缓冲器尺寸的命令,NFC设备向NFCH递送由M个字节表示的缓冲器尺寸数据(HCI_GET_BUFFER_SIZE响应消息)(步骤320)。NFCH在设备的缓冲器尺寸数据的基础上并且在考虑缓冲器尺寸(m个字节)的情况下发送已经通过对要发送的数据尺寸进行分段而获得的第一数据(命令协议消息)(步骤330)。NFC设备发送数据已完全被接收的响应(HCI_SIZE_COMPLETE_DATA事件)(步骤340)。可通过返回m个字节来执行该响应。接下来的操作350、360和370描述了以相同的方式发送剩余数据和接收其响应的处理。当通过这种方式完成了所有要从NFCH发送到NFCH设备的数据的发送时,NFC设备向NFCH发送告知数据发送已经完成并且结束处理的消息(响应协议消息)。可以通过返回必要参数来执行该响应。
图10例示了根据本发明实施方式的NFCH与NFC芯片组(或NFC设备)之间的接口的示例性结构。在命令30、响应40和事件50的基础上在NFCH 10与NFC设备20之间进行通信。命令30从NFCH 10递送到NFC设备20。响应40从NFC设备20递送到NFCH 10。事件50从NFC设备20递送到NFCH 10,并且相对于命令与响应是独立的。命令30和响应40成对地出现。通过异步消息传送来进行事件处理。
图11例示了根据本发明实施方式的NFCH与NFC芯片组(或NFC设备)之间的接口的另一种示例性结构。在命令30、响应40和事件50的基础上在NFCH 10与NFC设备20之间进行通信。此外,还提供了数据传输处理60。命令30从NFCH 10递送到NFC设备20。响应40从NFC设备20递送到NFCH 10。事件50从NFC设备20递送到NFCH 10,并且相对于命令与响应是独立的。命令30和响应40成对地出现。通过异步消息传送来进行事件处理。数据60从NFCH 10递送到NFC设备20,或者从NFC设备20递送到NFCH 10。即,数据传输处理是基于双向的。图11和图12中例示的接口处理及其结构仅为举例,本发明的HCI处理并不限于此。
图12例示了根据本发明实施方式的消息格式的例子。这仅是一种实施方式,根据本发明的消息格式并不限于此。参照图12,根据本发明实施方式的一般消息格式包括消息描述符字段(MDESC)、节点地址字段(NAD)及有效载荷(PAYLOAD)字段。可以将MDESC字段和NAD字段看作必选部分,而将有效载荷字段看作可选部分。在图12的消息格式中,MDESC占1个字节,NAD占1个或2个字节,而有效载荷占0~255个字节,但这些数值仅为举例。
图13例示了根据本发明实施方式的消息格式中的消息描述符字段(MDESC)的例子。在此,图13例示了在MDESC由1个字节来表示的情况下,记录在MDSC字段中的相应值的含义的例子。MDESC字段中记录了消息类型、NAD、长度数据、标记以及供将来使用的预留(RFU)。消息类型可由2位来表示,并且可以根据所表示的值来表示命令、响应、事件及数据。NAD可根据其值表示它是4位NAD或是8位NAD。长度数据可用来表示长度数据不存在(没有长度)的情况、长度数据为1个字节长的情况、长度数据为2个字节长的情况以及长度数据为RFU的情况。标记可用来表示存在跟随消息(following message)的情况和不存在跟随消息的情况。RFU可以始终用预定值来表示。
图14例示了根据本发明实施方式的消息格式中的节点地址字段(NAD)的例子。NAD已经考虑了8位NAD的情况和4位NAD的情况。在NAD是8位NAD的情况下,NAD可以由2个字节来表示,其中,在高1字节中表示源NAD,而在低1字节中表示目的地NAD。在NAD是4位NAD的情况下,NAD可以由1个字节来表示,其中,在高4位中表示源NAD,而在低4位中表示目的地NAD。
图15例示了根据本发明实施方式的消息格式中的命令消息格式的例子。命令消息格式包括1个字节的MDESC、1个或2个字节的NAD、1个字节的命令(CMD)、1个字节的长度以及0~255个字节的参数/数据。CMD字段中记录有命令代码。在参数或数据存在的情况下,长度字段表示了参数或数据的长度。长度可以由2个字节来表示。在这种情况下,参数或数据的长度可由0~65535个字节来表示。CMD字段中记录有表示了由消息表示的命令的代码。稍后将详细描述多种命令以及可用代码值的例子。
图16例示了根据本发明实施方式的消息格式中的响应消息格式的例子。响应消息格式包括1个字节的MDESC、1个或2个字节的NAD、1个字节的响应(RESP)、1个字节的长度以及0~255个字节的参数/数据。RESP字段中记录有响应代码。在参数或数据存在的情况下,长度字段表示了参数或数据的长度。长度可以由2个字节来表示。在这种情况下,参数或数据字段的长度可以为0~65535个字节。RESP字段中记录有表示了由消息表示的响应的代码。将表示了响应成功或失败的1位标记表示为结果。记录有表示一种差错的7位差错代码。稍后将详细描述多种响应、可用代码值、多种差错以及可用值的例子。
图17例示了根据本发明实施方式的消息格式中的事件消息格式的例子。事件消息格式包括1个字节的MDESC、1个或2个字节的NAD、1个字节的事件、1个字节的长度以及0~255个字节的参数/数据。事件字段中记录有事件代码。在参数或数据存在的情况下,长度字段表示了参数或数据的长度。长度可以由2个字节来表示。在这种情况下,参数或数据字段的长度可以为0~65535个字节。事件字段中记录有表示了由消息表示的事件的代码。稍后将详细描述多种事件以及可用代码值的例子。
图18例示了根据本发明实施方式的消息格式中的数据消息格式的例子。数据消息格式包括1个字节的MDESC、1个或2个字节的NAD、1个字节的长度以及0~255个字节的参数/数据。在参数或数据存在的情况下,长度字段表示了参数或数据的长度。长度可以由2个字节来表示。在这种情况下,参数或数据字段的长度可以为0-65535个字节。
图19例示了根据本发明实施方式的一种命令消息的例子。此处所用的多种命令消息及表示相关命令的代码值仅为举例,而本发明并不限于此。Get Device Information命令是读取NFC设备的数据的命令。GetDevice Information命令读取NFC设备的序列号、与制造商相关的数据以及制造日期。在此,用0x01来表示Get Device Information命令的代码值的例子。Set Device Status命令是对NFC设备的状态变量执行设置的命令,并且对与射频(RF)相关的信息(如RF校准)和寄存器数据进行设置。在此,用0x02来表示Set Device Status命令的代码值的例子。Get DeviceStatus命令是读取NFC设备的状态变量的命令。用0x03来表示Get DeviceStatus命令的代码值。Control Device Power命令是对NFC设备的RF发射功率进行控制的命令。用0x04来表示Control Device Power命令的代码值。Turn On/Off Device命令是一种打开或关闭NFC设备的电源的命令。用0x05来表示Turn On/Off Device命令的代码值。
Reset Device命令是对NFC设备进行初始化的命令。用0x06来表示Reset Device命令的代码值。Set Device Mode命令是对NFC设备的模式进行设置的命令。比如,Set Device Mode命令设置设备管理模式和对等模式。用0x07来表示Set Device Mode命令的代码值。Get Device Mode命令是读取NFC设备的当前模式的命令。用0x08来表示Get Device Mode命令的代码值。
与此同时,从命令消息中分配出可由厂商定义的命令代码区(厂商专用:0x09~0x0F),而将0x10~0x1F分配为预留代码区。
图20例示了根据本发明实施方式的一种响应消息的例子。此处所用的多种响应消息及表示响应的代码值仅为举例,而本发明并不限于此。Get Device Information Response是对Get Device Information命令的响应,并且用0x01来表示Get Device Information Response的代码值。Get DeviceStatus Response是对Get Device Status命令的响应,并且用0x02来表示Get Device Status Response的代码值。当成功执行了命令时,通过利用0x03的相关代码值来表示告知该命令成功的响应而做出响应。
除此之外,还执行了多种差错响应。当生成Get Device Information命令的差错时,通过利用0x04的代码值来表示告知设备信息失败的响应消息而做出响应。当生成Get Device Status命令的差错时,通过利用0x05的代码值来表示告知设备状态失败的响应消息而做出响应。当生成Control Device Power的差错时,通过利用0x06的代码值来表示告知设备功率控制失败的响应消息而做出响应。当生成Set/Get Device Mode的差错时,通过利用0x07的代码值来表示告知设备模式失败的响应消息而做出响应。
图21例示了根据本发明实施方式的多种命令消息和响应消息的例子。此处所用的多种命令消息、响应消息及表示命令和响应的代码值仅为举例,而本发明并不限于此。在此,Deliver描述了它是一种递送LLCP数据包并且使用0x02代码值的命令。Deliver Response是一种递送具有有效缓冲器尺寸的命令并且使用0x21代码值的响应。Data Receive是一种从NFC设备读取数据并且使用0x22代码值的命令。Data ReceiveResponse是一种对数据接收命令的响应,包括NFC设备数据,并且可以使用0x23的代码值。
图22例示了根据本发明实施方式的一种事件消息的例子。事件消息相对于命令和响应是独立的。当NFC设备中发生数据接收差错或关键差错时,事件消息用来将所产生的事件告知NFCH。在此,描述了一些典型情况。描述了三种事件消息:HCI Bus Driver Fail(HCI总线驱动器故障)、NFC IC Has Data(NFC IC获得数据)以及Buffer Available(缓冲器可用)。各个消息使用表示了相应事件的相应代码0x01、0x02和0x03。在HCI总线驱动器出现问题、NFC设备从RF模块接收数据或者缓冲器尺寸改变的情况下,这些消息可用来提供相应的数据。图22中对每种情况都作了详细描述。
图23例示了根据本发明实施方式的命令和响应消息中的设备管理功能的例子。这对应于设备管理类别。命令HCI_GET_DEVICE_INFO是一种读取NFC设备数据的命令,且消息类型是命令。命令HCI_GET_DEVICE_INFO的代码值、命令参数以及作为参数的返回参数值被记录。
命令HCI_TURNON_DEVICE是一种用来打开NFC设备的电源的命令,且消息类型是命令。命令HCI_TURNON_DEVICE的代码值以及表示成功或失败的返回参数值被记录。
命令HCI_TURNOFF_DEVICE是一种用来关闭NFC设备的电源的命令,且消息类型是命令。命令HCI_TURNOFF_DEVICE的代码值以及表示成功或失败的返回参数值被记录。
命令HCI_SLEEP_DEVICE是一种用来使NFC设备变为休眠状态的命令,且消息类型是命令。命令HCI_SLEEP_DEVICE的代码值以及表示成功或失败的返回参数值被记录。
命令HCI_RESUME_DEVICE是一种用来将NFC设备从休眠状态中唤醒的命令,且消息类型是命令。命令HCI_RESUME_DEVICE的代码值以及表示成功或失败的返回参数值被记录。
命令HCI_START_DEVICE_DISCOVERY是一种用来起动NFC设备发现的命令,且消息类型是命令。命令HCI_START_DEVICE_DISCOVERY的代码值以及表示成功或失败的返回参数值被记录。
命令HCI_STOP_DEVICE_DISCOVERY是一种用来停止NFC设备发现的命令,且消息类型是命令。命令HCI_STOP_DEVICE_DISCOVERY的代码值以及表示成功或失败的返回参数值被记录。
命令HCI_RESET_DEVICE是一种用来对NFC设备进行初始化的命令,且消息类型是命令。命令HCI_RESET_DEVICE的代码值以及表示成功或失败的返回参数值被记录。
命令HCI_FLUSH_DEVICE是一种用来对NFC设备的缓冲器进行清除(flush)的命令,且消息类型是命令。命令HCI_FLUSH_DEVICE的代码值以及表示成功或失败的返回参数值被记录。
命令HCI_GET_BUFFER_SIZE是一种用来读取NFC设备缓冲器尺寸的命令,且消息类型是命令。命令HCI_GET_BUFFER_SIZE的代码值、表示成功或失败的返回参数值以及缓冲器尺寸被记录。
图24例示了根据本发明实施方式的命令和响应消息中的NFC数据通信功能的例子。这对应于NFC数据通信类别。
命令HCI_SEND_DATA是一种将LLCP数据包从NFCH递送到NFC设备的命令,且该命令HCI_SEND_DATA的消息类型是命令。命令HCI_SEND_DATA的代码值、表示LLCP数据包的命令参数、表示成功或失败的返回参数值以及缓冲器尺寸被记录。
命令HCI_RECEIVE_DATA是一种将LLCP数据包从NFC设备递送到NFCH的命令,且该命令HCI_RECEIVE_DATA的消息类型是命令。命令HCI_RECEIVE_DATA的代码值、表示LLCP数据包的命令参数、表示成功或失败的返回参数值以及缓冲器尺寸被记录。
命令HCI_READ_TAG是一种从NFC设备的NFC论坛标签中读取NFC数据交换格式(NDEF)数据的命令,且该命令HCI_READ_TAG的消息类型是命令。命令HCI_READ_TAG的代码值以及表示成功或失败的返回参数值被记录。并且,read_data参数(命令参数)也被记录。该read_data参数是从NFC论坛标签中读取的,因此该数据格式符合NDEF。
命令HCI_WRITE_TAG是一种用于将NDEF数据记录在NFC设备的NFC论坛标签中的命令,且该命令HCI_WRITE_TAG的消息类型是命令。命令HCI_WRITE_TAG的代码值以及表示成功或失败的返回参数值被记录。并且,write_data参数(命令参数)也被记录。该write_data参数包括了要记录在标签上的NDEF数据。
命令HCI_SET_CARD_DATA是一种用于将NDEF数据记录在NDEF设备的卡存储器中以进行卡模拟的命令,且该命令HCI_SET_CARD_DATA的消息类型是命令。命令HCI_SET_CARD_DATA的代码值以及表示成功或失败的返回参数值被记录。并且,card_data参数也作为命令参数而被记录。该card_data参数表示要存储在卡模拟存储器中的数据。
命令HCI_GET_CARD_DATA是一种用于读取记录在NDEF设备的卡存储器中的数据的命令,且该命令HCI_GET_CARD_DATA的消息类型是命令。命令HCI_GET_CARD_DATA的代码值以及表示成功或失败的返回参数值被记录。并且,card_data参数也被记录。
在上文中,在上述消息格式中表示了失败的参数值可伴随着相应的差错代码值。
图25例示了根据本发明实施方式的命令和响应消息中的安全部件支持功能的例子。即,图25例示了用于从安全部件读取数据的HCI_READ_SECURE命令,以及用于将数据记录在安全部件上的HCI_WRITRE_SECURE命令。
图26例示了根据本发明实施方式的命令和响应消息中的差错代码消息的例子。此处所用的多种差错以及表示差错的代码值仅为举例,而本发明并不限于此。这里对根据本发明实施方式的差错代码值及其含义进行描述。0x00表示不存在差错,0x01表示未定义的命令,0x02表示设备之间没有连接,而0x03表示硬件故障。
并且,0x04表示存储器满状态,0x05表示命令不接受,0x06表示参数值不支持,而0x07表示无效的命令参数。
并且,0x08表示未指定的差错,0x09表示对安全部件的访问已被拒绝,而0x0A表示对安全部件的访问已失败。剩余的代码值为RFU。
图27例示了根据本发明实施方式的事件消息的例子。此处所用的多种事件消息仅为举例,而本发明并不限于此。
HCI_DETECT_DEVICE是一种事件消息,该消息用于在进行设备发现时告知主机检测出的设备的数量或预定类型的标记,且HCI_DETECT_DEVICE的消息类型是事件。相应的消息代码被记录。
HCI_RECEIVE_DATA_EVENT是一种事件消息,该消息用于当NFC设备从空中接口接收到数据时将数据递送给主机,且HCI_RECEIVE_DATA_EVENT的消息类型是事件。相应的消息代码以及作为返回参数的receive_data参数被记录。receive_data参数是一种NFC协议处理或来自设备的数据所需的NFC论坛标签。
HCI_SIZE_OF_COMPLETED_DATA是一种事件消息,用于在NFC设备处将完全处理的数据的尺寸告知NFCH,以进行流程控制。没有特别地确定该事件消息被发送的频度。该消息类型是事件。相应的消息代码和作为返回参数的data_size参数被记录。data_size参数表示NFC设备已处理完成的数据尺寸。
HCI_MODE_SWITCH_INTERRUPT是一种中断事件,用于当在模式切换中发现NFC标记或设备时将该NFC标记或设备告知主机,且HCI_MODE_SWITCH_INTERRUPT的消息类型是事件。相应的消息代码和作为返回参数的device_type参数被记录。device_type参数是一种当发现了NFC设备或卡时表示该NFC设备或卡的参数。例如,0x00仅表示ISO14443-A卡,0x01仅表示ISO14443-B卡,0x02仅表示Felica卡,0x03表示ISO14443-A和B,0x04表示ISO14443-A和Felica卡,0x05表示Felica和ISO14443-B,而0x06表示ISO14443-A和B以及Felica卡,并且被分配了用于RFU的代码值。
HCI_SECURE_INSERTED表示安全部件已被插入,HCI_SECURE_EXTRACTED表示安全部件已被拔出,HCI_SECURE_READ表示正读取安全部件,而HCI_SECURE_WRITTEN表示正对安全部件进行记录。
到此为止,已经描述了根据本发明实施方式的NFC HCI。此处所述以及附图所示的HCI系统的种类、格式、代码值及用于发送消息的处理仅是为理解本发明而选取的例子。在本发明的范围内,可以在实施方式的基础上实现HCI系统的种类、格式、代码值以及用于发送消息的处理的多种修改与改变。并且,本发明实施方式中所用的术语仅用于理解之目的,而本发明并不限于此。
本发明适用于NFCH与NFC芯片组或NFC设备之间的HCI。
Claims (20)
1、一种在主机与连接到该主机的设备之间的通信接口中在该主机与该设备之间进行通信的方法,该方法包括以下步骤:
从该主机向该设备发送命令消息;
响应于该命令消息从该设备向该主机发送响应消息;
在该主机与该设备之间传输数据;以及
在需要时从该设备向该主机发送事件消息。
2、根据权利要求1所述的方法,其中,该命令消息和该响应消息按照命令及其响应的成对方式来发送。
3、根据权利要求1所述的方法,其中,该事件消息相对于该命令消息和该响应消息是独立的。
4、根据权利要求1所述的方法,其中,该消息与这样一种处理相符合,该处理在安装于该主机内的相应设备驱动器接口的基础上利用相应设备驱动器向/从设备发送/接收该消息。
5、根据权利要求1所述的方法,其中,在安装于第一主机内的设备驱动器接口和安装于第二主机内的设备驱动器接口的基础上来发送和接收该消息。
6、根据权利要求1所述的方法,其中,该主机根据该设备的存储空间的尺寸对在该主机与该设备之间传输的数据进行分段,通过多个处理利用表示了数据分段的信息将分段了的数据传输至该设备,并且由该设备来重构所发送并分段了的数据。
7、一种在主机与连接到该主机的设备之间的通信接口中在该主机与该设备之间进行通信的方法,该方法包括以下步骤:
从该主机向该设备发送命令消息,该命令消息包括表示消息种类的数据、表示消息内容的数据以及额外数据;
从该设备发送事件消息或发送响应消息,该响应消息包括表示消息种类的数据、表示消息内容的数据以及额外数据;以及
在需要时响应于该命令或该响应消息而在该主机与该设备之间传输表示数据的信息以及包括该数据的消息。
8、根据权利要求7所述的方法,其中,该表示消息种类的数据是利用代码值来表示的,该代码值表示了该消息的消息类型是命令、响应、数据还是事件。
9、根据权利要求7所述的方法,其中,该表示消息内容的数据是利用代码值来表示的,该代码值表示了相应命令是什么命令、相应响应是什么响应或者相应事件是什么内容。
10、根据权利要求7所述的方法,其中,该命令消息包括用于读取设备数据或设置设备数据的命令。
11、根据权利要求7所述的方法,其中,该命令消息包括用于控制该设备的功率或空中接口的设备功率的命令。
12、根据权利要求7所述的方法,其中,该命令消息包括用于初始化该设备、设置设备模式或者读取设备模式的命令。
13、根据权利要求7所述的方法,其中,该响应消息包括作为来自该主机的设备数据提供请求的响应的响应和作为来自该主机的设备控制命令的响应的响应中的一个。
14、根据权利要求7所述的方法,其中,该响应消息包括差错响应消息。
15、根据权利要求7所述的方法,其中,该命令消息和该响应消息包括关于数据包的发送或发送结果的响应消息。
16、根据权利要求7所述的方法,其中,该事件包括总线驱动器状态、空中接口模块接收到数据、出现缓冲器尺寸、检测到标签或其它设备、卡模拟、模式切换、安装或移除安全部件、安全部件数据的读取或写入事件中的至少一个。
17、一种在近距离通信主机与连接到该近距离通信主机的近距离通信设备之间的通信接口中在该主机与该设备之间进行通信的方法,该方法包括以下步骤:
从该主机向该设备发送命令消息,该命令消息包括该设备的记录数据和读取数据中的一种,其请求该设备发送预定数据并对该设备进行设置;
响应于该命令消息,从该设备向该主机发送告知了相关命令的执行结果的响应消息;以及
在需要时从该设备向该主机发送事件消息。
18、根据权利要求17所述的方法,其中,该命令和响应消息包括以下至少其一:用于读取该设备的数据的命令及其响应、用于打开/关闭该设备的命令及其响应、用于将该设备变为休眠模式或将该设备唤醒的命令及其响应、用于开始检测该设备或停止检测该设备的命令及其响应、用于初始化该设备的命令及其响应、设备缓冲器清除命令及其响应、设备缓冲器尺寸返回命令及其响应、用于从该主机发送数据或从该设备接收数据的命令及其响应、标签数据读取/写入命令及其响应,以及用于设置或读取近距离通信标签模拟存储设备的卡模拟数据的命令及其响应。
19、根据权利要求17所述的方法,其中,该响应消息包括表示命令执行成功或失败的数据,以及当命令失败时表示失败内容的数据。
20、根据权利要求17所述的方法,其中,该主机是移动设备的处理器。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US73379605P | 2005-11-07 | 2005-11-07 | |
US60/733,796 | 2005-11-07 | ||
US60/756,562 | 2006-01-06 | ||
US60/763,923 | 2006-02-01 | ||
US60/771,872 | 2006-02-10 | ||
US60/787,633 | 2006-03-31 | ||
US60/795,642 | 2006-04-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101305585A true CN101305585A (zh) | 2008-11-12 |
Family
ID=40114396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800415785A Pending CN101305585A (zh) | 2005-11-07 | 2006-11-07 | 近距离通信主机控制器接口 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101305585A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567124A (zh) * | 2010-11-29 | 2012-07-11 | 索尼公司 | 通信装置、通信方法和程序 |
CN103023541A (zh) * | 2011-09-20 | 2013-04-03 | 索尼公司 | 近场通信读取器装置、近场通信标签装置、近场通信系统 |
CN103701505A (zh) * | 2013-09-26 | 2014-04-02 | 上海斯图曼通信技术有限公司 | Nfc装置 |
CN103765791A (zh) * | 2013-01-24 | 2014-04-30 | 华为终端有限公司 | 近场通信射频发现控制方法、装置和终端设备 |
CN103828408A (zh) * | 2011-09-23 | 2014-05-28 | 高通股份有限公司 | 用于改进nfcee发现过程的方法和装置 |
WO2014114044A1 (zh) * | 2013-01-24 | 2014-07-31 | 华为终端有限公司 | 近场通信射频发现控制方法、装置和终端设备 |
US9736878B2 (en) | 2013-06-17 | 2017-08-15 | Huawei Device Co., Ltd. | NFC radio frequency communication control method, apparatus, and system |
CN110069258A (zh) * | 2019-04-25 | 2019-07-30 | 北京百瑞互联技术有限公司 | 一种hci代码二次生成方法 |
-
2006
- 2006-11-07 CN CNA2006800415785A patent/CN101305585A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567124A (zh) * | 2010-11-29 | 2012-07-11 | 索尼公司 | 通信装置、通信方法和程序 |
CN102567124B (zh) * | 2010-11-29 | 2018-07-17 | 索尼公司 | 通信装置、通信方法和程序 |
CN103023541A (zh) * | 2011-09-20 | 2013-04-03 | 索尼公司 | 近场通信读取器装置、近场通信标签装置、近场通信系统 |
CN103828408A (zh) * | 2011-09-23 | 2014-05-28 | 高通股份有限公司 | 用于改进nfcee发现过程的方法和装置 |
CN103765791A (zh) * | 2013-01-24 | 2014-04-30 | 华为终端有限公司 | 近场通信射频发现控制方法、装置和终端设备 |
WO2014114044A1 (zh) * | 2013-01-24 | 2014-07-31 | 华为终端有限公司 | 近场通信射频发现控制方法、装置和终端设备 |
CN103765791B (zh) * | 2013-01-24 | 2015-11-25 | 华为终端有限公司 | 近场通信射频发现控制方法、装置和终端设备 |
US9736878B2 (en) | 2013-06-17 | 2017-08-15 | Huawei Device Co., Ltd. | NFC radio frequency communication control method, apparatus, and system |
CN103701505A (zh) * | 2013-09-26 | 2014-04-02 | 上海斯图曼通信技术有限公司 | Nfc装置 |
CN110069258A (zh) * | 2019-04-25 | 2019-07-30 | 北京百瑞互联技术有限公司 | 一种hci代码二次生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2819014B1 (en) | Near field communication host controller interface | |
CN101305585A (zh) | 近距离通信主机控制器接口 | |
EP3668130B1 (en) | Method and near field communication controller for managing multiple applications in near field communication | |
KR101117223B1 (ko) | 리더 콘트롤 시스템 | |
EP2770782B1 (en) | Wireless data communication | |
CN202435400U (zh) | 用于管理信息交换的设备 | |
US9661448B2 (en) | Method for managing information communication between a NFC controller and a secure element within an apparatus, and corresponding apparatus and NFC controller | |
US9262711B2 (en) | NFC tag, communication method and system | |
KR20150114765A (ko) | 근거리 무선 통신(nfc) 기능을 지원하는 화상형성장치 및 화상형성장치의 nfc 동작 모드를 설정하는 방법 | |
KR101911755B1 (ko) | 근거리 무선 통신 환경에서 개인 건강 데이터를 통신하는 방법 및 시스템 | |
CN104850873A (zh) | 通信设备及其控制方法和信息处理设备及其控制方法 | |
CN202750089U (zh) | 蓝牙装置和集成式外设 | |
CN109862553B (zh) | 终端和通信方法 | |
KR20080025914A (ko) | 이동통신 단말기에 구비된 지그비 심카드를 통해 데이터를송수신하는 시스템 및 방법 | |
EP3973637A1 (en) | Exchange of data between a nfc reader and a dual nfc interface transponder | |
KR100919273B1 (ko) | 모바일 알에프아이디 미들웨어 시스템 및 운용 방법 | |
CN103164718A (zh) | 射频识别交互方法及射频识别系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20081112 |