EE 445S Real-Time Digital Signal Processing Lab Spring 2017

Slides:



Advertisements
Similar presentations
Chapter 5 Enhanced Direct Memory Access (EDMA). Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004 Chapter 5, Slide 2 Learning Objectives.
Advertisements

Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk Spring 2011 Semester Project.
MICROPROCESSORS TWO TYPES OF MODELS ARE USED :  PROGRAMMER’S MODEL :- THIS MODEL SHOWS FEATURES, SUCH AS INTERNAL REGISTERS, ADDRESS,DATA & CONTROL BUSES.
Direct Memory Access Introduction to 8237
Instructor: Dr Aleksandar Milenkovic Lecture Notes
1 CSIT431 Introduction to Operating Systems Welcome to CSIT431 Introduction to Operating Systems In this course we learn about the design and structure.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
Multicore Navigator: Queue Manager Subsystem (QMSS)
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.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Interrupts. What Are Interrupts? Interrupts alter a program’s flow of control  Behavior is similar to a procedure call »Some significant differences.
Chapter 10: Input / Output Devices Dr Mohamed Menacer Taibah University
Computer System Overview Chapter 1. Operating System Exploits the hardware resources of one or more processors Provides a set of services to system users.
Input/Output. I/O Initiation & Control  Transfer of data between circuitry external to the microprocessor and the microprocessor itself.  Transfer of.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
EE 445S Real-Time Digital Signal Processing Lab Fall 2013 Lab #2 Generating a Sine Wave Using the Hardware & Software Tools for the TI TMS320C6748 DSP.
EDMA3 Keystone SoC Devices
EE 445S Real-Time Digital Signal Processing Lab Fall 2011 Lab #2 Generating a Sine Wave Using the Hardware & Software Tools for the TI TMS320C6713 DSP.
Using Direct Memory Access to Improve Performance
KeyStone Training Multicore Navigator: Packet DMA (PKTDMA)
Direct Memory Access (DMA) Microprocessors I -1. Topics to be discussed  Basic DMA Concept Basic DMA Concept  DMA pins and timing DMA pins and timing.
Direct Memory Access Module MTT M DIRECT MEMORY ACCESS MODULE (DMA)
1 DSP handling of Video sources and Etherenet data flow Supervisor: Moni Orbach Students: Reuven Yogev Raviv Zehurai Technion – Israel Institute of Technology.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Module Introduction Purpose  This training module provides an overview of the peripherals.
CH10 Input/Output DDDData Transfer EEEExternal Devices IIII/O Modules PPPProgrammed I/O IIIInterrupt-Driven I/O DDDDirect Memory.
1 ARM University Program Copyright © ARM Ltd 2013 Using Direct Memory Access to Improve Performance.
EDMA3, QDMA and IDMA for the Keystone Platform
NS Training Hardware Traffic Flow Note: Traffic direction in the 1284 is classified as either forward or reverse. The forward direction is.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
Direct Memory Access (DMA). DMA Features  7 independently configurable channels  Software programmable priorities: Very high, High, Medium or Low. 
DSP C 5000 Chapter 8 Direct Memory Access (DMA) Copyright © 2003 Texas Instruments. All rights reserved.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
CSL DAT Adapter CSL 2.x DAT Reference Implementation on EDMA3 hardware using EDMA3 Low level driver.
EE 345S Real-Time Digital Signal Processing Lab Fall 2008 Lab #3 Generating a Sine Wave Using the Hardware & Software Tools for the TI TMS320C6713 DSP.
1 Computer System Overview Chapter 1. 2 Operating System Exploits the hardware resources of one or more processors Provides a set of services to system.
1 Chapter 11 I/O Management and Disk Scheduling Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and.
Input/Output (I/O) Important OS function – control I/O
Basic Computer Organization and Design
MPC8360 Micro Controllers Lab 7 - DMA Fall , 2010.
After Mcasp_open completed
UNIT – Microcontroller.
Direct Memory address and 8237 dma controller LECTURE 6
Chapter 4 C6000 Integration Workshop
Programmable Interval Timer
1 Input-Output Organization Computer Organization Computer Architectures Lab Peripheral Devices Input-Output Interface Asynchronous Data Transfer Modes.
RX Data Transfer Controller (DTC)
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
This chapter provides a series of applications.
Interfacing Memory Interfacing.
Subject Name: Digital Signal Processing Algorithms & Architecture
The TMS320C6x Family of DSPs
8237 DMA CONTROLLER.
SOP Queuing Layer T10/11-127r0 SOP: Inbound & Outbound Queues
Operating Systems Chapter 5: Input/Output Management
Chapter 13 DMA Programming.
EE 445S Real-Time Digital Signal Processing Lab Fall 2013
Chapter 5 Enhanced Direct Memory Access (EDMA)
CPE 323 Introduction to Embedded Computer Systems: DMA Controller
Channel Sorting with the EDMA
8237 DMA CONTROLLER.
Moving Arrays -- 2 Completion of ideas needed for a general and complete program Final concepts needed for Final DMA.
8253 – PROGRAMMABLE INTERVAL TIMER (PIT). What is a Timer? Timer is a specialized type of device that is used to measure timing intervals. Timers can.
UNIT-III Pin Diagram Of 8086
NS Training Hardware.
Programmable Interval Timer
Source: Serial Port Source:
EE 345S Real-Time Digital Signal Processing Lab Fall 2007
Chapter 5 Input/Output Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved
Presentation transcript:

EE 445S Real-Time Digital Signal Processing Lab Spring 2017 Lab #2 Generating a Sine Wave Using the Hardware & Software Tools for the TI TMS320C6748 DSP (Continued) Debarati Kundu and Sam Kanawati (with the help of Mr. Eric Wilbur, TI) 1 1

