Hallo Ich möchte eine kleine Schaltung aufbauen, die Bilder von einem DataFlash auf ein OLED schaufelt. Der DataFlash hat 7 Sektoren mit je 64k. In jedem Sektor würde ich ein Bild platzieren. Jetzt stelle ich mir im Vorraus ein paar Fragen. Vielleicht können wir diese ja gemeinsam klären. 1. Als erste Lösung würde ich Dataflash und OLED in einen sternförmig aufgebauten SPI miteinander verbinden. Der µC holt sich die Daten vom Flash und schickt sie ans OLED weiter. Als µC setze ich einen AT90CAN128 mit 16Mhz und als DataFlash ein AT26F004 ein. Was meint ihr, würde der SPI Bus für diese Aufgabe reichen oder stosse ich damit an seine Grenzen und sollte ich lieber beide parallel ansteuern? Die Bilder werden nur einmal übertragen und werden dann im RAM das Displays gespeichert und müssen danach nicht mehr refresht werden. 2. Hat jemand eine Idee wie ich die Daten vom Flash ohne den Umweg über einen µC direkt ans Display weiterleiten kann, dann parallel. Kann mir nicht recht vorstellen, ob das möglich ist würde mir aber dann theoretisch jede Menge Pins am µC sparen und den µC nicht so stark beschäftigen. Habe hier im Forum mal etwas über einen DMA Baustein gelesen geht es mit so etwas und was ist das? MfG Thomas
Wenn OLED und Dataflash am selben SPI Bus hängen, kann man einen Trick anwenden: Das Flash so initialisieren, dass die Daten übertragen werden, und das OLED so, dass Daten geschrieben werden. Dann aktiviert man beide gleichzeitig, so dass die Daten direkt vom Flash zum OLED wandern. Aufgrund der MOSI/MISO Leitungen, müssen die Daten leider durch den µC. Das ganze sieht dann in etwa so aus: 1. Byte vom Flash lesen 1. Byte zum OLED senden und gleichzeitig 2. Byte vom Flash lesen 2. Byte zum OLED senden und gleichzeitig 3. Byte vom Flash lesen usw. Das spart die Hälfte der Zeit.
Hi Benedikt Vielen Dank für deine Antwort. Hört sich nicht schlecht an diese Lösung. Wenn ich dich richtig verstanden habe stelle ich das OLED auf Schreiben und den Flash auf Lesen. Danach triggere ich vom µC einen Lesevorgang vom Flash und die Daten bekommt OLED und Controller. Der Controller kann die Daten danach wieder verwerfen und den zweiten Lesevorgang starten. Ist es so richtig? Hast du selbst schon mal sowas aufgebaut und kannst Erfahrungen bzgl Geschwindigkeit sagen? MfG Thomas
Thomas wrote: > Danach triggere ich vom µC einen Lesevorgang > vom Flash und die Daten bekommt OLED und Controller. Der Controller kann > die Daten danach wieder verwerfen und den zweiten Lesevorgang starten. > Ist es so richtig? Das wäre eine Möglichkeit, die allerdings daran scheitern, dass die Daten vom Flash über MISO kommen, das OLED die Daten aber über MOSI erwartet. Wenn das OLED die Daten aber parallel bekommt, und der Flash auch parallel ist, dann kann man auf diese Art theoretisch >1Mbyte/s erreichen. > Hast du selbst schon mal sowas aufgebaut und kannst Erfahrungen bzgl > Geschwindigkeit sagen? Mit 8bit parallelem Interface habe ich das schon gemacht: PC -> OLED (über FT245 und mega8) erreicht rund 500kByte/s. Mit dem Flash und SPI würde ich eine ähnliche Geschwindigkeit erwarten, und das sollte eigentlich reichen.
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.