+ All Categories
Home > Documents > The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64...

The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64...

Date post: 07-Feb-2018
Category:
Upload: phungbao
View: 216 times
Download: 0 times
Share this document with a friend
48
ECE 5655/4655 Real-Time DSP 2–1 The TMS320C6x Family: Hardware and Software Introduction In this chapter the DSPS of primary focus for the course, the TMS320C6x, will be introduced and explained in terms of hard- ware, software, and development environments found in the lab- oratory. The specific C6x family member of most interest is the C6748. The Family of TI DSP Processors (ordered by price/performance) 32-bit real-time MCUs C2000 Delfino Piccolo 40MHz to 300 MHz Flash, RAM 16 KB to 512 KB PWM, ADC, CAN, SPI, I 2 C Motor Control, Digital Power, Lighting, Ren. Enrgy $1.50 to $20.00 DSP DSP+ARM DaVinci video processors Integra 300MHz to >1Ghz +Accelerator Cache RAM, ROM USB, ENET, PCIe, SATA, SPI Floating/Fixed Point Video, Audio, Voice, Security, Conferencing $5.00 to $200.00 Ultra Low power DSP C5000 Up to 300 MHz +Accelerator Up to 320KB RAM Up to 128KB ROM USB, ADC McBSP, SPI, I 2 C Audio, Voice Medical, Biometrics $3.00 to $10.00 Multi-core DSP C6000 24.000 MMACS Cache RAM, ROM SRIO, EMAC DMA, PCIe Telecom test & meas, media gateways, base stations $40 to $200.00 Chapter 2
Transcript
Page 1: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

er

The TMS320C6x Family: Hardware and SoftwareIntroduction

In this chapter the DSPS of primary focus for the course, theTMS320C6x, will be introduced and explained in terms of hard-ware, software, and development environments found in the lab-oratory. The specific C6x family member of most interest is theC6748.

‘C64

The Family of TI DSP Processors (ordered by price/performance)

32-bit real-time

MCUs

C2000™

Delfino™

Piccolo™

40MHz to 300 MHz

Flash, RAM16 KB to 512 KB

PWM, ADC, CAN, SPI, I2CMotor Control, Digital Power,

Lighting, Ren. Enrgy$1.50 to $20.00

DSPDSP+ARM

DaVinci™video processors

Integra™

300MHz to >1Ghz +Accelerator

CacheRAM, ROM

USB, ENET, PCIe, SATA, SPI

Floating/Fixed PointVideo, Audio, Voice,

Security, Conferencing $5.00 to $200.00

Ultra Low power

DSP

C5000™

Up to 300 MHz+Accelerator

Up to 320KB RAMUp to 128KB ROM

USB, ADC McBSP, SPI, I2C

Audio, VoiceMedical, Biometrics

$3.00 to $10.00

Multi-coreDSP

C6000™

24.000 MMACS

CacheRAM, ROM

SRIO, EMACDMA, PCIe

Telecom test & meas, media gateways,

base stations$40 to $200.00

Chapt

2

ECE 5655/4655 Real-Time DSP 2–1

Page 2: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

DSP Devices Overview

• TI has four classes of DSP processors

– C2000 Defino and Piccolo: Devices are 32-bit microcon-trollers with high performance integrated peripheralsdesigned for real-time control applications. Its math-opti-mized core gives designers the means to improve systemefficiency, reliability, and flexibility. Powerful integratedperipherals make C2000 devices the perfect single-chipcontrol solution. C2000’s development tools strategy andsoftware (controlSUITE) create an open platform with thegoal of maximizing usability and minimizing developmenttime.

Product Portfolio

2–2 ECE 5655/4655 Real-Time DSP

Page 3: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Introduction

Features

Featured Application – Digital Power Conversion

ECE 5655/4655 Real-Time DSP 2–3

Page 4: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

– TMS320C5000™ Power Efficient DSPs: Very low standbypower and advanced power management, for personal andportable products; GPS receivers and medical (a short introto the VC5505 eZDSP at the end of the chapter)

– TMS320C6000™ DSPs: (see below)

The C6x Families

• C64x High Performance DSPs: Very fast fixed-point process-ing, with up to 1.2 GHz clock speed (9600 MMACs onC6455-1200, 24000 MMACs on CC6474-1000 with 3 cores)

• C62x Performance Value DSPs: High performance and highcost efficiency; optimized for wireless infrastructure, telecominfrastructure, and imaging applications (5760 MMACs onC6412-720)

2–4 ECE 5655/4655 Real-Time DSP

Page 5: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Introduction

• C67x Floating Point DSPs: The most advanced DSP C com-piler and assembly optimizer for efficiency and performance;high performance audio applications (e.g., C6748 375/456-MHz Fixed/Floating point, up to 3648/2746 MIPS/MFLOPS)

C6000 DSP Platform Roadmap

C67xC62x

C64x+

C66x

C674

C67x+

C64x

C671x

C621x

Floating Point

Fixed and Floating PointLower powerEDMA3PRU

L1 RAM/CacheCompact Instr’sEDMA3Video/Imaging

EnhancedEDMA2

Fixed Point

Available on the most recent releases

ECE 5655/4655 Real-Time DSP 2–5

Page 6: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

Binary Compatability

•Na

tive i

nstru

ction

s for

IEEE

754,

SP &

DP

•Ad

vanc

ed V

LIW

arch

itectu

re

•2X

regis

ters

•En

hanc

ed flo

ating

po

int ad

d ca

pabil

ities

•Au

dio-sp

ecific

an

d mixe

d pr

ecisi

on

instru

ction

s

•Ad

vanc

ed fix

ed

point

instr

uctio

ns•

Four

16-b

it or e

ight

8-bit

MAC

s•

Two-

level

cach

e

•SP

LOOP

and 1

6bit

Instru

ction

s for

sm

aller

code

size

•Fle

xible

level

one

memo

ry ar

chite

cture

•ID

MA fo

r rap

id da

ta tra

nsfer

s b/w

loca

l me

morie

s

•10

0% up

ward

ob

ject c

ode

comp

atible

with

C6

4x, C

64x+

, C6

7x an

d C67

x+

•Be

st of

fixed

point

an

d floa

ting p

oint

arch

itectu

re fo

r be

tter s

ystem

pe

rform

ance

and

faster

time-

to-ma

rket

C67x

C6

7x+

C64x

C64x

+C

67

4x

FLOA

TING

POI

NT V

ALUE

FIXE

D PO

INT

VALU

E

2–6 ECE 5655/4655 Real-Time DSP

Page 7: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Introduction

Peripheral Options

21

C674

6C6

748

OMAP

-L13

8

C674

x DSP

200 M

HzC6

74x D

SP30

0 MHz

C674

