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.

CC1101 Reciever sensitivity & Reception problem at lower Baud Rates

Other Parts Discussed in Thread: CC1101

I have designed differerent types of RF boards Based on the CC1101. I have laid out the circuitry exactly, (or as close to), as is indicated by the gerber files supplied by TI. The boards work quite well and was happy with the results. The boards vary, some with just reciever, others with addressing dip switches and others with pic on for control and measurement. All of the boards have eaxctly the same layout on the RF side.

However, I have the boards communicating well at 500kbs and 250kbs and 100kbs, using gfsk or 2-fsk, with the values exported from rf studio.

My problem is that i need a longer range and to do so i need to drop the baus rate, the bandwidth and so on. i.e. make the reciever more sensitive etc. I have the software all writen to indicate when a packet has been sucessfully recieved with CRC OK and packet recieved and Carrier Sense on the GDO pins, changed at will. This all works lovely at the higher data rates. But not at the lower ones.

I have spent 2 weeks, trying to get it to work and changed every possible value with Smart RF Studio and checked the values 1000 times, as the baudrates get lower, the CRC checksum fails, and the distance gets shorter and shorter. This also applies to Carrier Sense as well. I.e. The lower the baud rate, the narrower the Rx Filter bandwith and the lower the Deviation, "the less sensitive the reciever seems to be".

If i ignore the CRC and transmitt the data direct, the lower the baud rates, the more the data is being corrupted from the end of transmission backwards. I.e. If the baudrate is 38k, the checksum is corrupt, but the data is ok, at 10k, the checksum and the last few bytes of transmission are corrupt, and so we go worse, backwards.

I am able to get the sysem to work at 38k datarate, with the antennas touching. As i increase the data rate, rc filter bandwidth and deviation, the longer the range.

I have no solution to this. I have checked the outputs, the power output, the deviation, the fillter bandwidth etc on a spectrum analiser and all is 100 %, it seems to be a problem on the reciever side.

If there is someone out there, with a similar hassel, please advise me as to why this is happening and what i can do to make this work correctly at lower baud rates.

  • Stuart Hall said:
    If i ignore the CRC and transmitt the data direct, the lower the baud rates, the more the data is being corrupted from the end of transmission backwards. I.e. If the baudrate is 38k, the checksum is corrupt, but the data is ok, at 10k, the checksum and the last few bytes of transmission are corrupt, and so we go worse, backwards.

    Maybe your problem is data rate offset between the receiver and the transmitter? If you use the default settings from smart RF studio, the data rate offset compensation loop is most likely disabled (check the BSCFG setting). When receiving a packet with data rate offset and the compensation loop disabled, the receiver will eventually lose bit synchronization.This problem will be more visible for lower baud rates.

    Another potential problem can be frequency offset.

     

    Stuart Hall said:
    I am able to get the sysem to work at 38k datarate, with the antennas touching. As i increase the data rate, rc filter bandwidth and deviation, the longer the range.

    If you are transmitting at max output power I would assume that the receiver should have problems with saturation...

     

     

     

     

     

     

     

     

     

  • Hi Patrick

    Sorry I have been away and have not been able to try out the recomendations. One of the things i did find, was that the crystals we are using is 30ppm. We have a problem here in South Africa, whereby most components are not stock items and therefore we need to bring the stuff in from overseas, usually with loooooooooooong lead times.

    Anyway, so no 10ppm Crystals here yet. So i have to live with the 30ppm ones for the moment. I redid the testing at 38k with the values from RF Studio, I do calibrate the Transmitter everytime in TX, however i only calibrated the receiver on startup, and then again if i got an RX timeout. I am sending a packet of 10 bytes, length, address, data and checksum.

    I have managed to get the 38k working well with a distance of 40 meters, through walls at 0dbm. It is raining here today, so ill check tomorrow for longer distance. There were some good replies to do with the FOCCFG & BSCFG registers, where RF Studio, puts values in to ignore BS_LIMIT, i.e. Bit Sync is not done by default. However, this did not change the fact of work or not, but it may make a big difference when it comes to distance.

    This i will verify in due course. After all this i tried to get the units to work at 10k, but no go. There is no way it works even with the same deviation and RX Bandwidth as 38k.

    I found a very interesting article about Sensitivity vs Offset & Crystal, DN005. It has a table in it whereby it clearly states that for 38k and higher baud rates, ppm values 30ppm+ up to 75ppm are acceptable, if you want to use 10k and lower, you need a ppm of 20 or less. So i guess the crytstal Freq and ppm is exactly the problem.

    When i get the 10ppm crystals, ill let you know what is going on. Thanks for all the help, im sure this will solve the problem. For the time being.