EE 345S Real-Time Digital Signal Processing Lab Fall 2008

Slides:



Advertisements
Similar presentations
Remote - DSP Lab for Distance Education
Advertisements

DSPs Vs General Purpose Microprocessors
Organized by DSP Lab, Dept. of E & ECE, IIT, Kharagpur Sponsored by Texas Instruments (India), Bangalore A Training Programme on TI’s DSP Tools Lectures.
Chapter 4 The Components of the System Unit
EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
© Paradigm Publishing, Inc. 2-1 Chapter 2 Input and Processing Chapter 2 Input and Processing.
Mohammed Yousef Abd El ghany, Faculty of Eng., Comm. Dep., 3rd year. Digital Signal Processor The Heart of Modern Real-Time Control Systems.
Introduction to Information Technology: Your Digital World © 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e©
Introduction.
Department of Electrical and Computer Engineering Texas A&M University College Station, TX Abstract 4-Level Elevator Controller Lessons Learned.
Introduction to ARM Architecture, Programmer’s Model and Assembler Embedded Systems Programming.
Lab #1 Introduction to Hardware & Software Tools of TMS320C6748 DSK
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
EENG 3910: Project V Digital Signal Processing (DSP) System Design
Living in a Digital World Discovering Computers 2011.
Computer Organization and Assembly language
A Company Selling Technology and not just a Product.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
LPC Speech Coder on the TI C6x DSP Mark Anderson, Jeff Burke EE213A / EE298-2 Prof. Ingrid Verbauwhede.
Anne Mascarin DSP Marketing The MathWorks
Getting Started With DSP A. What is DSP? B. Which TI DSP do I use? Highest performance C6000 Most power efficient C5000 Control optimized C2000 TMS320C6000™
Ehsan Shams Saeed Sharifi Tehrani. What is DSP ? Digital Signal Processing (DSP) is used in a wide variety of applications, and it is hard to find a good.
DSP Development System
Silicon Labs ToolStick Development Platform
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Computer Organization & Assembly Language
EE 1106: Introduction to EE Freshman Practicum
Digital Signal Processors for Real-Time Embedded Systems By Jeremy Kohel.
Instructor: Li Ma Department of Computer Science Texas Southern University, Houston August, 2011.
Computer Organization
Your Interactive Guide to the Digital World Discovering Computers 2012.
Intro to CS Chapt 2 Data Manipualtion 1 Data Manipulation How is data manipulated inside a computer? –How is data input? –How is it stored? –How is it.
© Paradigm Publishing Inc. 2-1 Chapter 2 Input and Processing.
Chapter 4 The System Unit: Processing and Memory Prepared by : Mrs. Sara salih.
Computer Processing of Data
Add on cards. Also known as Expansion card or interface adapter. It can be inserted into an expansion slot of a motherboard to add functionality to a.
RICE UNIVERSITY Implementing the Viterbi algorithm on programmable processors Sridhar Rajagopal Elec 696
 Design model for a computer  Named after John von Neuman  Instructions that tell the computer what to do are stored in memory  Stored program Memory.