x DSP

300 M

HzC6

74x D

SP30

0 MHz

ARM9

300 M

Hz

C674

2

488 K

B32

0 KB

128 K

B44

8 KB

EMAC

EMAC

MMC/

SD

USB

2.0

uPP

uPP

USB

1.1

LCD

Ctr

SATA

EMAC

EMAC

MMC/

SD

USB

2.0

uPP

uPP

USB

1.1

SATA

SATA

LCD

Ctr

EMAC

EMAC

MMC/

SD

USB

2.0

DSP

DSP

ARM

Mem

ory

Mem

ory

Key

perip

hera

lsKey

perip

hera

lsuP

PuP

PVi

deo

I/OVi

deo

I/OVi

deo

I/O

PWM

PWM

SPI

SPI

McAS

P

UART

UART

I2CI2C

Targ

et

appl

icatio

ns

Targ

et

appl

icatio

ns

•SDR

•Aud

io co

nf sy

stem

s•P

orta

ble d

ata t

erm

•Int

ellig

ent

occu

panc

y sen

sors

•Bar

code

scan

ner

•Pow

er p

rote

ctio

n sy

stem

s•I

ndus

trial

auto

mat

ion

•Bar

code

scan

ner

w/GU

I•T

est &

mea

sure

men

t

•Aud

io ef

fect

s•A

udio

mixe

rs

Softw

are &

Pin

-for-

Pin

Com

patib

le Ac

ross

Fam

ilySo

ftwar

e & P

in-fo

r-Pi

n Co

mpa

tible

Acro

ss F

amily

$6.70

@1K

u / $

5.95@

10Ku

PRU

2 x 15

0 MHz

CPU

2 x 15

0 MHz

CPU

2 x 15

0 MHz

CPU

ECE 5655/4655 Real-Time DSP 2–7

Page 8: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

C6x Family Feature Overview

• To appreciate the C6x family consider a little history first

• The first of TI’s high performance floating point processorswas the C3x

• In 1988 the first of the TMS320C3x’s began shipping at acost of $1,300 each

• At the present time development of the C3x family hasslowed, but a core of users still exists in the market place

• In 2000 TI introduced the C33 which is capable of 150MFLOPS

– This new processor featured two 1k and two 16k dualaccess RAM blocks

– Consumes 0.2 W and costs $5-8 in 100KU

– The pilot offering of this course, in 1998, used the C31which comes in low cost 60 ns, lowers cost 74 ns, highestspeed 40 ns (used in the C31 DSK), and other single-cycleexecution time versions

• Today the C6x family, first announced in 1Q97, continues thehigh performance traditions of the C3x family, but offersmuch more in terms of both hardware and software

• Features of the C6x family include:

– Code compatible fixed- and floating-point

– Widely adopted by broad-band infrastructure vendors

2–8 ECE 5655/4655 Real-Time DSP

Page 9: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

C6x Family Feature Overview

– Highly parallel VelociTITM advanced very long instructionword (VLIW) architecture

– RISC-like instructions

– Claim industry’s most efficient C compiler to ease highlevel language (HLL) development

– Low price points ~ C6738-300 (300 MHz) is $15.75 in 1ku

ECE 5655/4655 Real-Time DSP 2–9

Page 10: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

Comparison Matrix

2–10 ECE 5655/4655 Real-Time DSP

Page 11: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

C6x Architecture Overview

C6x Architecture Overview

ARM9 Subsystem

DSP Subsystem

ARM926EJ-S

CPU 300

MHz+

C674x DSPCore 300

MHz+

Switched Central Resource (SCR) / EDMA

Peripherals

mDDR/ DDR216-bit

Program/Data Storage

I2C(2)

Serial Interfaces

Connectivity

Timer(4)

System

PWM(2)

SATAUHPI USB 2.0

UART (3)

McASP(1)

SPI(2)

MMC/SD (2)

L1P 16K L1D 16K

L1P 32K L1D 32KL2 256K

Video I/O

USB 1.1 EMAC

AsyncEMIF16-bit

LCD Controller

OMAP-L138 ARM + DSP

uPP

McBSP(2)

128KB RAM

High Speed ADCor FPGA

or DSP interface

High Capacity Storage

RTC

eCAP(3)

High Speed

Bluetooth Connectivity

Internet

Rich User Interface

LargeOn-chipMemory

PRU Subsystem

PRU Core 0

150 MHz 4KB P512B

D

PRU Core 1

150 MHz 4KB P512B

D

VGA LCD

Knobs and controls

CPU Cores– ARM926EJ-S™ (MPU) 300MHz+– C674x DSP Core 300MHz+– 2 PRU Cores upto 150 MHz each

Peripherals (1.8/ 3.3V IOs)– 10/100 Ethernet MAC– EMIFA - SDRAM/NAND Flash– EMIFB – DDR (mDDR/DDR2)– Video Port I/F, SATA, uPP, LCDC

Power (1.0-1.2V Core, 1.8/3.3V IOs)

– Total Power < 440 mW @ 300Mhz, 1.2V, 25CFor DSP at 70% loading, ARM at 50% loading; mDDR 50% active at 135MHz

– Standby Power < 9mW @ 1.2V/ 25C

P k

@ /Package– 13 x13mm nFBGA (0.65mm),

16x16mm BGA (0.8mm) – Pin to pin compatible with C6748/6/2,

AM1808/6

Applications– Power Protection Systems, Test &

Measurement, SDR, Bar Code Scanners, Portable Communications, Portable Medical, Portable Audio

ECE 5655/4655 Real-Time DSP 2–11

Page 12: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

Connectivity

Clo

ckou

tTi

mer

s /

Wat

chdo

g

HWI

uPP

uHPI

SATA

MMC/

SD

USB

2.0(&

1.1)

McBS

PMc

ASP

EMAC

C674

xCP

U

EDMA

3

DDR2

EMIFA

Clo

ckin

Clo

ckou

t xPL

L

Stor

age

Note

:No

t all ‘

C64x

+ de

vices

hav

e all

the

vario

us p

eriph

erals

sh

own a

bove

. Pl

ease

refe

r to

the

spec

ific d

evice

’s da

tash

eet.

Seria

l Cod

ec

(TCP

/IP st

ack a

vail)

DDR2

133M

HzNO

RNA

ND

/ 16

Ethe

rnet

Host

μP

/ 16

NM

IR

eset

Ext I

nter

rupt

s/ 4

eCAP

Kno

bs&

Con

trol

s/

32

8-16

bit

16-b

itSD

RAM

I2C, S

PIUA

RTLC

D,

PWM

Hig

h Sp

eed

ADC,

FPG

A

2–12 ECE 5655/4655 Real-Time DSP

Page 13: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

C6x Architecture Overview

