I am working on a NFC application project for a Android Smartphone (Nexus s). I tried to connect the Nexus with the TRF7970A evm over PeerToPeer, but it doesn´t work.
Android use for the P2P connection the NDEF Push Protocol (com.android.npp library). My question now is, does the TRF7970A supports this protocol (has this library included)?
Or, is it even possible to establish a connection between the TRF7970A evm and a Android Smartphone over P2P?
Has anyone some experience about this? Hope someone can help me.
please see start of presentation here which should assist you here. we will be releasing some more formal collateral on this topic quite soon.
6366.Connecting to Android.pdf
---------------------------------------------------------------------------------------------------------Please click the Verify Answer button on this post if it answers your question.---------------------------------------------------------------------------------------------------------
how to configure the register of trf7970 when connect to android smart phone? I'm working on connect samsung galaxy nexus (4.0.4) to trf7970a. Please tell me how to initialize the register such as ISO_CONTROL, etc.
Are you trying to do P2P with the phone, be read by the phone in card emulation or be a reader to read the phones tag? or are you trying to connect the TRF7970A to the OMAP4 inside the phone and replace the PN65n/PN544 inside?
I am also working on P2P communication between an Android smartphone (Galaxy Nexus) and the TRF7970A (on the TRF7970A EVM). I want to establish reader to reader communication, but I haven't got a clue on how to do this. I have looked at the "Connecting to Android NFC P2P" document, but that really didn't clarify much for me. For instance, the Android phone will send a polling message containing "06 00 FF FF 01 01". Is this automatically received by the TRF7970A EVM with the standard firmware or do I have to change certain registers? Also, where in the reference firmware will this data be received to be acted upon? So many lines of code are nothing more than a maze to me...
I hope my question was clear and that you can shed some more light on this.
Does anybody becoming successful, communicating the TRF7970A with Samsung phones?.
I’ll try to follow the procedure explained in the document (6366.Connecting to Android.pdf), posted by Mr. Josh. But I can’t reach the connection!!
First thing was:
- The first command recived from the Samsun are (0x06_0x00_0xFF_0xFF_0x00_0x01), instead of the values (0x06_0x00_0xFF_0xFF_0x00_0x01) as its explained in the document!
- Second thing was that after sending the SENS_RES to the phone (0x14_0x01,…..), I never receive any answer (ATR_REQ) from the phone!
Does anybody have more information regarding to it?
I’m using the TRF7970A_EVM and a Samdung Nexus S!
Thanks in advance!
As the EVM firmware and GUI was created before the DEP and SNEP docs were ratified/finalized/completed...you are right that the setup you have is not exactly working with the phone the way you want it to.
however - if you want to modify the MSP430F2370 firmware by using the attached MSP430G2553 and MSP430F5529 examples, this would be the way to go here. and if you want to repost that (in the spirit of the forum) that would be good, too...we just have not had the time yet, sorry - this is using NFC-F @ 424kbps and supports GB NDEF push (what ships on Nexus S, we have found that there is a nice app on the market from KDDI which works well for this) and SNEP (functionally = Android Beam on ICS) although we found that this implementation does not exactly comply with the NFC specs, it does work.
i have also attached here a doc (excerpt from a forthcoming app note) regarding the steps you will see occurring.
3531.NFC Peer to Peer Communicaiton with Android Nexus S using MSP430 and TRF7970A.pdf
Thank you very much for your support!
The information that you provide is really helpful!!
I saw my mistake, and it was in the register 0x00. I suppose that setting the bit 5 of the control register, it puts the radio ON, and it can cause an RF collision.
The setting this bit (ISO_CONTROL_REGISTER(0x00).bit5), I receive the answer from the phone!
Regarding to the firmware, I using the TRF7970AEVM, but we interface the SPI directly from the computer, and we don’t use the MSP430F23 in the board. I’m so sorry for that!
However I can help in the forum by posting the code we use!
I am working with Nexus S with android 4.0.4 and a board design myself.I don’t receive SENSF_REQ but directly ATR_REQ. Is it normal? And When I send the frame below I received new ATR_REQ like I send nothing. response = 31; // lg response = 0xD5; // ATR_RES response = 0x01; // ATR_RES for(i=0;i<10;i++) response[3+i] = TargetCID[i]; response = 0x00; response = 0x00; response = 0x00; response = 0x0E; response = 0x32; response = 0x46; response = 0x66; response = 0x6D; response = 0x01; response = 0x01; response = 0x10; response = 0x03; response = 0x02; response = 0xFF; response = 0xFF; response = 0x04; response = 0x01; response = 0x96;thank you for your help,Remi
i think your length might be off and i am not sure what your bytes 28, 29 and 30 are doing there...the TRF7970A will generate the CRC for you, if that is what you were trying to do there.
See the table here as example of what the ATR_RES portion of the string coming from your MCU to the TRF7970A should look like.
Thanks you for your response.
I correct my mistake and now I send the message below but I receive only 1 byte after (0x26). Do you know what does it mean ?
One thing if it can help you:
I can experiment the same behaviour, as you explained. Using the Nexus S.
What I find is that the Nexus its sends alternatively the SENS_REQF command at the ATRIB_REQ command alternatively.
What I do to saw that is to attend the TRF7970AEVM_IRQ quickly and thus I saw that the Nexus send both commands.
I hope that can help you.
Android (Nexus S Android 4.0.4) do an attempt of 100ms every second. During this attempt I saw 3 ATR_REQ and 2 SENSF_REQ: @10ms : first ATR_REQ @20ms : second ATR_REQ @30ms : third ATR_REQ @45ms : first SENSF_REQ @70ms : second SENSF_REQ I don't understand why I received ATR_REQ before SENSF_REQ ? SENSF_REQ is needed to have ATR_REQ ? Is there a specific timing to send the SENSF_RES response after SENSF_REQ ?
Have you made your software on TRF7970AEVM. Does the peer to peer works with android on TRF7970AEVM board?
I have the same problem as described above. I am using the Samsung Galaxy S3 and the TRF7970A_EVM in my application. I receive a SENSF_REQ from the Handset. After sending the SENS_RESP from the TRF7970A to the Handset I never receive any answer (ATR_REQ).
I am using following documents as recommended from Mr. Wyatt:
I basicly use the following software for my application:
Does anybody have an idea whats the problem with the Samsung Galaxy S3 and the TRF7970A?
Thank you for your help.
Sorry to all,
here are the right software files I use.
No password is needed.
Firmware for the MSP430F2370 developed with IAR embeeded workbench for MSP430
App for the Smartphone
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.