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