STM32F SPI DMA memory reset

programski jeziki in programiranje

Moderator: tilz0R

STM32F SPI DMA memory reset

OdgovorNapisal/-a MarkoM » 12 Dec 2017, 14:01

Pozdrav,
imam IR kamero priključeno na STM32F407 preko SPI-ja in vključen DMA. Pobiram dol okoli 40KB/s podatkov. Do tukaj je ok. STM je nato priključen na raspberry, ki služi zgolj za prikaz slike. Raspberry je konfiguriran kot SPI master (za slave bojda niso spisani gonilniki). Tukaj se pa pojavijo težave, namreč zgodi se 1x na XY poslanih okvirjev, da padeta iz sinhronizacije. Predvidevam, da DMA na STM-u ni uspel poslati vseh podatkov, raspberry pa je že zaključil z branjem. In potem ob naslednjem branju DMA pošlje ven preostale podatke in se seveda slika poruši. Sedaj rešujem stvar na ta način, da ob zaznavi napake pri prenosu resetiram STM. Seveda ima to posledico, da včasih vrže tudi kamero iz sinhronizacije.
Torej vprašanje je, kako softwarsko resetirat pointer na memory v DMA, da bo ob vsakem klicu začel pošiljati podatke od začetka. Oz. nekako resetirat DMA, marsikaj sem poskusil, ampak resetira ga samo reset kontrolerja (kakršenkoli).
Uporabljam pa HAL oz. Tilnove funkcije. Gledal po spletu in našel ljudi s posobnimi težavami, nisem pa našel recepta za reset DMA-ja.
Še slikica s kamere, kadar je prenos ok:
ir.png
MarkoM
 
Prispevkov: 1341
Pridružen: 29 Jan 2015, 12:11
Kraj: Pohorje (Maribor)
Zahvalil se je: 289 krat
Prejel zahvalo: 325 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 29

Re: STM32F SPI DMA memory reset

OdgovorNapisal/-a MarkoM » 07 Feb 2018, 10:22

Sicer je že dober mesec od konca tega projekta... izkazalo se je, da je bila težava v hardwaru. Sem poskušal rešiti hardwarske napake s softwarom. Do neke meje se to da, potem pa sem naredil redesign celotnega vezja in zadeva dela brez potrebe po resetiranju DMA kontrolerja. Prej so bile komponente prototipno povezane z žičkami, hitrosti podatkovnih vodil tudi velike, v glavnem katastrofa... :mrgreen:
MarkoM
 
Prispevkov: 1341
Pridružen: 29 Jan 2015, 12:11
Kraj: Pohorje (Maribor)
Zahvalil se je: 289 krat
Prejel zahvalo: 325 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 29

Re: STM32F SPI DMA memory reset

OdgovorNapisal/-a tilz0R » 07 Feb 2018, 11:55

Temo sem nekako spregledal. Če hočeš resetirat DMA stream na STM32F4 seriji, preprosto vgasneš stream in naložiš nove vrednosti, ter ga zaženeš ponovno.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 2371
Pridružen: 17 Jan 2015, 23:12
Kraj: Črnomelj
Zahvalil se je: 262 krat
Prejel zahvalo: 762 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: STM32F SPI DMA memory reset

OdgovorNapisal/-a VolkD » 07 Maj 2018, 07:51

Zanimiv projekt. Se da dodati še navadno kamero in potem mešati sliko ?
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 66250
Pridružen: 29 Dec 2014, 19:49
Kraj: Kačiče (Divača)
Zahvalil se je: 19636 krat
Prejel zahvalo: 10109 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: STM32F SPI DMA memory reset

OdgovorNapisal/-a MareBozo » 10 Maj 2018, 22:31

Za katero kamero gre? Tole če ni predrago bi si omislil za igranje ;)
MareBozo
 
Prispevkov: 54
Pridružen: 03 Feb 2016, 16:34
Zahvalil se je: 22 krat
Prejel zahvalo: 8 krat
Uporabnika povabil: Dorijan
Število neizkoriščenih povabil: 2

Re: STM32F SPI DMA memory reset

OdgovorNapisal/-a MarkoM » 11 Maj 2018, 07:10

Gre za flir lepton 3.
viewtopic.php?p=151007#p151007
MarkoM
 
Prispevkov: 1341
Pridružen: 29 Jan 2015, 12:11
Kraj: Pohorje (Maribor)
Zahvalil se je: 289 krat
Prejel zahvalo: 325 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 29


Vrni se na Software

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost