modul l 11:: uvod digital signal controller...

28
Digital Signal Controller TMS320F28335 Modul Modul 1: Uvod : Uvod 1 1 - 1 Texas Instruments Incorporated

Upload: vothu

Post on 19-Apr-2018

220 views

Category:

Documents


4 download

TRANSCRIPT

Digital Signal ControllerTMS320F28335

Modul Modul 11: Uvod: Uvod

1 1 -- 11

Texas Instruments Incorporated

1. Šta je mikroprocesor?

mikroprocesor (µP, mp):– Centralno kolo mikroračunarsog sistema– Dve osnovne arhitekture:

– “von Neumann”:» Zajednički memorijski prostor za program i podatke» Zajednička magistrala

1 1 -- 22

» Zajednička magistrala» Primer: Intel x86 Pentium Processor family

– “Harvard”:» Nezavisni memorijski prostor za program i podatke» Dve magistrale

– µP zahteva dodatka kola za svoj rad

Blok šema mikroprocesora

programskamemorija

Centralna

Kontrolna jedinica

pro

ces

pro

ces

1 1 -- 33

Memorija zapodatke

CentralnaProcesorskaJedinica-CPU

ulaznimodul

izlaznimodul

pro

ces

pro

ces

Mikroprocesor

Tok izvršenja instrukcijaProgramski brojač (PC) u kontrolnoj jedinici adresiraprvu (sledeću) instrukciju u programskoj memoriji

Instrukcija se čita (“fetch”) iz programske memorijeu instrukcioni registar (IR) mikroprocesora

Instrukcija se dekodira i vrše neka od aktivnosti:

1 1 -- 44

Instrukcija se dekodira i vrše neka od aktivnosti:

Čita ulaz& izračunava

Čita podatak izmemorije& compute

interna operacija

Ažuriranjeizlaza

Upis u memoriju

inkrement ili modifikacija programskog brojača

CPU mikroprocesora

CPU = Central Processing Unit

• Sastoji se iz:– Nekoliko unutrašnjih memorijskih ćelija (“Register”) za operande– Računska jedinica: “Arithmetic Logic Unit” (ALU) – Instrucioni registar (IR) i instrukcioni decoder – Adresna jedinica

• Adresna jedinica:

1 1 -- 55

• Adresna jedinica: – Čita podatke i instrukcije iz memorije– Upisuje podatke u memoriju

• Instruction decoder:– Analizira tekuću instrukciju i kontroliše sledeće aktivnosti

ostalih modula• Registri:

– Čuvaju podatke za trenutne instrukcije i izračunavanja

Napomena: današnji mikroprocesori imaju veliku složenost a često i određeni broj paralelnih jedinica. Ipak, u osnovni principi su i dalje isti

ALU (Arithmetic Logic Unit)

izračunava aritmetičke i / ili logičke funkcije:Minimalno:

arithmetičke: Sabiranje (ADD)logičke: Negacija (NEG)

Konjukcija (AND)Tipično:

aritmetičke: Oduzimanje (SUB)Množenje (MUL)

logical: Comparacija (CMP)Disjunkcija (OR)Antivalenca (EXOR)

raznovrsne: Pomeranje u levo i desno (ASR,ASL)

1 1 -- 66

raznovrsne: Pomeranje u levo i desno (ASR,ASL)Rotiranje (ROL, ROR)Manipulacija registrima i bitovima (set, clear, toggle, test)

• ALU procesira dve binarne vrednosti jednake dužine (N)è N-Bit ALU şa N = 4,8,16,32 ili 64

• većina ALU radi u formatu fiksnog zareza - Fixed Point Numbers

• ALU kod Digital Signal Procesora i desktop procesora mogu da rade i u pokretnom zarezu - Floating Point Numbers

Primer: jednostavna struktura ALU

A, B, Y: Interni registriF: Kod funkcije

1 1 -- 77

F: Kod funkcijeC: Carry – BitN: Znak – BitZ: Zero - Bit

ALU kao nezavisan čip:SN 74 LS 181

Napomena: većina ALU generiše podatak širine 2*n za registar Y u slučaju operacije množenja Y = A * B

History (1984): Microprocessor Intel 80x86

- Bus Control- Address & Data Bus –

Interface- Instruction Queue

Bus - Unit

- Memory Manager- logical / physical

address

Address – Unit

data

control/status

address

1 1 -- 88

