OT Cela rodina STM32 a USART+DMA+IRQ

Miroslav Mraz mraz na seznam.cz
Čtvrtek Únor 26 18:41:59 CET 2015


Nějak v tom nevidím příliš smysl. To původní vlákno se týkalo spíš 
srovnání vlastností DMA a FIFO při příjmu. Ale nic nenutí to DMA 
používat i když to jde. Ve většině případů to není příliš vhodné.
1. Obvykle musím nějak reagovat na každý jediný znak.
2. ARM má výkonu dost, mezi znaky mám např. při 57600 desetiny ms, takže 
v přerušení můžu udělat pár set instrukcí. Což stačí na průchod nějakým 
konečným automatem a zapsáním bytu do buferu.
3. Pokud potřebuji víc času, stejně musím řešit frontu a odloženou 
proceduru. Ale většinou ani to není třeba, protože to "více času" platí 
obvykle na až na konci rámce a zde lze zůstat v tom přerušení i déle 
(pokud je protokol navržen pro tt. způsob činnosti např. - 
dotaz->odpověď) aniž by nějaké znaky utekly.

Samosebou mohou existovat aplikace, kde je to DMA výhodou, ale nenapadá 
mě kde. Jedině pokud rámce mají pevnou délku, ale u UARTu je to dost 
iluzorní už kvůli tomu že je to asynchronní. Možná nějaký stream 8-bit 
dat, kde zase tak moc nezáleží na doručení (audio A-law, u-law apod.).

Mrazík

Dne 26.2.2015 v 09:25 Jan Waclawek napsal(a):
> http://list.hw.cz/pipermail/hw-list/2014-November/465770.html
>
> "No to právě ne. Protože když použijete DMA, tak už se nedá
> použít IRQ od příjmu znaku. Jinak by to totiž bylo moc jednoduché."
>
> Presiel som tucet RM od vsetkych pod-rodin STM32, a poznamku
>
> "If DMA is used for reception, do not enable the RXNEIE bit."
>
> som nasiel len u 'F4xx a 'F2xx. Podla mna to bude suvisiet s tym, ze tam
> maju DMA jednotky na ich "perifernom porte" "skratku" cez AHB/APB bridge,
> v inych pod-rodinach to myslim ze nie je (nepozeral som vsade).
>
> Aj u 'F4xx/'F2xx by ta skratka mohla ist obist prinajmensom na DMA2 (t.j.
> USART1 a USART6) neortodoxnym "opacnym" nastavenim, t.j. pristupovat do
> USART cez "memory port" DMA jednotky a do pamate cez "periferny port"; ale
> diabol moze byt v detailoch, ktore su pre mna pochopitelne skryte.
>
> Nemam teraz moznost to vyskusat; ak o to ma niekto zaujem, mohol by to
> prosim vyskusat ako na 'F4, tak aj ci sucasne DMA a IRQ idu bez problemov
> na inych pod-rodinach okrem 'F4/'F2.
>
> A, pochopitelne, privitam komentar od insiderov z ST.
>
> wek
>
>


Další informace o konferenci Hw-list