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

Slides:



Advertisements
Similar presentations
DSPs Vs General Purpose Microprocessors
Advertisements

The 8051 Microcontroller and Embedded Systems
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
Chapter 2 Machine Language.
A look at interrupts What are interrupts and why are they needed.
331 W08.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 8: Datapath Design [Adapted from Dave Patterson’s UCB CS152.
Overview of Popular DSP Architectures: TI, ADI, Motorola R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.
Microprocessors General Features To be Examined For Each Chip Jan 24 th, 2002.
Programming Types of Testing.
Computer Organization and Architecture
Echo Generation and Simulated Reverberation R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.
A look at interrupts What are interrupts and why are they needed in an embedded system? Equally as important – how are these ideas handled on the Blackfin.
FFT-based filtering and the Short-Time Fourier Transform (STFT) R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
Sampling, Reconstruction, and Elementary Digital Filters R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
Introduction to Fast Fourier Transform (FFT) Algorithms R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.
Microprocessor Simulation
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
A look at interrupts What are interrupts and why are they needed.
Implementation of Basic Digital Filter Structures R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.
Methods for Tone and Signal Synthesis R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
Additional Notes on Wavetable Synthesis R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher1 A Short Introduction to DSP Microprocessor Architecture R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
IIR Filters and Equalizers R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
The Processor Data Path & Control Chapter 5 Part 1 - Introduction and Single Clock Cycle Design N. Guydosh 2/29/04.
Chapter 2 Software Tools and Assembly Language Syntax.
1 Signals & Systems Spring 2009 Week 3 Instructor: Mariam Shafqat UET Taxila.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
MICROPROCESSOR INPUT/OUTPUT
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Objective At the conclusion of this chapter you will be able to:
13-Nov-15 (1) CSC Computer Organization Lecture 7: Input/Output Organization.
Operating Systems 1 K. Salah Module 1.2: Fundamental Concepts Interrupts System Calls.
EEE 503 Digital Signal Processing Lecture #2 : EEE 503 Digital Signal Processing Lecture #2 : Discrete-Time Signals & Systems Dr. Panuthat Boonpramuk Department.
INTRODUCTION Programming – process of composing several instructions to perform certain tasks. Program – product of programming which contains several.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
Digital Signal Processing
Course Outline (Tentative) Fundamental Concepts of Signals and Systems Signals Systems Linear Time-Invariant (LTI) Systems Convolution integral and sum.
Digital Control CSE 421.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
بسم الله الرحمن الرحيم MEMORY AND I/O.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
1 Computing the output response of LTI Systems. By breaking or decomposing and representing the input signal to the LTI system into terms of a linear combination.
CHAPTER 3 COMPLETING THE PROBLEM- SOLVING PROCESS AND GETTING STARTED WITH C++ An Introduction to Programming with C++ Fifth Edition.
Programming and Debugging with the Dragon and JTAG Many thanks to Dr. James Hawthorne for evaluating the Dragon system and providing the core content for.
Digital Control CSE 421.
Chapter 2: The Visual Studio .NET Development Environment
Displacement (Indexed) Stack
MIPS Instruction Set Advantages
Basic Processor Structure/design
William Stallings Computer Organization and Architecture 8th Edition
FFT-based filtering and the
Embedded Systems Design
Computer Organization & Assembly Language Chapter 3
The 8051 Microcontroller and Embedded Systems
William Stallings Computer Organization and Architecture 8th Edition
James K Beard, Ph.D. April 20, 2005 SystemView 2005 James K Beard, Ph.D. April 20, 2005 April 122, 2005.
MIPS coding.
Processor Organization and Architecture
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Chapter 11 Processor Structure and function
Computer Architecture Assembly Language
Introduction to Computer Engineering
INSTRUCTION SET DESIGN
Presentation transcript:

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

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

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

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

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?

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

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

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

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

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

ECEN4002 Spring 2003Real Time DSP R. C. Maher x Addressing Unit

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

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)

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

ECEN4002 Spring 2003Real Time DSP R. C. Maher15 Memory Organization –Program:$0 - $0FFF(4k words) –X Data:$0 - $07FF(2k words) –Y Data:$0 - $07FF(2k words) –Program:$0 - $3FFF(16k words) –X Data:$0 - $5FFF(24k words) –Y Data:$0 - $5FFF(24k words)

Real Time Signal Processing

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

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

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??

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.

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.

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

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 )

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

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