High Level Architecture

128K L3

16-bit EMIF

DDR2mDDR

McASP

MMC/SDEMAC

HPI

SATA

I2C, SPI, UART

Switched Central Resource (SCR)

256KL2

EDMA3

C674x+ DSP Core

Floating-Pt CPU

32KB L1P Cache/SRAM

32KB L1D Cache/SRAM

4-32xPLL

TMS320C674x

128

128

256

256128

128

USB

Timers

LCD, PWM, eCAP

uPP

Fixed-Pt CPU

Performance & Memory• Up to 300MHz• 256K L2 (up to 64K cache)• 32K L1P & L1D Cache/SRAM• 32-bit DDR2-266• 16-bit EMIF (NAND Flash)

Communications• 64-Channel EDMA 3.0 • 10/100 EMAC• USB 1.1 & 2.0• SATA

ECE 5655/4655 Real-Time DSP 2–13

Page 14: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

C6000 Core Architecture

• While the dual-MAC speeds math intensive algorithms, theflexibility of 8 independent functional units allows the com-piler to quickly perform other types of processing

• Can dispatch up to 8 32-bit instructions every cycle

• All instructions are conditional – allowing efficient hardwarepipelining

• The core contains 64 32-bit general purpose registers withfew restrictions (aids compiler in generating more efficientcode)

• Can perform up to EIGHT 16x16 multiplies/ACC per clkcycle

Memory

A0

A31

...S1

.D1

.L1

.S2

.M1 .M2

.D2

.L2

B0

B31

..

Controller/Decoder

Dual MACs

32 bits 32 bits

2–14 ECE 5655/4655 Real-Time DSP

Page 15: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

C6x Architecture Overview

• MAU is 8 bits for program/data

• Compiler excels at natural C

• Data types: char = 8 bits, short = 16 bits, int = 32 bits, long =40 bits, long long = 64 bits

Older C6713 Versus the Newer C674 & C64 (not C64+):

Instruction fetch

Instruction dispatch

Instruction decode

Controlregisters

Emulation

Interruptcontrol

+L1

+S1

+

M1

X

Register file AA15–A0

+D1

Data path 1 Data path 2

M2+

D2

X

S2+L2

B15–B0

C62x/C67x CPU

+L1

+

++

S1

++++

M1

X

X

D1

++

Data path 1

Register file AA15–A0A31–A16

++

D2

x

X xx

M2 S2

++++

+

L2

Register file BB15–B0

Data path 2

Instruction fetchInstruction dispatch

Instruction decode

Inte

rrup

tco

ntro

lControl registers

C64x CPU

Dual 32–bit load/store path(dual 64–bit load path – C67x only) Dual 64–bit load/store paths

++

Advanced instructionpacking

xx

xx

B31–B16

Advancedemulation

+

x ++

Register file B

X

ECE 5655/4655 Real-Time DSP 2–15

Page 16: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

Functional Unit Operations

Functional Unit Floating–Point OperationsFixed–Point Operations.M unit (.M1, .M2) 16 x 16 multiply operations

16 x 32 multiply operationsQuad 8 x 8 multiply operationsDual 16 x 16 multiply operationsDual 16 x 16 multiply with add/subtract operations

Quad 8 x 8 multiply with add operationBit expansionBit interleaving/de-interleavingVariable shift operationsRotationGalois Field Multiply

32 X 32–bit fixed–point multiply operations

Floating–point multiply operations

.D unit (.D1, .D2) 32-bit add, subtract, linear and circular address calculationLoads and stores with 5-bit constant offsetLoads and stores with 15-bit constant offset (.D2 only)Load and store double words with 5-bit constant

Load and store non-aligned words and double words

5-bit constant generation32-bit logical operations

Load doubleword with 5–bit constant offset

Note: Fixed-point operations are available on all three devices. Floating-point operations and 32 x 32-bit fixed-point multiply areavailable only on the ’C67x. Additonal ’C64x functions are shown in bold.

Functional Unit Fixed–Point Operations Floating–Point Operations.L unit (.L1, .L2) 32/40-bit arithmetic and compare

operations32-bit logical operationsLeftmost 1 or 0 counting for 32 bitsNormalization count for 32 and 40 bitsByte shiftsData packing/unpacking5-bit constant generationDual 16-bit arithmetic operationsQuad 8-bit arithmetic operationsDual 16-bit min/max operationsQuad 8-bit min/max operations

Arithmetic operations

DP → SP, INT → DP, INT → SP conversion operations

.S unit (.S1, .S2) 32-bit arithmetic operations32/40-bit shifts and 32-bit bit-field operations32-bit logical operationsBranchesConstant generationRegister transfers to/from control register file (.S2 only)Byte shiftsData packing/unpackingDual 16-bit compare operationsQuad 8-bit compare operationsDual 16-bit shift operationsDual 16-bit saturated arithmetic operations

Quad 8-bit saturated arithmetic operations

Compare

Reciprocal and reciprocal square–root operations

Absolute value operations

SP → DP conversion operations

2–16 ECE 5655/4655 Real-Time DSP

Page 17: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

C6x Architecture Overview

C6748 Data Paths

src2

src2

Á

ÁÁ

.D1

.M1

ÁÁ

ÁÁ

Á

.S1

ÁÁÁ

Á

.L1

long src

odd dst

src2

src1

ÁÁÁÁÁ

Á

Á

src1

src1

src1

even dst

even dstodd dst

dst1

dst

src2

src2

src2

long src

DA1

ST1b

LD1b

LD1a

ST1a

Data path A

Oddregister

file A(A1, A3,

A5...A31)

Á

Oddregister

file B(B1, B3,

B5...B31)

Á.D2

ÁÁ

src1dst

src2DA2

LD2aLD2b

src2

.M2 src1Á

dst1Á

.S2src1

ÁÁeven dst

long src

odd dst

ST2a

ST2b

long src

.L2

ÁÁ

even dst

odd dst Á

src1

Data path B

Control Register

32 MSB

32 LSB

dst2 (A)

32 MSB32 LSB

2x

1x

32 LSB32 MSB

32 LSB

32 MSB

dst2

(B)

(B)(A)

8

8

8

8

3232

3232

(C)

(C)

Evenregister

file A(A0, A2,

A4...A30)

Evenregister

file B(B0, B2,

B4...B30)

(D)

(D)

(D)

(D)

A. On .M unit, dst2 is 32 MSB.B. On .M unit, dst1 is 32 LSB.C. On C64x CPU .M unit, src2 is 32 bits; on C64x+ CPU .M unit, src2 is 64 bits.D. On .L and .S units, odd dst connects to odd register files and even dst connects to even register files.

ECE 5655/4655 Real-Time DSP 2–17

Page 18: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

