專利名稱:近距離通信主機控制器接口的制作方法
技術領域:
本發(fā)明涉及近距離通信(NFC)主機與NFC設備之間的通信接口。
背景技術:
就NFC主機與NFC設備或與NFC芯片組之間的通信接口而言,需 要通用性和兼容性。主機(如移動手機的MSM芯片及移動設備的微控制 器單元(MCU))與連接到該主機上的設備或芯片組之間的接口應當予以 特別關注。
圖1例示了多種NFC主機(NFCH)與多種NFC設備或NFC芯片 組(NFCC)之間的接口。 NFCHA110與NFCCA210之間的接口在相關 驅動器接口 112的基礎上連接到上層111,驅動器接口 112被實現(xiàn)為適用 于通過串行總線而連接到NFCCA 210上的驅動器A 113。其它NFCH B 120與其它NPCC B 220之間的接口在相關驅動器接口 122的基礎上連接 到上層121,驅動器接口 122被實現(xiàn)為適用于通過串行總線而連接到 NFCC B 220上的驅動器B 113。另一個NFCHC 130與另一個NFCC 230 之間的接口在相關驅動器接口 132的基礎上連接到上層131,驅動器接口 132被實現(xiàn)為適用于通過串行總線而連接到NFCC C 230上的驅動器C 133。
參照圖1,對于預定主機而言,連接到該預定主機上的設備或芯片 組利用被實現(xiàn)為適用于該設備或芯片組的驅動器而建立了相關驅動器接 口。因此,主機與芯片組或設備之間的接口彼此不同,不能保證相互之 間的兼容性或通用性。
圖2例示了在主機與芯片組或設備之間的接口中無法保證相互之間 的兼容性或通用性情況下可能產生的缺點。當針對預定的NFCH 100建 立了適于NFCC 210的接口時,其它NFCC 220和230無法在不同驅動器123和133的基礎上連接到主機100。
發(fā)明內容
當主機與連接到主機的設備或芯片組之間的接口對于每個主機、每 個設備或每個芯片組都不同時,相互之間的兼容性或通用性無法得到保 證。
如上所述,參照圖2,需要不同接口的不同設備之間的控制接口需 要設計并開發(fā)出一種適于每個主機和每個設備的新驅動器和新驅動器接 口 ,并且需要不僅在主機方面而且在設備或芯片組方面將驅動器和驅動 器接口安裝到設備內。
本發(fā)明的目的是在主機與連接到主機的設備或芯片組之間定義一種 接口,并且符合所定義的接口,從而保證了不同設備之間的主機控制器 接口的通用性及兼容性。
本發(fā)明的另一個目的是定義一種用于在NFCH與NFC設備或NFC 芯片組之間傳輸數(shù)據(jù)的數(shù)據(jù)格式,以及一種對于該數(shù)據(jù)格式的處理,并 通過符合所定義的格式及其處理來提供一種設備之間的接口,從而保證 了不同設備之間的主機控制器接口的通用性及兼容性。
為了實現(xiàn)這些及其它優(yōu)點并且根據(jù)所體現(xiàn)并廣泛描述的發(fā)明目的, 提供了一種在主機與連接到該主機的設備之間的通信接口中在該主機與 該設備之間進行通信的方法,該方法包括以下步驟從該主機向該設備 發(fā)送命令消息;響應于該命令消息從該設備向該主機發(fā)送響應消息;在 該主機與該設備之間傳輸數(shù)據(jù);以及在需要時從該設備向該主機發(fā)送事 件消息。
本發(fā)明的另一方面提供了一種在主機與連接到該主機的設備之間的 通信接口中在該主機與該設備之間進行通信的方法,該方法包括以下步
驟從該主機向該設備發(fā)送命令消息,該命令消息包括表示消息種類的 數(shù)據(jù)、表示消息內容的數(shù)據(jù)以及額外數(shù)據(jù);從該設備發(fā)送事件消息或發(fā) 送響應消息,該響應消息包括表示消息種類的數(shù)據(jù)、表示消息內容的數(shù) 據(jù)以及額外數(shù)據(jù);以及在需要時響應于該命令或該響應消息而在該主機與該設備之間傳輸表示數(shù)據(jù)的信息以及包括該數(shù)據(jù)的消息。
本發(fā)明的又一方面提供了一種在近距離通信主機與連接到該近距離 通信主機的近距離通信設備之間的通信接口中在該主機與該設備之間進 行通信的方法,該方法包括以下步驟從該主機向該設備發(fā)送命令消息, 該命令消息包括該設備的記錄數(shù)據(jù)和讀取數(shù)據(jù)中的一種,其請求該設備 發(fā)送預定數(shù)據(jù)并對該設備進行設置;響應于該命令消息,從該設備向該 主機發(fā)送通知了相關命令的執(zhí)行結果的響應消息;以及在需要時從該設 備向該主機發(fā)送事件消息。
根據(jù)本發(fā)明,主機MCU與NFC設備或芯片組之間的通信的通用性
及兼容性得到了保證。
根據(jù)本發(fā)明,主機MCU與NFC設備或芯片組之間的通信中的接口 在命令、響應、數(shù)據(jù)及事件消息方面的通用性及兼容性得到了保證。
根據(jù)本發(fā)明,在NFCH方面,可以在沒有設備驅動器、中間件或應 用修改的情況下來使用NFC設備或NFC芯片組。并且,根據(jù)本發(fā)明, 即使在NFC設備或NFC芯片組方面沒有實現(xiàn)適于每個主機的驅動器, 也可以實現(xiàn)主機與NFC設備或NFC芯片組之間的接口中的通用性與兼 容性。
圖1例示了多種NFCH與多種NTFC設備或NFC芯片組之間的接口 ; 圖2例示了在NFCH與NPC設備或NFC芯片組之間實現(xiàn)了不同接 口的情況下可能產生的缺點;
圖3解釋了根據(jù)本發(fā)明的主機控制器接口概念;
圖4解釋了在釆用了根據(jù)本發(fā)明的主機控制器接口的情況下的優(yōu)
點;
圖5例示了根據(jù)本發(fā)明實施方式的NFCH和NFC設備的示例性結
構;
圖6例示了根據(jù)本發(fā)明實施方式的讀/寫器模式下的接口控制處理的
例子;圖7例示了根據(jù)本發(fā)明實施方式的對等模式(peer mode)下的接口
控制處理的例子;
圖8例示了根據(jù)本發(fā)明實施方式的用于發(fā)送數(shù)據(jù)的示例性方法;
圖9例示了根據(jù)本發(fā)明實施方式的NFCH與NFC設備之間的接口控
制處理的例子;
圖IO例示了根據(jù)本發(fā)明實施方式的NFCH與NFC芯片組(或NFC 設備)之間的接口的示例性結構;
圖11例示了根據(jù)本發(fā)明實施方式的NFCH與NPC芯片組(或NFC 設備)之間的接口的另一示例性結構;
圖12例示了根據(jù)本發(fā)明實施方式的消息格式的例子; 圖13例示了根據(jù)本發(fā)明實施方式的消息格式中的消息描述符字段 (MDESC)的例子;
圖14例示了根據(jù)本發(fā)明實施方式的消息格式中的節(jié)點地址字段 (NAD)的例子;
圖15例示了根據(jù)本發(fā)明實施方式的消息格式中的命令消息格式的
例子;
圖16例示了根據(jù)本發(fā)明實施方式的消息格式中的響應消息格式的
例子;
圖17例示了根據(jù)本發(fā)明實施方式的消息格式中的事件消息格式的
例子;
圖18例示了根據(jù)本發(fā)明實施方式的消息格式中的數(shù)據(jù)消息格式的
例子;
圖19例示了根據(jù)本發(fā)明實施方式的一種命令消息的例子; 圖20例示了根據(jù)本發(fā)明實施方式的一種響應消息的例子; 圖21例示了根據(jù)本發(fā)明實施方式的多種命令消息以及響應消息的
例子;
圖22例示了根據(jù)本發(fā)明實施方式的一種事件消息的例子; 圖23例示了根據(jù)本發(fā)明實施方式的命令和響應消息中的設備管理 功能的例子;圖24例示了根據(jù)本發(fā)明實施方式的命令和響應消息中的NFC數(shù)據(jù)
通信功能的例子;
圖25例示了根據(jù)本發(fā)明實施方式的命令和響應消息中的安全部件 支持功能的例子;
圖26例示了根據(jù)本發(fā)明實施方式的命令和響應消息中的差錯代碼 消息的例子;而
圖27例示了根據(jù)本發(fā)明實施方式的事件消息的例子。
具體實施例方式
圖3解釋了根據(jù)本發(fā)明的主機控制器接口 (HCI)概念。NFCH及 NFC芯片組或NFC設備符合根據(jù)本發(fā)明的格式和處理。根據(jù)本發(fā)明,任 意NFCH100相對于與多種驅動器相對應的接口 112、 122和132都具有 公共接口驅動器120,并且任意NFC芯片組(此后包括NFC設備)經由 通信線路(例如一個實施方式中的串行總線)而連接到包含了 HCI的公 共設備驅動器。并且,進一步提供了用于公共設備驅動器的擴展接口 125, 以提供可擴展性。因此,進一步提供了可由廠商隨意定義并使用的驅動 器區(qū)域135。
參照圖3,通過使設備符合與NFCH和NFC芯片組之間的接口相關 聯(lián)地確定的格式和處理,可以保證一系列控制操作(包括不同設備之間 的數(shù)據(jù)傳輸)的相互兼容性和通用性。
圖4解釋了在采用了根據(jù)本發(fā)明的主機控制器接口的情況下的優(yōu) 點。當主機(如移動手機及數(shù)字電視接收機)符合本發(fā)明的NFCHCI時, 針對任何NFC芯片組(NFC IC),都可以在保證了兼容性與通用性的情 況下隨意使用該主機,而無需設備驅動器或中間件(MW)。并且,當NFC IC符合NFCHCI時,針對任何NFC主機,都可以在保證了兼容性與通 用性的情況下隨意使用NFC IC,而不會存在與主機驅動器相關的困難。
圖5例示了根據(jù)本發(fā)明實施方式的NFCH及NFC設備的示例性結 構。圖5示出了主機500、 NFC設備600和安全部件700的內部結構。 主機(即NFCH) 500包括邏輯鏈路控制協(xié)議(LLCP)、讀/寫器、NFC數(shù)據(jù)交換格式(NDEF)、卡模擬模塊(如NFCIP-1、 ISO 14443B)以及 記錄類型定義(RTD),它們位于設備發(fā)現(xiàn)及模式切換堆棧之上。并且, 主機500還包括各自的安全部件輸入/輸出(I/O)部(如安全部件I/0固 件(F/W)和安全部件I/0硬件(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/0部(如串行I/OF/W和SEI/OF/W及H/W)的基礎上連 接到主機500與安全部件700。并且,NFC設備600包括設備發(fā)現(xiàn)和模 式切換堆棧、卡模擬模塊以及NFCRFH/W。
安全部件700包括卡應用、NFC HCI、安全部件I/0部(如安全部 件I/O F/W及H/W),并且連接到主機500和NFC設備600。
在此,串行I/O F/W對串行端口 (如通用異步接收機和發(fā)射機 (UART)或通用串行總線(USB))進行控制。圖5用虛線和實線例示 了 HCI路徑、物理串行I/O路徑以及用于安全部件的物理路徑。
圖5所示的主機-設備-安全部件結構僅為舉例,本發(fā)明的NFC系統(tǒng) 并不限于此處所示的實施方式??梢詫ι鲜鲋鳈C、設備和基于卡的安全 系統(tǒng)各自的內部結構、其物理結構以及包含安裝于其上的模塊的通信方 法進行更隨意地設計與改動,并且可容易地由本領域的普通技術人員實 現(xiàn)。
圖6例示了根據(jù)本發(fā)明實施方式的讀/寫器模式下的接口控制處理的 例子。圖6例示了一種處理,即主機控制器接口 (HCI)可在主機A與 NFC設備之間執(zhí)行。主機對設備進行設備掃描處理(步驟110)。相應地, 設備發(fā)現(xiàn)和單個設備檢測得以執(zhí)行。將對此的卡檢測響應 (Card—Detected)遞送給主機(步驟120)。主機響應于卡檢測而進行卡 讀取處理(Read_Card)(步驟130)。在此,可以應用數(shù)據(jù)交換協(xié)議。從 NFC設備向NFCH接收數(shù)據(jù)(Data—Received)(步驟140)。當數(shù)據(jù)接收 完成時,主機進行卡取消選定處理(Deselect—Card)(步驟150)。當卡取 消選定處理完成時,NFC設備對NFC主機進行相關響應(Deselect—Card)(步驟160)。參照圖6,在根據(jù)本發(fā)明的HCI中,命令和響應是成對出現(xiàn)的,稍 后將對此進行詳細描述。圖7例示了根據(jù)本發(fā)明實施方式的對等模式下的接口控制處理的例 子。即,圖7例示了NFCHCI在對等通信中運行的情況。主機A與主機 B分別在NFC A和NFC B的基礎上相互通信。主機A在NFC A和NFC B的基礎上對主機B進行會話打開(LLC—Open—Session)處理(步驟210 到230)。主機B在NFC B和NFC A的基礎上對主機A進行會話打開確 認(LLC—Open—Session—Ack)處理。即,通過符合本發(fā)明的NFC HCI 可以在保證兼容性與通用性的情況下隨意地進行對等通信。圖8例示了根據(jù)本發(fā)明實施方式的用于發(fā)送數(shù)據(jù)的示例性方法。在 此,例示了當發(fā)送數(shù)據(jù)時通過防止過流(overflow)而無數(shù)據(jù)丟失地發(fā)送 數(shù)據(jù)的方法。即,數(shù)據(jù)發(fā)送方在考慮設備緩沖器尺寸的情況下進行數(shù)據(jù) 分段并將分段后的數(shù)據(jù)及相關數(shù)據(jù)發(fā)送給數(shù)據(jù)接收方。數(shù)據(jù)接收方接收 到所發(fā)送的并分段了的數(shù)據(jù),以重構分段數(shù)據(jù),從而可在無丟失的情況 下接收到原始數(shù)據(jù)。發(fā)送分段數(shù)據(jù)時的相關數(shù)據(jù)的例子包括與數(shù)據(jù)尺寸 相關的數(shù)據(jù)。與接收方設備的緩沖器尺寸相關的數(shù)據(jù)是在發(fā)送操作中獲 得的;并且利用所獲得的與緩沖器尺寸相關的數(shù)據(jù)來發(fā)送數(shù)據(jù)。圖9例示了根據(jù)本發(fā)明實施方式的NFCH與NFC設備之間的接口控 制處理的例子。即,圖9例示了在考慮設備緩沖器尺寸的情況下對數(shù)據(jù) 分段并發(fā)送分段后的數(shù)據(jù),由此避免數(shù)據(jù)丟失的一系列處理。從NFCH向HFC設備遞送請求設備的緩沖器尺寸的命令 (HCI—GET—BUFFER—SIZE命令消息)(步驟310)。響應于請求設備緩沖器尺寸的命令,NFC設備向NFCH遞送由M個 字節(jié)表示的緩沖器尺寸數(shù)據(jù)(HCI一GET一BUFFER一SIZE響應消息)(步驟 320)。 NFCH在設備的緩沖器尺寸數(shù)據(jù)的基礎上并且在考慮緩沖器尺寸 (m個字節(jié))的情況下發(fā)送已經通過對要發(fā)送的數(shù)據(jù)尺寸進行分段而獲 得的第一數(shù)據(jù)(命令協(xié)議消息)(步驟330)。 NFC設備發(fā)送數(shù)據(jù)已完全 被接收的響應(HCI—SIZE—COMPLETE—DATA事件)(步驟340)??赏ㄟ^返回m個字節(jié)來執(zhí)行該響應。接下來的操作350、 360和370描述了以 相同的方式發(fā)送剩余數(shù)據(jù)和接收其響應的處理。當通過這種方式完成了 所有要從NFCH發(fā)送到NFCH設備的數(shù)據(jù)的發(fā)送時,NFC設備向NFCH 發(fā)送告知數(shù)據(jù)發(fā)送已經完成并且結束處理的消息(響應協(xié)議消息)??梢?通過返回必要參數(shù)來執(zhí)行該響應。圖IO例示了根據(jù)本發(fā)明實施方式的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成對地出現(xiàn)。通過異步消息傳送來進行事件處理。圖11例示了根據(jù)本發(fā)明實施方式的NFCH與NFC芯片組(或NFC 設備)之間的接口的另一種示例性結構。在命令30、響應40和事件50 的基礎上在NFCH10與NFC設備20之間進行通信。此外,還提供了數(shù) 據(jù)傳輸處理60。命令30從NFCH 10遞送到NFC設備20。響應40從NFC 設備20遞送到NFCH 10。事件50從NFC設備20遞送到NFCH 10,并 且相對于命令與響應是獨立的。命令30和響應40成對地出現(xiàn)。通過異 步消息傳送來進行事件處理。數(shù)據(jù)60從NFCH 10遞送到NFC設備20, 或者從NFC設備20遞送到NFCH10。 S卩,數(shù)據(jù)傳輸處理是基于雙向的。 圖11和圖12中例示的接口處理及其結構僅為舉例,本發(fā)明的HCI處理 并不限于此。圖12例示了根據(jù)本發(fā)明實施方式的消息格式的例子。這僅是一種實 施方式,根據(jù)本發(fā)明的消息格式并不限于此。參照圖12,根據(jù)本發(fā)明實 施方式的一般消息格式包括消息描述符字段(MDESC)、節(jié)點地址字段 (NAD)及有效載荷(PAYLOAD)字段。可以將MDESC字段和NAD 字段看作必選部分,而將有效載荷字段看作可選部分。在圖12的消息格 式中,MDESC占1個字節(jié),NAD占1個或2個字節(jié),而有效載荷占0 255個字節(jié),但這些數(shù)值僅為舉例。圖13例示了根據(jù)本發(fā)明實施方式的消息格式中的消息描述符字段(MDESC)的例子。在此,圖13例示了在MDESC由1個字節(jié)來表示 的情況下,記錄在MDSC字段中的相應值的含義的例子。MDESC字段 中記錄了消息類型、NAD、長度數(shù)據(jù)、標記以及供將來使用的預留(RFU)。 消息類型可由2位來表示,并且可以根據(jù)所表示的值來表示命令、響應、 事件及數(shù)據(jù)。NAD可根據(jù)其值表示它是4位NAD或是8位NAD。長度 數(shù)據(jù)可用來表示長度數(shù)據(jù)不存在(沒有長度)的情況、長度數(shù)據(jù)為1個 字節(jié)長的情況、長度數(shù)據(jù)為2個字節(jié)長的情況以及長度數(shù)據(jù)為RFU的情 況。標記可用來表示存在跟隨消息(following message)的情況和不存在 跟隨消息的情況。RFU可以始終用預定值來表示。圖14例示了根據(jù)本發(fā)明實施方式的消息格式中的節(jié)點地址字段(NAD)的例子。NAD已經考慮了 8位NAD的情況和4位NAD的情 況。在NAD是8位NAD的情況下,NAD可以由2個字節(jié)來表示,其中, 在高1字節(jié)中表示源NAD,而在低1字節(jié)中表示目的地NAD。在NAD 是4位NAD的情況下,NAD可以由1個字節(jié)來表示,其中,在高4位 中表示源NAD,而在低4位中表示目的地NAD。圖15例示了根據(jù)本發(fā)明實施方式的消息格式中的命令消息格式的 例子。命令消息格式包括1個字節(jié)的MDESC、 1個或2個字節(jié)的NAD、 1個字節(jié)的命令(CMD)、 1個字節(jié)的長度以及0 255個字節(jié)的參數(shù)/數(shù) 據(jù)。CMD字段中記錄有命令代碼。在參數(shù)或數(shù)據(jù)存在的情況下,長度字 段表示了參數(shù)或數(shù)據(jù)的長度。長度可以由2個字節(jié)來表示。在這種情況 下,參數(shù)或數(shù)據(jù)的長度可由0 65535個字節(jié)來表示。CMD字段中記錄 有表示了由消息表示的命令的代碼。稍后將詳細描述多種命令以及可用 代碼值的例子。圖16例示了根據(jù)本發(fā)明實施方式的消息格式中的響應消息格式的 例子。響應消息格式包括1個字節(jié)的MDESC、 1個或2個字節(jié)的NAD、 1個字節(jié)的響應(RESP)、 1個字節(jié)的長度以及0 255個字節(jié)的參數(shù)/數(shù) 據(jù)。RESP字段中記錄有響應代碼。在參數(shù)或數(shù)據(jù)存在的情況下,長度字 段表示了參數(shù)或數(shù)據(jù)的長度。長度可以由2個字節(jié)來表示。在這種情況 下,參數(shù)或數(shù)據(jù)字段的長度可以為0 65535個字節(jié)。RESP字段中記錄有表示了由消息表示的響應的代碼。將表示了響應成功或失敗的1位標 記表示為結果。記錄有表示一種差錯的7位差錯代碼。稍后將詳細描述 多種響應、可用代碼值、多種差錯以及可用值的例子。
圖17例示了根據(jù)本發(fā)明實施方式的消息格式中的事件消息格式的
例子。事件消息格式包括1個字節(jié)的MDESC、 1個或2個字節(jié)的NAD、 l個字節(jié)的事件、l個字節(jié)的長度以及0 255個字節(jié)的參數(shù)/數(shù)據(jù)。事件 字段中記錄有事件代碼。在參數(shù)或數(shù)據(jù)存在的情況下,長度字段表示了 參數(shù)或數(shù)據(jù)的長度。長度可以由2個字節(jié)來表示。在這種情況下,參數(shù) 或數(shù)據(jù)字段的長度可以為0 65535個字節(jié)。事件字段中記錄有表示了由 消息表示的事件的代碼。稍后將詳細描述多種事件以及可用代碼值的例 子。
圖18例示了根據(jù)本發(fā)明實施方式的消息格式中的數(shù)據(jù)消息格式的 例子。數(shù)據(jù)消息格式包括1個字節(jié)的MDESC、 1個或2個字節(jié)的NAD、 1個字節(jié)的長度以及0 255個字節(jié)的參數(shù)/數(shù)據(jù)。在參數(shù)或數(shù)據(jù)存在的情 況下,長度字段表示了參數(shù)或數(shù)據(jù)的長度。長度可以由2個字節(jié)來表示。 在這種情況下,參數(shù)或數(shù)據(jù)字段的長度可以為0-65535個字節(jié)。
圖19例示了根據(jù)本發(fā)明實施方式的一種命令消息的例子。此處所用 的多種命令消息及表示相關命令的代碼值僅為舉例,而本發(fā)明并不限于 此。Get Device Information命令是讀取NFC設備的數(shù)據(jù)的命令。Get Device Information命令讀取NFC設備的序列號、與制造商相關的數(shù)據(jù)以 及制造日期。在此,用0x01來表示Get Device Information命令的代碼值 的例子。Set Device Status命令是對NFC設備的狀態(tài)變量執(zhí)行設置的命令, 并且對與射頻(RF)相關的信息(如RP校準)和寄存器數(shù)據(jù)進行設置。 在此,用0x02來表示Set Device Status命令的代碼值的例子。Get Device Status命令是讀取NFC設備的狀態(tài)變量的命令。用0x03來表示Get Device Status命令的代碼值。Control Device Power命令是對NFC設備的RF發(fā) 射功率進行控制的命令。用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 命令的代碼值。與此同時,從命令消息中分配出可由廠商定義的命令代碼區(qū)(廠商 專用0x09 0x0F),而將0xl0 0xlF分配為預留代碼區(qū)。圖20例示了根據(jù)本發(fā)明實施方式的一種響應消息的例子。此處所用 的多種響應消息及表示響應的代碼值僅為舉例,而本發(fā)明并不限于此。 Get Device Information Response是對Get Device Information命令的卩向應, 并且用0x01來表示Get Device Information Response的代碼^直。Get Device Status Response是對Get Device Status命令的響應,并且用0x02來表示 Get Device Status Response的代碼值。當成功執(zhí)行了命令時,通過利用 0x03的相關代碼值來表示告知該命令成功的響應而做出響應。除此之外,還執(zhí)行了多種差錯響應。當生成Get Device Information 命令的差錯時,通過利用0x04的代碼值來表示告知設備信息失敗的響應 消息而做出響應。當生成Get Device Status命令的差錯時,通過利用0x05的代碼值來表示告知設備狀態(tài)失敗的響應消息而做出響應。當生成 Control Device Power的差錯時,通過利用0x06的代碼值來表示告知設備 功率控制失敗的響應消息而做出響應。當生成Set/Get Device Mode的差 錯時,通過利用0x07的代碼值來表示告知設備模式失敗的響應消息而做 出響應。圖21例示了根據(jù)本發(fā)明實施方式的多種命令消息和響應消息的例 子。此處所用的多種命令消息、響應消息及表示命令和響應的代碼值僅 為舉例,而本發(fā)明并不限于此。在此,Deliver描述了它是一種遞送LLCP 數(shù)據(jù)包并且使用0x02代碼值的命令。Deliver Response是一種遞送具有有 效緩沖器尺寸的命令并且使用0x21代碼值的響應。Data Receive是一種 從NFC設備讀取數(shù)據(jù)并且使用0x22代碼值的命令。Data ReceiveResponse是一種對數(shù)據(jù)接收命令的響應,包括NFC設備數(shù)據(jù),并且可以 使用0x23的代碼值。
圖22例示了根據(jù)本發(fā)明實施方式的一種事件消息的例子。事件消息 相對于命令和響應是獨立的。當NFC設備中發(fā)生數(shù)據(jù)接收差錯或關鍵差 錯時,事件消息用來將所產生的事件告知NFCH。在此,描述了一些典 型情況。描述了三種事件消息HCI Bus Driver Fail (HCI總線驅動器故 障)、NFC IC Has Data (NFCIC獲得數(shù)據(jù))以及Buffer Available (緩沖 器可用)。各個消息使用表示了相應事件的相應代碼OxOl、 0x02和0x03。 在HCI總線驅動器出現(xiàn)問題、NFC設備從RF模塊接收數(shù)據(jù)或者緩沖器 尺寸改變的情況下,這些消息可用來提供相應的數(shù)據(jù)。圖22中對每種情 況都作了詳細描述。
圖23例示了根據(jù)本發(fā)明實施方式的命令和響應消息中的設備管理 功能的例子。這對應于設備管理類別。命令HCI_GET—DEVICE—INFO是 一種讀取NFC設備數(shù)據(jù)的命令,且消息類型是命令。命令 HCI_GET—DEVICE—INFO的代碼值、命令參數(shù)以及作為參數(shù)的返回參數(shù) 值被記錄。
命令HCI一TURNON一DEVICE是一種用來打開NFC設備的電源的命 令,且消息類型是命令。命令HCI—TURNON一DEVICE的代碼值以及表 示成功或失敗的返回參數(shù)值被記錄。
命令HCI_TURNOFF—DEVICE是一種用來關閉NFC設備的電源的 命令,且消息類型是命令。命令HCI—TURNOFF—DEVICE的代碼值以及 表示成功或失敗的返回參數(shù)值被記錄。
命令HCI_SLEEP_DEVICE是一種用來使NFC設備變?yōu)樾菝郀顟B(tài)的 命令,且消息類型是命令。命令HCI—SLEEP—DEVICE的代碼值以及表 示成功或失敗的返回參數(shù)值被記錄。
命令HCI—RESUME—DEVICE是一種用來將NFC設備從休眠狀態(tài)中 喚醒的命令,且消息類型是命令。命令HCI一 RESUME—DEVICE的代碼 值以及表示成功或失敗的返回參數(shù)值被記錄。
命令HCI—START—DEVICE—DISCOVERY是一種用來起動NFC設備發(fā)現(xiàn)的命令,且消息類型是命令。命令HCI—START—DEVICE— DISCOVERY的代碼值以及表示成功或失敗的返回參數(shù)值被記錄。命令HCI—STOP—DEVICE—DISCOVERY是一種用來停止NFC設備 發(fā)現(xiàn)的命令,且消息類型是命令。命令HCI—STOP—DEVICE—DISCOVERY 的代碼值以及表示成功或失敗的返回參數(shù)值被記錄。命令HCI—RESET—DEVICE是一種用來對NFC設備進行初始化的命 令,且消息類型是命令。命令HCI—RESET—DEVICE的代碼值以及表示 成功或失敗的返回參數(shù)值被記錄。命令HCI—FLUSH—DEVICE是一種用來對NPC設備的緩沖器進行清 除(flush)的命令,且消息類型是命令。命令HCI—FLUSH—DEVICE的 代碼值以及表示成功或失敗的返回參數(shù)值被記錄。命令HCI—GET—BUFFER—SIZE是一種用來讀取NFC設備緩沖器尺 寸的命令,且消息類型是命令。命令HCI—GET—BUFFER—SIZE的代碼值、 表示成功或失敗的返回參數(shù)值以及緩沖器尺寸被記錄。圖24例示了根據(jù)本發(fā)明實施方式的命令和響應消息中的NFC數(shù)據(jù) 通信功能的例子。這對應于NFC數(shù)據(jù)通信類別。命令HCI一SEND一DATA是一種將LLCP數(shù)據(jù)包從NFCH遞送到NFC 設備的命令,且該命令HCI—SEND—DATA的消息類型是命令。命令 HCI—SEND_DATA的代碼值、表示LLCP數(shù)據(jù)包的命令參數(shù)、表示成功 或失敗的返回參數(shù)值以及緩沖器尺寸被記錄。命令HCI_RECEIVE—DATA是一種將LLCP數(shù)據(jù)包從NFC設備遞送 到NFCH的命令,且該命令HCI一RECEIVE一DATA的消息類型是命令。 命令HCI—RECEIVE—DATA的代碼值、表示LLCP數(shù)據(jù)包的命令參數(shù)、 表示成功或失敗的返回參數(shù)值以及緩沖器尺寸被記錄。命令HCI—READ—TAG是一種從NFC設備的NFC論壇標簽中讀取 NFC數(shù)據(jù)交換格式(NDEF)數(shù)據(jù)的命令,且該命令HCI—READ—TAG的 消息類型是命令。命令HCI一READJTAG的代碼值以及表示成功或失敗 的返回參數(shù)值被記錄。并且,read—data參數(shù)(命令參數(shù))也被記錄。該 read—data參數(shù)是從NFC論壇標簽中讀取的,因此該數(shù)據(jù)格式符合NDEF。命令HCI—WRITE—TAG是一種用于將NDEF數(shù)據(jù)記錄在NFC設備 的NFC論壇標簽中的命令,且該命令HCI—WRITE—TAG的消息類型是命 令。命令HCI—WRJTE—TAG的代碼值以及表示成功或失敗的返回參數(shù)值 被記錄。并且,write—data參數(shù)(命令參數(shù))也被記錄。該write—data參 數(shù)包括了要記錄在標簽上的NDEF數(shù)據(jù)。
命令HCI—SET—CARD_DATA是一種用于將NDEF數(shù)據(jù)記錄在NDEF 設備的卡存儲器中以進行卡模擬的命令,且該命令HCI—SET—CARD— DATA的消息類型是命令。命令HCI—SET—CARD—DATA的代碼值以及表 示成功或失敗的返回參數(shù)值被記錄。并且,card_data參數(shù)也作為命令參 數(shù)而被記錄。該card—data參數(shù)表示要存儲在卡模擬存儲器中的數(shù)據(jù)。
命令HCI—GET—CARD—DATA是一種用于讀取記錄在NDEF設備的 卡存儲器中的數(shù)據(jù)的命令,且該命令HCI—GET—CARD—DATA的消息類 型是命令。命令HCI_GET—CARD_DATA的代碼值以及表示成功或失敗 的返回參數(shù)值被記錄。并且,card—data參數(shù)也被記錄。
在上文中,在上述消息格式中表示了失敗的參數(shù)值可伴隨著相應的 差錯代碼值。
圖25例示了根據(jù)本發(fā)明實施方式的命令和響應消息中的安全部件 支持功能的例子。即,圖25例示了用于從安全部件讀取數(shù)據(jù)的 HCI一READ一SECURE命令,以及用于將數(shù)據(jù)記錄在安全部件上的 HCI—WRITRE—SECURE命令。
圖26例示了根據(jù)本發(fā)明實施方式的命令和響應消息中的差錯代碼 消息的例子。此處所用的多種差錯以及表示差錯的代碼值僅為舉例,而 本發(fā)明并不限于此。這里對根據(jù)本發(fā)明實施方式的差錯代碼值及其含義 進行描述。OxOO表示不存在差錯,0x01表示未定義的命令,0x02表示設 備之間沒有連接,而0x03表示硬件故障。
并且,0x04表示存儲器滿狀態(tài),0x05表示命令不接受,0x06表示 參數(shù)值不支持,而0x07表示無效的命令參數(shù)。
并且,Ox08表示未指定的差錯,0x09表示對安全部件的訪問已被拒 絕,而OxOA表示對安全部件的訪問已失敗。剩余的代碼值為RFU。圖27例示了根據(jù)本發(fā)明實施方式的事件消息的例子。此處所用的多 種事件消息僅為舉例,而本發(fā)明并不限于此。
HCI_DETECT—DEVICE是一種事件消息,該消息用于在進行設備發(fā) 現(xiàn)時告知主機檢測出的設備的數(shù)量或預定類型的標記,且HCI_DETECT_ DEVICE的消息類型是事件。相應的消息代碼被記錄。
HCI一RECEIVE一DATA—EVENT是一種事件消息,該消息用于當NFC 設備從空中接口接收到數(shù)據(jù)時將數(shù)據(jù)遞送給主機,且HCI一RECEIVE一 DATA—EVENT的消息類型是事件。相應的消息代碼以及作為返回參數(shù)的 receive—data參數(shù)被記錄。receive—data參數(shù)是一種NFC協(xié)議處理或來自 設備的數(shù)據(jù)所需的NFC論壇標簽。
HCI—SIZE—OF—COMPLETED—DATA是一種事件消息,用于在NFC 設備處將完全處理的數(shù)據(jù)的尺寸告知NPCH,以進行流程控制。沒有特 別地確定該事件消息被發(fā)送的頻度。該消息類型是事件。相應的消息代 碼和作為返回參數(shù)的data—size參數(shù)被記錄。data—size參數(shù)表示NFC設備 己處理完成的數(shù)據(jù)尺寸。
HCI—MODE—SWITCH—INTERRUPT是一種中斷事件,用于當在模 式切換中發(fā)現(xiàn)NFC標記或設備時將該NFC標記或設備告知主機,且HCI一 MODE—SWITCH—INTERRUPT的消息類型是事件。相應的消息代碼和作 為返回參數(shù)的device—type參數(shù)被記錄。device_type參數(shù)是一種當發(fā)現(xiàn)了 NFC設備或卡時表示該NFC設備或卡的參數(shù)。例如,0x00僅表示 IS014443-A卡,0x01僅表示IS014443-B卡,0x02僅表示Felica卡,0x03 表示IS014443-A和B, 0x04表示ISO 14443-A和Felica卡,0x05表示 Felica和IS014443-B,而0x06表示IS014443-A和B以及Felica卡,并 且被分配了用于RFU的代碼值。
HCI—SECURE—INSERTED 表示安全部件已被插入, HCI一SECURE一EXTRACTED 表示安全部件已被拔出, HCI_SECURE—READ表示正讀取安全部件,而HCI—SECURE—WRITTEN 表示正對安全部件進行記錄。
到此為止,已經描述了根據(jù)本發(fā)明實施方式的NFCHCI。此處所述以及附圖所示的HCI系統(tǒng)的種類、格式、代碼值及用于發(fā)送消息的處理 僅是為理解本發(fā)明而選取的例子。在本發(fā)明的范圍內,可以在實施方式 的基礎上實現(xiàn)HCI系統(tǒng)的種類、格式、代碼值以及用于發(fā)送消息的處理 的多種修改與改變。并且,本發(fā)明實施方式中所用的術語僅用于理解之 目的,而本發(fā)明并不限于此。
本發(fā)明適用于NFCH與NFC芯片組或NFC設備之間的HCI。
權利要求
1. 一種在主機與連接到該主機的設備之間的通信接口中在該主機與該設備之間進行通信的方法,該方法包括以下步驟從該主機向該設備發(fā)送命令消息;響應于該命令消息從該設備向該主機發(fā)送響應消息;在該主機與該設備之間傳輸數(shù)據(jù);以及在需要時從該設備向該主機發(fā)送事件消息。
2、 根據(jù)權利要求1所述的方法,其中,該命令消息和該響應消息按 照命令及其響應的成對方式來發(fā)送。
3、 根據(jù)權利要求1所述的方法,其中,該事件消息相對于該命令消 息和該響應消息是獨立的。
4、 根據(jù)權利要求1所述的方法,其中,該消息與這樣一種處理相符 合,該處理在安裝于該主機內的相應設備驅動器接口的基礎上利用相應 設備驅動器向/從設備發(fā)送/接收該消息。
5、 根據(jù)權利要求1所述的方法,其中,在安裝于第一主機內的設備 驅動器接口和安裝于第二主機內的設備驅動器接口的基礎上來發(fā)送和接 收該消息。
6、 根據(jù)權利要求1所述的方法,其中,該主機根據(jù)該設備的存儲空 間的尺寸對在該主機與該設備之間傳輸?shù)臄?shù)據(jù)進行分段,通過多個處理 利用表示了數(shù)據(jù)分段的信息將分段了的數(shù)據(jù)傳輸至該設備,并且由該設 備來重構所發(fā)送并分段了的數(shù)據(jù)。
7、 一種在主機與連接到該主機的設備之間的通信接口中在該主機與 該設備之間進行通信的方法,該方法包括以下步驟從該主機向該設備發(fā)送命令消息,該命令消息包括表示消息種類的 數(shù)據(jù)、表示消息內容的數(shù)據(jù)以及額外數(shù)據(jù);從該設備發(fā)送事件消息或發(fā)送響應消息,該響應消息包括表示消息 種類的數(shù)據(jù)、表示消息內容的數(shù)據(jù)以及額外數(shù)據(jù);以及在需要時響應于該命令或該響應消息而在該主機與該設備之間傳輸表示數(shù)據(jù)的信息以及包括該數(shù)據(jù)的消息。
8、 根據(jù)權利要求7所述的方法,其中,該表示消息種類的數(shù)據(jù)是利 用代碼值來表示的,該代碼值表示了該消息的消息類型是命令、響應、 數(shù)據(jù)還是事件。
9、 根據(jù)權利要求7所述的方法,其中,該表示消息內容的數(shù)據(jù)是利 用代碼值來表示的,該代碼值表示了相應命令是什么命令、相應響應是 什么響應或者相應事件是什么內容。
10、 根據(jù)權利要求7所述的方法,其中,該命令消息包括用于讀取設備數(shù)據(jù)或設置設備數(shù)據(jù)的命令。
11、 根據(jù)權利要求7所述的方法,其中,該命令消息包括用于控制該設備的功率或空中接口的設備功率的命令。
12、 根據(jù)權利要求7所述的方法,其中,該命令消息包括用于初始 化該設備、設置設備模式或者讀取設備模式的命令。
13、 根據(jù)權利要求7所述的方法,其中,該響應消息包括作為來自 該主機的設備數(shù)據(jù)提供請求的響應的響應和作為來自該主機的設備控制 命令的響應的響應中的一個。
14、 根據(jù)權利要求7所述的方法,其中,該響應消息包括差錯響應 消息。
15、 根據(jù)權利要求7所述的方法,其中,該命令消息和該響應消息 包括關于數(shù)據(jù)包的發(fā)送或發(fā)送結果的響應消息。
16、 根據(jù)權利要求7所述的方法,其中,該事件包括總線驅動器狀 態(tài)、空中接口模塊接收到數(shù)據(jù)、出現(xiàn)緩沖器尺寸、檢測到標簽或其它設 備、卡模擬、模式切換、安裝或移除安全部件、安全部件數(shù)據(jù)的讀取或 寫入事件中的至少一個。
17、 一種在近距離通信主機與連接到該近距離通信主機的近距離通 信設備之間的通信接口中在該主機與該設備之間進行通信的方法,該方 法包括以下步驟從該主機向該設備發(fā)送命令消息,該命令消息包括該設備的記錄數(shù) 據(jù)和讀取數(shù)據(jù)中的一種,其請求該設備發(fā)送預定數(shù)據(jù)并對該設備進行設置;響應于該命令消息,從該設備向該主機發(fā)送告知了相關命令的執(zhí)行 結果的響應消息;以及在需要時從該設備向該主機發(fā)送事件消息。
18、 根據(jù)權利要求17所述的方法,其中,該命令和響應消息包括以 下至少其一用于讀取該設備的數(shù)據(jù)的命令及其響應、用于打開/關閉該 設備的命令及其響應、用于將該設備變?yōu)樾菝吣J交驅⒃撛O備喚醒的命 令及其響應、用于開始檢測該設備或停止檢測該設備的命令及其響應、 用于初始化該設備的命令及其響應、設備緩沖器清除命令及其響應、設 備緩沖器尺寸返回命令及其響應、用于從該主機發(fā)送數(shù)據(jù)或從該設備接 收數(shù)據(jù)的命令及其響應、標簽數(shù)據(jù)讀取/寫入命令及其響應,以及用于設 置或讀取近距離通信標簽模擬存儲設備的卡模擬數(shù)據(jù)的命令及其響應。
19、 根據(jù)權利要求17所述的方法,其中,該響應消息包括表示命令 執(zhí)行成功或失敗的數(shù)據(jù),以及當命令失敗時表示失敗內容的數(shù)據(jù)。
20、 根據(jù)權利要求17所述的方法,其中,該主機是移動設備的處理器。
全文摘要
本發(fā)明提供了一種NFCH與NFC設備之間的通信接口以及用于控制NFC HCI的方法。在該方法中,從主機向設備發(fā)送命令消息。命令消息包括向設備記錄數(shù)據(jù)、讀取設備的數(shù)據(jù)、請求設備發(fā)送預定數(shù)據(jù)和對設備進行設置中的一種。響應于該命令消息,從設備向主機發(fā)送告知了相關命令執(zhí)行結果的響應消息。此后,在需要時從設備向主機發(fā)送事件消息。
文檔編號G06F15/16GK101305585SQ200680041578
公開日2008年11月12日 申請日期2006年11月7日 優(yōu)先權日2005年11月7日
發(fā)明者李炳旭, 柳承協(xié), 金辰臺, 閔相喆 申請人:Lg電子株式會社