Hallo, ich will mit dem DCMI Interface Daten abfischen und über DMA ablegen. V & H Sync sind parallel geschaltet. Im Normalfall kommen pro Übertragung 640Byte an. Aber im Fehlerfall weniger. Die verhält sich nun der DMA wenn ich im Fehlerfall weniger Daten ankommen? Kommt dann trotzdem ein Interrupt vom DMA? Merke ich überhaupt das weniger Daten angekommen sind? Und kann ich dann entsprechend reagieren? Grüsse, Marco
Vom DMA kriegst du nur einen Interrupt, wenn dessen Zähler abgelaufen ist. Aber wenn ich das richtig verstehe (nie was von DCMI gehört und das was Wikipedia dazu auswirft passt nicht so ganz), dann hast du Sync-Signale, die deine Übertragungen trennen. Und die sollten sich in Interrupts ummünzen lassen.
DCMI ist das Kammerainterface. Das ERROR Flag habe ich und könnte ich auf einen INT legen. Wobei ich das Frameende mit Sicherheit auch intern auf einen Interrupt legen kann und nicht über die Externeleitung gehen muss. Aber dann muss ich irgendwie sicherstellen das im Normalfall alles eingelesen wird. Hatte gehofft das bei einem Frameende der DMA sich meldet, egal wie viel der drin hat und ich dann abfragen kann ob alles drin ist.
Ein DMA Controller ist ein generisches Gebilde, das in gleicher Weise diverse verschiedene I/O-Module bedienen kann. Aufgrund welcher Magie sollte der wissen, dass keine Daten kommen, wenn der Zähler noch Luft hat? Ist bei DMA nicht vorgesehen, mehr als das Request-Signal gibts zwischen DCMI und DMA nicht. Das DCMI hingegen weiss es und hat eine Handvoll möglicher Interrupts. Also wo ist das Problem?
Probleme gibt es keine wirklichen, es wäre halt nur schön gewesen wenn alles mit dem DMA alleine gehen würde. Besonders da ich auch mit einem double-buffer arbeiten muss. Aber da es anscheinend nicht geht, muss ich halt mehrere Interrupts abarbeiten.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.