• Each C64x+ .M unit can perform one of the following eachclock cycle:

– one 32 x 32 bit multiply, one 16 x 32 bit multiply, two 16 x16 bit multiplies, two 16 x 32 bit multiplies, two 16 x 16bit multiplies with add/subtract capabilities, four 8 x 8 bitmultiplies, four 8 x 8 bit multiplies with add operations,and four 16 x 16 multiplies with add/subtract capabilities(including a complex multiply)

– There is also support for Galois field multiplication for 8-bit and 32-bit data

– The complex multiply (CMPY) instruction takes for 16-bitinputs and produces a 32-bit real and a 32-bit imaginaryoutput

– There are also complex multiplies with rounding capabilitythat produces one 32-bit packed output that contain 16-bitreal and 16-bit imaginary values

– The 32 x 32 bit multiply instructions provide the extendedprecision necessary for audio and other high-precisionalgorithms on a variety of signed and unsigned 32-bit datatypes

• The .L or (Arithmetic Logic Unit) now incorporates the abil-ity to do parallel add/subtract operations on a pair of commoninputs

– Versions of this instruction exist to work on 32-bit data oron pairs of 16-bit data performing dual 16-bit add and sub-

2–18 ECE 5655/4655 Real-Time DSP

Page 19: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

C6x Architecture Overview

tracts in parallel

– There are also saturated forms of these instructions

• The C64x+ core enhances the .S unit in several ways

– In the C64x core, dual 16-bit MIN2 and MAX2 compari-sons were only available on the .L units

– On the C64x+ core they are also available on the .S unitwhich increases the performance of algorithms that dosearching and sorting

– Finally, to increase data packing and unpacking through-put, the .S unit allows sustained high performance for thequad 8-bit/16-bit and dual 16-bit instructions

– Unpack instructions prepare 8-bit data for parallel 16-bitoperations

– Pack instructions return parallel results to output precisionincluding saturation support

ECE 5655/4655 Real-Time DSP 2–19

Page 20: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

The Internal Bus Structure: SCR & Megamodule

C55x Low Power DSP Quick Compare

EDMA3

TC0TC1TC2

EMACHPIPCI

McBSPPCI

Utopia

DDR2

L2MemCtrlL2

L1P

L1D

DSML

DSML

CPU

C64x+ MegaModule

M

S

S

M M

S

IDMA

L1PMemCtrl

L1DMemCtrl

AET

DATASCR

CFGSCR

EMIF

128

128

Cfg

PERIPH

M S

M SMaster Slave

32

PERIPH =All peripheral’sCfg registers

SCR = Switched Central Resource32

ExternalMemCntl

CC

Memoryinterface unit

External databuses

Externalprogram buses

CPU

Data-write data buses EB, FB (each 16 bits)

Data-write address buses EAB, FAB (each 23 bits)

Program-read data bus PB (32 bits)

Program-read address bus PAB (24 bits)

Data-read address buses BAB, CAB, DAB (each 23 bits)

Instructionbuffer unit

(I unit)

Programflow unit(P unit)

Address-dataflow unit(A unit)

Datacomputation

unit(D unit)

Data-read data buses BB (32 bits), CB, DB (each 16 bits)

2–20 ECE 5655/4655 Real-Time DSP

Page 21: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

C6748 Internal Memory

• Although not immediately obvious from the above figures, adistinctive feature of the C6x and C55 over conventionalmicroprocessors, is the Harvard architecture, that is separatebuses for program and data

– Instructions can be fetched while data is being accessed

C6748 Internal MemoryLevel 1 Memory (32KB each)

Cache or RAML1P (prog), L1D (data)

Level 2 Memory (256KB)RAM (prog or data)Up to 256KB can be cache

Level 3 Memory (128KB)Shared RAM

L2 RAMProg/DataCPU

EMIFA

DDR2

L1P

L1D

Level 1 MemorySingle-cycle accessL2 accessed on missL1P: direct mappedL1D: 2-way set associative

Level 2 MemoryUnified: Prog or Data4-way cache support

L1/L2 Shared FeaturesConfigure each memory as cache or addressable RAM (or combination)Cache Freeze

ECE 5655/4655 Real-Time DSP 2–21

Page 22: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

C6748 External Memory

1170_0000 L2 ROM

EMIFA (CS4)EMIFA (CS5)

6400_0000

6600_0000

FFFF_FFFF

EMIFA (CS2)EMIFA (CS3)

6000_0000

6200_0000

1180_0000

L1P RAML1D RAM

11E0_0000

11F0_0000

DDR2 (DDR_CS)C000_0000

L2 RAM

L3 RAM8000_0000

• EMIFA has four ranges(8MB each):

• Program or Data

• Named: ACE2, ACE3,ACE4, ACE5

• DDR2 is 512MBRemaining memory isunused

L2 RAMProg/DataCPU

EMIFA

DDR2

ProgramCache

DataCache

2–22 ECE 5655/4655 Real-Time DSP

Page 23: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

'C6000 Peripherals Summary

'C6000 Peripherals Summary

Host Port

• A dedicated bus for connection to a micro or external host

• Bootloading can occur via HPI

.D1

.M1

.L1

.S1

.D2

.M2

.L2

.S2

Register Set B

Register Set A

CPU

Internal Buses

InternalMemory

ExternalMemory

GPIO

EMIF

Parallel Comm

Serial

Timers

VCP / TCP

Timers

PLL

EthernetVideo Ports

DMA, EDMA(Boot)

ECE 5655/4655 Real-Time DSP 2–23

Page 24: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

System Architecture – SCR/EDMA

• SCR – Switched Central Resource

• Masters initiate accesses to/fromslaves via the SCR

• Most Masters (requestors) and Slaves(resources) have theirown port to the SCR

• Lower bandwidth masters (HPI,PCI66, etc) share a port

• There is a default priority (0 to 7) toSCR resources that canbe modified.

ARM

DSP

TC0

TC1

TC2

CC

PCI

HPI

EMAC SCR

SwitchedCentral

ResourceC64 Mem

DDR2

EMIF64

TCP

VCP

PCI

McBSP

Utopia

“Masters” “Slaves”

EDMA3

Note: this picture is the “general idea”.Every device has a different schemefor SCRs and peripheral muxing. Inother words “check your data sheet”.

2–24 ECE 5655/4655 Real-Time DSP

Page 25: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

What is Pin Multiplexing?

What is Pin Multiplexing?

• How many pins is on your device?

• How many pins would all your peripheral require?

• Pin Multiplexing is the answer – only so many peripheralscan be used at the same time … in other words, to reducecosts, peripherals must share available pins

• Which ones can you use simultaneously?

– Designers examine app use cases when deciding best mux-ing layout

