FeliCa简介____带命令协议说明
原文地址::http://blog.csdn.net/icebutterfly214/article/details/19552807
相關文章
1、FeliCa說明資料----http://www.docin.com/p-548345549.html
近學習NFC,此文章僅作為自己知識的整理,學習。
????Felica技術并不是一個完全公開的協議,尤其是該技術涉及安全認證和加密的部分,SONY的保密做的很好。本文介紹的也僅是其公開的部分信息。
????Felica技術的通訊協議包括三層:物理層描述數據傳輸的物理和電氣特性; 數據鏈路層描述數據傳輸和錯誤檢測的格式;應用層描述命令的功能和規范.
????Felica射頻傳輸的物理特性如下表所示
?Felica射頻接口的物理特性
| 數據傳輸方法 | 半雙工同步系統 |
| 載波頻率 | 13.56MHz |
| 調制方法 | ASK |
| 位編碼方法 | Manchester編碼,MSB在前 |
| 數據傳輸速率 | 212/424 kbps |
?
????Felica卡片和讀寫器之間的數據傳輸使用數據包。數據包的格式如下:
數據包各部分定義
| 名稱 | 字節長度 | 定義 |
| 前導碼 | 6 | 00 00 00 00 00 00 |
| 同步碼 | 2 | B2 4D |
| 數據長度 | 1 | 包數據長度+1 |
| 包數據 | n | 命令包或返回包中的數據 |
| CRC | 2 | 基于CRC-CCITT的校驗, 初始值=0000H, 生成多項式:X16+X12+X5+1 |
?
????Felica技術應用層的命令包由命令碼和命令數據兩部分組成,包括1字節的命令碼和N字節的命令數據。命令碼標識命令的類型,命令數據為本條命令執行所需的數據。讀卡器命令發出后卡片回復一個響應包,響應包由1字節響應碼和N字節響應數據兩部分組成。響應碼標識響應的類型,響應數據為本條命令執行后卡片返回的數據。
????Felica命令列表如下:
| 命令 | 命令碼 | 響應碼 | 功能簡述 |
| 輪詢 | 00H | 01H | 探測識別卡片 |
| 請求服務 | 02H | 03H | 驗證卡片上是否存在指定的域或服務 |
| 請求響應 | 04H | 05H | 驗證射頻場中是否有卡 |
| 不需認證讀 | 06H | 07H | 從不需認證的服務中讀取數據塊 |
| 不需認證寫 | 08H | 09H | 向不需認證的服務中寫入數據塊 |
| 請求系統碼 | 0CH | 0DH | 讀取卡片上已注冊的系統碼 |
| 認證1 | 10H | 11H | 讀寫器認證卡片 |
| 認證2 | 12H | 13H | 卡片認證讀寫器 |
| 讀 | 14H | 15H | 從需認證的服務中讀取數據塊 |
| 寫 | 16H | 17H | 向需認證的服務中寫入數據塊 |
?
????Felica有兩個重要的參數:出廠識別碼(IDm)和出廠參數(PMm)。IDm和PMm可以使用輪詢命令獲得,IDm和PMm在出廠時固化在卡片中,卡片出廠后不能修改。
????Felica使用出廠識別碼(IDm)在通訊中識別一張卡片。Idm包含制造商代碼和卡片識別碼兩部分。
????出廠參數(PMm)包括2字節的芯片類型(用來識別產品)和6字節的最大響應時間參數(用來確定每一條命令的超時時間)。
????Felica采用基于時隙的方法實現卡片的防沖突機制。為了識別一張卡片,讀寫器必須使用輪詢命令輪詢未知數量的卡片。卡片收到輪詢命令后,以隨機的方式選擇一個時隙,并在讀寫器呼叫該時隙時予以應答,從而實現防沖突。
????當讀寫器正確接收一個卡片對于輪詢命令的應答,讀寫器可以獲得卡片的Idm,在之后的通訊中,讀寫器通過在命令包中包含Idm,就可以從射頻場的多張卡片中唯一的指定一張進行通訊。卡片收到命令后將把自己的Idm與命令包中的Idm比對,如果不同卡片不會對命令做出反應。這種機制實現了射頻場中的卡片選擇。
總結
以上是生活随笔為你收集整理的FeliCa简介____带命令协议说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# CKEditor、CKFinder
- 下一篇: smartadmin mysql_Sma