Börjat leka lite med DMA i PIC32.

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45168
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Börjat leka lite med DMA i PIC32.

Inlägg av TomasL »

Har inte haft något behov av det tidigare.
Men nu skall jag skicka rut 500 tecken med jämna mellanrum via serieport.
Även om serieporten är satt till 115kb/s, så tog det lite tid, närmare 44ms att överföra detta.
Serieporten är då helt interruptstyrd både vid sändning och mottagning.

Med DMA istället, så tog hela sändningen (eller snarare tiden processorn var upptagen) 0,33ms, klart mycket bättre.
Användarvisningsbild
Icecap
Inlägg: 26105
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Börjat leka lite med DMA i PIC32.

Inlägg av Icecap »

Jeps, en UART är - räknat i instruktioner - otrolig långsam.

Jag har länga använd interruptstyrd sändning (och mottagning) och det är "det enda" om man förväntar att skiten ska hinna med jobbet.

Sedan har jag inte använd DMA men en cirkulär buffer, effekten är dock den samma: utskriften går snabbt att få avklarat.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Börjat leka lite med DMA i PIC32.

Inlägg av Rick81 »

DMA är ju kung! Kör det i STM32 med UART, ADC, SPI m.m....

Interupt för varje datavärde är ju 80tal.....
Skriv svar