– Read datasheet for final authority on how pins are muxed

– Graphical utility can assist with figuring out pin-muxing…

Laboratory Hardware Targets

• There are many C6x development systems or hardware tar-gets available from third parties

• TI itself supplies:

HPIuPP

Pin Mux Example

ECE 5655/4655 Real-Time DSP 2–25

Page 26: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

– The OMAL-L138 eXperimenters Board $495

– The C6713-225 based DSK $395, with bundled DSK spe-cific software, and USB host interface; 2M x 32 on boardSDRAM, 512K bytes on board flash

– The C6416-600 based DSK $395, with bundled DSK spe-cific software, and USB host interface

– The VC5505-100 based eZDSP USB Stick $49, with bun-dled CCS4 for XDS100 class JTAG emulators

• Full versions of the software tools are running in the lab

– Full Code Composer Studio Platinum version 4.2

– Full Code Composer Studio Platinum version 5.1

2–26 ECE 5655/4655 Real-Time DSP

Page 27: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

The OMAP-L138 (C6748) eXperimenters Board

The OMAP-L138 (C6748) eXperimenters Board

The System on Module (SOM) Board

• Product-ready System on Module with a TI OMAP-L138processor or TMS320C6748 DSP running at 375 MHz

ECE 5655/4655 Real-Time DSP 2–27

Page 28: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

• The Card (Top View)

• OMAP-L138 SOM-M1 Block Diagram

LCD ConnectorRS-232

PMDC EMIF VPIF

JTAG 20 pin

JTAG 14 pin

Audio Exp.

Boot/Mux

DIP Sw.

User

DIP Sw.

SATA

Ethernet

USB0

USB1

Power

Switch

+5 V

SOM

SD (Bottom)

JTAG MUX

XDS100

Emu.USB

Line IN

Line Out

CODEC (TLVAIC3106)

2–28 ECE 5655/4655 Real-Time DSP

Page 29: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

The OMAP-L138 (C6748) eXperimenters Board

• Audio Interface

• Communication Interfaces

OMAP L138 eXperimenters Board

Audio Exp.

SOM

Line Out

CODEC (TLVAIC3106)

Line IN

I2C0 Bus

User

DIP Sw.

McBSP1

SPI1

I2C0

McASP0Selector

)

AUDIO_EXP_SEL

LCD Connector

GPIO

OscilloscopeSignal Generator

GPIO Pin for Sampling Frequency Monitoring

Audio Output

Audio Input

LCD ConnectorRS-232

PMDC EMIF VPIF

JTAG 20 pin

JTAG 14 pin

Audio Exp.

Boot/Mux

DIP Sw.

User

DIP Sw.

SATA

Ethernet

USB0

USB1

Power

Switch

+5 V

SOM

LCD/VPIF_DOUT

JTAG MUX

XDS100

USB FS Host

USB HS OTG

ETHERNET

SD

Line IN

Line OutEmu.

USB

CODEC (TLVAIC3106)

ECE 5655/4655 Real-Time DSP 2–29

Page 30: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

• Emulation Interfaces

• Video and LCD Interfaces

JTAG 20 pin

JTAG 14 pin

SOMJTAG MUX

ARM

DSP

XDS100

Emu.USB

JTAG

LCD Connector

VPIF

SOMLCD/VPIF_DOUT

Camera /VPIF_DIN

Boot/Mux

DIP Sw.

Buffer(LCD)LCD_EXP_EN

2–30 ECE 5655/4655 Real-Time DSP

Page 31: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

The OMAP-L138 (C6748) eXperimenters Board

• Memory Interfaces

• Boot and Power Management

EMIF

SATA

SOM

SD (Bottom)

MMC_SD

EMIFA

SATA

Boot/Mux

DIP Sw.

Power

Switch

+5 V

SOM

ECE 5655/4655 Real-Time DSP 2–31

Page 32: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

The C6748 Memory MapTable 2-4. C6748 Top Level Memory Map

Start Address End Address Size DSP Mem Map EDMA Mem Map PRUSS Mem Map Master LCDCPeripheral Mem Mem Map

Map0x0000 0000 0x0000 0FFF 4K PRUSS Local

Address Space0x0000 1000 0x006F FFFF0x0070 0000 0x007F FFFF 1024K DSP L2 ROM (1)

0x0080 0000 0x0083 FFFF 256K DSP L2 RAM0x0084 0000 0x00DF FFFF0x00E0 0000 0x00E0 7FFF 32K DSP L1P RAM0x00E0 8000 0x00EF FFFF0x00F0 0000 0x00F0 7FFF 32K DSP L1D RAM0x00F0 8000 0x017F FFFF0x0180 0000 0x0180 FFFF 64K DSP Interrupt

Controller0x0181 0000 0x0181 0FFF 4K DSP Powerdown

Controller0x0181 1000 0x0181 1FFF 4K DSP Security ID0x0181 2000 0x0181 2FFF 4K DSP Revision ID0x0181 3000 0x0181 FFFF 52K0x0182 0000 0x0182 FFFF 64K DSP EMC0x0183 0000 0x0183 FFFF 64K DSP Internal

Reserved0x0184 0000 0x0184 FFFF 64K DSP Memory

System0x0185 0000 0x01BF FFFF0x01C0 0000 0x01C0 7FFF 32K EDMA3 CC0x01C0 8000 0x01C0 83FF 1K EDMA3 TC00x01C0 8400 0x01C0 87FF 1K EDMA3 TC10x01C0 8800 0x01C0 FFFF0x01C1 0000 0x01C1 0FFF 4K PSC 00x01C1 1000 0x01C1 1FFF 4K PLL Controller 00x01C1 2000 0x01C1 3FFF0x01C1 4000 0x01C1 4FFF 4K SYSCFG00x01C1 5000 0x01C1 FFFF0x01C2 0000 0x01C2 0FFF 4K Timer00x01C2 1000 0x01C2 1FFF 4K Timer10x01C2 2000 0x01C2 2FFF 4K I2C 00x01C2 3000 0x01C2 3FFF 4K RTC0x01C2 4000 0x01C3 FFFF0x01C4 0000 0x01C4 0FFF 4K MMC/SD 00x01C4 1000 0x01C4 1FFF 4K SPI 00x01C4 2000 0x01C4 2FFF 4K UART 00x01C4 3000 0x01CF FFFF0x01D0 0000 0x01D0 0FFF 4K McASP 0 Control0x01D0 1000 0x01D0 1FFF 4K McASP 0 AFIFO Ctrl0x01D0 2000 0x01D0 2FFF 4K McASP 0 Data0x01D0 3000 0x01D0 BFFF

(1) The DSP L2 ROM is used for boot purposes and cannot be programmed with application code

