Forum: Mikrocontroller und Digitale Elektronik parallel Bus


von Patrick S. (pepper)


Lesenswert?

Hallo,

ich möchte einen parallelen Bus mit einer 8 Bit Leitung und einem Strobe 
Signal aufbauen. Bei jeder steigenden Flanke des Strobe Signals sollen 
die Adressdaten sequentiell immer wieder gesendet werden und bei 
fallender Flanke die Daten. Das ganze hab ich bis jetzt mit meinem 
Mikrocontroller realisiert.
 Ich wollte Fragen, welche Möglichkeit habe ich, dass vlt 
schaltungstechnisch zu realisiern, so dass der Controller nur noch die 
Daten eines Ringspeichers zu gegebener Zeit updatet und der Rest 
automatisch durch rotiert? Ziel ist es den Controller zu entlasten.

VG

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick S. schrieb:
> Ziel ist es den Controller zu entlasten.
Welchen?

> dass vlt schaltungstechnisch zu realisiern
Hast du schaltungstechnisch die Möglichkeit an den Ringspeicher zu 
kommen?

von Georg (Gast)


Lesenswert?

Patrick S. schrieb:
> Ziel ist es den Controller zu entlasten.

Ich halte es für nicht sinnvoll, die Software des Controllers durch 
externe Hardware zu ersetzen. Dazu bräuchtest du eine mittelmässig 
komplexe Logik, wahrscheinlich ein FPGA, das du programmieren müsstest, 
einen externen Speicher und dazu noch eine Zugriffsmöglichkeit für den 
Controller auf diese ganze externe Mimik (was Lothar schon angesprochen 
hat), so richtig trivial wird das nicht und die Hardware wird um ein 
Mehrfaches komplexer. Suche lieber einen leistungsfähigeren Controller, 
sofern das überhaupt ein Problem ist.

Fertige Ringspeicher als Chip kenne ich nicht, aber du kannst ja mal 
nach FIFO ICs googeln. Ich glaube aber nicht dass dir das weiterhilft.

Georg

von RoGerZ (Gast)


Lesenswert?

Georg schrieb:
> ... mittelmässig komplexe Logik, wahrscheinlich ein FPGA ...

Mein Vorschlag dazu wäre ine zweiter (kleinerer) µC, der nur die Ausgabe 
des Ringspeichers auf den 8-bit-Bus macht und zum Update eine 
Standleitung (SPI) zu Haupt-µC hat. Der Rest ist wieder Software ..

Gruß,
RoGerZ

von Patrick S. (pepper)


Lesenswert?

Nach meiner jetzigen Recherche, seh ich auch einen zweiten Controller 
als am sinnvollsten an.

Danke für eure Hilfe.

von Stefan F. (Gast)


Lesenswert?

> Bei jeder steigenden Flanke des Strobe Signals sollen
> die Adressdaten sequentiell immer wieder gesendet werden und bei
> fallender Flanke die Daten.

Das wird so einfach nur unidirektional klappen. Dann ist es aber nicht 
mehr wirklich ein Bus.

> Ich wollte Fragen, welche Möglichkeit habe ich, dass vlt
> schaltungstechnisch zu realisiern, so dass der Controller nur noch die
> Daten eines Ringspeichers zu gegebener Zeit updatet und der Rest
> automatisch durch rotiert?

Welcher Controller? Welche Daten? Welches Timing?

von Stefan K. (stefan64)


Lesenswert?

Wenn Du einen DMA fähigen Controller hast, dann kann das der DMA 
erledigen, ohne einen Ovcerhead für die CPU zu erzeugen.

Welche Geschwindigkeit willst Du erreichen und welchen Controller 
benutzt Du im Moment?

Gruß, Stefan

von Sebastian S. (amateur)


Lesenswert?

Es gibt Speicher (8 Bit), die nur auf Kommando (Latch) die Eingangsdaten 
übernehmen und dann natürlich am Ausgang spiegeln.
Alternativ auch mit seriellem Eingang.

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.