EE 445S Real-Time Digital Signal Processing Lab Fall 2011 Lab #1 Introduction to Hardware & Software Tools of TMS320C6748 DSK.

Slides:



Advertisements
Similar presentations
DSPs Vs General Purpose Microprocessors
Advertisements

Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk Spring 2011 Semester Project.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Computer System Overview
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
CS 345 Computer System Overview
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
TigerSHARC and Blackfin Different Applications. Introduction Quick overview of TigerSHARC Quick overview of Blackfin low power processor Case Study: Blackfin.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
Department of Electrical and Computer Engineering Texas A&M University College Station, TX Abstract 4-Level Elevator Controller Lessons Learned.
Chapter 13 Embedded Systems
OS Spring’03 Introduction Operating Systems Spring 2003.
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
Figure 1.1 Interaction between applications and the operating system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Lab #1 Introduction to Hardware & Software Tools of TMS320C6748 DSK
EE 345S Real-Time Digital Signal Processing Lab Fall 2008
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™
INPUT-OUTPUT ORGANIZATION
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
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.
Real-Time DSP System Design Course and DSP/BIOS II David J. Waldo Associate Professor Oklahoma Christian University 2501 E. Memorial Rd. Oklahoma City,
Chapter 8 Input/Output. Busses l Group of electrical conductors suitable for carrying computer signals from one location to another l Each conductor in.
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.
MICROPROCESSOR INPUT/OUTPUT
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
Typical Microcontroller Purposes
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
Fall 2012 Chapter 2: x86 Processor Architecture. Irvine, Kip R. Assembly Language for x86 Processors 6/e, Chapter Overview General Concepts IA-32.
Other Chapters From the text by Valvano: Introduction to Embedded Systems: Interfacing to the Freescale 9S12.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
28/03/2003Julie PRAST, LAPP CNRS, FRANCE 1 The ATLAS Liquid Argon Calorimeters ReadOut Drivers A 600 MHz TMS320C6414 DSPs based design.
32-Bit-Digital Signal Controller Texas Instruments Incorporated
Chapter 5 Input/Output 5.1 Principles of I/O hardware
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Lecture 7: Overview Microprocessors / microcontrollers.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
System Software Design Engineer: Mac Gainor Western Washington University.
بسم الله الرحمن الرحيم MEMORY AND I/O.
DSP/BIOS Real Time Operating system using DSP /ARM processor.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Chapter 4 DSP/BIOS. DSP/BIOS Part 1 - Introduction.
Introduction to Operating Systems Concepts
Voice Controlled Robot by Cell Phone with Android App
Operating System Overview
Mobile Operating System
Embedded Systems Design
Introduction to Operating System (OS)
Introduction.
ECE 3551 Microcomputer Systems 1
Chapter 3: Windows7 Part 2.
The TMS320C6x Family of DSPs
Chapter 3: Windows7 Part 2.
Lecture Topics: 11/1 General Operating System Concepts Processes
Digital Signal Processors-1
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment. Phone:
ADSP 21065L.
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

EE 445S Real-Time Digital Signal Processing Lab Fall 2011 Lab #1 Introduction to Hardware & Software Tools of TMS320C6748 DSK

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

3 Introduction Goal is to implement communication system components by writing C and/or assembly language programs for the TI TMS320C6748 fixed/floating- point DSP. C6748 DSP resides on the OMAP-L138EVM board which connects to the PC by USB.

4 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.

5 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)

6 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.

7 TMS320C6748 DSP Block Diagram

TMS320C6748 Megamodule Block Diagram 8

9 DSP Features 375/456-MHz Fixed/Floating-Point – Load-Store Architecture with VLIW architecture. 10/100 Mb/s Ethernet MAC (EMAC) USB2.0 OTG, USB1.1 OHCI interface Two inter-integrated circuit (I2C) bus interfaces One multichannel audio serial port (McASP) Two multichannel buffered serial ports (McBSP) with FIFO buffers Two SPI interfaces with multiple chip selects. Four 64-bit general-purpose timers.

DSP Features (Contd.) Configurable 16-bit host port interface (HPI). 9 banks of 16 pins of general-purpose input/output (GPIO) with programmable interrupt/event generation modes. Three UART interfaces Asynchronous and SDRAM external memory interface (EMIFA) for slower memories or peripherals. A higher speed DDR2/Mobile DDR controller. A Video Port Interface (VPIF) 10

DSP Features (Contd.) C674x Two Level Cache Memory Architecture – 32K-Byte L1P Program RAM/Cache – 32K-Byte L1D Data RAM/Cache – 256K-Byte L2 Unified Mapped RAM/Cache – Flexible RAM/Cache Partition (L1 and L2) Enhanced Direct-Memory-Access Controller 3 (EDMA3) – 2 Channel Controllers – 3 Transfer Controllers – 64 Independent DMA Channels – 16 Quick DMA Channels – Programmable Transfer Burst Size 11

