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.

RF430FRL152H: Slow response time

Part Number: RF430FRL152H
Other Parts Discussed in Thread: DLP-7970ABP, MSP-EXP430G2ET

Good evening,

I have been using RF430FRL152H for some time and struggling to get a decent ISO15693 communication speed from it. I am using RF430FRLHEVM board with DLP-7970ABP and MSP-EXP430G2ET for communication with PC. For DLP-7970ABP with MSP-EXP430G2ET I use the default firmware that is provided in the product description page. For host commands, I use a simple terminal program.

In the RF430FRL I flashed custom firmware which will write to SPI everything that was provided in the payload:

void userCustomCommand()
{
int i = 0;
if( RF13MFIFOFL_L == CRC_LENGTH_IN_BUFFER + 22) // CRC_LENGTH + 1 byte expected
{
UCB0CTLW0 |= UCSWRST; //reset, if not..config is not possible
P1SEL0 |= 0x0F; // CLK, MOSI, SOMI, CS option select registers
P1SEL1 &= ~0x0F;
UCB0CTLW0 |= UCMST | UCSYNC | UCMSB | UCMODE_2 | UCSTEM ;// 4 pin(mode_3), 8 bit SPI mstr, MSB first
UCB0CTLW0 |= UCSSEL_2; // SMCLK as clock source
UCB0BR0 |= 0x02;
UCB0BR1 |= 0;
UCB0CTLW0 &= ~UCSWRST;

for(i = 0 ; i < 22; i++) {
UCB0IFG &= ~UCTXIFG;
UCB0TXBUF = RF13MRXF_L;
while(!(UCB0IFG & UCTXIFG));
}
RF13MTXF_L = 0x0; // no error, send out
}
else
{
RF13MTXF_L = 0x1; // an error response
}
}

From the writer side (PC) I repeatedly send custom commands and track time with a logic analyzer:



It can be seen that it takes about 0.15s to send another command. That's a huge delay.
I tracked time with a custom program, and it looks like that all this time is just from waiting for a response from the RF430FRL (from sent command to received command). If I send 1 byte instead of 22 it is around 100ms. So it is a 100ms delay from RF430FRL or DLP-7970ABP firmwares.


What is the expected theoretical minimum delay between sending multiple commands in this scenario and how could I improve it?