2–32 ECE 5655/4655 Real-Time DSP

Page 33: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

The OMAP-L138 (C6748) eXperimenters Board

Table 2-4. C6748 Top Level Memory Map (continued)Start Address End Address Size DSP Mem Map EDMA Mem Map PRUSS Mem Map Master LCDC

Peripheral Mem Mem MapMap

0x01D0 C000 0x01D0 CFFF 4K UART 10x01D0 D000 0x01D0 DFFF 4K UART 20x01D0 E000 0x01D0 FFFF0x01D1 0000 0x01D1 07FF 2K McBSP00x01D1 0800 0x01D1 0FFF 2K McBSP0 FIFO Ctrl0x01D1 1000 0x01D1 17FF 2K McBSP10x01D1 1800 0x01D1 1FFF 2K McBSP1 FIFO Ctrl0x01D1 2000 0x01DF FFFF0x01E0 0000 0x01E0 FFFF 64K USB00x01E1 0000 0x01E1 0FFF 4K UHPI0x01E1 1000 0x01E1 2FFF0x01E1 3000 0x01E1 3FFF 4K LCD Controller0x01E1 4000 0x01E1 4FFF 4K Memory Protection Unit 1 (MPU 1)0x01E1 5000 0x01E1 5FFF 4K Memory Protection Unit 2 (MPU 2)0x01E1 6000 0x01E1 6FFF 4K UPP0x01E1 7000 0x01E1 7FFF 4K VPIF0x01E1 8000 0x01E1 9FFF 8K SATA0x01E1 A000 0x01E1 AFFF 4K PLL Controller 10x01E1 B000 0x01E1 BFFF 4K MMCSD10x01E1 C000 0x01E1 FFFF0x01E2 0000 0x01E2 1FFF 8K EMAC Control Module RAM0x01E2 2000 0x01E2 2FFF 4K EMAC Control Module Registers0x01E2 3000 0x01E2 3FFF 4K EMAC Control Registers0x01E2 4000 0x01E2 4FFF 4K EMAC MDIO port0x01E2 5000 0x01E2 5FFF 4K USB10x01E2 6000 0x01E2 6FFF 4K GPIO0x01E2 7000 0x01E2 7FFF 4K PSC 10x01E2 8000 0x01E2 8FFF 4K I2C 10x01E2 9000 0x01E2 BFFF0x01E2 C000 0x01E2 CFFF 4K SYSCFG10x01E2 D000 0x01E2 FFFF0x01E3 0000 0x01E3 7FFF 32K EDMA3 CC10x01E3 8000 0x01E3 83FF 1K EDMA3 TC20x01E3 8400 0x01EF FFFF0x01F0 0000 0x01F0 0FFF 4K eHRPWM 00x01F0 1000 0x01F0 1FFF 4K HRPWM 00x01F0 2000 0x01F0 2FFF 4K eHRPWM 10x01F0 3000 0x01F0 3FFF 4K HRPWM 10x01F0 4000 0x01F0 5FFF0x01F0 6000 0x01F0 6FFF 4K ECAP 00x01F0 7000 0x01F0 7FFF 4K ECAP 10x01F0 8000 0x01F0 8FFF 4K ECAP 20x01F0 9000 0x01F0 BFFF0x01F0 C000 0x01F0 CFFF 4K Timer20x01F0 D000 0x01F0 DFFF 4K Timer30x01F0 E000 0x01F0 EFFF 4K SPI1

ECE 5655/4655 Real-Time DSP 2–33

Page 34: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

Table 2-4. C6748 Top Level Memory Map (continued)Start Address End Address Size DSP Mem Map EDMA Mem Map PRUSS Mem Map Master LCDC

Peripheral Mem Mem MapMap

0x01F0 F000 0x01F0 FFFF0x01F1 0000 0x01F1 0FFF 4K McBSP0 FIFO Data0x01F1 1000 0x01F1 1FFF 4K McBSP1 FIFO Data0x01F1 2000 0x116F FFFF0x1170 0000 0x117F FFFF 1024K DSP L2 ROM (2)

0x1180 0000 0x1183 FFFF 256K DSP L2 RAM0x1184 0000 0x11DF FFFF0x11E0 0000 0x11E0 7FFF 32K DSP L1P RAM0x11E0 8000 0x11EF FFFF0x11F0 0000 0x11F0 7FFF 32K DSP L1D RAM0x11F0 8000 0x3FFF FFFF0x4000 0000 0x5FFF FFFF 512M EMIFA SDRAM data (CS0)0x6000 0000 0x61FF FFFF 32M EMIFA async data (CS2)0x6200 0000 0x63FF FFFF 32M EMIFA async data (CS3)0x6400 0000 0x65FF FFFF 32M EMIFA async data (CS4)0x6600 0000 0x67FF FFFF 32M EMIFA async data (CS5)0x6800 0000 0x6800 7FFF 32K EMIFA Control Regs0x6800 8000 0x7FFF FFFF0x8000 0000 0x8001 FFFF 128K On-chip RAM0x8002 0000 0xAFFF FFFF0xB000 0000 0xB000 7FFF 32K DDR2 Control Regs0xB000 8000 0xBFFF FFFF0xC000 0000 0xDFFF FFFF 512M DDR2 Data0xE000 0000 0xFFFF FFFF

(2) The DSP L2 ROM is used for boot purposes and cannot be programmed with application code

2–34 ECE 5655/4655 Real-Time DSP

Page 35: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

The OMAP-L138 (C6748) eXperimenters Board

The C6713 DSK

• The C6713 DSK was introduced summer 2003

• The 6713 is an enhanced version of the 6711, including

• McBSP1 is used as a bi-directional data channel

• McBSP0 is used as a unidirectional codec control channel inSPI format (operative normally only when first configuringthe codec)

• The AIC codec uses a 12 MHz clock (popular USB clockrate)

• Through division common audio sample rate frequenciesavailable are: 48 KHz, 44.1 KHz, and 8 KHz

educe t e to a et

Figure 1-1, Block Diagram C6713 DSK

Ext.JTAG

AIC23Codec

Ho

st

Po

rt In

t

MUX

MUXM

IC I

N

LIN

E O

UT

HP

OU

T

LIN

E I

N

Peripheral Exp

LED DIP

EMIF

HPI

McBSPs

JTAG

0 1 2 30 1 2 3

CP

LD

Memory ExpP

WR

US

B

EmbeddedJTAG

JP1 1.26V

JP2 3.3V

EN

DIA

N

BO

OT

M 1

BO

OT

M 0

6713DSP

SD

RA

M

328

Fla

sh

8

1 32

Config

SW3

32

HP

I_E

N4

VoltageReg

JP

4

5V

ECE 5655/4655 Real-Time DSP 2–35

