Hello,
before I start I'd like to say that I have seen a thread that talked about this problem:
http://e2e.ti.com/support/wireless_connectivity/f/155/t/247222.aspx
but I think my case here might be different
so, I am trying to build a spectrum sensor, I don't need to do any demodulation, I just need the radio chip to stay at infinity in RX mode, reading RSSI values at a specified carrier frequency
I used a module called CCRF click that features CC2500 with a PCB trace antenna:
http://www.mikroe.com/click/ccrf/
and I interfaced it with MCU ATxmega128A1 featured on this development kit
http://www.atmel.com/tools/xmega-a1xplained.aspx
here are the settings I used:
RF_SETTINGS rfSettings = { 0x29, // IOCFG2 GDO2 output pin configuration. 0x2E, // IOCFG1 GDO1 output pin configuration. 0x06, // IOCFG0D GDO0 output pin configuration. //06 0x07, // FIFOTHR RXFIFO and TXFIFO thresholds. 0xD3, // SYNC1 Sync word, high byte 0x91, // SYNC0 Sync word, low byte 0x3D, // PKTLEN Packet length. 0x04, // PKTCTRL1 Packet automation control. //06 0x12, // PKTCTRL0 Packet automation control. 0x00, // ADDR Device address. 0x03, // CHANNR Channel number. //00 0x0A, // FSCTRL1 Frequency synthesizer control. //0A 0x00, // FSCTRL0 Frequency synthesizer control. 0x5D, // FREQ2 Frequency control word, high byte. 0x44, // FREQ1 Frequency control word, middle byte. 0x0F, // FREQ0 Frequency control word, low byte. 0x2D, // MDMCFG4 Modem configuration. 0x3B, // MDMCFG3 Modem configuration. 0xF0, // MDMCFG2 Modem configuration. 0x23, // MDMCFG1 Modem configuration. 0x3B, // MDMCFG0 Modem configuration. 0x01, // DEVIATN Modem deviation setting (when FSK modulation is enabled). 0x07, // MCSM2 Main Radio Control State Machine configuration. 0x30, // MCSM1 Main Radio Control State Machine configuration. 0x18, // MCSM0 Main Radio Control State Machine configuration. 0x1D, // FOCCFG Frequency Offset Compensation Configuration. 0x1C, // BSCFG Bit synchronization Configuration. 0xC7, // AGCCTRL2 AGC control. 0x00, // AGCCTRL1 AGC control. 0xB0, // AGCCTRL0 AGC control. 0x87, // WOREVT1 High event 0 timeout. 0x6B, // WOREVT0 Low event 0 timeout. 0xF8, // WORCTRL Wake On Radio control 0xB6, // FREND1 Front end RX configuration. 0x10, // FREND0 Front end TX configuration. 0xEA, // FSCAL3 Frequency synthesizer calibration. 0x0A, // FSCAL2 Frequency synthesizer calibration. 0x00, // FSCAL1 Frequency synthesizer calibration. 0x11, // FSCAL0 Frequency synthesizer calibration. 0x41, // RCCTRL1 RC oscillator configuration. 0x00, // RCCTRL0 RC oscillator configuration.
I connected the corresponding four SPI pins and GDO2 through wires, I use GDO2 to check for chip_ready signal. I programmed the registers successfully and I read them back to make sure of that. I stropped the RX resister, and read the MARCSTATE status register to make sure that the radio chip is in RX mode
I read the RSSI status register and applied the algorithm from Design Note DN505 to get the RSSI in dBm
I read RSSI every 40 u Sec, data rate is 2.4 KBaud
here is the problem that I am having:
RSSI readings are always high and incorrect, sometimes i always get values (-49 to -52) dBm , or (-17 to -23) dBm, even if I am in an anechoic chamber where there are no signals at all, I would still get such values.