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.

BoosterPack with CC110L with OOK modulation Transmission Errors

Other Parts Discussed in Thread: CC110L, CC1101, TEST2, CC1100

Hi all, 

I'm using a BoosterPack with the CC110L module and attempting to transmit an OOK modulated data packet.  

My stack includes using an Arduino Duemilanove with SPI to communicate with the BoosterPack module and slight modifications to the Panstamp (https://code.google.com/p/panstamp/wiki/LowLevelLibrary) libraries to perform initialization, transmit, and receive functions with the Arduino.  

The modifications include adjusting some of the test and unused registers between the CC1101 and the CC110L radios (the Panstamp libraries were written with the CC1101 as the target device).

Initialization and transmission using the BoosterPack seem to work, I've set up GDO0 with a setting of 0x06 to assert when a sync word is sent and de-assert at the end of packet transmission.  I am able to communicate properly with the BoosterPack over SPI.  

I've confirmed this with a logic analyzer and visually with a debug LED connected to the GDO0 pin.  I've also read the CC110L_TXBYTES before and after transmission to verify my 13 byte packet is being placed into and read out from the FIFO register.  

At the end of the TX state, I go into RX state, confirm CC110L_TXBYTES = 0, enter IDLE state, and then flush the TX buffer.   

However, I do not seem to pick up any transmission signal from the BoosterPack.  I've also confirmed that I'm writing out two values to my PA Table:  {0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; and I have adjusted my AGC registers per DN022.  

I thought I was over-saturating my receiver so I moved the BoosterPack to the other side of my room and haven't had any luck.  I've also adjusted the PA Table with several values hoping it was a simple gain issue.  

Any thoughts or suggestions?  

Thanks!

 

Below are my register values used:

//Carrier frequency = 916.499954 MHz

//Channel number = 0

//Channel spacing = 202.697554

//Xtal frequency = 27 MHz

//Data rate = 16.634 kBaud

//RX filter BW = 843.75 kHz

//Modulation = ASK/OOK

#define CC110L_DEFVAL_IOCFG2                  0x29 // GDO2 Output Pin Configuration
#define CC110L_DEFVAL_IOCFG1                  0x2E // GDO1 Output Pin Configuration
#define CC110L_DEFVAL_IOCFG0                  0x06 // GDO0 Output Pin Configuration

#define CC110L_DEFVAL_FIFOTHR                0x02 // RX FIFO and TX FIFO Thresholds

#define CC110L_DEFVAL_SYNC1                    0xFF // Synchronization word, high byte
#define CC110L_DEFVAL_SYNC0                    0x00 // Synchronization word, low byte

#define CC110L_DEFVAL_PKTLEN                  0x0D // Packet Length

#define CC110L_DEFVAL_PKTCTRL1             0x00 // Packet Automation Control
#define CC110L_DEFVAL_PKTCTRL0             0x00 // Packet Automation Control

#define CC110L_DEFVAL_ADDR                       0x00 // Device Address
#define CC110L_DEFVAL_CHANNR                 0x00 // Channel Number

#define CC110L_DEFVAL_FSCTRL1                 0x0F // Frequency Synthesizer Control
#define CC110L_DEFVAL_FSCTRL0                 0x00 // Frequency Synthesizer Control

#define CC110L_DEFVAL_FREQ2_916             0x21 // Frequency Control Word, High Byte

#define CC110L_DEFVAL_FREQ1_916             0xF1 // Frequency Control Word, Middle Byte
#define CC110L_DEFVAL_FREQ0_916             0xC7 // Frequency Control Word, Low Byte

#define CC110L_DEFVAL_MDMCFG4               0x09 // Modem Configuration - Channel bandwidth
#define CC110L_DEFVAL_MDMCFG3               0x43 // Modem Configuration - Data rate
#define CC110L_DEFVAL_MDMCFG2               0x33 // Modem Configuration
#define CC110L_DEFVAL_MDMCFG1               0x62 // Modem Configuration 
#define CC110L_DEFVAL_MDMCFG0               0xDA // Modem Configuration 

#define CC110L_DEFVAL_DEVIATN                  0x15 // Modem Deviation Setting

#define CC110L_DEFVAL_MCSM2                    0x07 // Main Radio Control State Machine Configuration
#define CC110L_DEFVAL_MCSM1                    0x00 // Main Radio Control State Machine Configuration
#define CC110L_DEFVAL_MCSM0                    0x28 // Main Radio Control State Machine Configuration

#define CC110L_DEFVAL_FOCCFG                  0x16 // Frequency Offset Compensation Configuration 

#define CC110L_DEFVAL_BSCFG                     0x6C // Bit Synchronization Configuration 0x6C

#define CC110L_DEFVAL_AGCCTRL2              0x07 // AGC Control
#define CC110L_DEFVAL_AGCCTRL1              0x00 // AGC Control
#define CC110L_DEFVAL_AGCCTRL0              0x92 // AGC Control

#define CC110L_DEFVAL_FREND1                   0x56 // Front End RX Configuration
#define CC110L_DEFVAL_FREND0                   0x11 // Front End TX Configuration

#define CC110L_DEFVAL_FSCAL3                    0xE9 // Frequency Synthesizer Calibration
#define CC110L_DEFVAL_FSCAL2                    0x2A // Frequency Synthesizer Calibration
#define CC110L_DEFVAL_FSCAL1                    0x00 // Frequency Synthesizer Calibration
#define CC110L_DEFVAL_FSCAL0                    0x1F // Frequency Synthesizer Calibration

#define CC110L_DEFVAL_TEST2                       0x88 // Various Test Settings
#define CC110L_DEFVAL_TEST1                       0x31 // Various Test Settings
#define CC110L_DEFVAL_TEST0                       0x09 // Various Test Settings

#define CC110L_DEFVAL_RES0X20                 0xFB    // 0X20 reserved for CC110L
#define CC110L_DEFVAL_RES0X29                 0x89     // 0X29 reserved for CC110L
#define CC110L_DEFVAL_RES0X2A                 0x127  // 0X2A reserved for CC110L
#define CC110L_DEFVAL_RES0X2B                 0x63    // 0X2B reserved for CC110L

 

 

 

 

  • You write a lot about how you set up Tx but I could not see anything about how you set up your receiver.

    - I assume you don't have a spectum to check that you have something on the air

    - If you have the receiver in cont. Rx, do you see spikes in the RSSI value indicating something on the air?

    - With the sync word you have selected, how do you avoid fale sync detect?

  • Oops, sorry about that. I must have deleted a bit of text before I posted. 

    I'm using a software defined radio dongle as a poor man's spectrum analyzer tuned to the 916.5 frequency. 

    The dongle picks up all other RF traffic without any issue. I'm able to see the transmissions from a device that uses a CC1100 device with similar settings as my stack. 

  • Ok,

    - have you checked that you for some reason send on a slightly different frequency? Set the span to maximum

    - Check your settings against SmartRF Studio. I noticed that at least TEST2 deviates from the recommended value.

  • I actually haven't checked any frequencies close to 916.5 during transmission!

    I'll check that out tonight as well as confirm my settings with SmartRF Studio and report back. 

    Thanks TER!

  • I double checked my settings this morning with SmartRF Studio (and corrected the test register) and also checked the frequencies between 910.718 MHz to 923.072 MHz with no luck. 

    The only interesting thing I do see, is that when I reset my chipset (Arduino & the CC110L) when I've set my SDR to 916.4999 MHz, the carrier noise picks up significantly and drops back down after the reset and the CC110L is "transmitting". 

    - Jonathan

  • I suppose the next thing to test is to go to use known good register settings and get the CC110L to transmit using those settings first, regardless of modulation type. 

  • Here's a happy ending to those of you following along at home.  

    It turns out, that while my settings were correct except for that one test register, my data pulse of 13 bytes at 16 kbaud is transmitted so quickly (at a low gain rate) my spectrum analyzer / SDR was indeed picking up the faint signal. 

    I took out any extraneous pauses or delays in my transmit code, then looped the transmission 5 times.  With my SDR, I am able to hear / see the transmission of my data packet 5 times from my transmitter.  

    I've also been able to verify the waveform as my signal (albeit with a weak signal strength).

    Thanks TER for the quick feedback yesterday, it's much appreciated.  

    - Jonathan