background image

1

1

Procesory DSP – 2012

Materiały ilustracyjne do wykładu

cz - V

Podstawowe mechanizmy 

organizacji transmisji

DMA i HWI

Przygotowane z wykorzystaniem materiałów 
udostępnionych przez firmę Texas Instruments 

Dr inż. Krzysztof Kardach

(ver. 8.0 październik 2012)

2

Wykaz wykorzystanych materiałów 



Li Tan „Digital Signal Processing 

„Digital Signal Processing 

„Digital Signal Processing 

„Digital Signal Processing – Fundamentals and Applications” ;

” ;

” ;

” ;

DeVry University Decatur, Georgia, Elsevier 2008



S.M Kuo, B.H.Lee „Real

„Real

„Real

„Real----Time Digital Signal Processing” 

Time Digital Signal Processing” 

Time Digital Signal Processing” 

Time Digital Signal Processing” ––––

implementations, applications, and experiments with the TMS320C55x”; 

John Wiley & Sons, 2006



CCS v5 WIKI -

http://processors.wiki.ti.com/index.php/Category:Code_Composer_Studio_

v5



Bruno Pillard „An Introduction To Digital Signal Processors”;

„An Introduction To Digital Signal Processors”;

„An Introduction To Digital Signal Processors”;

„An Introduction To Digital Signal Processors”; Uniwersytet 

Sherbrooke



TMS320C

TMS320C

TMS320C

TMS320C5515

5515

5515

5515 DSP 

DSP 

DSP 

DSP System Users Guide 

System Users Guide 

System Users Guide 

System Users Guide [sprufx5d.pdf ]



TMS320C5

TMS320C5

TMS320C5

TMS320C55x Technical Overview  

5x Technical Overview  

5x Technical Overview  

5x Technical Overview  [spru393g.pdf]



TMS320C5

TMS320C5

TMS320C5

TMS320C55x  CPU Reference Guide  

5x  CPU Reference Guide  

5x  CPU Reference Guide  

5x  CPU Reference Guide  [spru371f.pdf]



TMS320C55x

TMS320C55x

TMS320C55x

TMS320C55x DSP v3.x CPU Reference Guide [swpu073e.pdf]



TMS320C5515 Fixed-Point Digital Signal Processor  

[sprs645e.pdf]



TMS320C5

TMS320C5

TMS320C5

TMS320C55555x 

x CPU 

CPU 

CPU 

CPU Mnemonic Instruction Set

Mnemonic Instruction Set

Mnemonic Instruction Set

Mnemonic Instruction Set RG

RG

RG

RG [swpu067e.pdf]



TMS320C5

TMS320C5

TMS320C5

TMS320C55555x 

x Assemby Language UG

Assemby Language UG

Assemby Language UG

Assemby Language UG [spru280i.pdf]

3 November 2012

Procesory sygnałowe 1 / V

background image

2

3

DMA

