This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Some doubts on SLAA512--《Using TI Technology to Simplify Bluetooth Pairing Via NFC》

Other Parts Discussed in Thread: TRF7970A, CC2560

Hi everyone,

I am a new guy on RFID\NFC,and   I'm pluzzed by Ti's describtion when i look over  page22 on SLAA512.

I don't know why a prefixed byte "0x02" or "0x03" turns up her. so  I  look over <NFCForum-TS-Type-4-Tag_2.0>  .

and I found there 's no demand of a prefixed byte '0x02' 0r '0x03'  during the NDEF detection procedure.

so ,  I have 2 questions need some one to help .

1st)  Why TI  add the prefixed byte '0x02'/ '0x03'  on here?

2nd) If TI add this prefixed byte ,it sound like incompatible with  <NFCForum-TS-Type-4-Tag_2.0> . Can some one explain this?

Thanks.

  

 

  • These bytes you are asking about are called the Protocol Control Bytes (PCB) bytes and are from ISO14443-4 standard. The NFC Forum neglected to add those into any of their documents, but they are required to indicate if the data transmission is an I-Block, an R-Block or an S-Block.

  • Hi Josh, thanks for your reply.

     I'm a newbie on RFID \NFC. For my project's sake,I have to get familiar with NFC as soon as possbile.

    I'm good at MSP430s, and have looked  through TRF7970A's datasheet  .  It's not a obstacle for me to

    use this chip.   Difficulities in front of me is that  so many materials I need to read and I find   there're

    so many  terminologys correlated with each other in NFC specifications. English is not my native language,

    It's really a huge job for me to finish all these papers  in a short range time. So far,I have read \ISO14443-3 、

    NDEF、Tag4、connectionHandover.

    Besides, I know little about bluetooth (except some basic defintions such as mac address 、uuid...).

    so,do you have any ideas for me to quick start  Bluetooth pairing via NFC? thanks.

  • Another  question need TI's employee's help..:) .

    According to <NFCForum_AD_BTSSP_1_0> , Bluetooth secure simple pairing using NFC requires Bluetooth OOB Data( composed of OOB Data Length、Bluetooth Device Address and  OOB optional Data).

    However, I find no OOB optional Data [EIR format]  in TI's example code.,then , I turned to <specification of the Bluetooth system>[Core_V4.0]   It says OOB is just a way to secure the pairing process, so it seems that OOB optional Data is not a indispensable requirement if we ignore the security issue, am I right ?

    Besides, only a  Bluetooth Device Address(MAC) needed in pairing 2 bluetooth devices ?  I only see a  MAC  address of  the bluetooth device in TI's example code,

    no other bluetooth parameters.

    Looking forward to your answer. Thanks .

  • There are several ways to get the handover accomplished as you can see in the NFC Forum docs. One is with the hash and randomizer which most folks may not use. The simplest way is to pass the record header which tells the handset that its time to do a handover and then the MAC, and of course, if desired the name of the device, etc. which is allowed by BT spec. 

    for example ==> (when requested by the handset for the NDEF message, this is done with a read binary command (with or without an offset) and after of course going through the preceding steps of being activated, selected, having the NDEF application selected, the capability container selected and read, and the NDEF itself selected...

    NDEF MESSAGE
    02 01 52 00 00 03 DA 20 28 01 61 70 70 6C 69 63 61 74 69 6F 6E 2F 76 6E 64 2E 62 6C 75 65 74 6F 6F 74 68 2E 65 70 2E 6F 6F 62 01 00 28 80 29 2F 3C 02 00 1B 09 43 72 65 61 74 69 76 65 20 57 50 2D 33 30 30 20 48 65 61 64 70 68 6F 6E 65 73 01 FF 01 00 90 00 6C 03

    where: 

    0xDA = NDEF Record Header, 0x20 = Record Type Length, 0x28 = Payload Length (40 bytes), 0x01 = Payload ID Length (1 byte) 

    61 70 70 6C 69 63 61 74 69 6F 6E 2F 76 6E 64 2E 62 6C 75 65 74 6F 6F 74 68 2E 65 70 2E 6F 6F 62 = application/vnd.bluetooth.ep.oob (in ASCII)

    PL ID = 01, OOB DL = 00 28

    BT MAC = 00:02:3C:2F:29:80 (for example)

    1B 09 43 72 65 61 74 69 76 65 20 57 50 2D 33 30 30 20 48 65 61 64 70 68 6F 6E 65 73 01 FF 01 00 = ( )/< Creative WP-300 Headphones (in ASCII, for example)

  • Hi Josh, I started working on the pairing bluetooth by nfc project since I saw your video at youtube. Now I can comunicate my cellphone to my design (passive target at 424 kbps) using nfc , I have sent some information and it works well, now I am sending the examples that are written in the sloa169 document, where you explain step by step and the cellphone asks me if I want to turn on bluetooth, I accept, and in the status bar appears "Bluetooth pairig request" or something like that, but it doesn't pair.

    It just do nothing, I am using another bluetooth module instead of the cc2560 (but in one week I'll have this module too), but I think it should work with any bluetooth module. I am using the hc-05 module that is kind of famous in the web. I can connect the module by the normal way, I mean looking in to the bluetooth configuration and pairing, but no by the nfc way. I send the examples in the pages 14, 15 and 19, and it doesn't pair.  So after all this introduction my questions is, What should we configure in the bluetooth module to make the whole project works, I have changed the info for my especific device: the bluetooth address, name, and class, no more. I put the bluetooth module in visible state in slave role, but I think that the cellphone receives the pairing request and expects something but what the module needs is that the cellphone asks the pairing request.  I would like to know something else about what to do in the bluetooth side.


    Thanks,

    Daniel Garcia

  • Hi Josh, I am still working on that, I found an error in the document I mentioned before: the sloa169 in the page 30 in the offset byte 25, the value is not 0x04 is 0x01,

    1. Correcting this issue, and placing the devices close, the phone opens the google maps app, and in a little black box in the bottom says "unable to locate url", I don't know why, I follow your example, that is the same that the nfc-bluetooth specifications document's example, and I got this, I know that handover is used to connect also wifi, but the type record says "application/vnd.bluetooth.ep.oob", it shouldn't be any misunderstood in this item, but that is what happens (sending the "Hr").


    2.The example with the handover select, is kind of working, I put the phone and it says "turn on bluetooth" (obiusly) I accept, then I have to put the password of the slave been paired, it's not like your video that it connects without this step, reading at the bluettoth specs. only is neccesary one way to control the security, if one uses the simple pairing hash C and R (Out of band protocol), it shouldn't ask the pairing code,


    3. I would like some info about how configure the bluetooth module, for example after sending the handover select message and pairing with the password, if I am listening to music it doesn't start playing from the bluetooth module, it still plays from the phone.

    Thank you for your attention,


    Daniel Garcia