Discovering Computers 2012: Chapter 4
CPU Computer Hardware Organization (How does the computer look from inside?) Register file ALU PC System bus Memory bus Main memory Bus interface I/O bridge.
Computers Are Your Future Eleventh Edition Chapter 2: Inside the System Unit Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
© Paradigm Publishing Inc. 2-1 Chapter 2 Input and Processing.
Chapter 2 The CPU and the Main Board  2.1 Components of the CPU 2.1 Components of the CPU 2.1 Components of the CPU  2.2Performance and Instruction Sets.
EE 445S Real-Time Digital Signal Processing Lab Fall 2011 Lab #1 Introduction to Hardware & Software Tools of TMS320C6748 DSK.
Hands-on Teleoperation TARET Winter School Villach, February 5 –16, 2007 Darko Hercog.
An Overview of LabVIEW by: The Software User-Interface Group!
Chapter 2 Data Manipulation. © 2005 Pearson Addison-Wesley. All rights reserved 2-2 Chapter 2: Data Manipulation 2.1 Computer Architecture 2.2 Machine.
Chapter 1 Introduction. Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2002 Chapter 1, Slide 2 Learning Objectives  Why process signals.
The Components of the System Unit
Introduction to the C6713 Laurier Boulianne
DSP Architectures Additional Slides Professor S. Srinivasan Electrical Engineering Department I.I.T.-Madras, Chennai –
The Evolution of TMS, Family of DSP’s
Computer Hardware – System Unit
DIGITAL SIGNAL PROCESSORS. What are Digital Signals? Digital signals have finite precision in both the time (sampled) and amplitude (quantized) domains.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
MICROPROCESSOR INTEL 8086/8088 BY: SERA SYARMILA SAMEON.
Computer Hardware – System Unit
Discovering Computers 2011: Living in a Digital World Chapter 4
Embedded Systems Design
Introduction.
Chapter 1: The 8051 Microcontrollers
The TMS320C6x Family of DSPs
Introduction to Digital Signal Processors (DSPs)
Chapter 1 Introduction.
EE 445S Real-Time Digital Signal Processing Lab Spring 2014
Introduction to Microprocessor Programming
Digital Signal Processors-1
Introduction to 5685x Series
ADSP 21065L.
Presentation transcript:

EE 345S Real-Time Digital Signal Processing Lab Fall 2008 Lab #1 Introduction to Hardware & Software Tools of TMS320C6713 DSK

Outline Introduction C6713 DSK Board C6713 DSP C6700 Instruction Set Architecture Code Composer Studio LabVIEW MATLAB/MathScript

Introduction Goal is to implement communication system components by writing C and/or assembly language programs for the TI TMS320C6713 floating-point DSP. C6713 DSP resides on the TI TMS320C6713 DSP Starter Kit (DSK) which connects to the PC by USB.

Fixed vs. Floating Point DSP’s Fixed Point DSP’s (Modems, Controllers, Phones…) Cheaper, Consume less power, Need special care when programming to avoid overflows, More dominant in the market. Floating Point DSP’s (DSL, Video, Imaging…) Easier to program, Complex architecture (more computationally demanding) More expensive.

TI DSP Families Low cost, Fixed-Point, 16-bit (for control): TMS320C1x, ’C2x, ’C20x, ’C24x Power Efficient, Fixed-Point, 16-Bit (for wireless phones and modems): ’C5x, ’C54x, ’C55x High Performance DSP’s (DSL, Imaging, Video…): ’C62x, ’C64x (16-bit fixed-point) ’C3x, ’C4x, ’C67x (32-bit floating-point)

Advantages of DSP’s vs. Analog Circuit Can implement complex linear and non-linear algorithms, Application can be modified simply by changing code, Highly reliable, Manufacturing is fairly easy.

TMS320C6713 DSK Block Diagram

DSK Features Has a TMS320C6713 DSP operating at 225 MHz. AIC32 stereo codec line with Line In, Line Out, MIC and headphone jacks to interface with analog audio signals that are sampled and digitized so it can be processed by DSP.

DSK Features 5V Power Supply. 16 MB of synchronous DRAM. 512 KB of non-volatile flash memory. 4 user accessible LED’s and DIP (Dual In-line Package) switches to provide user with some interactive feedback (I/O). Expansion connectors for daughter cards, external memories and other DSP’s.

C6713 DSP Features VLIW (Very Long Instruction Word) CPU Core that takes advantage of parallelism (ILP). Fetches 8 32-bit instructions at once (total of 256 bits). Has 8 independent functional units: 4 ALU’s (fixed and floating-point): .L1, .L2, .S1 and .S2. 2 ALU’s (fixed-point): .D1 and .D2. 2 Multipliers (fixed and floating-point): .M1 and .M2. Load/Store architecture with 32 32-bit general purpose registers (all instructions operate on registers as opposed to data in memory using .D1/.D2).

C6713 DSP Features 8 functional units are divided into 2 sets each with 4 different units and their own 16 general purpose registers (A0-A15 and B0-B15). There is a single data bus connecting the 2 sides. Register files support data ranging in size from 16-bit through 40-bit fixed point & 64-bit floating point. Register access using the register file across the CPU supports one read and one write per cycle.

