Beruflich Dokumente
Kultur Dokumente
Module 0 : Introduction
0-1
DSP28 - Introduction
0-1
Module Topics
Module Topics
Introduction ................................................................................................................................................0-1 Welcome to the C28x - Tutorial ...............................................................................................................0-1 Module Topics..........................................................................................................................................0-2 CD ROM Structure ...............................................................................................................................0-3 Modules Part I .....................................................................................................................................0-3 Modules Part II ....................................................................................................................................0-3 Template Files for Laboratory Exercises.................................................................................................0-4 What is a Digital Signal Controller? .......................................................................................................0-6 The Intel 80x86: A typical Microprocessor ........................................................................................0-7 The Desktop PC: a Micro Computer ................................................................................................0-8 The Microcontroller : a single chip computer......................................................................................0-9 A Digital Signal Processor ................................................................................................................0-10 The Sum of Product Equation .....................................................................................................0-11 A SOP executed by a DSP.................................................................................................................0-13 A Digital Signal Controller................................................................................................................0-14 DSP Competition ...................................................................................................................................0-15 Texas Instruments DSP Portfolio........................................................................................................0-16 TMS320F28x Roadmap .........................................................................................................................0-18
0-2
DSP28 - Introduction
CD ROM Structure
CD ROM Structure
Modules Part I
Chapter 0: Introduction to DSP Chapter 1: TMS320F2812 Architecture Chapter 2: Software Development Tools Chapter 3: Digital Input/Output Chapter 4: Understanding the F2812 Interrupt System Chapter 5: Event Manager Chapter 6: Analogue to Digital Converter Chapter 7: Communication I: Serial Peripheral Interface Chapter 8: Communication II: Serial Communication Interface Chapter 9: Communication III: Controller Area Network (CAN)
Modules Part II
Chapter 10: Flash Programming Chapter 11: IQ Math Library Chapter 12: DSP/BIOS Chapter 13: Boot ROM Chapter 14: FIR Filter Chapter 15: Digital Motor Control
DSP28 - Introduction
0-3
0-3
0-4
DSP28 - Introduction
Lab6: Analogue Digital Converter Lab6A: Analogue Control Lab7: SPI DAC TLV5617A Lab7A: CCS Graph Tool Lab7B: SPI _EEPROM M95080 Lab8: SCI-Transmission Lab8A: SCI-Transmit Interrupt Lab8B: SCI-FIFO Transmission Lab8C: SCI Transmit & Receive Lab9: CAN Transmission Lab10: CAN Receive Lab11: FLASH Boot Mode Lab12: DSP-BIOS Lab14: FIR Filter Lab15: Digital Motor Control
- read two analogue voltages and visualizes the digital values as a light-beam - use one analogue input channel to control the speed of Lab4 - generate a rising and falling saw tooth voltage at the two output channels of the dual DAC - feedback the two DAC signals into two ADC channels and visualize the signal shape with Code Composer Studios graphical tool - store the status of 8 input switches in address 0x40 of the external EEPROM. Read the EEPROM and display the value on 8 LEDs - send a string from DSP to a PCs COM-port - adds SCI-Transmit Interrupt and Core Timer 0 to Lab8 - use SCI-FIFO mode to transmit the string - when string Texas is received from a PC the DSP answers by transmitting Instruments - Transmit the status of 8 input switches with 100KBPS and Identifier 0x1000 0000 (extended mode) periodically. - Receive identifier 0x1000 0000 with 100KBPS and display the one-byte-message at the 8 LEDS - modify Lab4 to start out of internal Flash. Program Flash memory using CCS - modify Lab2 to use BIOS functions and configuration data base - Filter a square wave signal with a digital filter. - use TIs library to control a 3phase PMSM motor.
DSP28 - Introduction
0-5
Microprocessor (P) Micro Computer Microcontroller (C) Digital Signal Processor (DSP) Digital Signal Controller (DSC)
0-2
Microprocessors are based on a simple sequential procedural approach: Read next machine code instruction from code memory, decode instruction, read optional operands from data memory, execute instruction and write back result. This series of events runs in an endless manner. To use a P one has to add memory and additional external devices to the Microprocessor.
0-6
DSP28 - Introduction
Bus - Unit
- Bus Control Address & Data Bus Interface Instruction Queue
Execution - Unit
- CPU - ALU - Register
Instruction Unit
- Decode Instruction - Operation Queue
0-3
The Intel 8086 can be considered to be the veteran of all microprocessors. Inside this processor four units take care of the sequence of states. The bus-unit is responsible for addressing the external memory resources using a group of unidirectional digital address signals, bi-directional data lines and control and status signals. Its purpose is to fill a first pipeline, called the instruction queue with the next machine instructions to be processed. It is controlled by the Execution unit and the Address-Unit. The Instruction unit reads the next instruction out of the Instruction queue decodes it and fills a second queue, the Operation queue with the next internal operations that must be performed by the Execution Unit. The Execution Unit does the real work; it executes operations or calls the Bus Unit to read an optional operand from memory. Once an instruction is completed, the Execution Unit forces the Address Unit to generate the address of the next instruction. If this instruction was already loaded into the Instruction queue, the operational speed is increased. This principle is called cache. We could go much deeper into the secrets of a Microprocessor; eventually you can book another class at your university that deals with this subject much more in detail, especially into the pros and cons of Harvard versus Von-Neumann Machines, into RISC versus CISC, versions of memory accesses etc. For now, lets just keep in mind the basic operation of this type of device.
DSP28 - Introduction
0-7
Code - Memory
Memory Bus
Data - Memory
Clock
Microprocessor
Timer/Counter
Peripheral Bus
Digital In
Digital In
Analogue In
Analogue Out
0-4
Computer Peripherals
Peripherals include:
Digital Input / Output Lines Analogue to Digital Converter (ADC) Digital to Analogue Converter (DAC) Timer / Counter units Pulse Width Modulation ( PWM) Output Lines Digital Capture Input Lines Network Interface Units: Serial Communication Interface (SCI) - UART Serial Peripheral Interface ( SPI) Inter Integrated Circuit ( I2C) Bus Controller Area Network (CAN) Local Interconnect Network (LIN) Universal Serial Bus (USB) Local / Wide Area Networks (LAN, WAN) Graphical Output Devices and more
0-5
0-8
DSP28 - Introduction
System on Chip
3. Microcontroller (C) Nothing more than a Micro Computer as a single silicon chip! All computing power AND input/output channels that are required to design a real time control system are on chip Guarantee cost efficient and powerful solutions for embedded control applications Backbone for almost every type of modern product Over 200 independent families of C Both P Architectures (Von Neumann and Harvard) are used inside Microcontrollers
0-6
DSP28 - Introduction
0-9
0-7
a
k =0 M
x( n k )
y ( n )=
a
k =0 N k =0
x( n k ) +
b
k =1
y( n k )
Convolution
y ( n )=
X (k ) =
F (u ) =
0 - 10
DSP28 - Introduction
Task : use a Desktop - PC and code the equation into a common C-compiler system, e.g. Microsoft Visual Studio.Net A C-Code Solution could look like this:
#include <stdio.h> int data[4]={1,2,3,4}; int coeff[4]={8,6,4,2}; int main(void) { int i; int result =0; for (i=0;i<4;i++) result += data[i]*coeff[i]; printf("%i",result); return 0; }
0-9
DSP28 - Introduction
0 - 11
If we look a little bit more in detail into the tasks that needs to be solved by a standard processor we can distinguish 10 steps. Due to the sequential nature of this type of processor, it can do only one of the 10 steps at one time. This will consume a considerable amount of computing power of this processor. For our tiny example, the processor must loop between step 3 and step 10 a total of four times. For real Digital Signal Processing the SOP procedure is going to much higher loop repetitions forcing the standard processor to spend even more computing power.
Read data[i] into core Read coeff[i] into core Multiply data[i]*coeff[i] Add the latest product to the previous ones Modify Pointer1 Modify Pointer2
Steps 3 to 8 are called 6 Basic Operations of a DSP A DSP is able to execute all 6 steps in one single machine cycle!
0 - 10
0 - 12
DSP28 - Introduction
Now: use a DSP-Development System and code the equation into a DSP C-compiler system, e.g. Texas Instruments Code Composer Studio C-Code Solution is identical:
int data[4]={1,2,3,4}; int coeff[4]={8,6,4,2}; int main(void) { int i; int result =0; for (i=0;i<4;i++) result += data[i]*coeff[i]; printf("%i",result); return 0; }
0 - 12
Example: Texas Instruments TMS320F2812 Space : 12 Code Memory ; 9 Data Memory Execution Cycles : 10 @ 150MHz = 66 ns
0 - 13
DSP28 - Introduction
0 - 13
0 - 14
DSP28 - Introduction
DSP Competition
DSP Competition
There are only a few global players in the area of DSP and DSC. As you can see from the next slide (for more details, go to: www.fwdconcepts.com ), Texas Instruments is the absolute leader in this area. A working knowledge of TI-DSP will help you to master your professional career.
19%
10%
48,00%
10%
13%
DSP28 - Introduction
0 - 15
C6000
High Performance C Efficiency DSP Power Efficient Performance DSP
C5000
C2000
Efficient Integration for Control DSC
0 - 16
The DSP / DSC portfolio of Texas instruments is split into three major device families, called C2000, C5000 and C6000. The C6000 branch is the most powerful series of DSP in computing power. There are floating point as well as fixed point devices in this family. The application fields are image processing, audio, multimedia server, base stations for wireless communication etc. The C5000 family is focused on mobile systems with very efficient power consumption per MIPS. Its main application area is cell phone technology. The C2000 group is dedicated to Digital Signal Control (DSC), as you have learned from the first slides and is a very powerful solution for real time control applications. The next slide summarizes the main application areas for the 3 Texas Instruments families of DSP.
0 - 16
DSP28 - Introduction
Lowest Cost
Control Systems Motor Control Storage Digital Ctrl Systems
Efficiency
Best MIPS per Watt / Dollar / Size Wireless phones Internet audio players Digital still cameras Modems Telephony VoIP
Performance & Best Ease-of-Use Ease- ofMulti Channel and Multi Function App's Comm Infrastructure Wireless Base-stations BaseDSL Imaging Multi-media Servers MultiVideo
0 - 17
For the C2000 branch we can distinguish between 2 groups of fixed-point DSCs: a 16-bit group, called TMS320C24x and a 32-bit group, called TMS320C28x.
Control Performance
F2812 F2812 R2812 R2812 150 MIPS 150 MIPS 150 MIPS 150 MIPS R2811 R2811 150 MIPS 150 MIPS
C2812 C2812 150 MIPS 150 MIPS C2811 C2811 150 MIPS 150 MIPS C2810 C2810 F2808 F2808 150 MIPS 150 MIPS 100 MIPS 100 MIPS F2801 F2806 F2806 F2801 100 MIPS 100 MIPS 100 MIPS 100 MIPS
Samples December 04
In Silicon
Announced
0 - 19
DSP28 - Introduction
0 - 17
TMS320F28x Roadmap
TMS320F28x Roadmap
Broad C28x Application Base
Optical Networking
Control of laser diode
Printer
Print head control Paper path motor control
0 - 19
LF2407A LF2406A LF2403A LF2402A LF2401A LC2406A LC2404A LC2402A LC2401A F243
16 bit 40 2.5K 16 bit 40 2.5K 16 bit 40 1.0K 16 bit 40 1.0K 16 bit 40 1.0K 16 bit 40 2.5K 32K 16 bit 40 1.5K 16K 16 bit 40 544 6K 16 bit 40 1.0K 8K 8K 16 bit 20 544
F241
16 bit 20 544
F240
16bit 20 544
C242
16bit 20 544 4K
8K 256 1/0 7 2 10-bit 5 500ns 6/4 16 4 10 bit 16 375ns 6/4 16 4 10-bit 16 375ns 3/2 8 2 10-bit 8 425ns 1/0 7 2 10-bit 5 500ns
8K
16K
Event Manager
CAP/QEP TIMER PWM(CMP) TIMER
ADC Resolution
# ofChan Conv time
McBSP EXMIF Watch Dog SPI SCI (UART) CAN Volts (V) # I/O Package
1.8 core 3.3 I/O 56 1.8core 3.3 I/O 56 3.3 41 3.3 41 3.3 21 3.3 21 64PQFP 3.3 13 32LQFP 3.3 41 3.3 41 3.3 21 64PQFP 3.3 13 32LQFP 5.0 32 5.0 26 5.0 28 5.0 26 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1
100LQFP 100LQFP
0 - 20
0 - 18
DSP28 - Introduction