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.

MSP430 Audio Sink Reference Design

Other Parts Discussed in Thread: MSP430F5229, MSP430F5438, CC2564, TAS2505, MSP430F5529, MSP430F5438A, CC3100, CC2540

Hi,

My question is related to the Stonestreet One Bluetooth stack.

1) What firmware is running on this board as factory? It seems as though the A3DP demo profile needs 148kb of memory, which is more than what the MSP430F5229 can handle...

2) Is the answer to 1) the reason why this board will only handle low quality audio? I'd like to utilize the same design with a different MSP430 chip (MSP430F5438) to allow high quality audio (44kHZ, 16 bit). Will I run into issues?

3) If using a digital input speaker amplifier (like a TAS2505), is it better to send the PCM data to the amplifier from the CC2564 or from the MSP430? Does it matter? I'd prefer to do it from the CC2564...

Thanks!

Daniel

 

 

 

  • Hi Daniel,

    Could you please let me know how are you getting 148kb?

    Mind that you need to use IAR for A3DP demo.

    Please see below what it takes for MSP430F5529(Debug - A3DP SNK Board)

    120 764 bytes of CODE memory
    7 735 bytes of DATA memory (+ 105 absolute )
    7 288 bytes of CONST memory

    and yes you can use this demo for MSP430F5438A(just select the Debug - MSP430F5438A  Exp in the workspace tab)

    If you are using CC2564B you can route the Audio data from the CC2564B.

    see http://processors.wiki.ti.com/index.php/CC256x_Audio_Sink_User_Guide

  • oops, I'm not sure why I wrote 148KB, I meant to write ~134KB but I'm still confused because the datasheet lists the MSP430F5229 as only having 128KB of memory... how can the A3DP demo be loaded onto this chip?

    also, is there any reason why 44KHz sample rate and 16 bit audio can't be enabled within the A3DP demo settings?

    thanks,

    Daniel

  • Hi Daniel,

    I hope the below answers your question

    -- 128 KB Flash memory > Code storage (code + const memory)
    -- 8 KB RAM (+2 KB RAM associated with USB) > Data storage(data memory).

    where did you get this information?, have you check the datasheets?

  • I have the same problem, flash is not enough.

    Hardware: MSP430F5229  + CC2564B     Demo Borad

    Software:Bluepia for MSP430  V1.4 R2

    C:\ti\Connectivity\CC256X BT\CC256x MSP430 Bluetopia SDK\v1.4 R2\MSP430_Experimentor\Samples\A3DPDemo_SNK\Projects\IAR

    Tools: IAR for MSP430 Version: V6.10.1

    Make result:

    Error[e104]: Failed to fit all segments into specified ranges. Problem discovered in segment CODE. Unable to place 209 block(s) (0x1ea5e byte(s) total) in 0x1dfea byte(s) of memory. The problem occurred while processing the segment 
    placement command "-P(CODE)CODE=4400-FF7F,10000-243FF", where at the moment of placement the available memory ranges were "CODE:6396-ff7f,CODE:10000-243ff" 
    Error while running Linker

     

    0x1ea5e byte -- 122KB         0x1dfea byte(s) -- 119KB

     

    Why the flash is not enough?  Thanks

  • Excuse me,  I have seveal questions as follows. Please help to solve.  Thanks a lot.

     

      1.   How do android mobile get the IP of Smart Switch by wifi network at first time.   

      2.   Can android mobile broadcast its IP to Smart Switch. 

      3.   What is the interface , and android mobile can use the interface to broadcast its IP to other wifi device.

      4.  Which control string can CC3100 identify.   and what is the control string for example power on or power off the light.

     

    Thanks a lot.

  • The Audio Sink Reference Design uses an MSP430 and CC256x.  

    So there are two sets of code to maintain: the CC256x and MSP430.  Is the eval board code that runs on the CC256x designed to be used as it, as an image file, without modification?  Is there a specification for the serial interface commands?  If the application is simple, do some developers use the CC256x for Bluetooth and as the controller for their system?  

  • Hi,

    > Yes, the CC256x firmware code is provided as a binary, and is designed to be run as is.
    > Please take a look at: processors.wiki.ti.com/index.php
    > Not sure I understood the question, can you please clarify?

    Regards,
    Gigi Joseph.
  • Joseph Gigi said:
    Yes, the CC256x firmware code is provided as a binary, and is designed to be run as is.

    I have a used the BLE chip CC2540 in the past.  For that chip you provided the stack, but software development was required to use it.  You could put some minimal application functionality in the processor in the CC2540, although running the stack and an application could be tricky.  If you just wanted to get data from a BLE device to a separate application processor, you had to write a serial interface for hte CC2540.

    My understanding is with this chip (which is for Bluetooth, not BLE), the stack plus the interface to your application processor is already done.  You can load the image from TI onto the chip and control it using serial commands shown in the examples shown in the wiki using a PC terminal emmulator.  Our application processor can use those same commands.

  • Hi,

    1. The CC256x device is dual mode (BT Classic + BLE)
    2. The BT stack that runs on the MCU interacts with the CC256x controller via the HCI protocol (defined in the BT spec)
    3. You can load the sample apps on the MCU, and control the apps via commands from the PC terminal emulator.
    4. The sample apps internally takes care of loading the firmware on the CC256x device.

    Regards,
    Gigi Joseph.
  • Thanks your help.  I understood this except for these points.

    Joseph Gigi said:

    The BT stack that runs on the MCU interacts with the CC256x controller via the HCI protocol (defined in the BT spec)

    Does this mean the upper levels of the stack run on a separate MCU.  Everything HCI and below runs on CC256x?  Are the there images available for both of them?  

    Joseph Gigi said:

    You can load the sample apps on the MCU, and control the apps via commands from the PC terminal emulator.

    Are you saying you load the apps on the MSP430 processor and it can communicate with the processor inside the CC256x using the same serial commands you can test with the PC terminal emulator? 

  • Charles Gervasi said:
    Does this mean the upper levels of the stack run on a separate MCU.  Everything HCI and below runs on CC256x?  Are the there images available for both of them?  

    I've been looking at this further, and I think the CC256x runs the HCI and everything below it on the stack.  The MSP430 runs the user's application.  So in this case there is an image available for CC256x that you can use with no software to maintain.  The developer writes the code for the MSP430 and includes the higher level of the stack in the code.  You can test which commands to send to the HCI, which runs on the CC256x, by configuring the MSP430 as a USB-to-serial bridge.  Are there software tools from TI to handle to higher layers of the stack?  

  • Hi,

    The CC256x runs the HCI Controller and everything down. The MSP430 runs the HCI Host and everything up. The TI Bluetooth stack exposes APIs for the applications to use. The stack and application runs on the MSP430. There are a number of sample applications provided to get familiarised with the APIs. The stack during it's init will also ensure that the firmware to CC256x is downloaded.

    The best place to start would be processors.wiki.ti.com/.../CC256x where there are a number of articles.

    Regards,
    Gigi Joseph.