本申請要求享有于2016年04月01日提交的名稱為“nfc標簽、nfc讀寫器和nfc標簽的數(shù)據(jù)讀寫方法”的中國專利申請cn201610206809.9的優(yōu)先權(quán),該申請的全部內(nèi)容通過引用并入本文中。
本發(fā)明屬于無線通信領(lǐng)域,涉及工作于標簽和讀寫器模式的一種nfc標簽、nfc讀寫器和nfc標簽的數(shù)據(jù)讀寫方法。
背景技術(shù):
近場通信(nearfieldcommunication,簡稱nfc),是一種工作于13.56mhz(兆赫茲)的頻率上、通信連接建立時間小于1秒且通信距離通常局限在10厘米以內(nèi)的快捷短距離高頻無線通信技術(shù)。目前基于nfc協(xié)議規(guī)范nfcip-1(包括iso/iec18092國際標準和ecma-340標準)、iso/iec14443國際標準、日本工業(yè)標準(jis)x6319-4等非接觸智能卡標準定義的nfc設備可以工作于針對nfc標簽的讀寫器模式、針對其它nfc設備之間的點對點模式、針對其它nfc讀寫器的卡模擬模式中,而且基于不同的nfc標準的nfc設備支持106kbps(千比特每秒)、212kbps和424kbps等不同的數(shù)據(jù)傳輸速率。nfc設備之間支持兩種通信模式:通信發(fā)起設備和目標通信設備都通過自身供電且交替?zhèn)鬏敂?shù)據(jù)的主動模式(如點對點模式);通信發(fā)起設備產(chǎn)生無線信號并通過電磁場為目標通信設備供電,目標通信設備通過對現(xiàn)有電磁場調(diào)制來回應通信發(fā)起設備的被動模式(如讀寫器模式和卡模擬模式)。通常在標簽和讀寫器模式中,nfc讀寫器(如支持nfc通信的手機)靠近無源nfc標簽并產(chǎn)生無線信號,nfc標簽的天線從該無線信號的電磁場中捕獲電能為存儲器供電,并通過對該電磁場的調(diào)制來將存儲器所存儲的數(shù)據(jù)發(fā)送至nfc讀寫器。由于無源nfc標簽僅需天線和相應的存儲器件而無需額外電池的特點,制造簡單、成本低廉且體積單薄攜帶方便,目前廣泛應用于電子簽卡、防偽識別和電子名片中,給人們的生活帶來極大便利。
目前,nfc數(shù)據(jù)通信的協(xié)議由nfc論壇(nfcforum)進行標準化,nfc論壇定義了nfc數(shù)據(jù)交換格式(nfcdataexchangeformat,簡稱ndef)作為nfc設備與nfc標簽之間以及nfc設備之間進行nfc通信的通用數(shù)據(jù)格式。ndef以一個ndef消息(ndefmessage)作為一次nfc通信的數(shù)據(jù)交換結(jié)構(gòu),一個ndef消息可以包含至少一個ndef記錄(ndefrecord),每一個ndef記錄承載有用于通信的數(shù)據(jù)作為的有效載荷(ndefpayload)。nfc設備之間通信時,目標通信設備內(nèi)部的nfc發(fā)生器(nfcgenerator)將需要通信的數(shù)據(jù)作為有效載荷封裝入一個或多個ndef記錄中,并將該一個或多個ndef記錄作為一個ndef消息發(fā)送至通信發(fā)起設備,通信發(fā)起設備內(nèi)部的nfc解析器(nfcparser)將所接收的ndef消息解析出有效載荷并傳送給ndef應用(ndefapplication)進行處理。
現(xiàn)有的nfc標簽中,nfc標簽的存儲器內(nèi)以單個ndef記錄的形式存儲一個ndef消息,nfc設備作為通信發(fā)起設備讀取nfc標簽時,nfc標簽直接將該單個ndef記錄作為一個ndef消息發(fā)送至nfc設備,nfc設備內(nèi)部的nfc解析器將該單個ndef記錄解析出有效載荷并傳送給ndef應用進行處理。
由于現(xiàn)有的nfc標簽中只存儲單個ndef記錄,即便該單個ndef記錄中可以包含多個ndef子記錄作為有效載荷進行封裝。但是,由于nfc通信速度的限制,且目標通信設備和通信發(fā)起設備之間通過數(shù)據(jù)幀傳輸,單個ndef記錄數(shù)據(jù)量過大會造成nfc通信中的丟幀傳輸使通信錯誤率太高而傳輸失敗,目前nfc標簽所能夠存儲的單個ndef記錄數(shù)據(jù)量通常限制在8kb(千字節(jié))以內(nèi)。從而,目前的nfc標簽是無法存儲并傳輸數(shù)十kb甚至幾mb(兆字節(jié))的較大量的數(shù)據(jù)的。
而且,涉及多個文件的組合數(shù)據(jù)存儲與傳輸中,通常將該多個文件分別作為有效載荷封裝入多個ndef子記錄中,再將該多個ndef子記錄封裝入單個ndef記錄存儲至nfc標簽中。讀取文件時,需要將nfc標簽中的ndef記錄全部讀出并由nfc解析器解析后才能獲得目標文件,無法有選擇性地或僅部分地讀取其中的文件,寫入文件時,需要將全部文件封裝成單個ndef記錄寫入至nfc標簽,無法有針對性地或僅部分地改寫其中的文件,不具備文件讀寫的靈活性。
從而,一種能夠存儲并傳輸較大量數(shù)據(jù)的nfc標簽以及一種有選擇性地讀寫部分數(shù)據(jù)的nfc標簽讀寫方法是需要的。
技術(shù)實現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中存在的nfc標簽無法存儲并傳輸較大量的數(shù)據(jù)且數(shù)據(jù)讀寫不靈活的問題,本發(fā)明提供了一種新的nfc標簽、nfc讀寫器和nfc標簽的數(shù)據(jù)讀寫方法。
一種nfc標簽,包括:
nfc天線,通過解調(diào)或調(diào)制電磁場進行承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄的收發(fā)通信;
非易失性存儲單元,以多個承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄的形式存儲著較大數(shù)據(jù)量的數(shù)據(jù);
數(shù)據(jù)管理系統(tǒng),包括ndef消息讀出單元和ndef消息發(fā)送單元,ndef消息讀出單元用于從非易失性存儲單元中將該多個承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄讀出,ndef消息發(fā)送單元用于將ndef消息讀出單元讀出的多個承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄通過nfc天線調(diào)制電磁場發(fā)送。
基于本發(fā)明的實施例,上述ndef消息讀出單元用于按照該較大數(shù)據(jù)量的數(shù)據(jù)所封裝成承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄的順序逐個從非易失性存儲單元中將該多個承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄讀出。
基于本發(fā)明的實施例,上述ndef消息發(fā)送單元用于按照該較大數(shù)據(jù)量的數(shù)據(jù)所封裝成承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄的順序逐個將該多個承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄通過nfc天線調(diào)制電磁場發(fā)送。
一種nfc標簽,包括:
nfc天線,通過解調(diào)或調(diào)制電磁場進行承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄的收發(fā)通信;
非易失性存儲單元,存儲較大數(shù)據(jù)量的數(shù)據(jù);
數(shù)據(jù)管理系統(tǒng),包括數(shù)據(jù)讀寫單元、ndef消息封裝單元、ndef消息解析單元和ndef消息收發(fā)單元,數(shù)據(jù)讀寫單元用于將非易失性存儲單元所存儲的較大數(shù)據(jù)量的數(shù)據(jù)讀出,ndef消息封裝單元用于將該較大數(shù)據(jù)量的數(shù)據(jù)封裝成多個承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄,ndef消息收發(fā)單元用于將該多個承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄通過nfc天線調(diào)制電磁場發(fā)送,以及,ndef消息收發(fā)單元用于將nfc天線接收的多個承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄發(fā)送至ndef消息解析單元,ndef消息解析單元用于將該多個承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄解析并提取出有效載荷中的較大數(shù)據(jù)量的數(shù)據(jù),將該較大數(shù)據(jù)量的數(shù)據(jù)傳送給數(shù)據(jù)讀寫單元,數(shù)據(jù)讀寫單元用于將該較大數(shù)據(jù)量的數(shù)據(jù)寫入至非易失性存儲單元。
基于本發(fā)明的實施例,上述多個承載較小數(shù)據(jù)量的數(shù)據(jù)的ndef記錄包含至少一個ndef子記錄,ndef消息解析單元將該至少一個ndef子記錄傳送給數(shù)據(jù)讀寫單元。
基于本發(fā)明的實施例,上述nfc標簽的nfc天線還用于從電磁場捕獲電能。
與現(xiàn)有技術(shù)相比,本發(fā)明所提供的nfc標簽、nfc讀寫器以及針對nfc標簽的讀寫方法,在nfc標簽內(nèi)設置數(shù)據(jù)管理系統(tǒng),通過數(shù)據(jù)管理系統(tǒng)讀取多個ndef記錄,以及將多個ndef記錄直接寫入非易失性存儲單元,實現(xiàn)較大量數(shù)據(jù)的存儲和傳輸,并且,在非易失性存儲單元中設置數(shù)據(jù)頭,通過數(shù)據(jù)頭中各個文件的索引信息執(zhí)行有針對性的或部分文件數(shù)據(jù)的讀取或改寫、重寫,以及,通過nfc讀寫器端的應用程序?qū)fc標簽讀寫,實現(xiàn)更靈活的nfc標簽內(nèi)數(shù)據(jù)的讀取與寫入操作。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
附圖說明
附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例共同用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1為本發(fā)明所提供的nfc標簽的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例一所提供的nfc標簽的結(jié)構(gòu)示意圖;
圖3為本發(fā)明實施例二所提供的nfc標簽的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例所提供的nfc標簽的數(shù)據(jù)存儲結(jié)構(gòu)圖。
具體實施方式
下面,結(jié)合附圖和實施例對本發(fā)明的技術(shù)方案進行詳細描述。本領(lǐng)域普通技術(shù)人員應理解,為了簡化描述過程以及使技術(shù)方案清楚呈現(xiàn),以下僅以最優(yōu)的實現(xiàn)方式來加以說明,只要不構(gòu)成沖突,本發(fā)明中的各個實施例以及各實施例中的各個特征可以相互結(jié)合,所形成的技術(shù)方案均應當在本發(fā)明的保護范圍之內(nèi)。
圖1為本發(fā)明所提供的nfc標簽的結(jié)構(gòu)示意圖。如圖1所示,nfc標簽2包括:用于從電磁場捕獲電能并通過解調(diào)或調(diào)制電磁場進行收發(fā)通信的nfc天線21,存儲有多個已封裝ndef記錄的非易失性存儲單元22,以及,nfc標簽2還包括數(shù)據(jù)管理系統(tǒng)23,用于對非易失性存儲單元22所存儲的多個ndef記錄進行管理、讀出或存儲,將非易失性存儲單元22所存儲的多個ndef記錄讀出并直接由nfc天線21發(fā)送出去或?qū)fc天線21所接收的ndef消息直接寫入至非易失性存儲單元22。
具體的,nfc天線21可以是環(huán)繞成圓形或橢圓形或者其它任意形狀的線圈。非易失性存儲單元22可以采用eeprom、eprom、flash、鐵電存儲器或相變存儲器等非易失性存儲器件來實現(xiàn),也可以采用一個或多個寄存器、暫存器以及ram等易失性存儲器和以上至少一種非易失性存儲器的組合來實現(xiàn)。數(shù)據(jù)管理系統(tǒng)23可以是單獨設置的單片機控制器,也可以是與非易失性存儲單元23集成于一體的多個控制電路組合,比如采用設計于晶圓上的soc系統(tǒng)。
針對不同的存儲類型,本發(fā)明所提供的數(shù)據(jù)管理系統(tǒng)23可以有多種實現(xiàn)方式,下面結(jié)合附圖2-3對本發(fā)明所提供的nfc標簽2的實現(xiàn)結(jié)構(gòu)做詳細說明。
實施例一
圖2為本發(fā)明實施例一所提供的nfc標簽的結(jié)構(gòu)示意圖。如圖2所示,nfc標簽2的非易失性存儲單元22以已封裝好的多個ndef記錄的形式存儲著較大量的數(shù)據(jù)(如大于1mb的文件,其數(shù)據(jù)量超過了能夠被nfc天線穩(wěn)定發(fā)送至nfc讀寫器的單個ndef記錄的有效載荷可攜帶數(shù)據(jù)的數(shù)據(jù)量),該所存儲的較大量數(shù)據(jù)的一部分作為有效載荷封裝入每一個ndef記錄中,每一個ndef記錄承載較小量的數(shù)據(jù)(如小于8kb的ndef記錄)且能夠被nfc天線21穩(wěn)定發(fā)送至nfc讀寫器中,以及,nfc標簽2的數(shù)據(jù)管理系統(tǒng)23包括ndef消息發(fā)送單元231a和ndef消息讀出單元232a,ndef消息讀出單元232a用于按照該較大量的數(shù)據(jù)所封裝成ndef記錄的順序逐個從非易失性存儲單元22中將該多個ndef記錄讀出,ndef消息發(fā)送單元231a用于將ndef消息讀出單元232a讀出的有序的ndef記錄作為至少一個ndef消息通過nfc天線21調(diào)制電磁場發(fā)送出去。
進一步的,ndef消息發(fā)送單元231a在發(fā)送首個承載較小量的數(shù)據(jù)的ndef記錄之前先發(fā)送一個攜帶有起始標記的ndef記錄以表示多個ndef記錄發(fā)送的開始,并在發(fā)送完本次讀取的最后一個承載較小量的數(shù)據(jù)的ndef記錄之后再發(fā)送一個攜帶有結(jié)束標記的ndef記錄以表示本次多個ndef記錄發(fā)送的完成;或者,由ndef消息發(fā)送單元231a在發(fā)送首個承載較小量的數(shù)據(jù)的ndef記錄時在該ndef記錄上進行起始標記,并在發(fā)送本次讀取的最后一個承載較小量的數(shù)據(jù)的ndef記錄時在該ndef記錄上進行結(jié)束標記。
可選的,ndef消息發(fā)送單元231a和ndef消息讀出單元232a也可以合并設置為單獨一個控制ndef記錄讀出并發(fā)送的ndef消息讀出發(fā)送單元,或是采用相重疊的多個控制電路組合。
可選的,ndef消息讀出單元232a也可以直接從非易失性存儲單元22中將該多個ndef記錄逐個讀出,并由ndef消息發(fā)送單元231a按照該較大量的數(shù)據(jù)所封裝成ndef記錄的順序?qū)⒃摱鄠€ndef記錄作為一個ndef消息通過nfc天線21調(diào)制電磁場發(fā)送出去;或者,ndef消息讀出單元232a直接從非易失性存儲單元22中將該多個ndef記錄按照該較大量的數(shù)據(jù)所封裝成ndef記錄的順序逐個讀出,并由ndef消息發(fā)送單元231a將讀出的單個ndef記錄作為一個ndef消息通過nfc天線21調(diào)制電磁場逐個發(fā)送出去。
優(yōu)選的,非易失性存儲單元22按照該較大量的數(shù)據(jù)所封裝成ndef記錄的順序逐個存儲該多個ndef記錄,并由ndef消息讀出單元232a從起始地址順序讀出該多個ndef記錄。
需要說明的是,本實施例所提供的nfc標簽2的非易失性存儲單元22可以僅存儲一個ndef消息的多個ndef記錄,也可以按順序存儲多個ndef消息的ndef記錄,只要在發(fā)送完一個ndef消息的一個或多個ndef記錄后再發(fā)送下一個ndef消息的ndef記錄即可實現(xiàn)不同ndef消息的有序接收并解析處理以避免屬于不同的ndef消息的ndef記錄沖突。
基于本實施例所提供的nfc標簽,在nfc標簽中設置數(shù)據(jù)管理系統(tǒng),使得nfc標簽具備數(shù)據(jù)管理能力,能夠?qū)⒎庋b有較大量數(shù)據(jù)的多個ndef記錄逐個讀出并利用通信起始和結(jié)束標記控制該多個ndef記錄能夠持續(xù)穩(wěn)定地發(fā)送出去,使得nfc標簽不僅能夠存儲較大量的數(shù)據(jù),而且能夠滿足當前nfc通信的限制將較大量的數(shù)據(jù)發(fā)送出去。
實施例二
圖3為本發(fā)明實施例二所提供的nfc標簽的結(jié)構(gòu)示意圖。與實施例一所提供的nfc標簽相類似的,本實施例所提供的nfc標簽2的非易失性存儲單元22同樣以已封裝好的多個ndef記錄的形式存儲著較大量的數(shù)據(jù)。如圖3所示,本實施例所提供的數(shù)據(jù)管理系統(tǒng)23的ndef消息收發(fā)單元231b和ndef消息讀寫單元232b,相比于實施例一所提供的ndef消息發(fā)送單元231a和ndef消息讀出單元232a,不僅具有ndef消息讀出的功能設置,還具有ndef消息寫入的功能設置。由于ndef消息收發(fā)單元231b和ndef消息讀寫單元232b將非易失性存儲單元22所存儲的多個ndef記錄讀出的原理和實施例一的相同,在此不再贅述。
當nfc讀寫器向nfc標簽2寫入數(shù)據(jù)時,nfc標簽2的nfc天線21解調(diào)電磁場得到所接收的ndef消息,ndef消息收發(fā)單元231b將該包含多個特定順序的ndef記錄的ndef消息發(fā)送至ndef消息讀寫單元232b,ndef消息讀寫單元232b將該多個ndef記錄按照順序逐個寫入至非易失性存儲單元22中。
進一步的,ndef消息收發(fā)單元231b接收到一個nfc讀寫器發(fā)送的攜帶有起始標記的ndef記錄時表示多個ndef記錄發(fā)送的開始,緊接著開始接收首個承載較小量的數(shù)據(jù)的ndef記錄,并在接收到一個攜帶有結(jié)束標記的ndef記錄時表示本次多個ndef記錄發(fā)送的完成;或者,在發(fā)送給ndef消息收發(fā)單元231b的首個承載較小量的數(shù)據(jù)的ndef記錄上進行起始標記,并在本次發(fā)送的最后一個承載較小量的數(shù)據(jù)的ndef記錄上進行結(jié)束標記,由ndef消息收發(fā)單元231b完成消息接收的判斷??蛇x的,ndef消息讀寫單元232b也可以分開設置為單獨一個用于控制ndef消息讀出的ndef消息讀出單元(如圖2的232a)和單獨一個用于控制ndef消息寫入的ndef消息寫入單元,同樣的,ndef消息收發(fā)單元231b也可以分開設置為單獨一個用于控制ndef消息發(fā)送的ndef消息發(fā)送單元(如圖2的231a)和單獨一個用于控制ndef消息接收的ndef消息接收單元。
需要說明的是,ndef消息讀寫單元232b將多個ndef記錄寫入至非易失性存儲單元22時,可以按照ndef記錄的先后順序從非易失性存儲單元22的首地址開始向后逐個寫入存儲,也可以按照非易失性存儲單元22所存儲的既定順序不分前后存儲地址的寫入ndef記錄,只要在讀取ndef記錄時按照該較大量的數(shù)據(jù)所封裝成ndef記錄的順序讀出即可。
可選的,ndef消息收發(fā)單元231b也可以設置為每接收到一個ndef記錄就將該ndef記錄發(fā)送至ndef消息讀寫單元232b,由ndef消息讀寫單元232b寫入至非易失性存儲單元22中。
基于本實施例所提供的nfc標簽,在nfc標簽中設置的數(shù)據(jù)管理系統(tǒng),使得nfc標簽具備數(shù)據(jù)管理的寫入能力,能夠?qū)⒎庋b有較大量數(shù)據(jù)的多個ndef記錄逐個寫入并存儲,使得nfc標簽不僅能夠滿足當前nfc通信的限制將較大量的數(shù)據(jù)發(fā)送出去,而且能夠以ndef記錄的形式接收并存儲較大量的數(shù)據(jù)。
實施例一和實施例二提供了一種以已封裝好的多個ndef記錄的形式存儲較大量數(shù)據(jù)的nfc標簽,當該較大量數(shù)據(jù)包括多個文件的組合且需要針對不同的文件進行分別讀寫管理時,本發(fā)明提供了一種用于管理多個文件的nfc標簽數(shù)據(jù)存儲結(jié)構(gòu)。
實施例三
圖4為本發(fā)明實施例三所提供的nfc標簽的數(shù)據(jù)存儲結(jié)構(gòu)示意圖。非易失性存儲單元22中可以設置有用于存儲數(shù)據(jù)管理系統(tǒng)運行所需的運行程序、指令的固件區(qū)和用于存儲包括多個文件數(shù)據(jù)的ndef記錄以及與這些ndef記錄相關(guān)的用于數(shù)據(jù)管理的索引目錄的存儲區(qū)。如圖4所示,非易失性存儲單元22包括:固件區(qū)221,用于存儲數(shù)據(jù)管理系統(tǒng)運行所需的運行程序、指令等固件,以及其他本nfc標簽運行所需的存儲固件;目錄區(qū)222,設置于數(shù)據(jù)頭223和數(shù)據(jù)區(qū)224之前,描述了數(shù)據(jù)頭223的總長度信息、數(shù)據(jù)區(qū)224的總長度信息、數(shù)據(jù)區(qū)224的ndef記錄組數(shù)(每一個文件對應于一組ndef記錄)等至少一種信息,用于分別索引并識別數(shù)據(jù)頭223和數(shù)據(jù)區(qū)224,目錄區(qū)還可以包括本nfc標簽的名稱、類型、功能、生產(chǎn)日期、每組ndef記錄的生成日期、每組ndef記錄的改寫日期以及相應的識別碼或校驗碼等信息,nfc標簽的類型可以用標識碼來標記,用于確定nfc標簽的數(shù)據(jù)的應用策略,nfc標簽的名稱可以設置為更改或不可更改,用于通過nfc標簽的類型和nfc標簽的名稱來識別并區(qū)別nfc標簽;數(shù)據(jù)頭223,按照各組ndef記錄的存儲順序分別描述了各組ndef記錄的首地址信息和長度信息,用于通過每組ndef記錄的起始地址和數(shù)據(jù)的長度分別對該組ndef記錄進行查找以及讀寫,可選的,數(shù)據(jù)頭223也可以分別描述各組ndef記錄的首地址信息和尾地址信息,通過每組ndef記錄的起始地址和結(jié)束地址來索引該組ndef記錄,其中,數(shù)據(jù)頭223也可以追加描述各組ndef記錄所攜帶的文件的文件名、文件類型或各文件的識別碼、順序碼;數(shù)據(jù)區(qū)224,依照數(shù)據(jù)頭223所描述的各組ndef記錄的首地址信息和數(shù)據(jù)長度信息,或者,首地址信息和尾地址信息,存儲各組ndef記錄數(shù)據(jù)。
當nfc標簽所存儲的較大量數(shù)據(jù)是由不同類型的多個文件組合或者同一類型的多個文件組成時,在本實施例所提供的數(shù)據(jù)存儲結(jié)構(gòu)中,分別將每一個文件封裝成一組攜帶有較小數(shù)據(jù)量的ndef記錄,并對該組ndef記錄進行描述和索引,從而實現(xiàn)對不同文件數(shù)據(jù)的分別讀寫和管理。其中,每組ndef記錄中ndef記錄的數(shù)量可以為一個或者多個,可以根據(jù)文件數(shù)據(jù)的大小封裝成能夠進行穩(wěn)定nfc通信的攜帶較小數(shù)據(jù)量的ndef記錄的比例來決定所封裝的ndef記錄的個數(shù)。
進一步的,目錄區(qū)222和數(shù)據(jù)頭223的信息也是以ndef記錄組的形式存儲在非易失性存儲單元22中。優(yōu)選的,目錄區(qū)222封裝為第一組ndef記錄,數(shù)據(jù)頭223封裝為第二組ndef記錄,數(shù)據(jù)區(qū)224中每個文件分別封裝為一組ndef記錄,當需要讀取nfc標簽中的數(shù)據(jù)時,nfc標簽首先將目錄區(qū)222和數(shù)據(jù)頭223的ndef記錄發(fā)送出去,依據(jù)相應的讀取指令將數(shù)據(jù)區(qū)224中的部分或全部ndef記錄發(fā)送出去。當然,根據(jù)讀取的流程設置,也可以將目錄區(qū)222和數(shù)據(jù)頭223的信息分別封裝為多組ndef記錄,例如,將目錄區(qū)222的數(shù)據(jù)頭223的總長度信息、數(shù)據(jù)區(qū)224的總長度信息、數(shù)據(jù)區(qū)224的ndef記錄組數(shù)封裝為第一組ndef記錄,將目錄區(qū)222的nfc標簽的名稱、類型、功能、生產(chǎn)日期、每組ndef記錄的生成日期、每組ndef記錄的改寫日期以及相應的識別碼或校驗碼等信息封裝為第二組ndef記錄,用于滿足特定的部分讀取需求??蛇x的,數(shù)據(jù)頭223的總長度信息和數(shù)據(jù)區(qū)224的總長度信息,也可以分別在各自區(qū)的起始位置單獨進行描述,例如,在目錄區(qū)的前2字節(jié)描述了目錄區(qū)的總長度,在數(shù)據(jù)頭的前2字節(jié)描述了數(shù)據(jù)頭的總長度;而且,目錄區(qū)222也可以和數(shù)據(jù)頭223也可以合并為單獨的一個信息區(qū),用于描述本nfc標簽的信息,以及數(shù)據(jù)區(qū)的ndef記錄組數(shù)、文件名和每個文件對應的ndef記錄組的起始地址、數(shù)據(jù)長度或結(jié)束地址。
當nfc標簽的nfc天線從電磁場中捕獲電能,數(shù)據(jù)管理系統(tǒng)和非易失性存儲單元獲得運行所需的電能,數(shù)據(jù)管理系統(tǒng)從非易失性存儲單元的固件區(qū)加載運行程序開始執(zhí)行數(shù)據(jù)的讀出或?qū)懭氲裙芾砣蝿眨渲?,?shù)據(jù)管理系統(tǒng)優(yōu)先讀出非易失性存儲單元的目錄區(qū)和數(shù)據(jù)頭的ndef記錄組,并將這些信息發(fā)送出去,用于識別nfc標簽的信息,以及索引每組ndef記錄的起始地址、數(shù)據(jù)長度或結(jié)束地址。當接收到對數(shù)據(jù)區(qū)224中至少一組ndef記錄的讀寫請求時,數(shù)據(jù)管理系統(tǒng)依據(jù)該組ndef記錄所對應的起始地址和數(shù)據(jù)長度/結(jié)束地址,執(zhí)行讀出或改寫,或者,當接收到對某一起始地址和數(shù)據(jù)長度的數(shù)據(jù)的讀寫請求時,數(shù)據(jù)管理系統(tǒng)指向該起始地址并對規(guī)定的數(shù)據(jù)長度的數(shù)據(jù)執(zhí)行讀出或改寫。
需要說明的是,本實施例優(yōu)選地將目錄區(qū)和數(shù)據(jù)頭存儲在數(shù)據(jù)區(qū)前,可選的,也可以將目錄區(qū)或數(shù)據(jù)頭存儲在其它地址或以其它特定的順序存儲,只要優(yōu)先讀取本目錄區(qū)和數(shù)據(jù)頭的索引信息并以此來索引數(shù)據(jù)區(qū)中各組ndef記錄即屬于本發(fā)明之目的。
需要說明的是,不加以限定的,本實施例所描述的每組ndef記錄所對應的文件也可以是以ndef記錄的形式存儲的數(shù)據(jù),同樣的,本實施例所描述的每個文件可以是單獨類型的單個文件也可以是多個文件的集合體,如文件的壓縮包等,還可以是單個文件的一部分,如多個壓縮包中的一個。
基于本實施例所提供的nfc標簽的數(shù)據(jù)存儲結(jié)構(gòu),可以依據(jù)數(shù)據(jù)頭描述的各文件所封裝成的每組ndef記錄的起始地址、長度信息或起始地址、結(jié)束地址單獨索引每一個文件及其ndef記錄,并有針對性地或僅部分地執(zhí)行文件的讀寫,為nfc標簽的多文件數(shù)據(jù)提供了更靈活的讀寫方式。
實施例四
當本發(fā)明所提供的nfc標簽與nfc讀寫器工作于標簽和讀寫器模式中通信時,為了更好的執(zhí)行本發(fā)明所提供的nfc標簽的ndef記錄的讀取或?qū)懭?,本實施例提供了一種nfc讀寫器,該nfc讀寫器中設置有用于nfc通信的nfc天線和用于解析ndef消息中ndef記錄的nfc解析器、用于將數(shù)據(jù)或指令封裝成ndef記錄的nfc發(fā)生器,其中,該nfc讀寫器中還安裝有至少一個能夠?qū)def記錄所攜帶的數(shù)據(jù)進行處理的應用程序(application,簡稱app),該ndef應用(即該應用程序)用于經(jīng)由nfc通信獲取nfc標簽的名稱、類型、數(shù)據(jù)區(qū)所存儲的多組ndef記錄所攜帶的文件的文件名、文件類型或文件識別碼、文件順序碼,以及數(shù)據(jù)區(qū)所存儲的多組ndef記錄的起始地址、數(shù)據(jù)長度或結(jié)束地址中的至少一種索引信息,并依據(jù)該至少一種索引信息指定該nfc標簽中的多組ndef記錄的讀取個數(shù)和讀取順序,以及執(zhí)行相應的ndef記錄讀出的處理操作,或者,依據(jù)該至少一種索引信息指定該nfc標簽的寫入類型,以及執(zhí)行相應的ndef記錄寫入的發(fā)送處理。
可選的,nfc讀寫器的至少一個應用程序通過獲取nfc標簽的類型,并依據(jù)該nfc標簽的類型直接指定nfc標簽中多組ndef記錄的讀取順序,例如,針對不同類型的nfc標簽分別設定不同的ndef記錄組優(yōu)先讀取順序規(guī)則,或者,可選的,nfc讀寫器的至少一個應用程序具有用戶可視化和用戶交互的操作界面,可通過用戶的優(yōu)先讀取指令來指定nfc標簽中多個文件所對應的多組ndef記錄的讀取順序,例如,該nfc讀寫器可以是一部支持nfc通信的手機,該應用程序可以是手機中的一款應用app,該應用app通過獲取nfc標簽中的ndef記錄所攜帶的文件的文件名或文件類型并在可視化操作界面中顯示給用戶,由用戶點擊或選定相應的優(yōu)先讀取的文件,同時,在不需要讀取所有文件時也可以由用戶選擇需要讀取的文件個數(shù),從而指定相應的ndef記錄組的讀出。
進一步的,該nfc讀寫器的至少一個應用程序通過獲取nfc標簽的名稱、類型或多組ndef記錄所攜帶的文件的文件名、文件類型或文件識別碼以確定各組ndef記錄的讀取組數(shù)和順序,并依據(jù)各組ndef記錄的起始地址、數(shù)據(jù)長度或結(jié)束地址信息直接指定nfc標簽的數(shù)據(jù)管理系統(tǒng)依據(jù)各起始地址以及相應的數(shù)據(jù)長度或結(jié)束地址來讀取ndef記錄。進一步的,該nfc讀寫器的至少一個應用程序通過直接發(fā)送寫入ndef記錄組的起始地址、數(shù)據(jù)長度或結(jié)束地址信息以及相應的寫入ndef記錄并指定nfc標簽的數(shù)據(jù)管理系統(tǒng)依據(jù)起始地址來執(zhí)行ndef記錄的改寫,或者,通過直接發(fā)送寫入的目錄區(qū)、數(shù)據(jù)頭以及數(shù)據(jù)區(qū)的ndef記錄,而由nfc標簽的數(shù)據(jù)管理系統(tǒng)直接執(zhí)行從首地址執(zhí)行重寫。
基于實施例四所提供的nfc讀寫器,針對nfc讀寫器和nfc標簽的多文件數(shù)據(jù)讀寫可以有以下幾種實現(xiàn)方法。
實施例五
基于實施例一所提供的nfc標簽的實現(xiàn)結(jié)構(gòu)和實施例三所提供的nfc標簽的數(shù)據(jù)存儲結(jié)構(gòu),以及實施例四所提供的nfc讀寫器,nfc標簽中存儲著封裝有多個文件的ndef記錄組,并在記錄組前設置有相應的目錄區(qū)和數(shù)據(jù)頭,nfc讀寫器獲取目錄區(qū)和數(shù)據(jù)頭并指定nfc標簽所要讀取的ndef記錄組的多文件數(shù)據(jù)讀取方法可以包括以下流程:
準備步驟:nfc讀寫器與nfc標簽靠近并建立nfc通信,nfc標簽的nfc天線從nfc讀寫器所發(fā)射的電磁場中捕獲電能,nfc標簽的數(shù)據(jù)管理系統(tǒng)和非易失性存儲單元獲得啟動運行所需的電能,數(shù)據(jù)管理系統(tǒng)從非易失性存儲單元的固件區(qū)加載運行程序開始運行;
步驟501:nfc標簽的數(shù)據(jù)管理系統(tǒng)加載非易失性存儲單元的目錄區(qū)和數(shù)據(jù)頭的ndef記錄組,并由nfc標簽的nfc天線調(diào)制電磁場發(fā)送至nfc讀寫器;
步驟502:nfc讀寫器的nfc天線獲取該目錄區(qū)和數(shù)據(jù)頭的ndef記錄,經(jīng)由nfc解析器解析后并將該nfc標簽的名稱、類型、數(shù)據(jù)區(qū)所存儲的多組ndef記錄所攜帶的文件的文件名、文件類型或文件識別碼、文件順序碼等至少一部分信息以及數(shù)據(jù)區(qū)所存儲的多個文件的起始地址、數(shù)據(jù)長度或結(jié)束地址等至少一部分信息傳送給nfc讀寫器的應用程序;
步驟503:該nfc讀寫器的應用程序依據(jù)nfc標簽的類型或依據(jù)用戶對要讀取的文件的順序選定確定要讀取的文件的文件名或文件類型以及多個文件的讀取順序,并依據(jù)要讀取的各組ndef記錄所攜帶的文件的起始地址、數(shù)據(jù)長度或結(jié)束地址信息描述ndef記錄組讀取指令,nfc讀寫器的nfc發(fā)生器將該要讀取的各組ndef記錄的起始地址、數(shù)據(jù)長度或結(jié)束地址信息以及各組ndef記錄的讀取順序指令封裝成承載較小數(shù)據(jù)量的至少一個ndef指令記錄,并由nfc讀寫器的nfc天線通過電磁場發(fā)送至nfc標簽;
步驟504:nfc標簽的nfc天線解調(diào)電磁場獲取該至少一個ndef指令記錄并傳送給nfc標簽的數(shù)據(jù)管理系統(tǒng);
步驟505:nfc標簽的數(shù)據(jù)管理系統(tǒng)解析并獲取nfc讀寫器的應用程序所要讀取的ndef記錄組的起始地址、數(shù)據(jù)長度或結(jié)束地址信息以及讀取順序,直接按順序?qū)⒏鹘Mndef記錄從非易失性存儲單元的數(shù)據(jù)區(qū)讀出,并由nfc標簽的nfc天線調(diào)制電磁場發(fā)送至nfc讀寫器;
步驟506:nfc讀寫器的nfc天線獲取該至少一個ndef數(shù)據(jù)記錄,經(jīng)由nfc解析器解析后并將這些文件傳送給nfc讀寫器的應用程序;
步驟507:nfc讀寫器的應用程序?qū)λx取的文件執(zhí)行處理。
可選的,當用戶指定或選定多個文件及其相應的讀取順序時,nfc讀寫器的應用程序也可以不將該多個文件所封裝成的ndef記錄組的讀取順序發(fā)送至nfc標簽,而是只發(fā)送讀取順序最前的ndef記錄組的讀取請求(ndef記錄的起始地址和長度信息/結(jié)束地址),并在該組ndef記錄讀取完成后再發(fā)送讀取順序中下一個ndef記錄組的讀取請求(ndef記錄的起始地址和長度信息/結(jié)束地址),如此直至讀取完所有要讀取的文件,結(jié)束nfc通信。
可選的,當不需要讀取整個文件時,nfc讀寫器的應用程序可以通過文件所封裝成的ndef記錄組的起始地址定位從文件的開頭讀取,并通過要讀取的長度信息定位所要讀取的文件長度,或者,當已經(jīng)讀取完單個文件的一部分時,nfc讀寫器的應用程序可以通過定位需要讀取的起始地址(整個文件的中間位置),并通過要讀取的長度信息控制所要讀取的數(shù)據(jù)量。
基于本實施例所提供的nfc讀寫器和nfc標簽的數(shù)據(jù)讀取方法,nfc讀寫器通過目錄區(qū)和數(shù)據(jù)頭獲取nfc標簽的多個文件的索引,進而指定要讀取的文件所封裝成的ndef記錄組的讀取地址以及讀取順序,或者依據(jù)需要指定文件一部分數(shù)據(jù)的讀出,提供了更靈活的nfc標簽文件數(shù)據(jù)讀取機制。
實施例六
基于實施例二所提供的nfc標簽的實現(xiàn)結(jié)構(gòu)和實施例三所提供的nfc標簽的數(shù)據(jù)存儲結(jié)構(gòu),以及實施例四所提供的nfc讀寫器,nfc標簽中存儲著封裝有多個文件的ndef記錄組,并在ndef記錄組前設置有相應的目錄區(qū)和數(shù)據(jù)頭,nfc讀寫器獲取目錄區(qū)和數(shù)據(jù)頭并指定nfc標簽所要改寫的至少一組ndef記錄的多文件數(shù)據(jù)改寫方法可以包括以下流程:
準備步驟:nfc讀寫器與nfc標簽靠近并建立nfc通信,nfc標簽的nfc天線從nfc讀寫器所發(fā)射的電磁場中捕獲電能,nfc標簽的數(shù)據(jù)管理系統(tǒng)和非易失性存儲單元獲得啟動運行所需的電能,數(shù)據(jù)管理系統(tǒng)從非易失性存儲單元的固件區(qū)加載運行程序開始運行;
步驟601:nfc標簽的數(shù)據(jù)管理系統(tǒng)加載非易失性存儲單元的目錄區(qū)和數(shù)據(jù)頭的ndef記錄組,并由nfc天線調(diào)制電磁場發(fā)送至nfc讀寫器;
步驟602:nfc讀寫器的nfc天線獲取該目錄區(qū)和數(shù)據(jù)頭的ndef記錄,經(jīng)由nfc解析器解析后并將該nfc標簽的名稱、類型、數(shù)據(jù)區(qū)所存儲的多組ndef記錄所攜帶的文件的文件名、文件類型或文件識別碼、文件順序碼等至少一部分信息以及數(shù)據(jù)區(qū)所存儲的多個文件的起始地址、數(shù)據(jù)長度或結(jié)束地址等至少一部分信息傳送給nfc讀寫器的應用程序;
步驟603:該nfc讀寫器的應用程序依據(jù)nfc標簽的多個文件的文件名、文件類型或文件識別碼、文件順序碼直接指定或依據(jù)用戶對要改寫的文件的選定確定要改寫的文件的文件名或文件類型以及多個文件的改寫順序,并依據(jù)要改寫的各組ndef記錄所攜帶的文件的起始地址、數(shù)據(jù)長度或結(jié)束地址信息描述ndef記錄組改寫指令,nfc讀寫器的nfc發(fā)生器將該要改寫的文件的起始地址、數(shù)據(jù)長度或結(jié)束地址信息、多個文件的改寫順序以及相應的ndef記錄改寫數(shù)據(jù)封裝成承載較小數(shù)據(jù)量的至少一個ndef指令記錄,并由nfc讀寫器的nfc天線通過電磁場發(fā)送至nfc標簽;
步驟604:nfc標簽的nfc天線解調(diào)電磁場獲取該至少一個ndef指令記錄并傳送給nfc標簽的數(shù)據(jù)管理系統(tǒng);
步驟605:nfc標簽的數(shù)據(jù)管理系統(tǒng)解析并獲取nfc讀寫器的應用程序所要改寫的文件的起始地址、數(shù)據(jù)長度或結(jié)束地址信息、多個文件的改寫順序以及相應的ndef記錄改寫數(shù)據(jù),直接按順序?qū)⒎且资源鎯卧臄?shù)據(jù)區(qū)的ndef記錄改寫。
可選的,當用戶指定或選定多個文件及其相應的改寫順序時,nfc讀寫器的應用程序也可以不將該多個文件所封裝成的ndef記錄組的改寫順序發(fā)送至nfc標簽,而是只發(fā)送改寫順序最前的ndef記錄組的改寫請求(ndef記錄的起始地址和長度信息/結(jié)束地址以及相應的改寫數(shù)據(jù)),并在該組ndef記錄改寫完成后再發(fā)送改寫順序中下一個ndef記錄組的改寫請求(ndef記錄的起始地址和長度信息/結(jié)束地址以及相應的改寫數(shù)據(jù)),如此直至改寫完所有要改寫的文件,結(jié)束nfc通信。
可選的,當不需要改寫整個文件時,nfc讀寫器的應用程序可以通過文件所封裝成的ndef記錄組的起始地址定位從文件的開頭改寫,并通過要改寫的長度信息定位所要改寫的文件長度,或者,當需要從文件的中間位置改寫時,nfc讀寫器的應用程序可以通過定位需要改寫的起始地址(整個文件的中間位置),并通過要改寫的長度信息控制所要通信的數(shù)據(jù)量。
可選的,nfc讀寫器的應用程序在發(fā)送要改寫的文件所封裝成的ndef記錄組的起始地址、數(shù)據(jù)長度或結(jié)束地址信息時,也可以將相應的設定為至少一個ndef記錄組的單獨改寫的寫入類型發(fā)送至nfc標簽。
基于本實施例所提供的nfc讀寫器和nfc標簽的數(shù)據(jù)改寫方法,nfc讀寫器通過目錄區(qū)和數(shù)據(jù)頭獲取nfc標簽的多個文件的索引,進而指定要改寫的文件所封裝成的ndef記錄組的改寫地址以及改寫順序,或者依據(jù)需要指定文件一部分數(shù)據(jù)的改寫,提供了更靈活的nfc標簽文件數(shù)據(jù)改寫機制。
實施例七
基于實施例二所提供的nfc標簽的實現(xiàn)結(jié)構(gòu)和實施例三所提供的nfc標簽的數(shù)據(jù)存儲結(jié)構(gòu),以及實施例四所提供的nfc讀寫器,nfc讀寫器指定nfc標簽重新寫入所有數(shù)據(jù)的多文件數(shù)據(jù)重新寫入方法可以包括以下流程:
準備步驟:nfc讀寫器與nfc標簽靠近并建立nfc通信,nfc標簽的nfc天線從nfc讀寫器所發(fā)射的電磁場中捕獲電能,nfc標簽的數(shù)據(jù)管理系統(tǒng)和非易失性存儲單元獲得啟動運行所需的電能,數(shù)據(jù)管理系統(tǒng)從非易失性存儲單元的固件區(qū)加載運行程序開始運行;
步驟701:nfc讀寫器的應用程序依據(jù)用戶對要重寫的文件的選定確定要重寫的文件的文件名或文件類型以及多個文件的重寫順序,并依據(jù)要重寫的各文件的起始地址、數(shù)據(jù)長度或結(jié)束地址信息生成新的文件名、文件類型、文件識別碼、文件順序碼以及文件的起始地址、數(shù)據(jù)長度或結(jié)束地址等索引信息,nfc讀寫器的nfc發(fā)生器將要重寫的各文件的文件名或文件類型、起始地址、數(shù)據(jù)長度或結(jié)束地址信息、多個文件的重寫順序、相應的文件重寫數(shù)據(jù)以及相應的新的索引信息分別封裝成承載較小數(shù)據(jù)量的至少一個ndef指令記錄、目錄區(qū)的ndef記錄組、數(shù)據(jù)頭的ndef記錄組和數(shù)據(jù)區(qū)的ndef記錄組,并由nfc讀寫器的nfc天線通過電磁場發(fā)送至nfc標簽;
步驟702:nfc標簽的數(shù)據(jù)管理系統(tǒng)解析并獲取nfc讀寫器的應用程序所要重寫的指令,直接將該新的目錄區(qū)和數(shù)據(jù)頭的索引信息寫入至目錄區(qū)和數(shù)據(jù)頭,并按順序?qū)⒎且资源鎯卧臄?shù)據(jù)區(qū)的ndef記錄重寫。
基于本實施例所提供的nfc讀寫器和nfc標簽的數(shù)據(jù)重寫方法,nfc讀寫器可直接指定要重寫的文件名、文件類型或文件地址以及新的索引信息,從而可以在nfc讀寫器端直接控制對nfc標簽的重寫操作,提供了更靈活的nfc標簽文件數(shù)據(jù)寫入機制。
需要說明的是,盡管本發(fā)明實施例采用nfc標簽來以最優(yōu)的方式表述本發(fā)明的技術(shù)思路,本發(fā)明所提供的nfc標簽也不應當限于便攜式的nfc卡片中,nfc標簽也可以以附著或集成的方式形成與固定設備或大型設備上,如附著于參展臺上的nfc存儲部件,附著于電冰箱或自助售貨機上的nfc讀取部件,可粘貼至墻體的nfc海報,同樣的,nfc標簽也可以以其它的形狀或結(jié)構(gòu)來加以包裝,如加工至衣領(lǐng)中的nfc鑒別標簽,附著于酒品中的nfc驗證部件,只要在nfc存儲部件中應用本發(fā)明所提供的較大量數(shù)據(jù)存儲、讀取及寫入方法,均應當屬于本發(fā)明之范圍。
需要說明的是,盡管通常nfc標簽中通過nfc通信的電磁場就可以捕獲nfc標簽工作所需的電能,可選的,也可以給nfc標簽附著電池或其它可供電的設備,用于供電給nfc標簽的數(shù)據(jù)管理系統(tǒng)的工作,其同樣不影響本發(fā)明技術(shù)思路的實現(xiàn)。
顯然,采用本發(fā)明實施例所提供的技術(shù)方案,在nfc標簽內(nèi)設置數(shù)據(jù)管理系統(tǒng),通過數(shù)據(jù)管理系統(tǒng)讀取多個ndef記錄,以及將多個ndef記錄直接寫入非易失性存儲單元,實現(xiàn)較大量數(shù)據(jù)的存儲和傳輸,并且,在非易失性存儲單元中設置數(shù)據(jù)頭,通過數(shù)據(jù)頭中各個文件的索引信息執(zhí)行有針對性的或部分文件所封裝成的ndef記錄的讀取或改寫、重寫,以及,通過nfc讀寫器端的應用程序?qū)fc標簽讀寫,實現(xiàn)更靈活的nfc標簽內(nèi)數(shù)據(jù)的讀取與寫入操作。
最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。