mikrocontroller.net

Forum: Offtopic Momente der kleinen Freuden des Bastlerdaseins


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jasson J. (jasson)


Bewertung
3 lesenswert
nicht lesenswert
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.
von Bernd (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das PingPong-Verfahren hilft bei der seriellen Schnittstelle super gegen 
den Datenschluckauf:
https://de.wikipedia.org/wiki/Ping-Pong-Verfahren

von Markus M. (mmvisual)


Bewertung
0 lesenswert
nicht lesenswert
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.)

von Uhu U. (uhu)


Bewertung
0 lesenswert
nicht lesenswert
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…

von Bernd (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>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, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.