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?

  • Hello Ugnius,

    I assume that most of the time went into the communication between the PC and the reader. The reader works with a baud rate of 9600 bd. Can you please connect also the UART RXD and TXD of the Launchpad to the logic analyzer to see the complete communication including the data transfer to and from the PC, 

    Best Regards,

    Helfried

  • Thank you for your reply.

    Yes, the logic analyzer shows that you are right. Looks like ~53ms is PC processing time and ~90ms is the time required to send a command with a response via UART:

    (I repeatedly send the same command, so the marked timing is periodical everywhere in the graph).

    I still haven't gotten deep with an MSP430 platform, but I think I can increase the baudrate in TRF7970ABP_RFID_READER_Demo project and make it communicate a little bit faster.

  • Hi Ugnius,

    have look to the file UART.c of the firmware source code (sloc346). The baud rate can be changed in the subroutine UartSetup(void). When comment out lines 502 to 504 and comment in lines 506 to 508, the baud rate should be at 115200 bd. I cannot check that at the moment but you can give it a try.

    Best Regards,

    Helfried 

  • Yes, thank you, now things are much better. Communication delay dropped down from 90ms to 10ms.

    Now I need to figure out how to make things faster on the PC side and reduce that 70ms delay.