I posted some weeks ago TX and RX data from my custom RF boards that showed that there was a great signal loss when transmitting 4 feet way during testing. I had 6 custom board as well as 2 TrxEB demo boards. Using the same TX config data and same RX config data, I mapped out a grid of dB when each board was in TX mode and in RX mode. The average dB received was around -50dB, no matter if the demo board or our custom board was receiving it. That led me to look into why. The demo boards communicated at about -16 dB to each other, so there was obviously something wrong with my boards.
Better news on the next rev of the boards. No schematic changes, but I noticed on the previous rev that on our 4 layer board that the layers went TOP, POWER, GROUND, and BOTTOM by mistake. Our layout guy swapped the POWER and GROUND layer and better isolated some things based on the TI demo board. Much better. When our custom board is in TX mode, the demo TI boards receive at -25dB, which is a lot better. However, if my custom board is in RX mode, no matter if the demo board or my custom board is transmitting, the dB reading is about -45. So, I'm not sure why in RX mode the reading is worse.
Which poses the question, is my calculation for dB correct?
I'm using:
// RF Signal Strength Indicator - 8 bits
unsigned char RSSI8(signed char *value)
{
unsigned char rssi0, rssi1;
signed char rssidb;
if (RFRXTX_Read_Extended_Config_Register(RSSI0,&rssi0) == SUCCESS)
{
if ((rssi0 & 0x01) != 0) // bit 0 of RSSI0 is RSSI valid bit
{
if (RFRXTX_Read_Extended_Config_Register(RSSI1,&rssi1) == SUCCESS)
{
rssidb = (signed char)(rssi1-102); // 102 is the offset value
*value = rssidb;
return(SUCCESS);
}
return(FAIL);
}
*value = 0; // invalid reading
return(SUCCESS);
}
return(FAIL);
}
Can someone validate that this is the correct formula? If it is, any ideas why dB in RX mode would be substantially different than TX when demo boards work a lot better with the same config register data?
Sutton