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.

Trouble porting Bluetopia to MSP430F5529 Launchpad

Other Parts Discussed in Thread: MSP430F5529, CC2564MODNEM, CC2564, MSP-EXP430F5529LP, CC2650STK

Hello,


I am attempting to get the SPPLEDemo_lite running on my setup.  I am using IAR and the provided workspace for the demo. 

My hardware setup is an MSP430F5529 launchpad with an EM adapter booster pack and a cc2564MODNEM evaluation board.  The crystal on the EM adapter booster pack is not populated, and the slow clock pin from the cc2564MODNEM is pulled out (but not connected to the aclk of the lauchpad) because the cc2564MODNEM has an internal clock. 

Currently I can debug the application and get a value of -4 (HCI_INITIALIZATION_ERROR) when I get to the BSC_Initialize() step of setting up the application.  I traced the wires from the cc2564 to the launchpad:

cc2564 pin | MODNEM pin | EM booster pin | LP pin
nSHUTDOWN << RF2 19    << GPIO5         << P4.1 GPIO
HCI_RTS   >> RF2 18    >> GPIO3         >> P8.1 GPIO (Bluetopia CTS pin)
HCI_CTS   << RF1 3     << GPIO4         << P2.3 GPIO (Bluetopia RTS pin)
HCI_TX    >> RF1 9     >> TX            >> P3.4 UCA0RXD (Bluetopia RX)
HCI_RX    << RF1 7     << RX            << P3.3 UCA0TXD (Bluetopia TX)

I thought that the RTS and CTS ins might have been switched on the boosterpack because P8.1 doesn't have an interrupt controller so I tried switching them with a few wires.  This results in a seemingly endless loop of CTS interrupts firing off, so I'm not sure if that is the problem.  The only file I have changed is the HRDWCFG.h file for the MSP430F5529EXP board from the vanilla SPPLEDemo_lite, which I have attached. 

Any help would be appreciated, I am at a loss as to why this is not running correctly. 

Thanks in advance,

Seth Rickard

