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.

Cc112x transparent mode - no output on GPIO?

Other Parts Discussed in Thread: CC1125, CC1175

I just started to do some tests with CC1125, but have a problem with the transparent mode not outputting any data on the GPIO-pin as expected.

SPI sommunication with CC1125 is working, I can configure the module, calibrate it and have verified, that I get an RF-signal when used in TX-mode.


The configuration is pretty much directly from SmartRF studio, to get started.


32MHz crystal used, the filter bandwidth etc. is not really important now. This is the configuration output from SmartRF studio.

//  RX filter BW = 20.000000 **
//  Address config = No address check **
//  Packet length = 3 **
//  Symbol rate = 9.6 **
//  PA ramping = false **
//  Performance mode = High Performance **
//  Carrier frequency = 432.000000 **
//  Bit rate = 9.6 **
//  Packet bit length = 0 **
//  Whitening = false **
//  Manchester enable = false **
//  Modulation format = 2-GFSK **
//  Packet length mode = Variable **
//  Device address = 0 **
//  TX power = 15 **
//  Deviation = 5.004883 **

CC1125 registers

Name

Address

Value

Description

IOCFG3

0x0000

0xB0

GPIO3 IO Pin Configuration

IOCFG2

0x0001

0x08

GPIO2 IO Pin Configuration

IOCFG1

0x0002

0xB0

GPIO1 IO Pin Configuration

IOCFG0

0x0003

0x09

GPIO0 IO Pin Configuration

SYNC_CFG1

0x0008

0x08

Sync Word Detection Configuration Reg. 1

DEVIATION_M

0x000A

0x48

Frequency Deviation Configuration

MODCFG_DEV_E

0x000B

0x0B

Modulation Format and Frequency Deviation Configur..

DCFILT_CFG

0x000C

0x56

Digital DC Removal Configuration

PREAMBLE_CFG1

0x000D

0x00

Preamble Length Configuration Reg. 1

FREQ_IF_CFG

0x000F

0x3D

RX Mixer Frequency Configuration

IQIC

0x0010

0xCE

Digital Image Channel Compensation Configuration

CHAN_BW

0x0011

0x0A

Channel Filter Configuration

MDMCFG1

0x0012

0x06

General Modem Parameter Configuration Reg. 1

MDMCFG0

0x0013

0x4A

General Modem Parameter Configuration Reg. 0

SYMBOL_RATE2

0x0014

0x73