Execution - Unit Instruction – Unit

- CPU- ALU- Register

- Decode Instruction- Operation Queue

2. Desktop – PC ?

2. Mikroračunar– Mikro računar = mikroprocesor (µP) + memorija +

periferije– Primer: Desktop -PC

Programskamemorija

Memorijaza podatke

1 1 -- 99

Mikroprocesor

memorija za podatke

Takt Tajmer/Brojač

Analogniizlaz

Digitalniizlaz

Analogniulaz

Digitalniulaz

Magistrala memorije

Magistrala periferija

mikroračunar - periferije

• Periferije sadrže:

– Digitalne ulazno/izlazne linije– Analogno digitalni konvertor (ADC)– Digitalno analogni konvertor (DAC)– Timer / Brojač jedince– Pulse Width Modulation (PWM) digitalne izlazne linije– Digitalne ulazne linije “hvatanja” - Capture

1 1 -- 1010

– Digitalne ulazne linije “hvatanja” - Capture– Mrežne interfejs blokove:

» Serial Comunication 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– …

3. Sistem na čipu

3. Mikrokontroler (µC, MCU)

– Ništa više od mikroračunara na čipu!– Sve što treba za potrebe izračunavanja, ulaza i izlaza

u cilju rada u realnom vremenu nalazi se na čipu– Garantovano efikasno rešenje za primene u

embedded sistemima

1 1 -- 1111

embedded sistemima– Kičma skoro svih modernih proizvoda

– Preko 200 nezavisnih familija µC – Obe µP – arhitekture (“Von Neumann” i “Harvard”)

3. Primer: Microcontroller MSP430

1 1 -- 1212

Texas Instruments MSP430 von-Neumann arhitektura — program, memorija za podatke i periferije dele zajedničku bus strukturu.

4. Digital Signal Processor

Digital Signal Processor (DSP) je:

– Sličan mikroprocesoru (µP), t.j. Jezgro računarskog sistema

– Dodatne hardverske jedince koje ubrzavaju

1 1 -- 1313

– Dodatne hardverske jedince koje ubrzavaju izračunavanje sofisticiranih matematičkih operacija:» Dodatni hardverski množači» Dodatni aritmetički pointeri» Dotatne magistrale za paralelni pristup» Dodatni haardverski pomerači za

scaliranje i množenje/deljenje sa 2n

Šta je tipični DSP algoritam?

Algorithm Equation

Finite Impulse Response Filter ∑=

−=M

kk knxany

0

)()(

Infinite Impulse Response Filter ∑∑ −+−=N

k

M

k knybknxany )()()(

• Jednačina “Sum of Products” (SOP) je ključnielement većine DSP algoritanma:

1 1 -- 1414

Infinite Impulse Response Filter ∑∑==

−+−=k

kk

k knybknxany10

)()()(

Convolution ∑=

−=N

k

knhkxny0

)()()(

Discrete Fourier Transform ∑−

=

−=1

0

])/2(exp[)()(N

n

nkNjnxkX π

Discrete Cosine Transform ( ) ( )∑−

=

+=

1

0

122

cos).().(N

x

xuN

xfucuF π

Izvršavanje SOP sa µP

• Zadatak : koristeći Desktop - PC realizovati kod koji rešava jednačinu C jeziku

• C-kod može imati oblik:

#include <stdio.h>

∑=

=3

0][*][

iicoeffidatay

1 1 -- 1515

#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;

}

6 Osnovne operacije SOP

• Šta će Pentium morati da uradi?1. Postavi Pointer1 da ukazuje na data[0]2. Postavi drugi Pointer2 da ukazuje na coeff[0]3. Učita data[i] 4. Učita coeff[i]5. Pomnoži data[i]*coeff[i]

∑=

=3

0][*][

iicoeffidatay

1 1 -- 1616

4. Učita coeff[i]5. Pomnoži data[i]*coeff[i]6. Sabere rezultat sa prethodnim7. Modifikuje Pointer18. Modifikuje Pointer29. Inkrementira i;10. If i<4 , vraća se na korak 3 i nastavlja sa radom

• Koraci 3 do 8 se nazivaju“6 Osnovnih DSP operacija”• DSP izvršava svih 6 koraka u jednommašinskom ciklusu!

SOP mašinski kod µP

Address M-Code Assembly - Instruction 10: for (i=0;i<4;i++)00411960 C7 45 FC 00 00 00 00 mov dword ptr [i],0 00411967 EB 09 jmp main+22h (411972h) 00411969 8B 45 FC mov eax,dword ptr [i] 0041196C 83 C0 01 add eax,1 0041196F 89 45 FC mov dword ptr [i],eax 00411972 83 7D FC 04 cmp dword ptr [i],4 00411976 7D 1F jge main+47h (411997h)

1 1 -- 1717

11: result += data[i]*coeff[i];00411978 8B 45 FC mov eax,dword ptr [i] 0041197B 8B 4D FC mov ecx,dword ptr [i] 0041197E 8B 14 85 40 5B 42 00 mov edx,dword ptr[eax*4+425B40h] 00411985 0F AF 14 8D 50 5B 42 00 imul edx,dword ptr[ecx*4+425B50h] 0041198D 8B 45 F8 mov eax,dword ptr [result] 00411990 03 C2 add eax,edx 00411992 89 45 F8 mov dword ptr [result],eax 00411995 EB D2 jmp main+19h (411969h)

Note: The C-Compiler was used in basic setup mode using optimization level zero.

Izvršavanje SOP sa DSP

• Koristeći DSP-Razvojni sistem kodiraj jednsčinu u DSP C-compiler sistemu, t.j. Texas Instruments Code Composer Studio

• C-kod rešenje je identično:

∑=

=3

0][*][

iicoeffidatay

1 1 -- 1818

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;

}