EDMA Idea is that, with EDMA, CPU can initiate data transfer and do other operations while transfer is in progress. More efficient than using regular I/O which keeps CPU occupied during entire transfer. EDMA controller: Handles all data transfers between L2 cache and peripherals. Can move data to and from any addressable memory spaces (internal memory, external memory and peripherals) independently of CPU operations. 2

C674x DSP Block Diagram

EDMA Features Has 64 channels that can be assigned priorities. EDMA3 needs: Source Address Destination Address Size of transfer After an element transfer, addresses at source/destination can stay the same, get incremented or decremented. Data transfers can be initiated by CPU or events (such as the McASP FIFO buffers full). Programmable Transfer Burst Size: Transfers can be 8-bit bytes, 16-bit half-words, or 32-bit words. Can transfer 2-dimensional data blocks. 4

EDMA Features When an event occurs its transfer parameters are read from the Parameters RAM (PaRAM) and then sent to the address generation hardware. After a programmed transfer, EDMA can continue transfers by linking to another transfer programmed in the PaRAM for same channel, or chaining to a transfer for another channel Can generate transfer completion interrupts to the CPU along with a transfer complete code, for it to take desired action based on that code. EDMA has a Quick DMA mode (QDMA) for quick, one- time transfers. 5

EDMA Channel Controller Block Diagram

EDMA3 Terminology 3-dimensional transfer consisting of ACNT, BCNT and CCNT: Element = The smallest unit of a DMA transfer. An element can be 8-bit, 16-bit, or 32-bit. ACNT = Array = A group of contiguous elements comprise an array BCNT = Frame = A group of elements comprise a frame. CCNT = Block = A group of arrays or frames form a block. Minimum transfer is an array of ACNT bytes Total transfer count = ACNT * BCNT * CCNT Frame 1 ACNT Bytes Array1 Array2 Array BCNT Frame 2 Frame CCNT CCNT Frames BCNT Arrays 7

Example – How do you VIEW the transfer? We need to transfer 12 bytes from “here” to “there”. 8-bit Note: these are contiguous memory locations What is ACNT, BCNT and CCNT? You can “view” the transfer several ways: ACNT = 1 BCNT = 4 CCNT = 3 ACNT = 2 BCNT = 2 CCNT = 3 ACNT = 12 BCNT = 1 CCNT = 1 Which “view” is the best? Well, that depends on what your system needs and the type of synchronization…

EDMA Channel/Parameter RAM Sets EDMA3 has 256 Parameter RAM sets (PSETs) that contain configuration information about a transfer 64 DMA CHs and 4 QDMA CHs can be mapped to any one of the 256 PSETs and then triggered to run (by various methods) 64 DMA CHs PaRAM Set 0 PaRAM Set 1 . . . . 63 PSET 63 4 QDMA CHs PSET 64 . . . . PSET 255 3 Note: PSETs are dedicated EDMA RAM (not part of IRAM)

“A” – Synchronization An event (like the McBSP receive register full), triggers the transfer of exactly 1 array of ACNT bytes (2 bytes) Example: McBSP tied to a codec (you want to sync each transfer of a 16-bit word to the receive buffer being full or the transmit buffer being empty). EVTx EVTx EVTx Frame 1 Array1 Array2 Array BCNT Frame 2 Array1 Array2 Array BCNT Frame CCNT Array1 Array2 Array BCNT 12

“AB” – Synchronization An event triggers a two-dimensional transfer of BCNT arrays of ACNT bytes (A*B) Example: Line of video pixels (each line has BCNT pixels consisting of 3 bytes each – Y, Cb, Cr) EVTx Frame 1 Array1 Array2 Array BCNT Frame 2 Array1 Array2 Array BCNT Frame CCNT Array1 Array2 Array BCNT 13

EDMA Event Processing Registers: Event Register (ER): when event n occurs, bit n of ER is set. Event Enable Register (EER): setting bit n of EER enables processing of that event. Event Clear Register (ECR): setting a bit in ECR clears corresponding bit in ER, used by CPU to clear event flags. Event Set Register (ESR): setting a bit in ESR sets corresponding bit in ER, used by CPU to submit event requests and for debugging. 14

EDMA Interrupt Generation Generate EDMA Interrupt (Setting IERbit) EDMA Channels EDMA Interrupt Generation Channel # Options TCC IPR IER TCINTEN=0 TCC=0 IER0 = 0 1 TCINTEN=0 TCC=1 IER1 = 0 EDMA3CC_GINT . 1 TCINTEN=1 TCC=14 IER14 = 1 63 TCINTEN=0 TCC=63 IER63 = 0 Options TCINTEN TCC IER – EDMA Interrupt Enable Register (NOT the CPU IER) IPR – EDMA Interrupt Pending Register (set by TCC) 20 17 12 Use EDMA3 Low-Level Driver (LLD) to program EDMA’s IER bits

Linking Needed when we want to repeat the transfer Linking two or more channels together allows the EDMA to auto-reload a new configuration when the current transfer is complete Linking still requires a trigger to start the transfer (manual, chain, or event) We can link as many PSETs as we like, limited only by the number of PSETs on a device.

Chaining Needed When one transfer completes, trigger another transfer to run (for example, Ch0 completes, kicks off Ch1) Chaining actually refers to both an action and an event – the completed ‘action’ from the 1st channel is the ‘event’ for the next channel We can chain as many channels as we like, only limited by the channels on a device Chaining does NOT reload current channel configuration– that can only be accomplished by linking. It simply triggers another channel to run.