Forum: Mikrocontroller und Digitale Elektronik Wie framesynchronisiertes Frame puffern?


von Moe E. (moe_espunkt)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

Ich habe das Problem, dass ich von einem Slavegerät eine 
framesynchronisierte Datenframe-Antwort auswerten muss: Der ca. 40 Byte 
große Frame beginnt mit "FFF" und wird damit auch wieder abgeschlossen 
(wobei ein "F" = 01111110 entspricht)
Zum Senden der Anfrage verwende ich eine serielle Schnittstelle (CSIH), 
jedoch antwortet der Slave asynchron bzw. sobald ich eine Anfrage sende 
bekomme ich eine Antwort.
Die Idee von mir ist jetzt nun, die Antwort des Slaves zu Puffern und 
"später" (nach dem die komplette Antwort erhalten wurden ist) serielle 
an den Master zu übergeben.
Meine Frage ist nun: gibt es eine Möglichkeit den Puffer so zu 
realisieren, dass die ca. 40 Byte große Antwort des Slaves zwischen 
gespeichert werden? Kann das überhaupt funktionieren so wie ich es mir 
vorstelle?

Im Anhang habe ich die Idee und den CC-Link Frame als Bild dargestellt, 
damit es besser verstanden werden kann.

Ich hoffe, dass das ich Problem einigermaßen verständlich erklärt habe 
und bedanke mich recht herzlich für jede Antwort und für eure Hilfe.

Viele Grüße
Moe

von Peter D. (peda)


Lesenswert?

Moe Espunkt schrieb:
> sobald ich eine Anfrage sende
> bekomme ich eine Antwort.

Falls es sich um eine UART handelt, das ist so üblich.
Warum willst Du die Antwort noch weiter verzögern?

Eine UART kann gleichzeitig senden und empfangen. Das sind 2 getrennte 
Einheiten, nur der Baudratenvorteiler ist gemeinsam.

von Moe E. (moe_espunkt)


Lesenswert?

Hallo Peter,

vielen Dank für deine Antwort.

An UART habe ich auch schon gedacht. Das Problem an UART ist, dass in 
meiner zu übertragenden Nachricht immer ein Start- und Stopbit drin ist, 
die der Empfänger nicht verarbeiten kann, bzw. mein Empfänger arbeitet 
nicht mit UART.

Wenn ich zum Beispiel eine 24Bit (bspw. "FFF", wobei jedes "F" 8Bit groß 
ist) große Nachricht senden möchte, dann würde der Empfänger folgendes 
empfangen:

"0F10F10F1" <<<< Enthält Start- und Stopbit,die der Empfänger nicht 
verarbeiten kann.

Aus diesem Grund möchte ich eine synchrone Schnittstelle verwenden, 
damit ich die Start- und Stopbits los werde.

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.