Hi,
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.
Hi
If it works for some SPI settings and not others the problem is related to the SPI and not the radio. Even if you SPI speed is below the max ratings, what about the other parameters? Have you looked at all the other parameters listed in the SPI timing requirements table and measures using an oscilloscope that they are OK? When you tested the SPI interface did you send the data on the SPI and then read it using another SPI port or did you write data to the CC1101 and then read it back?
You should try to write to the configuration registers of CC1101 and then read back the same data at the different SPI speeds. Note that some registers (or register fields) are read only.
When you are reading the received data, have you waited for the complete packet to be received or just the sync word?
BR
Siri
Hi
Using two MCUs to test the SPI will not work since the SPI requirements for the MCU might be different then for the radio. That means that if for example your rise time/fall time is not within spec. the CC1101 might misinterpret the data while the other MCU might “understand” them.
Since the SPI traffic is OK when doing a single access, can you try this on the RXFIFO also, to see if there is something wrong in the timing when doing burst read?
It might also be an idea to configure the transmitter with a SPI speed that is proven to work and the use the SPI speed that fails on the RX side to read the RXFIFO. You can compare the data you read from the FIFO with the data received on a GDO pin configured as RX_HARD_DATA. If RX_HARD_DATA is OK (must be verified manually using scope) and the packet read from the FIFO is not, there is some issues with the SPI traffic.
When is your ReceiveData function called? At falling or rising edge of GDO0?
If you are not waiting for the complete packet to be received before reading the FIFO you must make sure that you are not emptying the FIFO (see the RX FIFO issue described in the errata note)
BR