[第二課] 再談NFC行動通訊

最潮的生活時尚~『每天都要感應智慧』

在順利完成 [第一課] 的內容,想必你已經擁有一支不錯的NFC智慧手機。儘管,Android 手機與iPhone 在NFC感應的操作上,有些許差異;例如:Android手機只要在NFC開啟的狀態下,當NFC標籤(TAG) 靠近感應區時,總是可以在背景狀態下被觸發;相對的,iPhone要有所謂的『Background Tag Reading』的機型、並且NFC標籤內有合法的NDEF才能在背景觸發,否則必須在APP打開『Reader Mode』下,才能進行掃描。

另外,Android手機並沒有專門的掃描使用者介面來提示;而iOS則會在開啟NFC掃描時,自動會跳出提示視窗。而在先前製作NFC ACCP所用的X-DISC時,只要是使用『NFC ReWriter  (iOS | Android)』 這個APP,你就會發現整個操作過程,不管是Android還是iPhone,都將會有相同的使用經驗。-->可以參考這篇的使用介紹


現在,要更近一步了解藏在X-DISC夾層的『NFC感應標籤(Tag)』。這個不帶電源的電子標籤,其實由一Tag晶片與ㄧLoop天線所構成,就像你每天使用的悠遊卡或門禁鎖片一樣;都可以從票口閘門、門鎖或是你的手機裡的NFC的Reader,所發射的13.56MHz電磁場裡,感應出電源來啟動Tag晶片,送出其自身唯一序號的識別碼(UID),然後等待Reader下命令來存取其內的記憶體。

每個Tag晶片都有一連串可以被讀寫的記憶體,而這記憶體的內容並不會在電源失去後消失。所以,這些內容放的是餘額就是悠遊卡;是樓層房號就可以是房卡;當然,是ACCP的曲目索引就成為X-DISC了。

ACCP所使用的是NFC協會所規範的第二型Tag晶片(T2T),這類的晶片採用ISO14443A的通訊協定,為最常用的NFC標籤類型。在市面上,又以NXP NTAG系列為最常見。NTAG以其記憶體的容量而有NTAG213(144-Byte)/215(540-Byte)/216(888-Byte)等不同的型號。

這系列的Tag出廠時已經設置為NDEF相容的標籤,可以輕易寫入如URL這類的NDEF訊息。現在簡潔的URL(短址)已是趨勢,所以使用NTAG213常常是綽綽有餘;聰明的看官,你會莞爾發現X-DISC的設計巧妙:使用末段記憶體位置,來儲存ACCP的曲目索引資訊。


NTAG213記憶體的架構,基本上每4個位元組稱作一個區塊(Block)或頁(Page,往後均以此稱)
。NTAG213含使用者可用的144位元組,共計有36頁(即從頁#4到頁#39),其中最後一頁#39 (0x27)即是曲目索引資訊;而頁#36~頁#38也作為設定時所用參數資料。

在對這些記憶體的存取,最常用到的就是READ(0x30) 與 WRITE(0xA2)指令,稍後在ACCP開發的程式設計中會陸續介紹到;在此要先指出的是READ指令每次會讀出連續4頁的資料;而WRITE指令每次只針對單一頁次寫入資料。亦即,當READER下達READ 頁0x27時,TAG會回應自頁0x27到頁0x2A共計16個位元組的資料,通常只要取與前4個位元組的資料即可。

現在,請你試試,用手機打開NFC ReWriter App來讀X-DISC的曲目索引資訊。當然,可以再複習一下,更改索引內容來聽其他的歌曲。

下一課開始,將介紹NFC ACCP的開發,特別是韌體程式的設計與編譯。如果您想對NFC技術還想要有更深入的了解,可以參考我的網誌《今天,你NFC了沒?》、《IPHONE大俠的『NFC葵花寶典』》;也歡迎留言與我討論。













留言

熱門文章