3.2 藍(lán)牙配對(duì)
根據(jù)NFC 論壇與藍(lán)牙SIG 聯(lián)盟定義的安全簡(jiǎn)易配對(duì)Bluetooth secure simple paring using NFC(NFCForum-AD-BTSSP)規(guī)范,將藍(lán)牙配對(duì)信息(如下數(shù)組)通過MCU 寫RF430CL330H 的NDEF 區(qū)域,當(dāng)任何具有NFC 功能的設(shè)備,讀取到該內(nèi)容后將自動(dòng)進(jìn)行藍(lán)牙配對(duì)的連接過程。
藍(lán)牙的OOB 數(shù)據(jù)格式如圖7 所示。包括OOB 數(shù)據(jù)長(zhǎng)度,藍(lán)牙設(shè)備地址與名稱,設(shè)備種類以及UUID。
圖 7 NDEF 中的藍(lán)牙OOB 數(shù)據(jù)格式
藍(lán)牙的NDEF 寫入信息數(shù)據(jù)結(jié)構(gòu)如下:
Unsigned char NDEF_Application_Data[] =
{
//NDEF Tag Application Name
0xD2, 0x76, 0x00, 0x00, 0x85, 0x01, 0x01,
//Capability Container ID
0xE1, 0x03,
//Capability Container
0x00, 0x0F, //CCLEN
0x20, //Mapping version 2.0
0x00, 0x3B, //MLe (49 bytes); Maximum R-APDU data size
0x00, 0x34, //MLc (52 bytes); Maximum C-APDU data size
0x04, //Tag, File Control TLV (4 = NDEF file)
0x06, //Length, File Control TLV (6 = 6 bytes of data for this tag)
0xE1, 0x04, //File Identifier
0x0C, 0x02, //Max NDEF size (3072 bytes)
0x00, //NDEF file read access condition, read access without any security
0x00, //NDEF file write access condition; write access without any security
//NDEF File ID
0xE1, 0x04,
0x00, 0x44, //NLEN; NDEF length (68 byte long message)
0xD2, //MB=1b, ME=1b, CF=0b, SR=1b, IL=0b, TNF=010b
0x20, //Record Type Length: 32 octets
0x21, //payload length: 33 octets;
0x61, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2F, 0x76,
0x6E, 0x64, 0x2E, 0x62, 0x6C, 0x75, 0x65, 0x74, 0x6F, 0x6F, 0x74, 0x68, 0x2E,
0x65, 0x70, 0x2E, 0x6F, 0x6F, 0x62, //Record Type Name: application/vnd.blue
//tooth.ep.oob
0x21, 0x00, //OOB optional data length: 33 octets
0x06, 0x05, 0x04, 0x03, 0x02, 0x01, //bluetooth device address:
//01:02:03:04:05:06 (example address only)
0x0D, //EIR Data Length: 13 octets
0x09, //EIR Data Type: Complete Local Name
0x48, 0x65, 0x61, 0x64, 0x53, 0x65, 0x74, 0x20, 0x4E, 0x61,0x6D, 0x65, //
//Bluetooth Local Name: HeadSet Name
0x04, //EIR Data Length: 4 octets
0x0D, //EIR Data Type: Class of device
0x04, 0x04, 0x20, //Class of Device: 0x20:Service Class=
//Audio, 0x04:Major Device Class=Audio/Video, 0x04: Minor Device Class=Wearable //Headset Device
0x05, //EIR Data Length: 5 octets
0x03, //EIR Data type: 16-bit Service Class UUID list (complete)
0x1E, 0x11, 0x0B, 0x11 //16-bit Service Class UUID list (complete) ;0x111E –
//HFP-HF, 0x011B ?A2DP-SNK
};
3.3 Peer to Peer
P2P 是基于NFC 論壇定義的Simple NDEF Exchange Protocol(NFCForum-TS-SNEP)規(guī)范,其主要流程如下。手機(jī)可以通過P2P 的功能將相關(guān)的信息例如圖片,鏈接等與電視進(jìn)行快速交互。
圖8 P2P 的軟件操作流程
在P2P 中設(shè)備分為主動(dòng)模式Initiator 和被動(dòng)模式Target。TRF7970A 既可以作為Initiator 也可以作為Target。相對(duì)來說Target 模式下能夠有效節(jié)約功耗。
1. 主動(dòng)模式:設(shè)備本身會(huì)產(chǎn)生RF 電磁場(chǎng)
2. 被動(dòng)模式:設(shè)備使用感應(yīng)的電磁場(chǎng)進(jìn)行數(shù)據(jù)傳輸
圖9 P2P 的工作模式
3.4 Firmware Update
將MCU 的BSL 功能與NFC 的技術(shù)互相結(jié)合,通過P2P 的方式實(shí)現(xiàn)軟件升級(jí)。以TI 的MSP430 為例,BSL 的軟件主要包括Peripheral Interface(PI),Command Interface 以及BSL_API。BSL 的軟件升級(jí)接口可以通過UART,SPI,那么將NFC 的接口與SPI 結(jié)合即可實(shí)現(xiàn)通過NFC 對(duì)軟件的升級(jí)。如圖10 所示。
圖10 BSL 軟件升級(jí)方式
其中NFC 的PI 主要包括三層:SPI 驅(qū)動(dòng),RFID 硬件接口(與TRF7970A 的接口)以及NFC(NFC 協(xié)議的實(shí)現(xiàn),P2P)功能。
圖11 NFC PI 結(jié)構(gòu)
4 總結(jié)
隨著NFC 近場(chǎng)通信功能的不斷普及,以其傳輸速率快,安全性高等特點(diǎn),在不同的領(lǐng)域都有著廣泛的應(yīng)用。尤其在授權(quán),支付,藍(lán)牙以及WIFI 配對(duì)方面有著突出的優(yōu)勢(shì),將NFC 的應(yīng)用引入智能電視,使得信息分享,通信連接更加方便快捷,將能夠極大提升用戶體驗(yàn)。
評(píng)論