DSP-Translacija u mašinski kod

Address M-Code Assembly Instruction0x8000 FF69 SPM 00x8001 8D04 0000R MOVL XAR1,#data0x8003 76C0 0000R MOVL XAR7,#coeff0x8005 5633 ZAPA0x8006 F601 RPT #10x8007 564B 8781 || DMAC ACC:P,*XAR1++,*XAR7++

1 1 -- 1919

0x8007 564B 8781 || DMAC ACC:P,*XAR1++,*XAR7++0x8009 10AC ADDL ACC,P<<PM0x800A 8D04 0000R MOVL XAR1,#y0x800B 1E81 MOVL *XAR1,ACC

Example: Texas Instruments TMS320F28335Space : 12 Code Memory ; 9 Data MemoryExecution Cycles : 10 @ 150MHz = 66 ns

5. Digital Signal Controller (DSC)Digital Signal Controller (DSC)

– poznato: Mikrokontroler (MCU) je mikroračujar na čipu sa mikroprocesorom (µP) kao jezgrom.

– Sada: Digital Signal Controller (DSC) je mikroračunar sa Digital Signal Procesorom (DSP) kao jezgrom.

– Kombinovanjem računarske snage DSP sa

1 1 -- 2020

– Kombinovanjem računarske snage DSP sa memorijama i periferijama u jednom kolu dobija se najefektivnije rešenje na jednom čipu za embedded “real time” kontrolne sisteme koji zahtevaju puno matematičkih operacija.

– DSC –Primer: Texas Instruments C2000 DSC -familija.

DSP Market Share in 2006

6%

9%

14%

12%

AgereAnalog Devices

1 1 -- 2121

59%

FreescaleTexas InstrumentsOther

Total Revenue: 7635 Million US-$

Source: www.forwardconcepts.com

DSP Market Areas in 2006

9,1

8

4,63,2 2,8

WirelessConsumerMultipurpose

1 1 -- 2222

72,3

9,1 MultipurposeComputerWirelineAutomotive

Source: www.forwardconcepts.com

Relative

Texas Instruments Portfolio

DSPMicrocontrollers

Ultra-Low Power

Up to 25MHz

16-bitMCU

MSP430

Fixed & Floating Point

Up to 150MHz

32-bitReal-time

C2000™

Industry StdLow Power

Up to 100MHz

Stellaris Cortex™ M3

32-bitARM

Industry-Std Core,High-Perf GPP

Accelerators

ARM+

ARM9Cortex A-8

Industry-Std Core +DSP for Signal Proc.

4800 MMACs/

ARM + DSP

C64x+ plusARM9/Cortex A-8

Leadership DSP Performance

24,000 MMACS

DSP

C647x, C64x+, C55x

Arm-Based

1 1 -- 2323

Up to 25MHz

Flash1KB to 256KB

Analog I/O, ADCLCD, USB, RF

Measurement,Sensing, General

Purpose

$0.49 to $9.00

Up to 150MHz

Flash32KB to 512KB