4812.HRDWCFG.h

  • Hi,

    Can you please verify proper power up sequence - processors.wiki.ti.com/.../CC256x_Testing_Guide
    Does the HCI_RTS go low (~100 mS) after BT_EN high?

    Regards,
    Gigi Joseph.
  • Hi,

    I can see the RTS line from the cc2564 go low about 100ms after nRESET is brought high.  Then about 100ms after that it looks like the msp tries to start sending data, but then all my signals turn to noise. 

    All the pins to the cc2564 are floating except vcc, gnd, nRST, TX, RX, RTS, CTS.  Could this be an issue with one of the other pins not being held to ground? like the audio fast clock for instance. 

    Could it be the debugger interfering with the uart?  I am breaking the program to see the output of a few functions. 


    Thanks,

    Seth

  • Seth,

    I would recommend checking the availability and stability of the clocks (slow and fast) and power supplies (VIO and VDD).

    ~Miguel
  • I probed all the available pins on the debug header of the cc2564modnem.  

    I saw the msp try and send it's first 3 characters; 1 (Start Of Header), 3 (End Transmission), 0 (NULL) and then the cc2564 try and respond, but I couldn't read any useful characters. 

    I got a decent picture of a few of the pins when the signals seem to become unreadable.  As far as I can tell this happens to all of the signals on the board. 

    in the picture below; Yellow = nRST, Green = RTS, Blue = RX, Red = Slow Clock. 

    It looks like the cc2564 loses connection to ground and vcc, like I removed the grounding clip on the oscilloscope.  The slow clock is run on the internal clock and I was probing the pin on the oscillator.  I'm not sure if one of the level shifters or other component on the modnem board is bad.  None of the components are visually damaged. 

    I have not used any of the audio inputs to the cc2564, so I don't have a fast clock connected.  I tried pulling all of those pins down to ground and that didn't work. 

    While I was probing the debug tx I noticed that it looked like a uart waveform, so I assumed it was 8 data bits 1 stop bit and no parity bit. 

    S 1 2 3 4 5 6 7 8 ST | value | ASII

    0 0 0 1 1 0 0 0 0 1  |    12 | FF (form feed)

    0 0 1 1 1 1 1 1 0 1  |   126 | '~'

    0 0 0 1 0 0 0 0 0 1  |     4 | EOT (end of transmission)

    0 1 1 0 1 0 0 0 0 1  |    11 | VT (vertical tab)

    0 0 1 0 0 1 0 1 0 1  |    82 | 'R'

    0 0 1 1 1 0 0 0 0 1  |    14 | SO (Shift Out)

    0 1 0 0 0 0 0 0 0 1  |     1 | SOH (start of heading)

    0 1 1 0 1 0 0 0 0 1  |    11 | VT (vertical tab)

    0 1 0 1 0 1 0 0 0 1  |    21 | NAK

    0 1 0 1 0 0 0 0 0 1  |     5 | ENQ (enquiry)

    0 0 0 1 1 0 0 0 0 1  |    12 | FF (form feed)

    0 0 0 0 1 1 1 0 1 1  |   184 | ???

    0 0 0 1 1 0 0 0 0 1  |    12 | FF (form feed)

    0 0 0 0 0 0 0 0 0 1  |     0 | NULL

     

    I couldn't find any information online about these debug codes.  I doubt that they will be of any use to anyone, but I spent the time writing them down, so there they are. 

     

    Thanks,

    Seth

  • Hi Seth,
    I'm a beginner looking for answers and I found this post because, by chance, I'm using the same hardware as yourself.
    I was wondering what changes to the SPPLE Demo Lite App were necessary to make it compatible with the MSP-EXP430F5529LP and CC2564MODNEM? I am using the MSP430F5529 Launchpad kit with the SimpleLink CC2564MODEM board connected via an EM Adapter BoosterPack. I want to later connect this to three CC2650STK SensorTags and stack a motor driver booster pack on top of the Launchpad.

    I am using the IAR IDE and the SPPLE Demo Lite App downloads and debugs correctly, however, after I power the board again I end up with a flashing LED telling me an error has occurred in MainThread. To get the LED at P4.7 to flash I had to change the HAL.c file and I also changed HRDWCFG.h as suggested in the "Hardware Porting Guidelines.pdf" but I'm not sure if I have done this correctly and I believe I will need to change these files more extensively.

    Lastly, assuming I can get it working, where do I insert my own code that will carry out what I want to do?

    Any assistance would be greatly appreciated, thanks for your time!

    Mark
  • Seth,

    The fast clock must be supplied to the CC256x during all times if it is on. Regarding the TX DBG pin, please refer to the following link:

    processors.wiki.ti.com/.../CC256x_Logger_User_Guide

    Regards,
    Miguel
  • Miguel,

    I cannot find the fast clock on the cc2564modnem board. The two pins labeled clk on the em connector, the edge connector, and the debug header are the slow_clock and the aud_clk.

    on the msp430f5529exp board there is no connection to the aud_clk pin. I cannot find XTALM or XTALP anywhere on the board, as a test point or otherwise. I could not find a 26MHz clock anywhere on the exp board either.

    I believe you that I need to supply a 26MHz clock, I just don't have any idea where to.

    Thanks for all the help,
    Seth Rickard
  • So the good news is that I ordered another cc2564modnem board and the new board isn't showing the drop in voltage that the old one was.  I think that problem was something inside the chip was shorting a connection.  

    Anyway, after hotwiring some of the pins between the msp and the cc2564 (because not all gpios were created equal) I am able to see a transaction between the microcontroller and the bluetooth controller.  However, the Bluetopia stack is still not being initialized correctly.  From the function

    Result = BSC_Initialize(HCI_DriverInformation, 0);

    I am still getting a value of -4.  Which as far as I can tell is just "HCI initialization failure".  Since the function is compiled up into a library I cannot find exactly why it is failing. 

    Is there some major difference between the msp430f5529lp launch pad and the msp430f5529exp experimenter board that I am missing? 
    Is the launch pad not able to supply enough current to the bluetooth module?


    Thanks for all the help so far,

    Seth

  • I tried using the micro usb on the rf evaluation board to supply more power to the cc2564. I thought that maybe my laptop couldn't supply enough amperage to the launch pad. I saw no change in the bluetooth stack. I still get a -4 from the initialization function.

    I am about ready to just breakdown and buy one of the 5529 experimenter boards. I would rather get the launch pad to work, but I think it has frustrated me enough.

    Seth
  • Hi Seth,
    Did you reach a conclusion with this?
    Personally I get an error in the function OpenStack() that prevents the proper initialisation of the board and I still have no solution as yet.

    Kind regards,

    Mark
  • Hey Mark,

    I couldn't find a good reason my setup wasn't working. I had wired from the booster pack to the launchpad with jumper wires, because I had to reroute the cts pin to a gpio that supported interrupts. I thought that I had connected all of the pins of the cc2564 to the right ones on the msp, but I must have missed something. I could see the chips transacting data when I scoped the TX and RX pins, but I don't have an elegant way of understanding the hci packets. And I cannot debug into the compiled bluetopia library, so I cannot see what is being sent or received, nor can I see where the error is presenting itself.

    If you look at the OpenStack() function you will see that it calls BSC_Initialize(), which is where the `-4` return value comes from. But that is as far down the stack call you can go without the bluetopia source.

    At this point I have spent too much time trying to get this to work, so I just found $175 in my budget and bought the msp430f5438exp board.

    Seth
  • Hey Mark,

    I have a new experimenter board (msp-exp430f5438a) and have the spp demo up and running. While trying to get that board working I stumbled across this post:

    e2e.ti.com/.../1125517

    which says that you have to add the line `#define __SUPPORT_CC256XB_PATCH__` to the BTPSVEND.c to support the service pack. I had to do this to get my cc2564modnem to work with the experimenter board. Eventually I might try and get this working with the msp430f5529 launchpad, but my license on IAR has run it's course.

    Hope that helps,
    Seth