Hello,
I am currently working with two CC1101 devices on custom boards, and I have had some trouble not only receiving packets, but even just seeing that the transmitter is present via the RSSI register. I am attempting to use the following settings: 915MHz carrier frequency, 1.2kbaud, ASK/OOK modulation, 0dbm output power. Currently I am attempting to send a single byte to the receiver.
I have connected my transmitter side to a spectrum analyzer and have seen a peak at 915MHz with a power of 0dbm as expected, so I am currently assuming that it is transmitting as expected and that the receiver should at the least see some change in received signal strength when the transmitter is on vs. off, however, this is not the case and I see no change in the RSSI register when using antennas connected via SMA connectors or even when directly coupled with a direct SMA coupler.
My problem is that the receiver doesn't seem to "see" the transmitter's signal at all. Below are the configuration registers that I have set for the receiver. I believe they are identical to those on the transmitter side.
#define SETTING_PKTLEN 0x01
#define SMARTRF_SETTING_IOCFG2 0x07
#define SMARTRF_SETTING_IOCFG0 0x29
#define SMARTRF_SETTING_FIFOTHR 0x67
#define SMARTRF_SETTING_PKTCTRL0 0x04
#define SMARTRF_SETTING_FSCTRL1 0x06
#define SMARTRF_SETTING_FREQ2 0x23
#define SMARTRF_SETTING_FREQ1 0x31
#define SMARTRF_SETTING_FREQ0 0x3B
#define SMARTRF_SETTING_MDMCFG4 0xF5
#define SMARTRF_SETTING_MDMCFG3 0x83
#define SMARTRF_SETTING_MDMCFG2 0x33
#define SMARTRF_SETTING_DEVIATN 0x31
#define SMARTRF_SETTING_MCSM0 0x18
#define SMARTRF_SETTING_FOCCFG 0x16
#define SMARTRF_SETTING_AGCCTRL1 0x00
#define SMARTRF_SETTING_WORCTRL 0xFB
#define SMARTRF_SETTING_FREND0 0x11
#define SMARTRF_SETTING_FSCAL3 0xE9
#define SMARTRF_SETTING_FSCAL2 0x2A
#define SMARTRF_SETTING_FSCAL1 0x00
#define SMARTRF_SETTING_FSCAL0 0x1F
#define SMARTRF_SETTING_TEST2 0x81
#define SMARTRF_SETTING_TEST1 0x35
#define SMARTRF_SETTING_TEST0 0x09
In my main loop I am polling the RSSI, the PKTSTATUS register, and the FIFOBYTES registers looking for changes.
CC1101_strobe(SRX);
for (;;){
timer_a_stop(); //stop timer during active operation
CC1101_read_8(0xF4); //Read RDDI register
CC1101_read_8(0xF8); //read PKTSTATUS Register
CC1101_read_8(0xFB); //read # of bytes in RX FIFO
...
}
The receiver appears to just sit in RX mode waiting, but I never see any changes in the RSSI nor do I see that I receive any of the messages sent with either the transmitter & receiver directly coupled, or with antennas.