TI C54 EVM Quick Introduction - PowerPoint PPT Presentation

1 / 6
About This Presentation
Title:

TI C54 EVM Quick Introduction

Description:

http://www.ti.com/sc/docs/products/dsp/tms320c541.html ... cellular phones, PCS terminals, pagers, IP phones, portable information systems, ... – PowerPoint PPT presentation

Number of Views:30
Avg rating:3.0/5.0
Slides: 7
Provided by: ryantha
Category:

less

Transcript and Presenter's Notes

Title: TI C54 EVM Quick Introduction


1
TI C54 EVM Quick Introduction
  • Prepared by
  • Ryanth Atmadja
  • August 1999
  • http//www.ti.com/sc/docs/products/dsp/overview.ht
    m
  • http//www.ti.com/sc/docs/products/dsp/tms320c541.
    html
  • http//www.ti.com/sc/docs/dsps/hotline/wizsup5xx.h
    tm

2
Where C54 should be used?
  • The C54 is specifically designed for low-powered
    real-time embedded applications, such as
    telecommunications and voice IP
  • cellular phones, PCS terminals, pagers, IP
    phones, portable information systems, digital
    hearing aids, etc. taken from C54 web site.
  • Two CMU undergrads had used the C54 EVM to
    control acoustical noise, and to process data
    from a surveillance camera.

3
TI C54 EVM Specs
  • Processor
  • Parameter name TMS320C541-40
  • Word size 16 bits (designed for fixed-point)
  • Clock speed 40 MHz
  • Peak MIPS 40
  • Non-superscalar
  • Memory
  • Internal RAM (words) 5 K (shared data/program)
  • External RAM (words) 64K/64K (data/program)
  • Misc.
  • 2 serial ports (one is free as an external serial
    port)
  • Analog interface circuit (D/A and A/D converters)
    where a microphone and a speaker may be attached.
    Additional audio I/O must use the PCs sound
    card.
  • EVM is a PC/AT plug-in card
  • DMA not available (i.e., the host PC and EVM
    communication is interrupt based only.)

4
Experience to be shared
  • Correct initialization (C54, serial port, analog
    interface circuit AIC, host PC - EVM
    communication, interrupt table) is a very
    critical component for proper program execution.
    I happened to forget setting the correct value
    for the CPL bit (part of ST1 register), which
    caused a whole code unable to run (loops did not
    work, functions could not be called, etc.)
  • Watch for the status registers (ST0, ST1, PMST,
    and SPC) to get clues while debugging.
  • Avoid the data and program spaces from
    overlapping in the internal RAM. Memory
    allocation is done in the .cmd or linker file. I
    once used a ready-made .cmd file from TI (I
    guess) and it allocated memory such that the data
    and program overlapped, this caused a problem
    since as a data stack grew up, it could corrupt
    the program somewhere. This particular mistake
    has been known to make C54 codes unstable when
    run in the EVM -- sometimes the codes worked,
    other times did not.

5
Experience to be shared (cont.)
  • Since the EVMs internal memory is very limited
    (5 K words), a special care should be taken when
    allocating local variables. Or, global variables
    can be used to exploit the slower but much larger
    external memory (64 K for each data and program).
  • The C-compiler does not take advantage of the
    specialized DSP features, such as the MAC
    (multiply-accumulate) instruction, and
    circular-buffering. In general, I estimate that
    hand-assembled programs can be faster by at least
    a factor of two.
  • We may also speed up the code by manually
    optimizing the assembly code created by the
    C-compiler.
  • But, I believe that manual conversion to assembly
    should be done after we have a final version of
    the C-code, since assembly programming is
    inflexible.
  • Use the debugger often. This will save time
    compared to blindly debugging a C54 code by
    trial-and-error.

6
Experience to be shared (cont.)
  • Audio I/O interrupt handling can be done only
    with assembly programming.
  • The C54 is a fixed-point processor. Therefore,
    if fractional or non-integer arithmetics is
    necessary in the DSP algorithm, it requires extra
    programming than with floating-point processors
    such as the C30.
  • A possible DSP development methodology with the
    C54 EVM is as follows
  • Simulations (e.g., on MATLAB)
  • Implement the DSP algorithm only with PC in C.
  • Develop a programming framework for the EVM, if
    necessary.
  • Modify C-code for use with the C54 EVM.
  • Hand-optimize the assembly code (optional).
Write a Comment
User Comments (0)
About PowerShow.com