Hoi zusammen, hatte gestern einen schönen Etappensieg in einem privaten Projekt und dachte ich mache einen Thread zu solchen kleinen Erfolgserlebnissen auf :) >Ziel: Mega8´s als Digitale/Analoge Datenquelle in einer UART-basierten Daisy-Chain mit einem größerem Hostcontroller. >Herausforderung: Benötigtes Handshake, weil sonst in der Praxis garantiert bytes verloren gehen. >Problem: Trotz Handshake Datenschluckauf >Gloreicher Moment: Dank eines geliehenem Oszilloskops älterer Generation konnte ich in einer Lucky-Punch-Messung (gefühlt schon kurz vorm aufgeben) das Problem sehen. Hatte einfach das "available" setzten der Handshake-Leitung falsch gesetzt. Wurde gefreet, wenn das Byte in den Out geschrieben wurde - durfte erst gesetzt werden, wenn der Transmit-Ready Interrupt kommt. >Nu läufts - wie schön. Da freut man sich doch, wenn auf dem Oszi die gewünschten Signalverläufe auftauchen und die unfassbare Menge von 60 Bytes ohne Lost bewegt wurden. Freu mich von euch zu lesen :)
:
Verschoben durch Moderator
Beitrag #6052611 wurde von einem Moderator gelöscht.
Das PingPong-Verfahren hilft bei der seriellen Schnittstelle super gegen den Datenschluckauf: https://de.wikipedia.org/wiki/Ping-Pong-Verfahren
Jasson J. schrieb: >>Herausforderung: > Benötigtes Handshake, weil sonst in der Praxis garantiert bytes verloren > gehen. Schön dass es geklappt hat, ja es ist das erste mal immer eine Herausforderung! :-) Überlege Dir im nächsten Lern-Schritt anstatt einem UART als Schnittstelle CAN Bus ein zu setzen, ist bei Multiprozessorsystemen leichter zu implementieren. (z.B. in Autos wird das ebenfalls seit Jahrzehte eingesetzt.)
Bernd schrieb: > Das PingPong-Verfahren hilft bei der seriellen Schnittstelle super gegen > den Datenschluckauf: > https://de.wikipedia.org/wiki/Ping-Pong-Verfahren Es ist aber auch das langsamste…
>Es ist aber auch das langsamste…
Das hängt davon ab. Je größer die Payload pro Ping, umso mehr geht die
Übertragungsrate gegen das theoretische Maximum.
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.