Top Banner
Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003
25

Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

Real Time DSPand the

Motorola 56300 DSP Chip

R.C. Maher

ECEN4002/5002 DSP Laboratory

Spring 2003

Page 2: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 2

Introduction: DSP Review

• Sampled signal is represented as a sequence of numbers: x[n]

• Unit sample [n] : …0,0,0,1,0,0,0, …

• Can write:

“Sifting” property

∑∞

−∞=

−=k

knkxnx ][][][ δ

Page 3: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 3

Linearity, Time Invariance

• Linear systems: additivity and scaling

• Time-Invariant systems: delay (shift) of input sequence simply causes the same delay (shift) of output sequence

{ } { } { }][][][][ 2121 nxTnxTnxnxT +=+

{ } { }][][ nxTanxaT ⋅=⋅

Page 4: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 4

Unit Sample Response

• The response of an LTI system to a unit sample is very useful. Note that:

{ }

{ }

−∞=

−∞=

−∞=

−=

−=

⎭⎬⎫

⎩⎨⎧

−=

=

k

k

k

knhkx

knTkx

knkxT

nxTny

][][

][][

][][

][][

δ

δ

Sifting

Linearity

Time Invariance

Convolution

Page 5: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 5

Unit Sample Response (cont.)

• NOTE: we can find the response of an LTI system to any input if we know h[n]

• What if input is a complex exponential?

( )ωω

ωω

ω

jnj

m

mjnj

m

mnj

eHe

emhe

emhny

=

=

=

∑∞

−∞=

−∞=

][

][][ )(

Page 6: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 6

Frequency Response

• Frequency response is the discrete-time Fourier transform of the unit sample response:

– This is a periodic function with period 2– 2 corresponds to the sample rate, fs , of the

sampled-data system

( ) ∑∞

−∞=

−=n

njj enheH ωω ][

Page 7: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 7

Sampling Effects: Frequency DomainXc(j)

N-N

XS(j)

N-N S-S 2S-2S

S-S 2S-2S

XS(j)

S > 2 N

S < 2 N (aliasing)

Fourier Transform of continuous function

Fourier Transform of sampled function

Page 8: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

The Motorola 5630x

Programming model

Introduction to instruction set

Assembler directives

Page 9: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 9

ALU

5630x ALU

Page 10: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 10

ALU Registers

Y0X0

A1 A0A2

Y1X1

B1 B0B2

General-Purpose:• 24 bits• Move to/from other registers• Move to/from memory• ALU/Mult operands

Accumulators:• 56 bits [ 8 : 24 : 24 ]• Move to/from other registers• Move to/from memory• ALU/Mult results

Page 11: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 11

5630x Addressing Unit

Page 12: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 12

AGU Registers

R0 N0M0

R1 N1M1

R2 N2M2

R3 N3M3

R4 N4M4

R5 N5M5

R6 N6M6

R7 N7M7

Index Registers Modulo Registers Offset Registers

Page 13: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 13

Addressing Examples

move x:(R4),X0 ; Register Indirect

move x:(R0)+,X1 ; w/ postincrement by 1

move x:(R4)-,X1 ; w/ postdecrementby 1

move x:-(R0),X1 ; w/ predecrement by 1

move x:(R4)+N4,X0 ; w/ postincrement by N

move x:(R0)-N0,X1 ; w/ postdecrement by N

move x:(R4+N4),X0 ; w/ indexed offset by N

(no update)

Page 14: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 14

Program Layout

• Instruction format:lab1 mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0 ;

comment

• Some assembler directives:

ORG EQU INCLUDE END

DS DC ; (comment)

Label field

Operation field

Operand field

X move field

Y move field

Comment field

Page 15: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 15

Memory Organization

• 56303– Program: $0 - $0FFF (4k words) – X Data: $0 - $07FF (2k words)– Y Data: $0 - $07FF (2k words)

• 56307– Program: $0 - $3FFF (16k words) – X Data: $0 - $5FFF (24k words) – Y Data: $0 - $5FFF (24k words)

Page 16: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

Real Time Signal Processing

Page 17: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 17

“Real Time” means:

• Input/output streams are sustained – no gaps or dropped data

• Processing must occur within the sample period 1/fs (at least on average)

• Fixed delay through the system (the latency) usually must be minimized

• Availability of data drives the system

Page 18: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 18

DSP System

A/D Converter

D/A Converter

DSP

Microprocessor

Clock

Data

Clock

Data

High speed serial data

DSP receives an interrupt as each sample arrives

DSP receives an interrupt when D/A

ready for sample

Page 19: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 19

DSP Software Development

• Write software

• Assemble and link

• Download to EVM

• Run!

…but how to determine if it works or not??

…and what if program doesn’t work??

Page 20: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 20

Testing and Debugging

• Can be a complicated process because:– Write and assemble code on PC, but then

download and run on EVM: indirect observation is required.

– Algorithm and implementation errors are often subtle and ellusive numerical details.

– Real Time programs can’t be run in “slow motion,” so identifying bugs requires creative methods.

Page 21: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 21

Testing and Debugging (cont.)

• Suggestions:– Develop and test your code incrementally.

Make only small changes code changes before testing again. In other words, never be more than one change away from a working program.

– Test code segments in isolation using the debugger or the software simulator.

– Learn to use your eyes and ears to find bugs.

Page 22: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 22

Edit | Assemble | Load | Test

• Edit source code file– Use simple text editor (DOS Edit, Notepad, etc.)– Plain text, not case sensitive– USE LOTS OF COMMENTS!!– Use modular code design and organization

• Assemble– Execute: asm56300 –a –b –g –l file.asm– Check for errors, and re-edit as necessary

Page 23: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 23

Edit | Assemble | Load | Test (cont.)

• Download .cld module to the EVM– Run the Domain Technologies Debugger EVM30XW

– “File | Load…” and browse to the .cld file

• Test the module– Start the code (green button on Debugger)

– Observe input/output signals

– When in doubt, stop and download known good code (e.g, pass.cld)

Page 24: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 24

The Pass.asm Program

• Initializes codec (stereo)

• Handles codec data interrupts

• Main program loop polls for data ready, then puts left sample in A and right sample in B

• Uses some X and Y memory

• Note: r6 is used as a stack pointer

Page 25: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.

ECEN4002 Spring 2003 Real Time DSP R. C. Maher 25

Lab Assignment #1

• Due at START of class in one week

• Topics:– Use EVM and software tools– Observe sampling and reconstruction– Program #1: gain multiplier– Program #2: word length and quantization– Program #3: aliasing