Dear Josh,
Thank you for your kindly help. I'm still working on receive and transmit data in one DEP loop. I will let you know if I have any further information.
I have a question about TRF7970 P2P connection with Nexus 4 and Galaxy S4. The code work well with Nexus S using P2P connection, but does not work with N4 or S4 which using Broadcom BCM2079x NFC chip.
========= TRF7970 main register setting as follwing ==========
ISO_CONTROL(0x01) = 0x23; // NFC passive target @ 424
NFC_TARGET_LEVEL(0x18) = 0x86; // NFCID 10byte, AutoSDD disable
NFC_LOW_DETECTION(0x16) = 0x07; // Maxium RF field level
FIFO_IRQ_LEVEL(0x14) = 0x0F; // RX high = 96, TX low = 32
RX_SPECIAL_SETTINGS = 0x1C; // 100k~1.5M,Gain 15dB, AGC 5x, 8 subcarrier
=====================================================
===== Register value when P2P communication =====
1) Regsiter : NFC_TARGET_PROTOCOL(0x19)
N4 (BCM) phone: the value of this register is 0x9B; compared with Nexus S(NXP) phone , this value is 0x93.
There is no detail information about BIT3 (pas_106) descripion.
2) Register: IRQ_STATUS(0x0C)
When N4(BCM) phone, BIT4 is set idicate any protocol error.
3) SENSF_REQ
TRF7970 can recevive SENSF_REQ from N4(BCM) phone, RC=0x00, TSN=0x03. After reply with SENSF_REQ, there is no data received.
============================
void TargetSenseResponse(TSN) {
slots = TSN;
response[0] = 18; // Length
response[1] = 0x01;
for(i = 0; i < 8; i++){
response[2 + i] = targetid.array[i]; // Array length is 8 bytes
}
response[10] = 0xFF;
response[11] = 0xFF;
response[12] = 0xc2;
response[13] = 0xc3;
response[14] = 0xc4;
response[15] = 0xc5;
response[16] = 0xc6;
response[17] = 0xc7;
Delay(T_2400US); // Delay for 2.4ms
for(i = 0; i < (slots + 1); i++){
if(i == 0){ //send the reply in the calculated timeslot
NfcSend(&response[0]);
break;
}
Delay(T_1200US); // Delay for 1.2ms
}
}
============================
Please give me any suggestion.
Thank you!
Victor