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.

eWOR as Sniff mode on CC1120 with SimpliciTI protocol - doesn't work

Other Parts Discussed in Thread: SIMPLICITI, CC1120

Hi,

I am confused from settings of Sniff mode on CC1120. I have tested RX Sniff mode with SmartRF Studio 7. I see all registers what i need to set for my CC1120 module in SimpliciTI protocol. But i have feeling that i have forgotten something or the SimpliciTI doesnt support to control sniff mode at all.  It always doesn't work.
- I studied some guides about Sniff mode, where is written about RCOSC calibration what I have implemented into my code, but it solves nothing.
- Or, what should i do with IOCFG configuration of GPIO2 or GPIO3?

Please, is there any exact example how to configure sniff mode on CC1120 for simpliciTI protocol?

Thank you for some ideas.

Best regards

Jan

  • Hi Jan

    Could you please post your register settings and code snippet on what you have implemented into simplicity yourself. Do you run this on a TI evaluation board or on own hardware?

  • Hi Martin

    I post just the important registers my Access Point board, that is based and programmed on my hardware. I have joined the CC1120 to PIC uPC good, and all pins what you can use for control. But SimpliciTI needs just GPIO0 for event intterupt, what I see in simpliciTI code 1.2.0.

    Registers:

    #define SMARTRF_SETTING_IOCFG3 0xB0
    #define SMARTRF_SETTING_IOCFG2 0xB0
    #define SMARTRF_SETTING_IOCFG1 0xB0
    #define SMARTRF_SETTING_IOCFG0 0x36 
    #define SMARTRF_SETTING_SYNC3 0xD3 
    #define SMARTRF_SETTING_SYNC2 0x91 
    #define SMARTRF_SETTING_SYNC1 0xD3 
    #define SMARTRF_SETTING_SYNC0 0x91 
    #define SMARTRF_SETTING_SYNC_CFG1 0x08 // -| (setting sync threshold)
    #define SMARTRF_SETTING_SYNC_CFG0 0x17 

    #define SMARTRF_SETTING_DEVIATION_M 0x9A
    #define SMARTRF_SETTING_MODCFG_DEV_E 0x0F) // -| (deviation 100 kHz)

    #define SMARTRF_SETTING_DCFILT_CFG 0x15
    #define SMARTRF_SETTING_PREAMBLE_CFG1 0x34 
    #define SMARTRF_SETTING_PREAMBLE_CFG0 0x2A
    #define SMARTRF_SETTING_FREQ_IF_CFG 0x40 
    #define SMARTRF_SETTING_IQIC 0xC6 

    #define SMARTRF_SETTING_CHAN_BW 0x01 // -| (RX filter BW = 200 kHz)

    #define SMARTRF_SETTING_MDMCFG1 0x46
    #define SMARTRF_SETTING_MDMCFG0 0x05 

    #define SMARTRF_SETTING_DRATE2 0xA9 // -|
    #define SMARTRF_SETTING_DRATE1 0x99 // | (data rate = 100 kbps)
    #define SMARTRF_SETTING_DRATE0 0x9A // -|
    #define SMARTRF_SETTING_AGC_REF 0x3C
    #define SMARTRF_SETTING_AGC_CS_THR 0xEF 

    #define SMARTRF_SETTING_AGC_GAIN_ADJUST 0x00 
    #define SMARTRF_SETTING_AGC_CFG3 0x91 
    #define SMARTRF_SETTING_AGC_CFG2 0x20
    #define SMARTRF_SETTING_AGC_CFG1 0xA9 
    #define SMARTRF_SETTING_AGC_CFG0 0xC3 
    #define SMARTRF_SETTING_FIFO_CFG 0x00 
    #define SMARTRF_SETTING_DEV_ADDR 0x00 
    #define SMARTRF_SETTING_SETTLING_CFG 0x03 
    #define SMARTRF_SETTING_FS_CFG 0x12
    #define SMARTRF_SETTING_WOR_CFG1 0x08
    #define SMARTRF_SETTING_WOR_CFG0 0x20 
    #define SMARTRF_SETTING_WOR_EVENT0_MSB 0x00
    #define SMARTRF_SETTING_WOR_EVENT0_LSB 0x37 
    #define SMARTRF_SETTING_PKT_CFG2 0x04 
    #define SMARTRF_SETTING_PKT_CFG1 0x05 
    #define SMARTRF_SETTING_PKT_CFG0 0x20 
    #define SMARTRF_SETTING_RFEND_CFG1 0x0F 
    #define SMARTRF_SETTING_RFEND_CFG0 0x01 
    #define SMARTRF_SETTING_PA_CFG2 0x7F 
    #define SMARTRF_SETTING_PA_CFG1 0x56 
    #define SMARTRF_SETTING_PA_CFG0 0x7A 
    #define SMARTRF_SETTING_PKT_LEN 0xFF //
    #define SMARTRF_SETTING_IF_MIX_CFG 0x00 //
    #define SMARTRF_SETTING_FREQOFF_CFG 0x20 
    #define SMARTRF_SETTING_TOC_CFG 0x0A 
    #define SMARTRF_SETTING_MARC_SPARE 0x00
    #define SMARTRF_SETTING_ECG_CFG 0x00
    #define SMARTRF_SETTING_SOFT_TX_DATA_CFG 0x00 
    #define SMARTRF_SETTING_EXT_CTRL 0x01
    #define SMARTRF_SETTING_RCCAL_FINE 0x00
    #define SMARTRF_SETTING_RCCAL_COARSE 0x00
    #define SMARTRF_SETTING_RCCAL_OFFSET 0x00
    #define SMARTRF_SETTING_FREQOFF1 0x00
    #define SMARTRF_SETTING_FREQOFF0 0x00
    #define SMARTRF_SETTING_FREQ2 0x6C
    #define SMARTRF_SETTING_FREQ1 0x80
    #define SMARTRF_SETTING_FREQ0 0x00 

    What i have tested after i had made those settings, was just the current consumption of CC1120. In normal mode it takes about average 25 mA. But in Sniff mode must be seen less average current and periodically current peaks. When I am testing Sniff mode in TrxEB of TI through SmartRF Studio, i see what i need.

    I was trying to find some somple solution on Internet applicable for simpliciTI. Because of i dont really know, what i should do to lunch the RX sniff mode, when i have already set the eWOR registers. 

    I was also trying to do RCOSC calibration, and that's all what i have implemented into the code. Nothing more. The RCOSC calibration like here: http://e2e.ti.com/support/low_power_rf/f/155/t/211038.aspx

    thank you and i hope, somebody will explain to me, how to lunch the rx sniff mode.

    Best regards

    Jan

  • Hi Jan

    Sorry for the late reply. I have looked over your register settings and they are ok. You say you have implemented the RCOSC calibration, but have you also rememberd to change all the SRX strobe commands to SWOR?

    Example code of how to implement RX Sniff Mode in SW can be found here:

    http://www.ti.com/lit/zip/swrc253

     

  • Hi Martin

    Thank you for answering anyway. I am glad, that somebody cares for it and could help me.

    Thank you for examples of sniff mode, i will study that and i will be trying to do something with that. After that i will report you my results. I have so much work nowadays so i am coming back to the sniff mode problem within the next week.

    Best regards

    Jan

  • Hi Martin

    Yes, you were right. I have forgotten to change the strobe command to SWOR on the right place in code. The sniff mode is working clearly after correct putting the commands in the code. Now, i will be playing with settings. Also the link of examples helped me. Thanks.

    I have problem now with the bad received packet. If one packet was received from the rf end device that has not been linked with the acces point, access point goes to sleep or idle permanently. But i know, that simpliciTI has not been created for sniff mode. Ok. I will play with that.

    Thank you

    Best regards

    Jan