Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003."— Presentation transcript:

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

2 ECEN4002 Spring 2003Real Time DSP R. C. Maher2 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

3 ECEN4002 Spring 2003Real Time DSP R. C. Maher3 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

4 ECEN4002 Spring 2003Real Time DSP R. C. Maher4 Unit Sample Response The response of an LTI system to a unit sample is very useful. Note that: Sifting Linearity Time Invariance Convolution

5 ECEN4002 Spring 2003Real Time DSP R. C. Maher5 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?

6 ECEN4002 Spring 2003Real Time DSP R. C. Maher6 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, f s, of the sampled-data system

7 ECEN4002 Spring 2003Real Time DSP R. C. Maher7 Sampling Effects: Frequency Domain X c (j  )  NN -N-N X S (j  )  NN -N-N SS -S-S 2S2S -2  S  SS -S-S 2S2S X S (j  )  S > 2  N  S < 2  N (aliasing) Fourier Transform of continuous function Fourier Transform of sampled function

8 The Motorola 5630x Programming model Introduction to instruction set Assembler directives

9 ECEN4002 Spring 2003Real Time DSP R. C. Maher9 ALU 5630x ALU

10 ECEN4002 Spring 2003Real Time DSP R. C. Maher10 ALU Registers Y0X0 A1A0A2 Y1X1 B1B0B2 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

11 ECEN4002 Spring 2003Real Time DSP R. C. Maher11 5630x Addressing Unit

12 ECEN4002 Spring 2003Real Time DSP R. C. Maher12 AGU Registers R0N0M0 R1N1M1 R2N2M2 R3N3M3 R4N4M4 R5N5M5 R6N6M6 R7N7M7 Index RegistersModulo RegistersOffset Registers

13 ECEN4002 Spring 2003Real Time DSP R. C. Maher13 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)

14 ECEN4002 Spring 2003Real Time DSP R. C. Maher14 Program Layout Instruction format: lab1macx0,y0,a x:(r0)+,x0y:(r4)+,y0; comment Some assembler directives: ORGEQUINCLUDEEND DSDC; (comment) Label field Operation field Operand field X move field Y move field Comment field

15 ECEN4002 Spring 2003Real Time DSP R. C. Maher15 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)

16 Real Time Signal Processing

17 ECEN4002 Spring 2003Real Time DSP R. C. Maher17 “Real Time” means: Input/output streams are sustained – no gaps or dropped data Processing must occur within the sample period 1/f s (at least on average) Fixed delay through the system (the latency) usually must be minimized Availability of data drives the system

18 ECEN4002 Spring 2003Real Time DSP R. C. Maher18 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

19 ECEN4002 Spring 2003Real Time DSP R. C. Maher19 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??

20 ECEN4002 Spring 2003Real Time DSP R. C. Maher20 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.

21 ECEN4002 Spring 2003Real Time DSP R. C. Maher21 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.

22 ECEN4002 Spring 2003Real Time DSP R. C. Maher22 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

23 ECEN4002 Spring 2003Real Time DSP R. C. Maher23 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 )

24 ECEN4002 Spring 2003Real Time DSP R. C. Maher24 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

25 ECEN4002 Spring 2003Real Time DSP R. C. Maher25 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


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

Similar presentations


Ads by Google