Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.
-
date post
21-Dec-2015 -
Category
Documents
-
view
255 -
download
1
Transcript of Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.
![Page 1: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/1.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/13.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/14.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/15.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/16.jpg)
Real Time Signal Processing
![Page 17: Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/17.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/18.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/19.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/20.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/21.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/22.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/23.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/24.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022081501/56649d5e5503460f94a3e864/html5/thumbnails/25.jpg)
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