C6700 DSP Simplified Architecture Program RAM Data Cache or Cache Internal Buses Control Regs Regs (B0-B15) Regs (A0-A15) .D1 .M1 .L1 .S1 .D2 .M2 .L2 .S2 CPU Addr Data External Memory -Sync -Async DMA Serial Port Host Port Boot Load Timers Pwr Down

C6713 DSP Features Instruction Set Features Hardware support for IEEE 754 standard on single and double precision floating-point operations. 8, 16 or 32-bit addressable load/store instructions. L1/L2 Memory Architecture (2 level cache). Can be configured to support Little Endian or Big Endian. 16-bit HPI to allow other processor access to memory space.

DSP Units .M Multiplication Unit: .L Logic Unit: .S Shifter Unit: 16-bit × 16-bit, 32-bit × 32-bit, 64-bit × 64-bit .L Logic Unit: Arithmetic, comparisons and logic operations. .S Shifter Unit: Bit manipulation (set, get, shift, rotate). .D Data Unit: Load/Store to/from memory (exclusively) Performs addition and pointer arithmetic.

C67xx Instruction Set

Parallel Operations Instruction word for each functional unit is 32-bits. Instructions are fetched 8 at a time in 256 bit packets called fetch packets. Up to 8 instructions can be executed in parallel, one in each functional unit. Bit 0 of 32-bit instruction indicates if next instruction belongs to same execute packet. Fetch packet ≠ Execute packet (execute packet can be larger than 256 bits, so it spans more fetch packets).

Code Composer Studio CCS is TI’s proprietary IDE that provides a transition between a high-level DSP program and an on-board machine language program. It is used to: Generate programs for the C6713 DSP using C language, Load them into the DSK, Run them, Monitor program execution.

Code Composer Studio - Example Make sure DSK is connected to PC via USB and to power outlet before opening CCS. Open CCS by double clicking on the CCS icon To connect to the DSK, go to: “Debug → Connect”. To start a new project, go to: “Project → New…” Choose Appropriate DSP Family

Code Composer Studio - Example “Skeleton.exe” is a project skeleton we will use where we only need to insert our code. Available online on course website.

Code Composer Studio - Example Add C source file to “labmain.c”:

Code Composer Studio - Example Now, Compile code: “Project → Compile File”, Build project: “Project → Build”, Load program to DSK: “File → Load Program” and choose “.out” file in “Debug” folder, Run the program on DSP: “Debug → Run”. Profiling is a feature in CCS that allows us to get the time needed to execute certain sequence of instructions.

LabVIEW Laboratory Virtual Instrumentation Engineering Workbench. It is a powerful IDE for data acquisition, instrumentation, analysis, signal processing, control… LabVIEW programs called Virtual Instruments (VI’s). Each VI has 2 components: Front Panel: user interface of the VI, has all controls and indicators for I/O. Block Diagram: code is added using graphical representations of functions to control front panel objects.

LabVIEW Online LabView Interactive Tutorial can be found at: Front Panel Block Diagram Online LabView Interactive Tutorial can be found at: http://zone.ni.com/devzone/cda/tut/p/id/4425

MATLAB MATrix LABoratory. It is a numerical computing environment and programming language. Allows easy matrix manipulation, plotting of functions and data, implementation of algorithms, creation of GUI’s… Includes many specialized toolboxes that extend the regular MATLAB environment (communications, Control, Signal Processing…).

MATLAB Command Window Workspace Current Directory Command History

MATLAB MATLAB Help is very practical and user-friendly. Can access the MATLAB Help by pressing F1, or going to “Help → MATLAB Help”. Also, in the Command Window, can type help <function_name> to show the help document of a given function. lookfor <keyword> to searche all help documents for a given keyword. MATLAB Tutorial can be found at http://www.utexas.edu/its-archive/rc/tutorials/matlab/matlab73.pdf

MathScript Software from LabVIEW. Same as MATLAB but does not support all functions available in MATLAB. Appendix D in course reader: http://users.ece.utexas.edu/~bevans/courses/realtime/handouts/matlab/index.html

…The End! See You Next Week!