Interfacing the MSP430 with a DSP Application

Application Report
SLLA174 – February 2005
Interfacing the MSP430 With a DSP Application
Randy Wu
....................................................................................................... AEC MSP430 Products
ABSTRACT
The MSP430 is typically used in applications such as metering, intelligent sensing,
control systems and portable instrumentation. In some systems, the microcontroller
may need to interface to an external device such as a DSP co-processor to handle
digital signal processing-intensive calculations and operations. This application note
describes and provides a complete hardware and software reference design which
includes frameworks running on both the MSP430 and DSP, as well as incorporating
Inter Processor Communication (IPC) drivers to implement a simple message-passing
scheme between the two processors. A Digital Audio Player is shown as an example.
Supplied with this application note are complete reference frameworks for the MSP430
and DSP which can both be run out of the box and then subsequently adapted for other
real-world system designs. The complete projects and source code are provided as
separate packages for both the MSP430 and TMS320 platforms.
Contents
1
Introduction .......................................................................................... 2
2
Exercising the MSP430 Hardware User Interface .............................................. 3
3
The MSP430-Side Reference Framework ...................................................... 3
4
The DSP-Side Reference Framework ........................................................... 5
5
Conclusion ........................................................................................... 6
6
References .......................................................................................... 6
Appendix A
Connecting UART, DSP, and MSP430 Development Boards ...................... 7
Appendix B
TMS320VC5510 Software UART Driver via McBSP ................................. 9
Appendix C Connecting the MSP430 to the C5510 Enhanced HPI (EHPI) .................... 10
Appendix D Creating a Stand-Alone Embedded System Using FlashBurn™ ................. 13
List of Figures
1
2
C-1
Hardware Connections and System Block Diagram ........................................... 3
Message Passing using MSP430 and DSP UART Link ....................................... 5
MSP LINK Using DSP Enhanced Host Port Interface (EHPI) .............................. 10
List of Tables
1
C-1
C-2
C-3
D-1
Responsibilities of the MSP430 and DSP ....................................................... 2
Pin Connections Between ES449 and DSK5510 ............................................. 11
Pull-Down Resistors for DSK5510 EHPI ....................................................... 11
Internal Connections for DSK5510 HPI in Multiplexed Mode ............................... 11
File and Directory Names for Restoring the C5510DSK’s POST Flash Program ........ 14
TMS320VC5510, eXpressDSP, DSP/BIOS are trademarks of Texas Instruments.
Salvo is a trademark of Pumpkin, Inc.
SLLA174 – February 2005
Interfacing the MSP430 With a DSP Application
1
www.ti.com
Introduction
1
Introduction
In this reference design, an Audio Player has been developed as a sample application to demonstrate
user and system control maintained by the MSP430 while the DSP applies a volume control algorithm to
an audio input stream and produces a stereo audio output to the outside world.
In terms of real-world applications, the tasks handled by the MSP430 and TMS320 can be divided as
shown in Table 1.
Table 1. Responsibilities of the MSP430 and DSP
MSP430 MICROCONTROLLER
Possible User Interface Functions:
TMS320 DSP
Potential Signal Processing Functions:
• Button decoding
• Audio Encoding, Decoding, Enhancement, Filtering, Special Effects
• LCD Display
• Stereo playback via D/A Converters
• Temperature sensing
• Speech Recognition and Synthesis
• Low battery detection
In order for both devices to work in harmony, there must be some form of Inter Processor Communication
(IPC) between the two devices during real-time operation of the system. For this reference design, a
UART serial link between the two processors is used for sending data back and forth. The DSP can
process each message in real-time and carry out the commands of each message sent by the MSP430. In
this application note, this UART-based device driver will be referred to as MSP Link. Other alternatives for
the physical connection between the MSP430 and DSP are discussed in the Appendices.
The source code is written in C language to provide portability, readability, maintainability, and reusability.
The device driver itself is packaged in a modular style so that it can be easily reused in applications
requiring a UART-based serial link between the MSP430 and a TMS320 DSP.
Two reference frameworks are provided as an example to demonstrate how the device driver on each end
is used in an MSP430+DSP system. A TMS320C5510™ DSP Starter Kit from Spectrum Digital for the
DSP hardware and an ES449 demo board from SoftBaugh for the MSP430 hardware are used for this
example application. This allows the system developer to get started quickly.
The following hardware components must be obtained to run the featured project:
• Spectrum Digital TMS320VC5510™ DSP Starter Kit (DSK)
• DSPGlobal IS-232 UART RS232/422 Daughtercard (plugs directly onto TI DSK’s) with a standard
(straight-through) DB-9 Serial Cable
• SoftBaugh ES449 Demo Board
• MSP430 Flash Emulation Tool (FET) or equivalent JTAG Emulator
• A stereo output device with 3,5 mm input connector example: Dual PC speakers or headphones
• Audio input source for DSK board example: Host PC playing MP3/WAV/MIDI file with soundcard
output, CD player, portable MP3 player, etc.
The detailed procedure on how to connect the various hardware components can be found in Appendix A.
In addition to describing the hardware UART configuration which involves connecting the 3 boards (UART,
MSP430, DSP) together, two other interprocessor connections are discussed in the subsequent
Appendices. In summary, this application note discusses 3 configurations:
1. MSP430 USART ←→ Hardware UART ←→ TMS320 DSP External Memory Interface (EMIF) [
Appendix A]
2. MSP430 USART ←→ TMS320 DSP MultiChannel Buffered Serial Port (McBSP) emulating a Software
UART [ Appendix B]
3. MSP430 GPIO ←→ TMS320 DSP Enhanced Host Port Interface (EHPI) [ Appendix C]
2
Interfacing the MSP430 With a DSP Application
SLLA174 – February 2005
www.ti.com
Exercising the MSP430 Hardware User Interface
Note:
Complete projects are provided with this application note for Configurations 1 and 2.
Sample source code is provided for Configuration #3, in addition, the sample project
provided for the MSP430 USART will need to be modified accordingly. Refer to the
respective Appendix for additional detailed descriptions for each configuration.
2
Exercising the MSP430 Hardware User Interface
Once both the DSP and MSP430 applications are up and running on their respective development boards,
the user can use both pushbutton switches (SW1 and SW2) on the ES449 demo board to control the
Audio Player and get feedback on the operating parameters of the system, such as the current
temperature, the current volume setting, and the audio filter ON/OFF/MUTE status of the audio output
stream. The LCD display is refreshed periodically with the current temperature reading as well as the
currently selected volume level. At reset, both boards will be initialized for a volume setting of 0, so be
sure to increase the volume of the system by repeatedly pressing the SW2 button on the ES449 demo
board, and be sure to select filter ON/OFF mode (volume must be greater than ‘00’) by pressing the SW1
and SW2 buttons on the ES449 demo board, respectively. Using SW1 to select ON will enable the FIR
filter while OFF disables FIR filtering; when MUTE is selected, the volume will be set to 0 on the DSP.
RS232
TMS320VC5510 DSK
ES449 Evaluation Board
Daughter
TMS320VC5510
AIC23
CPU
Interface
MSP430F449
Card
EMIF
UART
UART
USART0
CPU
McBSP
DMA
DAC
ADC
Audio
Audio
In
Out
P2.0 & P2.2
SW 1
SW 2
Figure 1. Hardware Connections and System Block Diagram
3
The MSP430-Side Reference Framework
3.1
MSP430 Real-Time Operating System: Salvo™ O.S.
The MSP430-side framework is based upon and built on top of the Salvo™ Real-Time O.S. provided by a
TI Third Party, Pumpkin Inc. Salvo™ is a Real-Time Operating System (RTOS) designed expressly for
very-low-cost embedded systems. Typical applications use 1-2K ROM and 50–100 bytes of RAM. More
detailed information can be found at www.pumpkininc.com.
Note:
In order to rebuild the provided MSP430 sample project, first download the latest release
of the Salvo™ Demo Version directly from the Pumpkin Inc. website and install the
MSP430-specific build for the SalvoLite™ application. The main installation file should be
the latest executable file in the download area. Be sure to install the SalvoLite™ files to
the directory <C:\salvo> since the sample project will be expecting the required Salvo™
files to be there. Otherwise some of the Salvo-included files of the project must be
manually removed and added back into the project since the IAR Systems EW430 project
needs to know where the Salvo™ installation files reside.
SLLA174 – February 2005
Interfacing the MSP430 With a DSP Application
3
www.ti.com
The MSP430-Side Reference Framework
3.2
ES449 Demo Board LCD Device Drivers
A complete device driver layer for the ES449 demo board and SBLCDA2T configuration has been
provided as part of the MSP430-side reference framework. This highly modular and portable software
component was written completely in C to allow it to be reused in actual production software designs. The
es449_sblcda2t device driver provides the following APIs:
void LCD_init(void);
// Usage:
Needs to be called once during system initialization
// Parameters: none
void LCD_putChar(unsigned int val, unsigned char loc);
// Usage:
Display a character in any of the 7 main segments
// Parameters: val = character as defined in "es449_sblcda2t.h"
//
loc = segment number starting from left (1 to 7)
void LCD_putHex(unsigned char val, unsigned char loc);
// Usage:
Display a character in any of the 4 upper right-hand segments
// Parameters: val = character as defined in "es449_sblcda2t.h"
//
loc = segment number starting from left (1 to 4)
void LCD_putSTOP(void);
// Usage:
Display the word STOP in main segments 1-4
// Parameters: none
void LCD_putPLAY(void);
// Usage:
Display the word PLAY in main segments 1-4
// Parameters: none
void LCD_splashScreen(void);
// Usage:
Display the opening banner for the application
// Parameters: none
void LCD_displayTemperature(int temp);
// Usage:
Displays 2-digit temperature in degrees F
// Parameters: temp = any number from 0 to 99
void LCD_displayAccessories(void);
// Usage:
Rotate accessories as an example of animating the screen
// Parameters: none
char LCD_convertNumToCharFor12(char num);
// Usage:
converts decimal number to the corresponding character in "es449_sblcda2t.h"
// Parameters: num = any number from 0 to 9
3.3
MSP430 to TMS320 Inter Processor Communication MSP Link
There are a few options to physically connect the MSP430 with a DSP. One way would be for the DSP to
use its own MultiChannel Buffered Serial Port (McBSP) to emulate a software UART. Another way would
be to use the DSP’s Enhanced Host Port Interface (EHPI) to allow the MSP430 to read from and write to a
section of the DSP’s internal memory as shared mailboxes. The third way would be to connect a hardware
UART to the DSP’s External Memory Interface (EMIF) to establish a standard serial link to the MSP430’s
Universal Synchronous Asynchronous Transmitter Receiver (USART). The out-of-the-box project provided
with this application note implements the hardware UART method; the appendices will offer some
additional guidance to implementing the other 2 methods (software UART and EHPI).
The software component which handles the Inter Processor Communication is implemented as a device
driver that treats the DSP as an external device connected to the MSP430. See Figure 2 for the software
components which make up a basic message passing scheme by having the MSP430 write commands to
the DSP’s internal memory via the UART-based serial link. A small section of memory is allocated within
the DSP to act as a FIFO queue of message holders which contain the data written by the MSP430.
Should the DSP need to send messages back to the MSP430, the UART Interrupt Service Routine is set
up to send data back through the serial link as well. Each time a message is sent by either the MSP430 or
DSP, an interrupt is generated to alert the other device that a message has just been written to the serial
link. Each framework is then able to read the message in an Interrupt Service Routine where it can be
copied onto a queue and then subsequently processed by a task function within the RTOS.
For simplicity, the MSP430 Link device driver, out of the box, assumes that each message is 16 bits long
(two 8-bit characters). These 16 bits can then be packed into a message when received on the DSP side
using the following data structure defined in the “msplink_dsp.h” file:
4
Interfacing the MSP430 With a DSP Application
SLLA174 – February 2005
www.ti.com
The DSP-Side Reference Framework
typedef struct MSPLINK_Msg {
// standard message format
unsigned char cmd; // command code to be executed
unsigned char arg; // optional argument for the command
} MSPLINK_Msg;
Of course, it is up to the application designer to determine valid command codes and their respective
meanings and arguments. In the Audio Player example, simple commands consist of stop, play, and set
volume operations by treating the arg field as the current volume to be set. A stop command simply sets
the volume to 0, while the actual volume settings are sent to the DSP under the condition that the audio
mode is currently set for the play mode.
DSP/BIOS TSK
MSPLINK_process
[1] SEM_pend()
[2] QUE_get()
[3] process message
Salvo OS
SEM_post()
UART ISR
QUE_put()
Messages
for MSP430
UART data
buffers
Tasks,
Queues,
Event Flags
MSP430F449
BASELINE: eXpressDSP SW Reference Framework 3
Figure 2. Message Passing using MSP430 and DSP UART Link
3.4
MSP430 Internal Temperature Sensor
The MSP430F449 device contains a built-in temperature sensor integrated into the internal A/D converter.
This allows the Audio Player application to take periodic temperature readings and display the current
temperature value on the LCD display in the upper right-hand corner. Each time a temperature conversion
has completed, an interrupt is generated by the ADC12 module to the CPU. The ADC ISR reads the result
register and translates the value into a two-digit temperature reading in degrees Fahrenheit, and then
displays the value in the upper right-hand corner of the LCD display. The temperature reading is updated
constantly on the LCD.
3.5
User Interface Application Layer
The application consists of a task which periodically toggles an LED and another task which displays the
current temperature reading, starts another temperature conversion, and cycles the LCD display (if the
currently selected filter mode is set to ON or OFF to show audio activity). These tasks are created and
scheduled by the Salvo™ RTOS Scheduler which uses the MSP430’s Timer_A3 as the heartbeat of the
system.
The response to the SW1 and SW2 pushbutton presses is handled by a single port Interrupt Service
Routine which first decodes which button was pressed and then carries out the corresponding action.
SW1 toggles between stop and play operation by sending the appropriate command to the DSP while
updating the LCD screen and SW2 cycles through the volume setting numbers and updates the LCD as
well.
4
The DSP-Side Reference Framework
The main foundation for the DSP-side application was created directly from TI’s eXpressDSP™ Software
Reference Framework 3. For the complete details on the RF3 implementation, refer to the application note
Reference Frameworks for eXpressDSP Software: RF3, A Flexible, Multi-Channel, Multi-Algorithm, Static
System (SPRA793). The following sections describe the software components which were added to the
existing RF3 infrastructure after downloading it.
SLLA174 – February 2005
Interfacing the MSP430 With a DSP Application
5
www.ti.com
Conclusion
4.1
Additions to the Standard eXpressDSP™ Reference Framework 3
The baseline eXpressDSP™ RF3 application for the C5510DSK was modified to incorporate the extra
logic for the RS232 UART daughtercard serial link, as well as the extra layer of code which handles the
message passing and processing between the two processors. The subdirectory \devMSPLink contains
the extra C code that has been added to the standard RF3 baseline release. Since the MSP Link software
was written to be a reusable module, it can be easily ported to other projects.
4.2
MSP Link Driver Code (DSP Side)
The MSP Link driver code on the DSP-side is a modular, portable, and reusable software module that
should work with any TI DSK and DSPGlobal RS232 daughtercard combination. The DSP simply reads
each character which is received by the selected UART channel on the RS232 daughtercard. An interrupt
is generated each time a character is received by the UART from the MSP430’s on-board USART
(configured for UART operation).
When the DSP is ready to process the interrupt generated by the UART, the DSP executes an Interrupt
Service Routine to read the contents of the DSP Inbox and then creates a copy of the message by placing
the data message onto a DSP/BIOS™ QUE (queue) object. A DSP/BIOS™ TSK (task) is responsible for
processing the messages pulled off the queue in FIFO order. In this fashion, multiple data messages can
be saved and then processed in the correct order by using a single shared memory location for incoming
MSP430 messages.
5
Conclusion
The purpose of this application note is to provide the system designer a hardware and software template
for creating an application integrating the MSP430 as a host controller with a Digital Signal Processor.
Complete software reference frameworks for both the MSP430 microcontroller and TMS320 DSP families
have been provided to jump-start system software designs including a method for implementing Inter
Processor Communication (IPC) between the two devices.
6
References
1.
2.
3.
4.
5.
6
MSP430x4xx Family Users Guide (SLAU056)
MSP430x43x, MSP430x44x Mixed Signal Microcontroller (SLAS344)
Soft Baugh ES449 Demo Board Users Guide (www.softbaugh.com)
RS-232-C Serial Communication Daughter Cards Reference Manual (www.dspglobal.com)
Salvo User Guide & Compiler Reference Manual – IAR MSP430 C (www.pumpkininc.com)
Interfacing the MSP430 With a DSP Application
SLLA174 – February 2005
www.ti.com
Appendix A
Appendix A Connecting UART, DSP, and MSP430 Development Boards
This section describes how to set up the hardware platform to run the Hardware UART example which
comes with this application note. Both the MSP430 USART and DSP HW UART projects should run
without any additional software modifications, provided that all of the hardware connections are set up
properly.
1. As per the instructions that come with the DSPGlobal IS-232 UART daughtercard package, mate the
daughtercard with the C5510 and install the required jumper on the daughtercard for proper operation
specific to the C5510DSK by installing a wire jumper between E7 and E17 on the daughter card.
Check with the provided documentation to make sure this connection configuration is correct for
C5510DSK operation.
2. Connect the female end of the supplied DB-9 serial cable to Channel 1’s DB-9 serial port (marked DTE
Female) on the RS232 daughtercard. Connect the other (male) end of the cable to the DB-9 serial port
on the ES449 board. Ensure that the jumper settings on the ES449 board are configured for normal
USART0 operation (consult the ES449 technical reference manual).
3. The two user switches (SW1 and SW2) on the ES449 demo board are not wired to anything (initially
out of the box). In order to enable push button operation connect the jumpers J2-1 and J9-1 for SW1
and J2-3 and J10-3 for SW2.
A.1
Setting Up the DSP-side Development Board and Software
Note:
Procedure is based on using Code Composer Studio version 2.20 or above
1. Download the corresponding application note source code provided in the zip file along with this
application note and extract the files onto the PC that is used as the host development platform.
2. Connect the audio input source to the DSK board. An easy way to do this would be to connect a 3,5
mm audio cable between your PC’s speaker card output and the LINE IN jack of the DSK board. Use a
Windows-based application such as Windows Media Player to continuously stream an MP3/WMA/etc.
file into the DSK board for processing.
3. Connect the desired stereo output device to the LINEOUT jack of the C5510DSK board.
4. Set up the C5510DSK host-target platform and invoke Code Composer Studio (C5510 DSK CCS) as
per the Quick Start Guide that comes with the C5510DSK package. Make sure both the DSK and CCS
can be started without any communication errors.
5. From the CCS Toolbar, load the provided Workspace file for the sample application [File → Workspace
→ Load Workspace →app.wks].
6. Before proceeding with the next step, be sure to reset the CPU [Debug → Reset CPU].
7. Load the app.out [File → Load Program] executable (located in the \Debug subdirectory). The
absolute path to this file should be \ tms320vc5510 dsk_CCSv220_HWUART \ rf3 \ dsk5510 \ Debug”.
8. Verify that the input sound source is generating an audio stream to the DSK board, then run [Debug →
Run] the program. You will not hear any audio output from the DSK until you launch the MSP430-side
host application in the next section. At this point, just verify that audio is being fed into the DSK board
via its LINE IN jack, and that the DSP is currently running (refer to lower left-hand corner of the CCS
GUI and verify that the words CPU RUNNING are displayed).
Note:
Each time before loading the application to the target [File → Load Program], be sure to
reset the CPU first [Debug → Reset CPU]. Failure to reset the CPU before loading the
application executable will result in unpredictable behavior. Do not reset the CPU after
loading the application (doing so will wipe out the contents in RAM).
SLLA174 – February 2005
Connecting UART, DSP, and MSP430 Development Boards
7
www.ti.com
Setting Up the MSP430-side Development Board and Software
A.2
Setting Up the MSP430-side Development Board and Software
Note:
This procedure is based on the IAR Systems Embedded Workbench 430 V3 IDE.
1. Install the IAR Systems Embedded Workbench 430 IDE. A version can be downloaded from
www.ti.com/msp430. If you have not already done so, download the Salvo™ Demo Version and run
the installer to put the files into the default of C:\salvo”(see the Salvo™ O.S. section of this application
note for details on installing these files).
2. Using an MSP430-approved JTAG emulator, connect the ES449 demo board to the PC.
3. Launch EW430. From the EW430 IDE Toolbar, select [File → Open Workspace]. Navigate to the
subdirectory which contains the MSP430-based project (\
msp430_es449demo_IARv320_USART\src) within the top-level directory of the downloaded code.
Highlight the msp430f449_rf_iarV3.eww file and click on the Open button. This action will load the
provided workspace environment.
4. In the Project window, highlight the msp430f449_rf_iarV3 – Debug project name, right-click on it, and
then select Options. Click on the C-SPY Category, and be sure FET Debugger is displayed as the
Driver. Click the OK button.
5. From the EW430 Toolbar, select [Project → Debug]. This step will launch the C-SPY debugger and
then erase and program the MSP430 device with the demo program. If any errors are encountered,
troubleshoot and resolve the errors before continuing. Select [Debug → Go] to start the program.
6. At this point, the audio input stream to the DSK board should be heard through the speakers. The
audio filtering and volume control can be manipulated by pressing the buttons on the ES449 demo
board.
8
Connecting UART, DSP, and MSP430 Development Boards
SLLA174 – February 2005
www.ti.com
Appendix B
Appendix B TMS320VC5510 Software UART Driver via McBSP
In order to save on production Bill Of Material (BOM) costs, the hardware UART used on the DSP side
can be eliminated in favor of using one of the available high-speed, full-duplex Multi-Channel Buffered
Serial Ports (McBSP) on the DSP itself. A software UART driver can be used to emulate a hardware
UART using 3 pins on any of the available DSP McBSP’s.
The TMS320VC5510 DSP Starter Kit board has the AIC23 Stereo codec tied to McBSP1 and McBSP2 of
the DSP. Thus, McBSP0 can be used to emulate the hardware UART to facilitate the MSP Link
connection. A sample DSP-side Reference Framework has been provided which includes the Software
UART driver configured for use with McBSP0. The complete project is located in the directory
tms320vc5510dsk_CCSv220_SWUART.
Configuration of the Software UART module is achieved cleanly and easily by modifying the following
structure in the file uartmd_params.c of the supplied DSP-side project:
/* Device params setting for the C5510 DSK software UART driver
* The following tag needs to be -D defined in the linker build options */
#elif defined(_UARTHW_DSK5510_MCBSP_)
#define CHIP_5510
1
#include
#include
#include
#include
<uarthw_mcbsp.h>
<csl.h>
<csl_mcbsp.h>
<csl_dma.h>
/* This structure holds the McBSP parameters and is referenced by the
* device parameters structure.
*/
UARTHW_MCBSP_Params uartMcbspParams = {
MCBSP_PORT0,
/* mcbspId
*/
DMA_CHA1,
/* dmaRxId
*/
DMA_CHA2,
/* dmaTxId
*/
200000000,
/* mcbspClkIn
*/
115200,
/* baud
*/
{
{
UARTHW_MCBSP_IER_MASK_DEFAULT,
UARTHW_MCBSP_IER_MASK_DEFAULT
},
{
UARTHW_MCBSP_IER_MASK_DEFAULT,
UARTHW_MCBSP_IER_MASK_DEFAULT
}
}
};
Note:
The supplied Software UART DSP project will not run on the hardware setup described in
this application note. It should be used as baseline software architecture for a custom
target board which utilizes one of the DSP’s McBSPs for the Software UART communications link. Additionally, the SW UART driver will not work for baud rates below 57600
bps.
SLLA174 – February 2005
TMS320VC5510 Software UART Driver via McBSP
9
www.ti.com
Appendix C
Appendix C Connecting the MSP430 to the C5510 Enhanced HPI (EHPI)
An additional method of connecting an MSP430 to a DSP would be to allow the host controller access to a
portion of the DSP’s internal and external memories through the DSP’s Host Port Interface.
The MSP430 must use its standard GPIO pins to interface to the C5510 Enhanced Host Port Interface
(EHPI). This allows the MSP430 to act as an external bootloader to read from and write to certain portions
of DSP memory.
In order to connect the two development boards together via the C5510 Enhanced Host Port Interface, a
total of 19 wired connections must be made between the two boards. Building a custom ribbon cable is
recommended. Using the connectors and wires of your choice, connect the following pins between the two
boards as specified in Table C-1. For example, the first row of the table reads connect J2-3 on the ES449
board to P3-13 on the C5510DSK board.
MSP430F449
TMS320VC5510
P2.7
P2.5
P2.3
HINT
HDS1
HRW
P3.7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
HD[15]
HD[14]
HD[13]
HD[12]
HD[11]
HD[10]
HD[9]
HD[8]
P6.7
P6.6
P6.5
P6.4
P6.3
P6.2
P6.1
P6.0
HD[7]
HD[6]
HD[5]
HD[4]
HD[3]
HD[2]
HD[1]
HD[0]
Figure C-1. MSP LINK Using DSP Enhanced Host Port Interface (EHPI)
10
Connecting the MSP430 to the C5510 Enhanced HPI (EHPI)
SLLA174 – February 2005
www.ti.com
Appendix C
Table C-1. Pin Connections Between ES449 and DSK5510
ES449
DSK5510
CONNECTOR
PIN
DESCRIPTION
CONNECTOR
PIN
DESCRIPTION
J2 (Port 2)
4
P2.3
P3 (HPI)
13
HRW
J2 (Port 2)
6
P2.5
P3 (HPI)
20
/HDS1
J2 (Port 2)
8
P2.7
P3 (HPI)
24
/HINT
J3 (Port 3)
8
P3.7
P3 (HPI)
53
HD[15]
J3 (Port 3)
7
P3.6
P3 (HPI)
54
HD[14]
J3 (Port 3)
6
P3.5
P3 (HPI)
55
HD[13]
J3 (Port 3)
5
P3.4
P3 (HPI)
56
HD[12]
J3 (Port 3)
4
P3.3
P3 (HPI)
57
HD[11]
J3 (Port 3)
3
P3.2
P3 (HPI)
58
HD[10]
J3 (Port 3)
2
P3.1
P3 (HPI)
59
HD[9]
J3 (Port 3)
1
P3.0
P3 (HPI)
60
HD[8]
J6 (Port 6)
8
P6.7
P3 (HPI)
63
HD[7]
J6 (Port 6)
7
P6.6
P3 (HPI)
64
HD[6]
J6 (Port 6)
6
P6.5
P3 (HPI)
65
HD[5]
J6 (Port 6)
5
P6.4
P3 (HPI)
66
HD[4]
J6 (Port 6)
4
P6.3
P3 (HPI)
67
HD[3]
J6 (Port 6)
3
P6.2
P3 (HPI)
68
HD[2]
J6 (Port 6)
2
P6.1
P3 (HPI)
69
HD[1]
J6 (Port 6)
1
P6.0
P3 (HPI)
70
HD[0]
The Host Port Interface of the DSP needs to be configured for Multiplexed mode without using the /HAS
signal. Tie the following pins to ground.
Table C-2. Pull-Down Resistors for DSK5510 EHPI
CONNECTOR
PIN
HPI FUNCTION
REQUIRED ACTION
P3 (HPI)
15
HMODE (PULLDOWN)
Connect this pin directly to P3-11 (GND) for Multiplexed mode
P3 (HPI)
16
HCS (PULLDOWN)
Connect this pin directly to P3-12 (GND) for constant chip enable
To minimize the number of connections between the MSP430 and DSP, the HPI control signals can be
shared with the HPI data lines. The following table describes the remaining connections needed for the
HPI pins. Connect the corresponding pins on the C5510DSK.
Table C-3. Internal Connections for DSK5510 HPI in Multiplexed Mode
CONNECTOR
PIN
PIN
REQUIRED ACTION
P3 (HPI)
69 (HD1)
49 (HA1)
Connect these two pins ( HD[1] to (HA[1] = HCNTL1) )
P3 (HPI)
70 (HD0)
14 (HCNTL0)
Connect these two pins (HD[0] to HCNTL0)
SLLA174 – February 2005
Connecting the MSP430 to the C5510 Enhanced HPI (EHPI)
11
www.ti.com
Appendix C
Note:
A sample source code template file for the MSP430 host side (msplink_dsp55hpi.c) has
been provided to jump-start MSP430 project development; however, caution must be
used to follow the exact Host Port Interface timings for the specific C55x-based DSP
being used in the design. The provided source code will most likely need to be modified
accordingly to meet those timings of the specific DSP being used. The DSP-side project
will need to be modified as well so that interprocessor communication is done through
EHPI communications rather than UART.
12
Connecting the MSP430 to the C5510 Enhanced HPI (EHPI)
SLLA174 – February 2005
www.ti.com
Appendix D
Appendix D Creating a Stand-Alone Embedded System Using FlashBurn™
The FlashBurn™ Utility which comes as an update to Code Composer Studio can be used to program the
on-board Flash memory with the application for the C5510DSK. This will allow the application to run
without having to connect a host computer to load the program image to RAM each time. In other words,
FlashBurn™ will help you to achieve a stand-alone embedded system.
Note:
There is no FlashBurn™-equivalent utility needed for the MSP430.
The Code Composer Studio project comes with the necessary files to program an application to the
on-board Flash memory on the VC5510DSK board. Follow these easy steps:
1. Turn off (uncheck) the Load Program After Build option from the CCS Toolbar [Option → Customize →
Program Load Options tab].
Note:
Be sure that the CPU is halted and has been previously reset within CCS before
attempting the following step. The FlashBurn™ Utility will be unable to establish
communications with the board if the CPU is currently running and/or has been halted in
an unknown state.
2. Start the FlashBurn™ Utility [Tools → FlashBurn]. If the FlashBurn™ option does not show up in the
Tools drop-down menu, the utilities can be downloaded from the Spectrum Digital website
(www.spectrumdigital.com) or through the CCS Update Advisor.
3. From the FlashBurn™ Utility GUI, select [File → Load] and select the provided app.cdd file. The utility
will attempt to communicate with the target board – when successful, the Connected message should
be displayed in the lower portion of the GUI.
4. Locate and click on the Browse button next to the File to Burn field. In the mini-browser window that
pops up, select the app.hex file (by default, it should already be pointing to the project’s current
working directory).
5. Locate and click on the Browse button next to the FBTC Program File field. In the mini-browser
window that pops up, navigate to your CCS installation directory (most likely C:\ti) and from there,
follow the path to the FBTC55.out file (most likely \ bin \ utilities \ flashburn \ c5500 \ dsk5510).
6. Save the current changes to the app.cdd file [File → Save].
7. Hit the Erase Entire Flash icon at the top of the FlashBurnTM toolbar.
8. Hit the Start Programming icon located next to the Erase Entire Flash button.
9. Remove the connection between the Host PC and the VC5510DSK board recycle power and the
application should start up immediately without aid from the Host PC.
SLLA174 – February 2005
Creating a Stand-Alone Embedded System Using FlashBurn™
13
www.ti.com
Restoring the Original VC5510DSK Flash Program
D.1
Restoring the Original VC5510DSK Flash Program
By default, each TMS320VC5510DSK is shipped with a self Power-On-Self-Test (POST) program in the
on-board Flash memory which runs when power is first applied to the board. To restore the C5510DSK’s
Flash memory to this original state, repeat the above procedure but with the following replacement file and
directory names.
Table D-1. File and Directory Names for Restoring the C5510DSK’s POST Flash Program
14
Working Directory
\apps\rf3\dsk5510
\apps\rf3\dsk5510\post
COFF File (generated by CCS)
<Working Directory>\Debug\app.out
<Working Directory>\Debug\post.out
HEX File (converted from *.out)
<Working Directory>\app.hex
<Working Directory>\post.hex
FlashBurn™ CDD file
<Working Directory>\app.cdd
<Working Directory>\post.cdd
Creating a Stand-Alone Embedded System Using FlashBurn™
SLLA174 – February 2005
IMPORTANT NOTICE
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications,
enhancements, improvements, and other changes to its products and services at any time and to discontinue
any product or service without notice. Customers should obtain the latest relevant information before placing
orders and should verify that such information is current and complete. All products are sold subject to TI’s terms
and conditions of sale supplied at the time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of sale in
accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI
deems necessary to support this warranty. Except where mandated by government requirements, testing of all
parameters of each product is not necessarily performed.
TI assumes no liability for applications assistance or customer product design. Customers are responsible for
their products and applications using TI components. To minimize the risks associated with customer products
and applications, customers should provide adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right,
copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process
in which TI products or services are used. Information published by TI regarding third-party products or services
does not constitute a license from TI to use such products or services or a warranty or endorsement thereof.
Use of such information may require a license from a third party under the patents or other intellectual property
of the third party, or a license from TI under the patents or other intellectual property of TI.
Reproduction of information in TI data books or data sheets is permissible only if reproduction is without
alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction
of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for
such altered documentation.
Resale of TI products or services with statements different from or beyond the parameters stated by TI for that
product or service voids all express and any implied warranties for the associated TI product or service and
is an unfair and deceptive business practice. TI is not responsible or liable for any such statements.
Following are URLs where you can obtain information on other Texas Instruments products and application
solutions:
Products
Applications
Amplifiers
amplifier.ti.com
Audio
www.ti.com/audio
Data Converters
dataconverter.ti.com
Automotive
www.ti.com/automotive
DSP
dsp.ti.com
Broadband
www.ti.com/broadband
Interface
interface.ti.com
Digital Control
www.ti.com/digitalcontrol
Logic
logic.ti.com
Military
www.ti.com/military
Power Mgmt
power.ti.com
Optical Networking
www.ti.com/opticalnetwork
Microcontrollers
microcontroller.ti.com
Security
www.ti.com/security
Telephony
www.ti.com/telephony
Video & Imaging
www.ti.com/video
Wireless
www.ti.com/wireless
Mailing Address:
Texas Instruments
Post Office Box 655303 Dallas, Texas 75265
Copyright  2005, Texas Instruments Incorporated