PWM, ADC, CAN, SPI, I2C

Motor Control, Digital Power,

Lighting

$1.50 to $20.00

Up to 100MHz

Flash8KB to 256KB

USB, ENET, ADC, PWM, HMI

Host Control, general purpose,

motor control

$2.00 to $8.00

Accelerators

MMU

USB, LCD,MMC, EMAC

Linux/WinCE User Apps

$8.00 to $35.00

4800 MMACs/1.07 DMIPS/MHz

MMU, Cache

VPSS, USB, EMAC, MMC

Linux/Win +Video, Imaging,

Multimedia

$12.00 to $65.00

24,000 MMACS

Up to 3MBL2 Cache

1G EMAC, SRIO,DDR2, PCI-66

Comm, WiMAX, Industrial/

Medical Imaging

$4.00 to $99.00+

Texas Instruments TMS320 DSP/DSC

Dedicated families and sub-families to support different market needs

Lowest CostLowest Cost

C2000C2000 C5000C5000

EfficiencyEfficiency

C6000C6000

PerformancePerformance &&

1 1 -- 2424

Lowest CostLowest CostControl SystemsControl Systemsww Motor ControlMotor Controlww StorageStorageww Digital Control SystemsDigital Control Systemsww Power Supply ControlPower Supply Control

EfficiencyEfficiencyBest MIPS perBest MIPS per

Watt / Dollar / SizeWatt / Dollar / Sizeww Wireless phonesWireless phonesww Internet audio playersInternet audio playersww Digital still cameras Digital still cameras ww ModemsModemsww TelephonyTelephonyww VoIPVoIP

ww Multi Channel and Multi Channel and Multi Function App'sMulti Function App's

ww Communication InfrastructureCommunication Infrastructureww Wireless BaseWireless Base--stationsstationsww DSLDSLww ImagingImagingww MultiMulti--media Serversmedia Serversww VideoVideo

PerformancePerformance &&EaseEase--ofof--UseUse

TMS320C2000™ DSC Family

1 1 -- 2525

C2000 32-bit Real-Time Controller

Production

Development

Sampling

Future

F281x

C2834x

F2833x

•100-150MHz•128-512kB Flash•52-68kB SRAM

•200-300MHz•196-516kB SRAM

•External ADC•Low Active Power

PER

FOR

MAN

CE

F2823x

Next Gen

•Higher Performance•Connectivity

•Safety Enhancements

1 1 -- 2626

Fixed Point(100-176 Pins)• 60 – 150 MHz

• 32 – 512kB Flash• 3Ph PWM/QEP

• 12-bit, 2 SH ADC (Up to 12.5 MSPS)• CAN, McBSP

• UART, SPI

F2803x

•40-60MHz•16-64kB Flash•Analog Comp

•60MHz•Control Law Accelerator

•32-128kB Flash•CAN, LIN

PER

FOR

MAN

CE

TIME100+ Code Compatible Devices

F280x

Next Gen•Low Power

•Small Package

F2802x

Next Gen•Performance

•Memory•Connectivity

Versatile C2000 Application Areas

Solar Power Inverters

Wind Power Inverters

C2000LED Street Lighting

White Goods Industrial Drives & Motion Control

E-bike

Power Tools

DC/DC Converters

Renewable Energy

Digital Power

Digital Motor Control

Lighting

1 1 -- 2727

C2000

Telecom / Server AC/DC Rectifiers

Uninterruptable Power Supplies

Electric Power Steering

Radar / Collision Avoidance

LED TV Backlighting

Hybrid Electric Vehicles

Auto HID

Power Line Communication

Laser Ranging

RFID Readers

Medical Oxygen Concentrators Optical

Networking

Automotive Precision Sensing & Control

TMS320C28x DSC Block Diagram

TMS320F28335

Interrupt Management

Memory Bus

Code security

12-bit ADC

512 KBFlash

68 KB RAM

6 CAP

18 PWM(6 HRPWM)

DMA

Boot ROM

2 QEP

Peripheral Bus

1 1 -- 2828

Real-TimeJTAG

32-bitTimers (3)

C28xTM 32-bit DSC

32x32-bitMultiplier

R M WAtomic

ALU

Interrupt Management 12-bit ADC

SPI

2 CAN

3 SCI

2 McBSP32-bit

Floating-Point Unit

88 GPIO

I²C

16/32-bitEMIF

Peripheral Bus