Real Time DSP and the Motorola 56300 DSP Chip R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002 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: x[n] x[k ] [n k ] k “Sifting” property ECEN4002 Spring 2002 Real Time DSP R. C. Maher 2 Linearity, Time Invariance • Linear systems: additivity and scaling T x1[n] x2[n] T x1[n] T x2[n] T a x[n] a T x[n] • Time-Invariant systems: delay (shift) of input sequence simply causes the same delay (shift) of output sequence ECEN4002 Spring 2002 Real Time DSP R. C. Maher 3 Unit Sample Response • The response of an LTI system to a unit sample is very useful. Note that: y[ n] T x[n] Sifting T x[ k ] [n k ] k x[k ]T [n k ] k Convolution x[k ] h[n k ] Linearity Time Invariance k ECEN4002 Spring 2002 Real Time DSP R. C. Maher 4 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? y[n] j ( n m ) h [ m ] e m e jn h[m]e j m m e jn H e j ECEN4002 Spring 2002 Real Time DSP R. C. Maher 5 Frequency Response • Frequency response is the discrete-time Fourier transform of the unit sample response: h[n]e He j jn n – This is a periodic function with period 2 – 2 corresponds to the sample rate, fs , of the sampled-data system ECEN4002 Spring 2002 Real Time DSP R. C. Maher 6 Sampling Effects: Frequency Domain Xc(j) -N S > 2 N Fourier Transform of continuous function N Fourier Transform of sampled function XS(j) -2S -S -N S < 2 N (aliasing) S 2S XS(j) -2S -S ECEN4002 Spring 2002 N Real Time DSP S 2S R. C. Maher 7 The Motorola 5630x Programming model Introduction to instruction set Assembler directives ALU 5630x ALU ECEN4002 Spring 2002 Real Time DSP R. C. Maher 9 ALU Registers X0 Y0 X1 Y1 A2 A1 A0 B2 B1 B0 ECEN4002 Spring 2002 Real Time DSP 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 R. C. Maher 10 5630x Addressing Unit ECEN4002 Spring 2002 Real Time DSP R. C. Maher 11 AGU Registers Index Registers Modulo Registers Offset Registers R0 M0 N0 R1 M1 N1 R2 M2 N2 R3 M3 N3 R4 M4 N4 R5 M5 N5 R6 M6 N6 R7 M7 N7 ECEN4002 Spring 2002 Real Time DSP R. C. Maher 12 Addressing Examples move x:(R4),X0 move x:(R0)+,X1 move x:(R4)-,X1 move x:-(R0),X1 move x:(R4)+N4,X0 move x:(R0)-N0,X1 move x:(R4+N4),X0 ECEN4002 Spring 2002 ; Register Indirect ; w/ postincrement by 1 ; w/ postdecrement by 1 ; w/ predecrement by 1 ; w/ postincrement by N ; w/ postdecrement by N ; w/ indexed offset by N (no update) Real Time DSP R. C. Maher 13 Program Layout • Instruction format: lab1 Label field mac Operation field x0,y0,a Operand field x:(r0)+,x0 X move field y:(r4)+,y0 Y move field • Some assembler directives: ORG EQU INCLUDE DS DC ; (comment) ECEN4002 Spring 2002 Real Time DSP R. C. Maher ; comment Comment field END 14 Memory Organization • 56303 – Program: – X Data: – Y Data: $0 - $0FFF (4k words) $0 - $07FF (2k words) $0 - $07FF (2k words) • 56307 – Program: – X Data: – Y Data: ECEN4002 Spring 2002 $0 - $3FFF (16k words) $0 - $5FFF (24k words) $0 - $5FFF (24k words) Real Time DSP R. C. Maher 15 Real Time Signal Processing “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 ECEN4002 Spring 2002 Real Time DSP R. C. Maher 17 DSP System DSP receives an interrupt as each sample arrives Clock A/D Converter Clock DSP Data Microprocessor Data High speed serial data ECEN4002 Spring 2002 D/A Converter DSP receives an interrupt when D/A ready for sample Real Time DSP R. C. Maher 18 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?? ECEN4002 Spring 2002 Real Time DSP R. C. Maher 19 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. ECEN4002 Spring 2002 Real Time DSP R. C. Maher 20 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. ECEN4002 Spring 2002 Real Time DSP R. C. Maher 21 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 ECEN4002 Spring 2002 Real Time DSP R. C. Maher 22 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) ECEN4002 Spring 2002 Real Time DSP R. C. Maher 23 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 ECEN4002 Spring 2002 Real Time DSP R. C. Maher 24 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 ECEN4002 Spring 2002 Real Time DSP R. C. Maher 25
© Copyright 2026 Paperzz