• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Low Power RF & Wireless Connectivity » Low Power RF Hardware & Tools Forum » CC1101 and SI4432 compatibility
Share
Low Power RF & Wireless Connectivity
  • Forums
  • Announcements
  • Files
  • E2E Wiki
Options
  • Subscribe via RSS

CC1101 and SI4432 compatibility

CC1101 and SI4432 compatibility

This question is answered
Richard Salin
Posted by Richard Salin
on Aug 16 2011 01:14 AM
Intellectual320 points

Hello

I'm wondering if the TI CC1101 radio is capable of communicating with the Silabs SI4432 and in that case, is there any communication restrictions?

I have an existing solution based on the SI4432 and would like to integrated the CC1101 to a new solution, but would need to know that it's capable

of communicating. I've got a eva kit of both bot haven't yet been able to set them up so that the receiving end would get the data the transmitter is emitting.

B.R.

Richard Salin

Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • TER
    Posted by TER
    on Aug 16 2011 02:37 AM
    Verified Answer
    Verified by Tor-inge
    Mastermind21730 points

    As long as the datarate, deviation, modulation and carrier frequency is the same they should be able to communicate with each other.

    --
    PS. Thank you for clicking  Verify Answer  if this answered your question!

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Richard Salin
    Posted by Richard Salin
    on Aug 16 2011 03:44 AM
    Intellectual320 points

    Thank you for your reply!

    What about the packet handling?

    -Richard

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • TER
    Posted by TER
    on Aug 16 2011 04:18 AM
    Mastermind21730 points

    I don't know the package handling on the SiLabs part but I see they operate with a TX header that the CC1101 don't have so you have to turn this off. Also ensure that you use the same SYNC word and CRC calculation. Try first with one part in cont. RX and the other in cont. TX to see if it works then and to ensure that the setup of the radioes are correct. When this is ok, try package RX/TX

    --
    PS. Thank you for clicking  Verify Answer  if this answered your question!

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Richard Salin
    Posted by Richard Salin
    on Aug 16 2011 07:02 AM
    Intellectual320 points

    Hello

    I've now managed (I think) to get all the settings, except the packet handling ones, to match. I'm sorry for the fuzzyness of the following question, and I understand that you do not have any expertise regarding the SI4432 chip, but I'm wondering how (if possible) to config the CC to match the following settings of the SI chip (ignore the registry values, I just included them to make the comments look "clearer").

        // set the packet structure and the modulation type
        //set the preamble length to 5bytes
        SPIWriteReg(0x34, 0x0A);                                                            //write 0x0A to the Preamble Length register

        //Disable header bytes; set variable packet length (the length of the payload is defined by the
        //received packet length field of the packet); set the synch word to two bytes long
        SPIWriteReg(0x33, 0x02);                                                            //write 0x02 to the Header Control2 register

        //Set the sync word pattern to 0x2DD4
        SPIWriteReg(0x36, 0x2D);                                                            //write 0x2D to the Sync Word 3 register
        SPIWriteReg(0x37, 0xD4);                                                            //write 0xD4 to the Sync Word 2 register

        //enable the TX packet handler and CRC-16 (IBM) check
        SPIWriteReg(0x30, 0x0D);                                                            //write 0x0D to the Data Access Control register

        //enable FIFO mode and GFSK modulation
        SPIWriteReg(0x71, 0x23);                                                            //write 0x23 to the Modulation Mode Control 2 register

        // set the GPIO's according the testcard type
        SPIWriteReg(0x0C, 0x12);                                                            //write 0x12 to the GPIO1 Configuration(set the TX state)
        SPIWriteReg(0x0D, 0x15);                                                            //write 0x15 to the GPIO2 Configuration(set the RX state)

     

    The registry values I'm using for my CC1101 are as follows:

        TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL1,    0x0C);
        TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL0,    0x00);

        TI_CC_SPIWriteReg(TI_CCxxx0_FREQ2,      0x21);
        TI_CC_SPIWriteReg(TI_CCxxx0_FREQ1,      0x65);
        TI_CC_SPIWriteReg(TI_CCxxx0_FREQ0,      0x6A);

        TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG4,    0x2D);
        TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG3,    0x3B);
        TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG2,    0x13);
        TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG1,    0x22);
        TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG0,    0xF8);

        TI_CC_SPIWriteReg(TI_CCxxx0_CHANNR,     0x00);
        TI_CC_SPIWriteReg(TI_CCxxx0_DEVIATN,    0x62);

        TI_CC_SPIWriteReg(TI_CCxxx0_FREND1,     0xB6);
        TI_CC_SPIWriteReg(TI_CCxxx0_FREND0,     0x10);

        TI_CC_SPIWriteReg(TI_CCxxx0_MCSM1 ,     0x0F);
        TI_CC_SPIWriteReg(TI_CCxxx0_MCSM0 ,     0x18);

        TI_CC_SPIWriteReg(TI_CCxxx0_FOCCFG,     0x1D);
        TI_CC_SPIWriteReg(TI_CCxxx0_BSCFG,      0x1C);

        TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL2,   0xC7);
        TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL1,   0x00);
        TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL0,   0xB0);

        TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL3,     0xEA);
        TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL2,     0x2A);
        TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL1,     0x00);
        TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL0,     0x1F);

        TI_CC_SPIWriteReg(TI_CCxxx0_FSTEST,     0x59);
        TI_CC_SPIWriteReg(TI_CCxxx0_TEST2,      0x88);
        TI_CC_SPIWriteReg(TI_CCxxx0_TEST1,      0x31);
        TI_CC_SPIWriteReg(TI_CCxxx0_TEST0,      0x09);
        TI_CC_SPIWriteReg(TI_CCxxx0_FIFOTHR,    0x07);

        TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG2,     0x0B);
        TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG0,     0x06);

        TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL1,   0x07);
        TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL0,   0x05);

        TI_CC_SPIWriteReg(TI_CCxxx0_ADDR,       0x00);
        TI_CC_SPIWriteReg(TI_CCxxx0_PKTLEN,     0x3D);

    Making these radios compatible would be crucial for the switch to the CC radio...Thank you

    Best regards

    Richard Salin

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • TER
    Posted by TER
    on Aug 16 2011 09:22 AM
    Mastermind21730 points

     

    I can try to give you some pointers:

    // set the packet structure and the modulation type
        //set the preamble length to 5bytes
        SPIWriteReg(0x34, 0x0A);

    CC1101 only have the option of sending 4 or 6 bytes of preamble. If SiLabs require 5 bytes, set MDMCFG1.num_preamble=3

    //Disable header bytes; set variable packet length (the length of the payload is defined by the
        //received packet length field of the packet); set the synch word to two bytes long
        SPIWriteReg(0x33, 0x02);  
             

    CC1101: To set 2 byte sync word: MDMCFG2.sync_mode=3

    CC1101: To set variable package length: PKTCTRL0.length_config=1

    //enable the TX packet handler and CRC-16 (IBM) check
        SPIWriteReg(0x30, 0x0D);           
                                  

    CC1101 uses CRC-16 and the package handler is default on

        //Set the sync word pattern to 0x2DD4
        SPIWriteReg(0x36, 0x2D);                                                            //write 0x2D to the Sync Word 3 register
        SPIWriteReg(0x37, 0xD4);

    CC1101: SYNC1=0x2D, SYNC0=0xD4. For CC1101 SYNC1[7] is MSB and will be sent first. Check SiLabs about what is MSB and LSB to se if anything needs to be inverted

      //enable FIFO mode and GFSK modulation
        SPIWriteReg(0x71, 0x23);
      

    CC1101: FIFO mode: PKTCTRL0.pkt_format=0 

    CC1101: GFSK: MDMCFG2.mod_format=1

    I haven't looked too closely of the reg settings you have found for CC1101. If you have set put the correct numbers into Smart RF Studio and exported the numbers correctly the frequency, deviation etc should be correct.

    If you use CC1101 as receiver it is also possible to use the "RF device commands" in Studio to see what is ending up in the FIFO.



    --
    PS. Thank you for clicking  Verify Answer  if this answered your question!

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Richard Salin
    Posted by Richard Salin
    on Aug 17 2011 13:11 PM
    Intellectual320 points

    I've managed to get the SI4432 to throw an interrupt, but unfortunately the data is all wrong (the length is incorrect. Consistently 8, probably as it's the length of the last successful reception from another SI4432 though.) I can't get the CC1101 throw an interrupt at all when the SI is transmitting... I know it's a tricky situation to help in since there's a product of another brand involved. Unfortunately since these are already integrated in the existing solution the communication between the different brands is crucial. Any suggesttions how to proceed to solve the issue?

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • TER
    Posted by TER
    on Aug 17 2011 13:40 PM
    Mastermind21730 points

    Could you first check on a spectrum analyzer to see if the deviation on the SiLabs part is the same as on CC1101? I noticed earlier this summer that for one of our competitiors chips the deviation got different than what I would have thought. What is the potential volum for CC1101 in this case? If the case is interesting and if it is possible from your side one option could be to ship one of your existing cards to us so it's possible to get some hands on on it. It is possible to set up a offline communication by  requesting to be my friend on the forum if volum is not public information.   

    --
    PS. Thank you for clicking  Verify Answer  if this answered your question!

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Richard Salin
    Posted by Richard Salin
    on Aug 22 2011 08:39 AM
    Intellectual320 points

    Hello

    Sorry for the delay, I've been busy with another urgent project.

    Our own volumes are not great, our company does product development for other companies so we only manufacture prototypes.
    I can't speak nor mention our customers, but they might produce higher volumes of products.

    One more question, what is the default sync word? That is, if it's not changed by setting the registries that control it.

    Br

    RIchard

     

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • TER
    Posted by TER
    on Aug 22 2011 09:40 AM
    Mastermind21730 points

    The default sync word on CC1101 is 0xD391 set by the SYNC1 and SYNC0 register. 

    Note that the setting in MDMCFG2.SYNC_MODE sets if this sync word is repeated or not. If you send a 4byte sync word with the SiLabs you have to set SYNC_MODE=1 or 2 (5 or 6)

    SYNC_MODE description:

    Combined sync-word qualifier mode. The values 0 (000) and 4 (100) disables preamble and sync word transmission in TX and preamble and sync word detection in RX. The values 1 (001), 2 (010), 5 (101) and 6 (110) enables 16-bit sync word transmission in TX and 16-bits sync word detection in RX. Only 15 of 16 bits need to match in RX when using setting 1 (001) or 5 (101). The values 3 (011) and 7 (111) enables repeated sync word transmission in TX and 32-bits sync word detection in RX (only 30 of 32 bits need to match).

    Values:

    0 : No preamble/sync
    1 : 15/16 sync word bits detected
    2 : 16/16 sync word bits detected
    3 : 30/32 sync word bits detected
    4 : No preamble/sync, carrier-sense above threshold
    5 : 15/16 + carrier-sense above threshold
    6 : 16/16 + carrier-sense above threshold
    7 : 30/32 + carrier-sense above threshold

    --
    PS. Thank you for clicking  Verify Answer  if this answered your question!

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mr Tea
    Posted by Mr Tea
    on Aug 07 2012 06:19 AM
    Mastermind0 points

    hi Richard

    i'm now working on the same thing (just for hobby project) trying to use a CC1101 to act as Receiver-only , with the remote Transmitter being a Si4432

    i use very low data rate ... i got the RF carrier to be detected , but wrong data for now ...

    may i ask did you achieve anything on this project ? Thanks

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use