Symbol Rate Configuration Exponent and Mantissa [1..

AGC_CS_THR

0x0018

0x0C

Carrier Sense Threshold Configuration

AGC_CFG1

0x001C

0x20

Automatic Gain Control Configuration Reg. 1

AGC_CFG0

0x001D

0x53

Automatic Gain Control Configuration Reg. 0

FIFO_CFG

0x001E

0x00

FIFO Configuration

SETTLING_CFG

0x0020

0x03

Frequency Synthesizer Calibration and Settling Con..

FS_CFG

0x0021

0x14

Frequency Synthesizer Configuration

WOR_CFG0

0x0023

0x20

eWOR Configuration Reg. 0

WOR_EVENT0_MSB

0x0024

0xFF

Event 0 Configuration MSB

WOR_EVENT0_LSB

0x0025

0xF3

Event 0 Configuration LSB

PKT_CFG2

0x0026

0x07

Packet Configuration Reg. 2

PKT_CFG1

0x0027

0x00

Packet Configuration Reg. 1

PKT_CFG0

0x0028

0x20

Packet Configuration Reg. 0

RFEND_CFG0

0x002A

0x09

RFEND Configuration Reg. 0

PA_CFG2

0x002B

0x3F

Power Amplifier Configuration Reg. 2

PA_CFG0

0x002D

0x7D

Power Amplifier Configuration Reg. 0

IF_MIX_CFG

0x2F00

0x00

IF Mix Configuration

FREQOFF_CFG

0x2F01

0x22

Frequency Offset Correction Configuration

FREQ2

0x2F0C

0x6C

Frequency Configuration [23:16]

FS_DIG1

0x2F12

0x00

Frequency Synthesizer Digital Reg. 1

FS_DIG0

0x2F13

0x5F

Frequency Synthesizer Digital Reg. 0

FS_CAL0

0x2F17

0x0E

Frequency Synthesizer Calibration Reg. 0

FS_DIVTWO

0x2F19

0x03

Frequency Synthesizer Divide by 2

FS_DSM0

0x2F1B

0x33

FS Digital Synthesizer Module Configuration Reg. 0

FS_DVC0

0x2F1D

0x17

Frequency Synthesizer Divider Chain Configuration ..

FS_PFD

0x2F1F

0x50

Frequency Synthesizer Phase Frequency Detector Con..

FS_PRE

0x2F20

0x6E

Frequency Synthesizer Prescaler Configuration

FS_REG_DIV_CML

0x2F21

0x14

Frequency Synthesizer Divider Regulator Configurat..

FS_SPARE

0x2F22

0xAC

Frequency Synthesizer Spare

XOSC5

0x2F32

0x0E

Crystal Oscillator Configuration Reg. 5

XOSC3

0x2F34

0xC7

Crystal Oscillator Configuration Reg. 3

XOSC1

0x2F36

0x07

Crystal Oscillator Configuration Reg. 1

SERIAL_STATUS

0x2F91

0x08

Serial Status

To get started I really just wanna see all bits, noise etc. and hence all package-handling should be de-activated. I've set:

    // Don't use automatic syncword detection
    Cc1125ConfigWrite(0X0009,0x03);  // SYNC_CFG0 set to 3

    // Preamble detection off
    Cc1125ConfigWrite(0X000E,0x00); // PREAMBLE_CFG0 set to 0

Serial RX data "should" be connected to GPIO_0, as the GPIO_0 config is set to 9.

The general setup done for CC1125

- Reset CC1125 with command strobe, CC112X_SRES

- Load all config-values that differs from reset-values
 (those posted above)

- Run calibration according to CC112x / CC1175 Errata note

- Turn on RX using command strobe, CC112X_SRX

I would expect to see a lot of "noise" or random bits with the data directly connected to GPIO_0, but the pni is constantly low. Anyone seeing an obvious problem?

Doing the exact same as above but with a command strobe for transmit mode in the end, I get the expected RF-output at 432 MHz.

  • When done correctly the GPIO0 pin should go up and down randomly. I could not see anything obvious, take a look at the serial example here http://www.ti.com/lit/zip/swrc253 and see if you see anything. I would recommend using synchronous serial mode and use a sync word (0xAA is sufficient) for best performance.

    Do you have a CAT1 EM for CC1125? If that is the case you should at least remove the SAW filter when operating @432 MHz.

  • Thanks

    I will use both preamble, syncword and a specific ID, but I'll enable the things as I go. I would just like to verify the direct bitstream to get started.

    It's a custom hardware solution designed for the 433 MHz band :)

    Just looked over the example you linked, but didn't find anything obvious.

  • For the final product, do you plan to you serial mode or the FIFO?

  • I will most likely use the supported package handling with FIFO buffers. The transparent mode just seemed like an easy way to get started and verify things.

  • If you are planning to use the FIFO, start by looking at the easylink example in the link I posted. To start looking at a bit stream is a step backward. If possible I would rather start by controlling the board with SmartRF Studio via a CCDebugger and confirm the board RF performance by controlling it with known software and also play with sync/ no sync, preamble length, packet length etc that way.

  • I will get a CCdebugger next time I need some parts anyway, seems like a great way to play with different settings.

    Transparent mode might be a step back compared to FIFO, but I like to actually see the bit-stream compared to the transmitted bit-stream.

    I just expected a simple problem with register settings or something like that to cause the problem.

  • I will take a quick look at this tomorrow in the lab.

  • Much appreciated, thanks a lot !

  • Your register settings seems to work here.

    - Ensure that GPIO0 is not shorted somewhere

    - Ensure that the chip status actually is Rx.

    The pin will toggle when you set the required registers, if it doesn't it's likely that you are in a different state than you think you are.

  • Thanks a lot.

    I will do some further testing and see if I can find the problem.

  • I did some more testing today, to find the problem.

    - By increasing the RX filter bandwidth to 200 kHz, I get a constant bit-stream. Not sure why this changes anything.

    - Any lower RX filter bandwidth than 200 kHz gives a ~1 ms output bit-stream, every time i strobe RX (with no carrier present)

    Strobing the RX every ~250 ms. Only the short bit-stream just after the RX stobe is present..

    Zooming in, it looks like only a few bits are shown before flat-lining.


    If a carrier is present whle strobing RX, I'm more or less able to receive a package.

    But for some reason I have to strobe RX pretty much all the time. Is there some AFC going crazy if no carrier is present? Should be possible to go into RX mode and wait for a valid carrier

  • After some more testing, I've found that using 432MHz everything works more or less as expected. I've tried 430 - 440 MHz with 0.1 MHz steps. No major difference in the calibration values, frequency registers set as suggested by SmartRF.

    There's a noticeable difference in current-consumption, only when set to 432MHz where I get an actual output, it seems to be active and use ~20 mA,.

    Setting the RX filter BW high (125 kHz+) it seems all frequencies works. Around 30kHz and with FC at 432 MHz I get an output, but it seems unstable and drops out now and then. After a while, if the antenna is touched etc. the output simply stops and current consumption clearly drops, as if the frequency lock drops out, drops out of state etc. I'm starting to think this could be hardware related

  • Got the problem solved. Choosing another template in SmartRF studio and setting the required settings, resulted in different register-settings, that now works.

    Haven't yet figured out what exact setting caused the problem, but it now behaves as expected.

  • Please note that as stated in the datasheet the sensitivity is a bit poorer for multiple of the clock frequency divided by 2, in you case multiples of 16 MHz.

  • Thanks :)

    That explains the different behavior and lost packages on 432MHz I noticed yesterday.