Co jest naszym celem (

CPU

buffer0

Kanał

Przekaz ramki zakończony

buffer1



Uruchomienie przekazu przez kanał strumienia danych –
przeniesienie zawartości 0-wego bufora do 1-go bufora 



Oba bufory są już w pamięci danych



Szkoda używać do tego CPU – przekaz ma być ciągły



Dostawą danych do bufora 0 zajmie się ktoś inny 



Musimy zapewnić sygnalizację zakończenia przekazu 
bufora – rozumiemy go jako „ramkę”

3 November 2012

Procesory sygnałowe 1 / V

4

Co dalej?

3 November 2012

Procesory sygnałowe 1 / V



By do przekazu nie angażować CPU najlepiej użyć DMA



Zatem jak H



Użyć  DMA do transferu danych z jednego miejsca 

pamięci do drugiego



Zasygnalizować koniec przekazu bufora – może być 

sygnałem startu do użycia gotowej zawartości bufora 1



Sygnalizować może kontroler DMA sygnałem 
sprzętowego przerwania wewnętrznego kanału DMA



Zatem trzeba



Zaprogramować knał do przekazu i sygnalizacji



Zaprogramować  CPU by zareagował na przerwanie 

sprzętowe

background image

3

5

Co chcemy rozpoznać (



Co to jest DMA i HWI – gdzie to jest potrzebne?



Uwagi o przykładowym programie



Czym jest DMA?



Co to jest HWI?

3 November 2012

Procesory sygnałowe 1 / V



Charakterystyka DMA



Przykład DMA



Programowanie  DMA z  CSL



Inne przydatne możliwości  DMA 



HWI (przerwanie DMA do CPU)

6

DMA



DMA – to mechanizm bezpośredniego dostępu do 
pamięci, pozwalający na przemieszczanie danych 
pomiędzy zasobami procesora  bez angażowania CPU



Transfery odbywają się pod nadzorem kontrolera DMA



Organizowane są w indywidualnie konfigurowane i 
pracujące drogi przekazu zwane kanałami



Konfigurowanie kanałów i inicjalizację ich pracy 
prowadzi CPU zgodnie z przygotowanym programem



Transfer może być synchronizowany ze zdarzeniami w 
procesorze oraz z działaniem innych zasobów systemu 
w tym np. Timerów czy interfejsów jak McBSP



Podstawowym sposobem synchronizacji jest 
wykorzystanie sygnałów sprzętowych przerwań - HWI

3 November 2012

Procesory sygnałowe 1 / V

background image

4

7

HWI



HWI to określenie mechanizmu sprzętowych przerwań.



Mechanizm przerwań służy do synchronizacji z programem 
zdarzeń względem niego niesynchronicznych czyli zdarzeń, 
których dokładnego momentu czasu wystąpienia nie 
jesteśmy w stanie przewidzieć w chwili przygotowywania 
programu sterującego.



Przerwania sprzętowe pochodzą od sprzętowych zasobów 
systemu i związanych z nimi zdarzeń



Przygotowanie i obsługę HWI ułatwia dostępny w 
środowisku narzędzi deweloperskich (narzędzi do 
przygotowania i testowania kodu) manager systemu 
operacyjnego czasu rzeczywistego DSP/BIOS



DSP/BIOS jest elementem firmowego środowiska Code 
Composer Studio producenta procesorów TMS320C5515, H

3 November 2012

Procesory sygnałowe 1 / V

8

Co chcemy rozpoznać (



Co to jest DMA i HWI – gdzie to jest potrzebne?



Charakterystyka DMA



Organizacja DMA?



Możliwości obsługi DMA?

3 November 2012

Procesory sygnałowe 1 / V



Przykład DMA



Programowanie  DMA z  CSL



Inne przydatne możliwości  DMA 



HWI (przerwanie DMA do CPU)



Uwagi o przykładowym programie

background image

5

9

Direct Memory Access (DMA)



Prowadzi transfer danych bez angażowania  CPU 



Element: podstawowa jednostka transferu (1, 2, or 4 bajty)



Frame: (ramka) grupa od 1 do 64K elementów



Block: grupa od  1 do 64K ramek (frames)



Max wydolność:  2 transfery 16-bitowe (R/W) na cykl

SRC addr

DST addr

SOURCE

DEST

Element 1
Element 2

Element 3

Frame 1
Frame 2

Frame 3



CPU ma ustalony wyższy priorytet nad DMA



DMA kanały mogą być wstawione w kolejki cyrkulacji Hi/Low



Priorytet transferu DMA



Transfer można synchronizować z 20 zdarzeniami (np. DRR ready)



Elastyczne tryby indeksacji (+/-, elem/frm index) wsparte sortowaniem



Autoinit:  Automatyczne ustawienie kanału do następnego transferu

3 November 2012

Procesory sygnałowe 1 / V

10

Kotrolery DMA 



4 kontrolery DMA (0 – 3)



Każdy obsługuje 4 kanały
Każdy kanał dysponuje 
własnym rejestrem FIFO



DMA obsługuje bufory w 
układzie Ping-Pong

3 November 2012

Procesory sygnałowe 1 / V

background image

6

11

DMA Channels 0-3

Rejestry i środki DMA

Source

Destination

Elem Index

Frame Index

Control

Status

Gdzie sięga DMA”

Peryferia

EMIF

SARAM

DARAM

DMA

Bus

Elem Count

Frame Count



Każdy z kanałów dysponuje  FIFO by odczyt mógł wyprzedzać zapis
(gdy zasoby docelowe są zajęte)



Program użytkownika zapisuje “config registers”. Gdy  DMA zaczyna
transfer,  config registers przepisywane są do working registers:

Src

Dest

Elem Ind

Frame Ind

Elem Cnt

Frame Cnt

Rejestry konfiguracji

Config Registers

Src

Dest

Elem Ind

Frame Ind

Elem Cnt

Frame Cnt

Rejestry robocze

Working Registers

DMA Start

Autoinit

Copy

3 November 2012

Procesory sygnałowe 1 / V

12

Możliwości kontrolerów DMA

3 November 2012

Procesory sygnałowe 1 / V

background image

7

13

Przepustowość DMA 

Na przepustowość DMA wpływają:

Kan-3

Kan-2

Kan-0

HIGH

Kan-0

Kan-2

Kan-1

LOW

CPU, który  ma ustalony priorytet nad DMA – zatem sięgając do

SARAM, DARAM, EMIF, peryferii wpływa na działanie DMA

Ważność kanału, k.DMA mogą być włączane w kolejki cyrkul. High / Low
- W każdym włączeniu w kolejce kanał kolejce przenosi jeden element 
- koło LOW rusza gdy High kończy ramki (xfr) lub czeka na „sync event”

1

2

Kanały można ustawić w tryb burst-przesłania 4-ech 32-bitowych
elementów na transfer dając „podwyższenie priorytetu” względem  
kanałów o tym samym priorytecie w kolejce (zwiększa wydajność)

3

3 November 2012

Procesory sygnałowe 1 / V

14

Co chcemy rozpoznać (



Co to jest DMA i HWI – gdzie to jest potrzebne?



Charakterystyka DMA



Przykład DMA



Organizacja danych do przesłania



Wpływ sposobu synchronizacji

3 November 2012

Procesory sygnałowe 1 / V



Programowanie  DMA z  CSL



Inne przydatne możliwości DMA



HWI (przerwanie DMA do CPU)



Uwagi o przykładowym programie

background image

8

15

DMA Transfer (SARAM    D/A)

To jeszcze nie wszystko w ustawieniach dla kanału DMA  ...



Problem:  - Prześlij blok  „pixeli” z  SARAM do D/A

- Wyjście poprzez McBSP/DMA z synchr. z  D/A (Ready)

Src: mem_8

16-bit/pixels

(SARAM)

DMA

EXT_INT4

8 9 10

14 15 16

20 21 22 23

17

11

Dest: DXR

DXR

McBSP

Ready

D/A

D

Rejestr n 

(DMA_CSDPn) 

zawiera parametry źródła i przeznacz. kanału DMA 

15

5

1

7

13

DST BEN

SRC BEN

SRC

DATA TYPE

0

6

8

9

DST

12

14

2

Pole 

Opis

Opcje

Wybór?

SRC/DST BEN.

Włącz Burst 

bez burst, 4 element. burst

DATA TYPE

Rozmiar Elem

rozmiary 1, 2, lub 4 bajty

SRC/DST

Wybór portu      SA/DARAM, EMIF, Peryfer.

2

SARAM/Periph

no burst

3 November 2012

Procesory sygnałowe 1 / V

16

Pole 

Opis

Opcje

Wybór?

SRC/DST AMODE

Addr index

none, +, elem indx, frm indx

EN

Kan. enable

0: disable, 1: enable

SYNC

co Synch

20 opcji (plus bez synch)

FS

Frame Sync

0: element, 1: frame 

PRIO

Priorytet

0: low, 1: hi

EXT_INT4
0
0 (lub 1)
1

AUTO INIT

Auto init

0: none, 1: auto init

0
frm indx/ none

DMA Transfer (SARAM    D/A)

Rejestr n (DMA_CCRn) sterowania kanałem DMA 

Src: mem_8

16-bit/pixels

(SARAM)

DMA

EXT_INT4

8 9 10

14 15 16

20 21 22 23

17

11

Dest: DXR

DXR

McBSP

Ready

D/A

D

15

7

13

12

DST AMODE

EN PRIO

5

4

FS SYNC

0

6

8

9

AUTO INIT

SRC AMODE

14

11

10



Problem:  - Prześlij blok  „pixeli” z  SARAM do D/A

- Wyjście poprzez McBSP/DMA z synchr. z  D/A (Ready)

3 November 2012

Procesory sygnałowe 1 / V

background image

9

17

DMA_CSSA_Un

SRC adres startowy  BAJTOWY

DMA_CSSA_Ln

DEST Adres startowy BAJTOWY

DMA_CDSA_Un

DMA_CDSA_Ln

DMA Transfer - Przykład

DMA_CENn

# of Elements

DMA_CFNn

# of Frames

DMA_CEIn

Element Index 

(w bajtach)

DMA_CFIn

Frame Index 

(w bajtach)

4

3

1

5

Src: mem_8

16-bit pixels

(SARAM)

DMA

EXT_INT4

8 9 10

14 15 16

20 21 22 23

17

11

Dest: DXR

DXR

McBSP

Ready

D/A

D

mem_8[23:16]

mem_8[15:0]

DXR[23:16]

DXR[15:0]

Uwaga:  etykieta danych, np. mem_8 musi być adresem BAJTOWYM

EI/FI w oparciu o adr..ostatniego obsłuż. bajtu



Problem:  - Prześlij blok  „pixeli” z  SARAM do D/A

- Wyjście poprzez McBSP/DMA z synchr. z  D/A (Ready)

18

Co chcemy rozpoznać (



Co to jest DMA i HWI – gdzie to jest potrzebne?



Charakterystyka DMA



Przykład DMA



Programowanie DMA z użyciem CSL



Niezbędne kroki



Niezbędne elementy

3 November 2012

Procesory sygnałowe 1 / V



Inne przydatne możliwości DMA



HWI (przerwanie DMA do CPU)



Uwagi o przykładowym programie

background image

10

19

(DMA) 6-cio krokowa procedura CSL ...

Teraz trochę więcej o strukturze konfiguracjiH

Deklaruj uchwyt „handle” (wskaże na 1 z 4 kanałów DMA )

DMA_Handle hMyChan;

Otwórz kanał (inicjuje  handle by wskazywał kanał)

hMyChan = DMA_open(DMA_CHA_ANY, DMA_OPEN_RESET);

Wypełnij strukt. konfiguracji (dane do umieszczenia w rejestrach)

DMA_Config myConfig
{H
wyspecyfikuj tutaj wszystkie wartości rejestrów / bitów
H}

1

Włącz niezbędne zbiory nagłówkowe

#include <csl.h>
#include <csl_DMA.h>

3 November 2012

Procesory sygnałowe 1 / V

20

Struktura do 
konfiguracji DMA

DMA_Config  gDmaConfig = { 

DMA_DMACSDP_RMK(

// DMACSDP

DMA_DMACSDP_DSTBEN_NOBURST,
DMA_DMACSDP_DSTPACK_OFF,
DMA_DMACSDP_DST_DARAM,
DMA_DMACSDP_SRCBEN_NOBURST,
DMA_DMACSDP_SRCPACK_OFF,
DMA_DMACSDP_SRC_DARAM,
DMA_DMACSDP_DATATYPE_16BIT

),
DMA_DMACCR_RMK(

// DMACCR

DMA_DMACCR_DSTAMODE_POSTINC,
DMA_DMACCR_SRCAMODE_POSTINC,
DMA_DMACCR_ENDPROG_OFF,
DMA_DMACCR_REPEAT_ALWAYS,
DMA_DMACCR_AUTOINIT_ON,
DMA_DMACCR_EN_STOP,
DMA_DMACCR_PRIO_HI,
DMA_DMACCR_FS_ENABLE,
DMA_DMACCR_SYNC_NONE

), 

DMA_DMACICR_RMK(

// DMACICR

DMA_DMACICR_BLOCKIE_ON,
DMA_DMACICR_LASTIE_OFF,
DMA_DMACICR_FRAMEIE_OFF,
DMA_DMACICR_FIRSTHALFIE_OFF,
DMA_DMACICR_DROPIE_OFF,
DMA_DMACICR_TIMEOUTIE_OFF

), 

0, 

// DMACSSAL 

0,                                     

// DMACSSAU 

0, 

// DMACDSAL 

0,                                     

// DMACDSAU

BUFFSIZE,                              

// DMACEN

1,                                     

// DMACFN

0,                                     

// DMACFI

0                                      

// DMACEI

};



Obok dokładna struktura
DMA potrzebna do użycia.
Nie należy w niej nic 
zmieniać, ani pól ani 
rejestrów.



RMK (register make)
składa wartości hex z opcji
wybranych przez ciebie



Dla adresów src/dest z 
przykładu przyjęto wartość 
ZERO

Po więcej informacji o
APIs i nazwach symboli 
sięgnij do „ API Ref Guide”
(SPRU433A)

3 November 2012

Procesory sygnałowe 1 / V

background image

11

21

5. Programowanie adresów  Src/Dest 

gDmaConfig.dmacdsal = (DMA_AdrPtr)(((Uint32)(&gBuffer1) <<1) & 0x00FFFF); 

gDmaConfig.dmacdsau = (Uint16)(((Uint32)(&gBuffer1) <<1) & 0xFF0000);



Z zasady kompilator przypisuje wszystkim symbolom danych 
adres słowowy [word addresses] – bajtowy adres parzysty



DMA używa adresu bajtowego [byte address]



Zatem musimy adres bajtowy przesunąć w lewo o  1, “<<1”



Musimy również zamaskować odpowiednie bity (młodsze lub starsze)
aby wytworzyć składowe całego adresu

Młodsza / Starsza część adresu źródła

gDmaConfig.dmacssal = (DMA_AdrPtr)(((Uint32)(&gBuffer0) <<1) & 0x00FFFF); 

gDmaConfig.dmacssau = (Uint16)(((Uint32)(&gBuffer0) <<1) & 0xFF0000);

Młodsza / Starsza część adresu przeznaczenia

3 November 2012

Procesory sygnałowe 1 / V

5

22

(DMA) 6-cio krokowa procedura CSL

2

Deklaruj uchwyt „handle” (wskaże na 1 z 6 kanałów DMA )

DMA_Handle hMyChan;

3

Otwórz kanał (inicjuje  handle by wskazywał kanał)

hMyChan = DMA_open(DMA_CHA_ANY, DMA_OPEN_RESET);

4

Wypełnij strukt. konfiguracji (dane do umieszczenia w rejestrach)

DMA_Config myConfig
{H wyspecyfikuj tutaj wszystkie wartości rejestrów / bitów H}

6 Konfiguruj kanał 

(inicjuj  rejestry konfiguracji zawartością struktury konfiguracji)

DMA_config (hMyChan, &myConfig);

1

Włącz niezbędne zbiory nagłówkowe

#include <csl.h>

#include <csl_DMA.h>

Przejrzyjmy jeszcze kilka problemów  DMA H

5 Inicjuj adresy źródeł / przeznaczeń

gDmaConfig.dmacssal = H

3 November 2012

Procesory sygnałowe 1 / V

background image

12

23

Co chcemy rozpoznać (



Co to jest DMA i HWI – gdzie to jest potrzebne?



Charakterystyka DMA



Przykład DMA



Programowanie DMA z użyciem CSL



Inne przydatne możliwości DMA



Autoinicjalizacja



Sposoby synchronizacji

3 November 2012

Procesory sygnałowe 1 / V



HWI (przerwanie DMA do CPU)



Uwagi o przykładowym programie

24

Przydatne możliwości DMA 



Autoinicjalizacja (Może być używana na dwa sposoby):



Przerwanie do CPU (Jedno przerwanie dla kanału)



Zdarzenia synchronizujące (20 możliwości)

Pełną listę rejestrów DMA zawiera dokumentacja procesora



Repetitive Operation: za każdy razem te same config regs.



Continuous operation: zmiana zawartości  config regs w czasie akt.

blok xfr. Kolejna xfr użyje nowych wartości. Bez zatrzymania  DMA.



Wyzwalane gdy kończą się blok, ramka, 

1/2 ramki, start ostatniej ramki w bloku. 



Warunki przerwań są powiązane razem funkcją OR



6 przerwań zewnętrznych



2 przerwań czasowych zegara



4 zdarzenia dla każdego z 3 McBSPs  (np: gdy DRR gotów do odcz.)

background image

13

25

Co chcemy rozpoznać (



Co to jest DMA i HWI – gdzie to jest potrzebne?



Charakterystyka DMA



Przykład DMA



Programowanie DMA z użyciem CSL



Inne przydatne możliwości DMA



HWI przerwania sprzętowe



Organizacja



Działanie

3 November 2012

Procesory sygnałowe 1 / V



Uwagi o przykładowym programie

26

Przerwanie do  CPU

IER

“Individual

Enable”

INTM

“Master

Enable”

‘C5510

CPU

IFR

Interrupt

Flag

0

1

0

H

DMA
McBSP
Timers
RTC
H
External

IFR – Interrupt Flag Reg

Pamięć  przerwań

H

IER – Interrupt Mask Reg

Indywidualna blokada każdego z przerwań

INTM – Global Int Enable

Dopuszcza wszystkie 

odblokowane przerwania

3 November 2012

Procesory sygnałowe 1 / V

background image

14

27

Tabela wektorów przerwań CPU 

Ponieważ wybieramy DOWOLNY kanał, skąd 
wiadomo które zdarzenie (HWI) wystąpiło?

Jak zaprogramować skok do ISR na właściwym 
miejscu w tabeli wektorów przerwań?

eventId = DMA_getEventId(hMyChan);

IRQ_plug(eventId, &dmaHwi);

interrupt void dmaHwi()
{
<<treść ISR wpisać tutaj>>
}

?

Słowo kluczowe
interrupt informuje 
kompilator o potrzebie
zachowania/odtworzenia
stanu procesora



Gdy wystąpi HWI , CPU sięga do tablicy wektorów
dla ustalenia którą  ISR uruchomić.



Każde  HWI jest powiązane z lokacją w tabeli
wektorów przerwań.



Każda z lokacji w tablicy wektorów zawiera skok 
do  ISR [procedury obsługi przerwania]

3 November 2012

Procesory sygnałowe 1 / V

28

DMA ISR

Count = -1

‘C5515

CPU

DMA



Gdy transfer osiągnie koniec bloku:

Interrupt



Przerwanie DMA jest wysyłane do CPU



Rejestry konfiguracji są reinicjalizowane (autoinit)



Gdy wystąpi przerwanie:



bit flagi IFR jest automatycznie kasowany



INTM (global enable) jest wyłączona OFF (aż do powrotu z ISR)



W procedurze ISR, użytkownik musi:

1.

Zachować/odtworzyć kontekst (dzięki słowu „interrupt”)

2.

Skasować DMACSR (albo nie wystąpi nowe przerwanie)

3.

Inicjuje kolejny transfer używając sync event lub DMA_start()

interrupt void dmaHwi()
{
DMA_RGETH(hDma, DMACSR);
blockSine(gBuffer0, BUFFSIZE);
DMA_start(hMyChan);
}

3 November 2012

Procesory sygnałowe 1 / V

background image

15

29

(HWI) 6 kroków procedury CSL 

2

4

6

Pobierz EventId 

Skasuj odpowiedni bit  IFR 

Włącz wszystkie przerwania [global interrupts]

IRQ_clear(eventId);

IRQ_globalEnable();

1

Włącz niezbędne zbiory nagłówkowe

#include <csl_irq.h>

eventId = DMA_getEventId(hMyChan); 

3

Ulokuj skok do  ISR  w tablicy wektorów przerwań

IRQ_plug(eventId, &dmaHwi);

5

Ustaw odpowiedni odblokowania przerwania IER 

IRQ_enable(eventId);

3 November 2012

Procesory sygnałowe 1 / V

30

Co chcemy rozpoznać (



Co to jest DMA i HWI – gdzie to jest potrzebne?



Charakterystyka DMA



Przykład DMA



Programowanie DMA z użyciem CSL



Inne przydatne możliwości DMA



HWI przerwania sprzętowe



Uwagi o przykładowym programie



Organizacja



Działanie

3 November 2012

Procesory sygnałowe 1 / V

background image

16

31

Co chcemy rozpoznać (



Co to jest DMA i HWI – gdzie to jest potrzebne?



Charakterystyka DMA



Przykład DMA



Programowanie DMA z użyciem CSL



Inne przydatne możliwości DMA



HWI przerwania sprzętowe



Uwagi o przykładowym programie



Koncept pracy buforami



Działanie (transfer całego bufora między próbkami!).

3 November 2012

Procesory sygnałowe 1 / V

32

DMA

Przykł. – Programowanie DMA

CPU

gBuffer0

DMA

Transfer ramki zakończony

gBuffer1

Pseudo Code

1.

CPU generuje  256 wartości sinusoidy do gBuffer0

2.

DMA przenosi 256 elementów z gBuffer0 do gBuffer1

3.

DMA wysyła przerwanie “transfer complete” do CPU

4.

Go to 1 

3 November 2012

Procesory sygnałowe 1 / V

background image

17

33

Co to i do czego służą, jak działają?

• Mechanizm DMA

• Kanał DMA

• Element w DMA

• Ramka w DMA

• Blok w DMA

• Rejestry konfiguracji

• Auto-inicjalizacja

• Zdarzenia synchronizacji

• Priorytety w DMA

• CSL

• Funkcje CSL

• Przebieg konfiguracji

• Inicjalizacja pracy DMA

• Mechanizm przerwań

• Organizacja przerwań

• IFR

• IER

• INTM

• NMI

• HWI

• ISR

• Tablica wektorów przerwań

• Definiowanie ISR

• Wiązanie procedury ze zdarzeniem

• CSL – włączanie przerwań

• …

3 November 2012

Procesory sygnałowe 1 / V