Page 36: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

C6713 DSK Board Layout

Figure 3-1, TMS320C6713 DSK

J4

J5J6 JP3

J302

J8SW1 SW2J201 D7-10

J304J303J301 J3 J1

Connector # Pins Function

J4 80 Memory

J3 80 Peripheral

J1 80 HPI

J301 3 Microphone

J303 3 Line In

J304 3 Line Out

J303 3 Headphone

J5 2 +5 Volt

J6 * 4 Optional Power Connector

J8 14 External JTAG

J201 5 USB Port

JP3 10 CPLD Programming

SW3 8 DSP Configuration Jumper

2–36 ECE 5655/4655 Real-Time DSP

Page 37: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

The OMAP-L138 (C6748) eXperimenters Board

The C6416 DSK Block Diagram

• The 6416 DSK is very similar to the 6713 DSK, except the6416 is a high performance fixed point device having:

– 600 MHz CPU clock (1.67 ns cycle time yielding 4800MIPS)

– Only fixed-point hardware

– Viterbi decoder co-processor for comm applications

– Turbo decoder co-processor for comm applications(3GPP)

• The external memory and codec configurations are identical

Figure 1-1, Block Diagram C6416 DSK

Ext.JTAG

AIC23Codec

Ho

st

Po

rt In

t

MUX

MUXM

IC I

N

LIN

E O

UT

HP

OU

T

LIN

E I

N

Peripheral Exp

LED DIP

EMIFA

HPI

McBSPs

JTAG

0 1 2 30 1 2 3

CP

LD

Memory Exp

VoltageReg

PW

R

US

B

EmbeddedJTAG

JP1 1.4V

JP2 3.3V

EN

DIA

N

BO

OT

M 1

BO

OT

M 0

6416DSP

SD

RA

M

648

Fla

sh

8

EMIFB

1 32

Config

SW3

32

JP45V

ECE 5655/4655 Real-Time DSP 2–37

Page 38: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

Memory Mapping for the DSK’s

• Memory map details can be found in the TI documentation

• We are most interested in the memory addresses locations forstoring programs and data on DSK

• The linker command file, *.cmd is used to handle the differ-ences in memory mapping between the two platform, and ingeneral across all TI DSP processors

2–38 ECE 5655/4655 Real-Time DSP

Page 39: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Software Development Overview

Software Development Overview

Code Composer Studio (CCS) is the primary development envi-ronment on all of TI’s DSP platforms

• At a high level CCS consists of the following:

• The phases of code development in CCS can be viewed asfollows:

TargetHost

Target hardware

DSP application program

DSP

Code Composer Studio

JTAGRTDX

Code Composer debugger

DSP/BIOSplug-ins

RTDXplug-in

3rd partyplug-ins

cfg.cmdcfg.s6xcfg.h6x

.cdb(Config

database)

Compiler,assembler,

lnker...

Codegeneration

toolsCode Composer project

.asm.h.c

Code Composer editor

source files

DSP/BIOS API

OLEapplication

using RTDX

ConfigurationTool

executable

DSP/BIOS

Host emulation support

Design Debug AnalyzeCode & buildconceptual

p lanning

create project,wr i te source code,configuration f i le

syntax checking,probe points,logging, etc.

real- t imedebugging,

statistics, tracing

ECE 5655/4655 Real-Time DSP 2–39

Page 40: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

• Irrespective of the development environment employed, com-mand-line or IDE, the generation of machine code in theform of an executable common object file format (coff) filefollows a common flow

C6x Code Generation Overview

Assembler

Linker

Macrolibrary

Library ofobjectfiles

EPROMprogrammer

Assemblersource

COFFobjectfiles

Archiver

Macrosource

files

Archiver

C/C++ compiler

Library-buildutility

Cross-referencelister

Debuggingtools

Run-Time-supportlibrary

TMS320C6000

C/C++source

files

ExecutableCOFF

fileHex conversion

utility

Assembly-optimized

file

Assemblyoptimizer

Linearassembly

2–40 ECE 5655/4655 Real-Time DSP

Page 41: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Software Development Overview

Code Development Flow Chart

Yes

No

Complete

Yes

No

Efficient?

Write C codePhase 1

Phase 2

Phase 3

More C optimizations?

No

Yes

No

Yes

Complete

Compile

Profile

Refine C code

Compile

Profile

Complete

Write linear assembly

Profile

Assembly optimize

Efficient?

Efficient?

ECE 5655/4655 Real-Time DSP 2–41

Page 42: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

DSP/BIOS

• Built-in instrumentation capability

– printf stops the DSP to send a string back to the debug-ger

• BIOS can automatically log events back to CCS usingLOG_printf()

• The DSP/BIOS API contains user specified functions to sendevent information back to CCS

• View real-time statistics that are passed back during non-crit-ical times

• This capability comes about via Real-Time Data Exchange(RTDX)

Traditional Start/Stop Data Transfer

Continuous Run Data Transfer with RTDX

DSPHaltedHost

JTAG

DSPRunningHost

JTAGRTDX

2–42 ECE 5655/4655 Real-Time DSP

Page 43: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Software Development Overview

• DSP/BIOS can also be used to view system events

• All of this is controlled/defined via the CCS configurationtool, and the associated configuration file, which replaces the.cmd file

• How do we manage/synchronize real-world events?

• Hardware events are driven by hardware interrupts

• With BIOS hardware interrupts are transformed to softwareinterrupts (SWI)

• Each SWI can be managed via prioritization in a schedulerthat is part of the DSP/BIOS configuration tool

DSP/BIOS Summary for Now

A real-time kernel that consists of:

• real-time scheduling

• real-time capture

• real-time I/O

ECE 5655/4655 Real-Time DSP 2–43

Page 44: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

VC5505 eZDSP USB Stick

• Exposure to the new low-cost DSP platform from the fixed-point c55x family is also planned

• The board

• Test points

AIC3204

Headphone OutStereo InTest Points

SPI EEPROM

USB Connector

VC5505 DSP LEDTest Points

ExpansionConnector

TP1

TP6

TP4

TP3

TP2 TP5 TP7TP8

TP11 TP12 TP13 TP16TP15TP14

TP9

TP10

2–44 ECE 5655/4655 Real-Time DSP

Page 45: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

VC5505 eZDSP USB Stick

• Block diagram

TP #Schematic

PageSignal Name

TP1 3 CLKOUT, Pin A7, VC5505

TP2 3 RTC_CLKOUT, Pin D8, VC5505

TP3 2 GPAIN3, Pin C11, VC5505

TP4 2 GPAIN2, Pin B11, VC5505

TP5 2 GPAIN1, Pin A11, VC5505

TP6 2 GPAIN0, Pin D10, VC5505

