本書主要介紹NFC的基本協(xié)議,內(nèi)容包括主機(jī)端與NFC 控制器之間的通信協(xié)議分析和示例;NFC控制器與eSE &SWPSIM 之間的協(xié)議分析;外部POS或者READER與NFC之間的射頻協(xié)議分析。
本書適合NFC移動(dòng)支付開發(fā)人員閱讀。
一個(gè)偶然的機(jī)會(huì)通過(guò)Lucy同學(xué)認(rèn)識(shí)了胡老師,恰恰自己在這個(gè)時(shí)間點(diǎn)也想比較系統(tǒng)地總結(jié)一下NFC的相關(guān)技術(shù),并盡可能多地分享一些自己的經(jīng)驗(yàn)。在胡老師以及家人朋友的鼓勵(lì)支持下,我也決定試一試。
之前自己并沒有過(guò)寫書的經(jīng)歷,對(duì)一些創(chuàng)作過(guò)程以及格式排版也比較陌生,比如這個(gè)前言我就不是很清楚是怎樣的創(chuàng)作過(guò)程,是說(shuō)寫好前言之后一直往下寫呢還是說(shuō)等把書都寫完了,然后在后來(lái)的某一天再把自己出書的心聲寫上去。為此特意咨詢過(guò)胡老師,他給我的指導(dǎo)性的回復(fù)是不用讓別的東西束縛,按自己的想法來(lái)寫就可以了。這樣對(duì)一些篇幅格式等之類的問(wèn)題我也就知道該怎么做了。我比較喜歡把東西想好再往下寫,
所以大家翻開書后看到的這個(gè)排版順序幾乎也就是我的寫作順序。
近年來(lái)由于智能機(jī)的快速普及給人們帶來(lái)一個(gè)思考,那就是出門是否還有必要帶上一個(gè)錢包,里面裝上現(xiàn)金和琳瑯滿目的卡片? 而且現(xiàn)在支付寶、微信支付已經(jīng)成了人們生活中必不可少的支付方式。寫這本書之前,心里也會(huì)經(jīng)常問(wèn)自己一個(gè)問(wèn)題,就是市面上真的還缺少一種需要特別硬件來(lái)支持的支付方式嗎?
對(duì)于這兩個(gè)問(wèn)題,前者顯然這是一個(gè)趨勢(shì)性的東西,而且目前在實(shí)體店里能看到越來(lái)越多的人在使用手機(jī)進(jìn)行消費(fèi)和支付,大家也在享受這個(gè)技術(shù)帶來(lái)的便捷性。
后面這個(gè)問(wèn)題比較多的還是在實(shí)際體驗(yàn)上面,以支付寶為主的移動(dòng)支付基于QR條碼技術(shù),對(duì)于用戶來(lái)講只需要一個(gè)客戶端就可以解決問(wèn)題,實(shí)體店只需要安裝一套掃碼槍接入服務(wù)即可以馬上完成一個(gè)閉環(huán)支付體系,對(duì)于支付雙方的學(xué)習(xí)成本是很低的。而對(duì)于NFC支付,就需要用戶去購(gòu)買特別帶了NFC的支付設(shè)備,需要安裝和激活卡片到手機(jī)上,帶NFC支付的手機(jī)在市面上存量是一個(gè)問(wèn)題,而且當(dāng)手機(jī)導(dǎo)向市場(chǎng)后其實(shí)是沒有一個(gè)真正意義上的運(yùn)營(yíng)主體的。這其實(shí)是一個(gè)巨大的問(wèn)題,也就是說(shuō),沒人會(huì)對(duì)用戶體驗(yàn)進(jìn)行直接負(fù)責(zé)。手機(jī)廠家對(duì)于SWPSIM方案確實(shí)在商業(yè)利益考量上面來(lái)講是沒有動(dòng)力的,運(yùn)營(yíng)商在實(shí)施SWPSIM方案時(shí)大量的工作又是需要手機(jī)廠家和卡商去配合完成的。所以這一套方案玩下來(lái),以Android手機(jī)為例,里面光要考量的各種軟件版本就有Android版本、客戶端錢包版本、NFC協(xié)議棧版本、NFC控制器固件版本、COS版本、Applet版本,里面還沒有包括使用的硬件模塊的版本等,只技術(shù)這一個(gè)環(huán)節(jié)就有大量繁瑣的工作。NFC基于的是一個(gè)射頻通信技術(shù),一旦鋪向市場(chǎng)后就涉及需要和各種設(shè)備進(jìn)行適配兼容性的工作,這個(gè)工作量也是巨大和難以想象的。
上面這些已知的難度是不是說(shuō)NFC沒有了機(jī)會(huì),還有人會(huì)說(shuō)NFC是十幾年設(shè)計(jì)的技術(shù)框架、已經(jīng)跟不上現(xiàn)在的節(jié)奏。顯然這些質(zhì)疑是站不住腳的。比如同樣的無(wú)線連接技術(shù)WiFi和藍(lán)牙,仔細(xì)去查看它們的發(fā)明時(shí)間和普及時(shí)間點(diǎn)出現(xiàn),它們都是經(jīng)歷過(guò)一段漫長(zhǎng)的靜默期,再到后面的某一時(shí)間節(jié)點(diǎn)某一個(gè)事件,此項(xiàng)技術(shù)才成為了標(biāo)準(zhǔn)配置,F(xiàn)在WiFi技術(shù)就是一個(gè)隨處可見、人人在用的東西,藍(lán)牙也在連接耳機(jī)和汽車電子等領(lǐng)域發(fā)揮很大的作用,而且WiFi和藍(lán)牙的版本還在不停地迭代和演進(jìn),我們又有什么理由不去相信NFC不會(huì)成為標(biāo)準(zhǔn)配置的那一天;A(chǔ)性技術(shù)確實(shí)在發(fā)展過(guò)程中會(huì)顯現(xiàn)出上面提到的各種問(wèn)題,但是所有這種類似的技術(shù)都是有一個(gè)自身發(fā)展的規(guī)律,不可能一蹴而就,也不可能像某些應(yīng)用技術(shù)一樣通過(guò)一個(gè)后臺(tái)優(yōu)化在短暫的一段時(shí)間內(nèi)就做到質(zhì)的飛躍。我時(shí)刻提醒自己保持一個(gè)積極樂(lè)觀的心態(tài)去面對(duì)這些問(wèn)題,也時(shí)刻提醒自己保持一個(gè)虔誠(chéng)和敬畏的心態(tài)去面對(duì)技術(shù)。
既然我認(rèn)可它是一門基礎(chǔ)技術(shù),也就是說(shuō)這種東西是不會(huì)過(guò)時(shí)的,假如這個(gè)技術(shù)在若干年后不復(fù)存在,我也十分有理由相信本書里面的一些技術(shù)將會(huì)在別的一個(gè)什么技術(shù)或產(chǎn)品上靈魂附體開出美麗的花朵。
NFC技術(shù)支持三種工作模式:讀/寫器模式、點(diǎn)對(duì)點(diǎn)模式和卡模擬模式,其實(shí)這三種功能屬性都基于很相似的底層射頻技術(shù)。如果能把這些底層比較相似的標(biāo)準(zhǔn)和規(guī)范進(jìn)行收縮歸置,再把上層數(shù)字協(xié)議的一些東西進(jìn)行抽絲剝繭展現(xiàn)給大家,這也就給我寫這本書帶來(lái)了可能性,否則NFC的各種標(biāo)準(zhǔn)和規(guī)范之多、之復(fù)雜,我是萬(wàn)萬(wàn)不敢下筆的。
此書編寫的另外一個(gè)目的就是因?yàn)樵谑忻嬲也坏揭槐颈容^全面介紹NFC技術(shù)的書。我的觀點(diǎn)是應(yīng)用級(jí)的東西寫成的書其實(shí)時(shí)效性是不強(qiáng)的,而且應(yīng)用技術(shù)本身發(fā)展得快去得也快,F(xiàn)在這種技術(shù)是一個(gè)流行的前沿尖端的技術(shù),過(guò)個(gè)二三年可能整個(gè)架構(gòu)都變了,而且這種技術(shù)在網(wǎng)絡(luò)上的資源也十分豐富,但是協(xié)議性的東西在一個(gè)較長(zhǎng)的時(shí)間段里不會(huì)發(fā)生一個(gè)質(zhì)的變化,經(jīng)常變化的就是擴(kuò)充了協(xié)議子集,但新出來(lái)的版本還是會(huì)向下向前兼容的,所以有一本歸置完整便捷、能供工程師案頭查閱協(xié)議的工具類書就變得很有意義。
王曉華 2017/4/15晴
于北京市海淀區(qū)牡丹園
1簡(jiǎn)介1
2術(shù)語(yǔ)和縮略語(yǔ)4
2.1硬件部分4
2.2軟件部分5
2.3安全單元和認(rèn)證部分6
3通用無(wú)線連接技術(shù)9
4NFC與QR條碼的比較11
5NFC的三種工作模式13
5.1讀/寫模式13
5.2卡模擬模式15
5.3點(diǎn)對(duì)點(diǎn)模式20
6NFC協(xié)議族22
6.1NFC協(xié)議族定義歸屬關(guān)系23
6.2ECMA TC47協(xié)議預(yù)覽23
6.3ISO/IEC協(xié)議預(yù)覽24
6.4NFCforum 協(xié)議預(yù)覽25
6.5ETSI協(xié)議預(yù)覽267NFC系統(tǒng)框架27
8LLCP協(xié)議詳解30
8.1LLCP架構(gòu)30
8.2LLCP工作流程31
8.3LLCP鏈路激活31
8.4LLC數(shù)據(jù)鏈路層格式34
9NDEF 協(xié)議詳解41
9.1NDEF消息屬性41
9.2NDEF記錄42
9.2.1NDEF記錄的數(shù)據(jù)格式42
9.2.2NDEF記錄之間的關(guān)系42
9.2.3解碼記錄格式43
10HCI協(xié)議詳解46
10.1HCI數(shù)據(jù)包格式47
10.2HCI數(shù)據(jù)鏈路層51
10.3LLC的CRC代碼示例51
10.4第一代NFC控制器芯片與主機(jī)端交互的HCI數(shù)據(jù)示例54
11NCI協(xié)議詳解61
11.1NCI定義范圍61
11.2NCI消息類型65
11.2.1NCI數(shù)據(jù)格式66
11.2.2NCI命令詳解70
11.3路由表94
12ISO14443 協(xié)議詳解97
12.1Type A,B調(diào)制方式98
12.2Type A幀格式101
12.3Type A激活過(guò)程103
12.4Type A相關(guān)命令數(shù)據(jù)格式分析106
12.5Type A數(shù)據(jù)交換格式單幀106
12.6Type A數(shù)據(jù)交換格式連續(xù)幀106
13I2C協(xié)議詳解108
13.1I2C簡(jiǎn)介108
13.2I2C拓?fù)浣Y(jié)構(gòu)109
13.3I2C 7位與10位地址編碼格式110
13.4I2C讀/寫110
13.5I2C總結(jié)111
14卡片和標(biāo)簽113
14.1Mifare
(ISO/IEC 14443)113
14.2Mifare
Ultralight MF01CU1 (Type 2 Tag)114
14.3Mifare
Classic MF1S50(M1)125
14.4NTAG20x and
NTAG21x (Type 2 Tag)135
參考文獻(xiàn)146