Forum: Mikrocontroller und Digitale Elektronik Gemeinsamer 8 Bit Datenbus, oder getrennt?


von Verwirrter Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

Ich bastle gerade an einer Art Fotoapparat.
Wahrscheinlich werde ich einen ARM Cortex M3 oder M4 als Controller 
nehmen und eine AU 85 ( Beitrag "pollin kamera au-85" 
) als Kamera. Da ein Bild wahrscheinlich nicht ohne größere Klimmzüge 
ins RAM passen wird, kommt noch ein RAM Baustein dazu. Und zum Anzeigen 
noch ein Display mit 8 Bit parallelen Eingang.

Die 2 wichtigsten Szenarien für den Datentransfer sind:
1. Live Preview - Die Kamera soll im Video Modus die Daten direkt auf 
dem Display anzeigen.
2. Foto schießen - Die Daten der Kamera sollen ins RAM gespeichert 
werden, danach werden sie aufbereitet und auf dem Display angezeigt.

Ich kann mir jetzt verschiedene Möglichkeiten vorstellen, wie ich die 
einzelnen Komponenten anschließe. Mir kommt es hierbei vorallem darauf 
an, die Zukünftige Entwicklung möglichst flexibel zu halten aber auch 
mögliche Fehlerquellen die die Softwareentwicklung erschweren könnten zu 
vermeiden.

Variante 1:
Alle Komponenten werden direkt an den Controller angeschlossen.
Vorteile:
+ Sehr einfach in der Software zu handhaben
+ Kurze Direktverbindungen auf der Platine
Nachteile:
- Der Controller muss immer aktiv die Daten verschieben, pro Byte kommt 
mindestens 1x Port einlessen und 1 x Port ausgeben dazu
- Evtl. ist der Controller zu langsam für ein funktionierendes Live 
Preview
- Gleiches Interface (hsync,vsync,data) von Display und camera kann 
nicht ausgenutzt werden.

Variante 2:
Die Controllleitungen werden direkt an den Controller geliefert, Alle 
Datenleitungen laufen gemeinsam zum Controller
Vorteile:
+ Beim Kopieren von Daten muss lediglich der Takt / Das write-enable vom 
Controller kontrolliert werden
+ Weniger Pins (Das wird wahrscheinlich nicht relevant werden)
Nachteile:
- Es muss immer darauf geachtet werden, dass nicht 2 Komponenten 
gleichzeitig auf den Bus schreiben wollen. Das könnte kritisch werden, 
wenn verschiedene Transfers per Interrupt gehandhabt werden
- Lange verzweigte Leitungen könnten zu Problemen führen ?

Variante 3:
Alle Komponenten hängen direkt an dem Controller aber zwischen Kamera 
und Display gibt es eine zusätzliche Verbindung, die aktiviert oder 
getrennt werden kann. Beim Live Preview werden die Daten direkt von 
Kamera zu Display durchgereicht, ansonsten läuft alles über den 
Controller.
Vorteile:
+ Keine Kurzschluss Gefahr zwischen RAM und Kamera
+ Schnelles Live Preview
Nachteile:
- Aufwendigeres Layout
- Kurzschluss Gefahr zwischen Controller und Kamera

Wie wird sowas normalerweise Gehandhabt? Gibt es meistens gemeinsame 
Buse oder eher getrennte Verbindungen?

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
Noch kein Account? Hier anmelden.