asynchronen Bus synchronisieren

OP #424473
Ich habe mit eine Grafikkarte aus einem SRAM und einem XC95108 CPLD 
gebaut. Diese funktioniert soweit, nur der Datenbuus zum uC von dem die 
Bilddaten kommen macht mir Probleme:
Da der SRAM nur jeden zweiten Takt für die Datenübertragung vom uC Zeit 
hat, speichere ich die die Daten vom uC erstmal in ein Register ab, und 
setze ein "neue Daten" Bit.
Sobald das SRAM dann Zeit hat und das "neue Daten" Bit gesetzt ist, 
werden die Daten aus dem Register ins SRAM geschrieben.
Allerdings kann es passieren, dass der uC während eines Schreibvorgangs 
ins SRAM neue Daten sendet. Man müsste das Register als 2 stufig 
aufbauen. Dazu muss das "neue Daten" Bit und die zu dem jeweiligen Byte 
passende Adresse auch irgendwo 2 stufig mitgespeichert werden. Insgesamt 
also ein ziemlicher Aufwand.

Da gibt es doch bestimmt eine einfachere Lösung um das ganze ohne 
Wait-States für den uC zu lösen ?
Gast #424492
Kommt der Takt für Controller und SRAM aus demselben Quarz oder sind die 
wirklich gegeneinander asynchron? Ein Rückmeldungsbit, "Byte abgeholt", 
frißt vermutlich zuviel Zeit.
OP #424513
Beide haben je einen eigenen Quarz (18,432MHz am CPLD -> 55ns SRAM 
Zurgiffszeit, 16MHz am uC)
Das Busy Flag wäre das einfachste, aber genau sowas wollte ich 
vermeiden, denn das währen die oben erwähnten waitstates. Falls es nicht 
anderst geht, muss ich es wohl doch so machen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.