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.

Interfacing TM4C123G with CC256x QFN

Other Parts Discussed in Thread: CC256XM4BTBLESW, EK-TM4C123GXL

I am trying to run the cc256x msp430 Bluetopia Basic SSPDemo app on a TM4C123G Launchpad with CC256x QFN EM Board. In interfacing the CC256 to the to the TM4C123g I follow the info in HALCFG.h:

 

/* Function Port/Pin */

/* -------- -------- */

/* RX PC4 */

/* TX PC5 */

/* RTS PF0 */

/* CTS PF1 */

/* RESET PF2

 

The program compiles and loads but I get no output on teraterm when I reset the board as instructed.

 

I am wondering about the SLOW_CLK_IN line to the cc256x. Should I be providing this from some source on the TM4C123?

Thank you.

 

 

 

 

  • Hi,

    Why do you want to use Bluetopia release for MSP430 on TivaC. 

    When there is a Bluetopia release for Tiva C CC256XM4BTBLESW(Stonestreet One BT+ BLE Stack on Tiva) version 1.1

    See http://www.ti.com/tool/stonestreetone-bt-sdk

  • Hi Frank,

    Yes, the CC256x requires a 32.768KHz slow clock, please check the DS. Make sure that it is populated on your board.

  • Hi Zahid,

    Yes I am using a Tiva C series Launchpad and on the schematic (EK-TMC123GXL RevA.sch - sheet 2 of 3 ) Y1 is indicated as the 32.768kHz Osc and I can see the component on my board. My question is how do I (physically) get this to pin 5 of connector RF1 on the cc256x QFN EM? As mentioned in my first post, I can see that the other needed signals are set up in the HALCFG.h file to go through certain GPIO pins of the Tiva C board but I do not see anything in the code about the clock signal. Thanks for any help you can provide.

    Frank T.

  • Hi Frank,

    Which boosterpack are you using? I have used the sensorhub boosterpack: http://www.ti.com/tool/boostxl-senshub

    with the slow clock osc populated.

     

    Let me know if you are still having issues.

  • Hello Zahid,

    OK I purchased the sensorhub booster pack and changed the I/o pins in the code to match the ones on the booster pack that go to the BT card. I can now communicate with the terminal emulator but get the following output when I run the code:

    Openstack().

    Stack Init Failed: -4.

    Unable to open the stack.

    I've attached a screen shot.

    Any suggestions?

  • Hi,

    It still looks to me like your UART is not configured correctly.

    also see http://e2e.ti.com/support/wireless_connectivity/f/660/p/329725/1160331.aspx

  • Hi,

    It looks like your UART is not configured correctly.

    See the first three steps from http://processors.wiki.ti.com/index.php/CC256x_Testing_Guide

  • Hi,

    Here is how I have modified HALCFG.h to accommodate the pin-out on the Launch Pad headers:

       /* Define the UART peripheral that is used for the Bluetooth         */

       /* interface.                                                        */

       /* * NOTE * At this time, only UART1 can be used because it supports */

       /*          hardware flow control.                                   */

    #define HCI_UART_BASE                                    UART1_BASE

    #define HCI_UART_INT                                      INT_UART1

    #define HCI_UART_PERIPH                         SYSCTL_PERIPH_UART1

     

       /* Define the GPIO ports and pins that are used for the UART RX/TX   */

       /* signals.                                                          */

       /* * NOTE * See gpio.h for possible values for HCI_PIN_CONFIGURE_    */

       /*          macros.                                                  */

    //#define HCI_UART_GPIO_PERIPH                    SYSCTL_PERIPH_GPIOC

    //#define HCI_UART_GPIO_BASE                          GPIO_PORTC_BASE

    //#define HCI_UART_PIN_RX                                  GPIO_PIN_4

    //#define HCI_UART_PIN_TX                                  GPIO_PIN_5

    //#define HCI_PIN_CONFIGURE_UART_RX                     GPIO_PC4_U1RX

    //#define HCI_PIN_CONFIGURE_UART_TX                     GPIO_PC5_U1TX

     

    #define HCI_UART_GPIO_PERIPH                    SYSCTL_PERIPH_GPIOB

    #define HCI_UART_GPIO_BASE                          GPIO_PORTB_BASE

    #define HCI_UART_PIN_RX                                  GPIO_PIN_0

    #define HCI_UART_PIN_TX                                  GPIO_PIN_1

    #define HCI_PIN_CONFIGURE_UART_RX                     GPIO_PB0_U1RX

    #define HCI_PIN_CONFIGURE_UART_TX                     GPIO_PB1_U1TX

     

       /* Define the GPIO ports and pins that are used for the UART RTS     */

       /* signal.                                                           */

    //#define HCI_UART_RTS_GPIO_PERIPH                SYSCTL_PERIPH_GPIOF

    //#define HCI_UART_RTS_GPIO_BASE                      GPIO_PORTF_BASE

    //#define HCI_UART_PIN_RTS                                 GPIO_PIN_0

    //#define HCI_PIN_CONFIGURE_UART_RTS                   GPIO_PF0_U1RTS

     

    #define HCI_UART_RTS_GPIO_PERIPH                SYSCTL_PERIPH_GPIOC

    #define HCI_UART_RTS_GPIO_BASE                      GPIO_PORTC_BASE

    #define HCI_UART_PIN_RTS                                 GPIO_PIN_4

    #define HCI_PIN_CONFIGURE_UART_RTS                   GPIO_PC4_U1RTS

     

       /* Define the GPIO ports and pins that are used for the UART CTS     */

       /* signal.                                                           */

    //#define HCI_UART_CTS_GPIO_PERIPH                SYSCTL_PERIPH_GPIOF

    //#define HCI_UART_CTS_GPIO_BASE                      GPIO_PORTF_BASE

    //#define HCI_UART_PIN_CTS                                 GPIO_PIN_1

    //#define HCI_PIN_CONFIGURE_UART_CTS                   GPIO_PF1_U1CTS

     

    #define HCI_UART_CTS_GPIO_PERIPH                SYSCTL_PERIPH_GPIOC

    #define HCI_UART_CTS_GPIO_BASE                      GPIO_PORTC_BASE

    #define HCI_UART_PIN_CTS                                 GPIO_PIN_5

    #define HCI_PIN_CONFIGURE_UART_CTS                   GPIO_PC5_U1CTS

     

       /* Define the GPIO ports and pins that are used for the Bluetooth    */

       /* RESET signal.                                                     */

    //#define HCI_RESET_PERIPH                        SYSCTL_PERIPH_GPIOF

    //#define HCI_RESET_BASE                              GPIO_PORTF_BASE

    //#define HCI_RESET_PIN                                    GPIO_PIN_2

     

    #define HCI_RESET_PERIPH                        SYSCTL_PERIPH_GPIOC

    #define HCI_RESET_BASE                              GPIO_PORTC_BASE

    #define HCI_RESET_PIN                                    GPIO_PIN_7

     

    #endif

     I also modified the LED0 pin definition in HALCFG.c to match the blue LED on the Launch pad as shown below:

    //#define LED_PORT_0_BASE                                  (GPIO_PORTG_BASE)

    //#define LED_PORT_0_PIN                                        (GPIO_PIN_2)

    #define LED_PORT_0_BASE                                  (GPIO_PORTF_BASE)

    #define LED_PORT_0_PIN                                        (GPIO_PIN_2)

    This seems to be working as the blue led blinks when the code is running but I still get the Stack Init Failed: -4

    error message. I don't really see any alternative for the UART configuration (if you mean the pin assignment from the LaunchPad). If I am missing anything please let me know as I am loath to start breaking out the oscilloscope and logic analyzer unless really necessary. Thanks! 

     

     

  • Hi,

    Please check the datasheet of the respective TIVAC launchpad. OR post it on the TIva C forum to see if you are using the correct pins.

    Is the BT_EN going high? and your RTS going low? 

    As an experiment you can try downloading the Release version instead of Debug version and see if you are bring it up.

  • Hi Sundeep,

    Thank you for help. I am trying to use the EK-TM4C123GXL Launchpad with a BOSTXL-SENSHUB BoosterPack with a CC256x QFN EM Bluetooth board. I do not see any reference to a BT_EN pin in the CC256x QFN EM User Guide. I do see an input labeled nSHUTD, (pin 19 of connector RF2) - is that what you mean? This pin (19 of RF2 is labeled RF_SHUTDN (bar over SHUTDN) on the BoosterPack and would appear to come from pin 6 on J4 of the Launchpad Headers (hard wired to pin PC6 of the Launchpad). This is one of the confusing points as the HALCFG.h file contains references to pin connections for RX, TX, CTS, RTS and then one called RESET. By RESET do they mean nSHUTD? Thank you for any help you can provide.

    Frank

  • Hi Frank,

    Yes I was referring to the nSHUTDOWN(nSHUTD) pin. This should be high.

    See first three steps from http://processors.wiki.ti.com/index.php/CC256x_Testing_Guide

  • Just to close this out, I was finally able to get to the expected result by ordering a TM4C123G board and replacing  a defective CC256x BT module. It seems that trying to use the Launchpad board (even with booster pack) is problematic (need to route/supply the 32.768 kHz clock?) whereas using the TM4C123G works out of the box provided one has a good CC256X module.