TP7 3 GND

TP8 7 GND

TP9 5 GND

TP10 6 Vcore, VCC_1V3, Pin 7,8 U8

TP11 6 3V3, VCC_3V3, Pin 7,8 U7

TP12 4 GPIO22, Pin E2, VC5505

TP13 4 GPIO23, Pin F2, VC5505

TP14 4 GPIO24, Pin G2, VC5505

TP15 4 GPIO25, Pin G4, VC5505

TP16 4 GPIO21, Pin N1, VC5505

PLL/ClockGenerator

PowerManagement

PinMultiplexing

JTAG Interface

64 KB DARAM

256 KB SARAM

128 KB ROM

Switched Central Resource (SCR)

InputClock(s)

FFT HardwareAccelerator

C55x™ DSP CPU

DSP System

LCDBridge

Display

I S(x4)

2

I C2

SPI UART

Serial Interfaces

GP Timer(x2)

System

10-BitSARADC

App-Spec

USB 2.0PHY (HS)[DEVICE]

RTC

Connectivity

NAND, NOR,SRAM

Program/Data Storage

MMC/SD(x2)

Peripherals

DMA(x4)

Interconnect

GP Timerand/or WD

ECE 5655/4655 Real-Time DSP 2–45

Page 46: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

• Features

1.1 TMS320VC5505 Features• High-Performance, Low-Power, TMS320C55x™ • Four Inter-IC Sound (I2S Bus™) for Data

Fixed-Point Digital Signal Processor Transport– 16.67-, 10-ns Instruction Cycle Time • Device USB Port With Integrated 2.0– 60-, 100-MHz Clock Rate High-Speed PHY that Supports:– One/Two Instruction(s) Executed per Cycle – USB 2.0 Full- and High-Speed Device– Dual Multipliers [Up to 200 Million • LCD Bridge With Asynchronous Interface

Multiply-Accumulates per Second• Tightly-Coupled FFT Hardware Accelerator(MMACS)]• 10-Bit 4-Input Successive Approximation– Two Arithmetic/Logic Units (ALUs)

(SAR) ADC– Three Internal Data/Operand Read Buses• Real-Time Clock (RTC) With Crystal Input, Withand Two Internal Data/Operand Write Buses

Separate Clock Domain, Separate Power– Fully Software-Compatible With C55xSupplyDevices

– Industrial Temperature Devices Available • Four Core Isolated Power Supply Domains:Analog, RTC, CPU and Peripherals, and USB• 320K Bytes Zero-Wait State On-Chip RAM,

Composed of: • Four I/O Isolated Power Supply Domains: RTC– 64K Bytes of Dual-Access RAM (DARAM), I/O, EMIF I/O, USB PHY, and DVDDIO

8 Blocks of 4K x 16-Bit • Low-Power S/W Programmable Phase-Locked– 256K Bytes of Single-Access RAM Loop (PLL) Clock Generator

(SARAM), 32 Blocks of 4K x 16-Bit• On-Chip ROM Bootloader (RBL) to Boot From

• 128K Bytes of Zero Wait-State On-Chip ROM NAND Flash, NOR Flash, SPI EEPROM, or I2C(4 Blocks of 16K x 16-Bit) EEPROM

• 16-/8-Bit External Memory Interface (EMIF) with • IEEE-1149.1 (JTAG™)Glueless Interface to: Boundary-Scan-Compatible– 8-/16-Bit NAND Flash, 1- and 4-Bit ECC • Up to 26 General-Purpose I/O (GPIO) Pins– 8-/16-Bit NOR Flash (Multiplexed With Other Device Functions)– Asynchronous Static RAM (SRAM)

• 196-Terminal Pb-Free Plastic BGA (Ball Grid• Direct Memory Access (DMA) Controller Array) (ZCH Suffix)

– Four DMA With 4 Channels Each • 1.05-V Core (60 MHz), 1.8-V, 2.5-V, 2.8-V, or(16-Channels Total) 3.3-V I/Os• Three 32-Bit General-Purpose Timers

• 1.3-V Core (100 MHz), 1.8-V, 2.5-V, 2.8-V, or– One Selectable as a Watchdog and/or GP 3.3-V I/Os• Two MultiMedia Card/Secure Digital (MMC/SD) • Applications:Interfaces – Wireless Audio Devices (e.g., Headsets,• Universal Asynchronous Receiver/Transmitter Microphones, Speakerphones, etc.)

(UART) – Echo Cancellation Headphones• Serial-Port Interface (SPI) With Four – Portable Medical Devices

Chip-Selects – Voice Applications• Master/Slave Inter-Integrated Circuit (I2C – Industrial Controls

Bus™) – Fingerprint Biometrics– Software Defined Radio

2–46 ECE 5655/4655 Real-Time DSP

Page 47: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

• Memory Map

• For more details on the C55 architecture in general see Sec-tion 4.4 of the Kuo text

• Since the C55 follows in the line of the C54, Section 4.3 ofthe Kuo text covers this family of processors

0001 0000h

64K Minus 192 BytesDARAM(D)

0009 0000h

SARAM 256K Bytes

External-CS2 Space(C)

0200 0000h

0300 0000h

0400 0000h

0500 0000h

050E 0000h

128K Bytes Asynchronous (if MPNMC=1)128K Bytes ROM (if MPNMC=0)

External-CS3 Space(C)

External-CS4 Space(C)

External-CS5 Space(C)

BLOCK SIZE

DMA/USB/LCD

BYTE ADDRESS(A)

ROM(if MPNMC=0)

External-CS5f MPNMC=1)

(C)Space

(i

1M Minus 128K Bytes Asynchronous

1M Bytes Asynchronous

2M Bytes Asynchronous

4M Bytes Asynchronous

MEMORY BLOCKS

0001 00C0h

MMR (Reserved)(B)

0100 0000h

Reserved 8M Minus 320K Bytes

050F FFFFh

000000h

010000h

800000h

C00000h

E00000h

F00000h

FE0000h

CPU BYTE

ADDRESS(A)

0000C0h

050000h

FFFFFFh

A. Address shown represents the first byte address in each block.B. The first 192 bytes are reserved for memory-mapped registers (MMRs).C. Out of the four DMA controllers, only DMA controller 3 has access to the external memory space.D. The USB and LCD controllers do not have access to DARAM.

ECE 5655/4655 Real-Time DSP 2–47

Page 48: The TMS320C6x Chapter Family: Hardware and · PDF fileOlder C6713 Versus the Newer C674 & C64 (not C64+): Instruction fetch Instruction dispatch ... Chapter 2 • The TMS320C6x Family:

Chapter 2 • The TMS320C6x Family: Hardware and Software

2–48 ECE 5655/4655 Real-Time DSP


Recommended