C6748 Floating-Point VLIW DSP Core Load-Store Architecture With Non-Aligned VLIW DSP Support Supports TI’s Basic Secure Boot – 64 General-Purpose Registers (32 Bit) Six ALU (32-/40-Bit) Functional Units Supports 32-Bit Integer, SP (IEEE Single Precision/32-Bit) and DP (IEEE Double Precision/64- Bit) Floating Point Supports up to Four SP Additions Per clock, Four DP Additions Every 2 clocks. 12

C6748 Floating-Point VLIW DSP Core (Contd.) Two Multiply Functional Units Mixed-Precision IEEE Floating Point Multiply Supported up to: – 2 SP x SP → SP Per Clock – 2 SP x SP → DP Every Two Clocks – 2 SP x DP → DP Every Three Clocks – 2 DP x DP → DP Every Four Clocks Fixed Point Multiply Supports Two 32 x 32-Bit Multiplies, Four 16 x 16-Bit Multiplies, or Eight 8 x 8-Bit Multiplies per Clock Cycle, and Complex Multiples 13

C6748 Instruction Set Superset of C67x+ and C64x+ ISAs. Byte-Addressable (8-/16-/32-/64-Bit Data) 8-Bit Overflow Protection Bit-Field Extract, Set, Clear Normalization, Saturation, Bit-Counting Compact 16-Bit Instructions. 14

15 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 C6748 DSP using C language,  Load them into the DSK,  Run them,  Monitor program execution.

Input Need for an Operating System (BIOS) Input Simple system: single I-P-O is easy to manage As system complexity increases (multiple threads):  Can they all meet real time ?  Priorities of threads/algos ?  Synchronization of events?  Data sharing/passing ? 2 options: “home-grown” or use existing (DSP/BIOS) (either option requires overhead) If you choose an existing O/S, what should you consider ?  Is it modular ?  Is it easy to use ?  How much does it cost ?  Is it reliable?  Data sharing/passing ?  What code overhead exists? Event + ISR Device Driver Data Processing Algorithm Event + ISR Device Driver Input Process Input Output

DSP/BIOS Environment  DSP/BIOS is a library that contains modules with a particular interface and data structures  Application Program Interfaces (API) define the interactions (methods) with a module and data structures (objects)  Objects - are structures that define the state of a component  Pointers to objects are called handles  Object based programming offers:  Better encapsulation and abstraction  Multiple instance ability Technical Training Organization T TO

Definitions / Vocabulary Technical Training Organization T TO Real-time System  Where processing must keep up with the rate of I/O DSP/BIOS  Scalable, real-time kernel, that offers OS services to the user via APIs. No licensing fees required. Function  Sequence of program instructions that produce a given result Thread  Function that executes within a specific context (regs, stack, PRIORITY) API  Application Programming Interface – “methods” for interacting with library routines and data objects

DSP/BIOS Thread Types Priority HWI Hardware Interrupts  Implements ‘urgent’ part of real-time event  Hardware interrupt triggers ISRs to run  Priorities set by hardware SWI Software Interrupts  Performs HWI ‘ follow-up ’ activity  ‘ posted ’ by software  PRDs (periodic functions) are prioritized as SWIs  14 priority levels TSK Tasks  Runs programs concurrently under separate contexts  Usually enabled to run by posting a ‘ semaphore ’ (a task signaling mechanism)  15 priority levels IDL Background  Multiple IDL functions  Runs as an infinite loop (like traditional while loop)  Single priority level

TCF file: Clock & Cache BIOS Clk freq, cache settings MEM Memory Areas (origin, length, …) Stack/heap sizes Instrumentation LOG and Statistics (STS) Objects Scheduling CLK objects (tick rate) PRD, HWI, SWI, TSK, IDL fxns Synchronization Semaphores (SEM) System Config BIOS Config The GUI creates a TCF script…

Adding a New TCF File to Your Project Technical Training Organization T TO Clock settings Memory Map & Cache settings Platform file sets up… Select: File  New  DSP/BIOS v5.x Config File 1 Give the new file a name: 2 Pick the proper platform (e.g. evm6748) 3 The TCF file does some work for us…

22 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.

23 LabVIEW Front Panel Block Diagram Online LabView Interactive Tutorial can be found at:

24 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…).

25 MATLAB Command Window Current Directory Workspace Command History

26 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 to show the help document of a given function.  lookfor to searche all help documents for a given keyword. MATLAB Tutorial can be found at s/

27 MathScript Software from LabVIEW. Same as MATLAB but does not support all functions available in MATLAB. Appendix D in course reader

28 …The End! See You Next Week!