RS232 Timeout

Gast #2034339
Lesenswert?

Hallo zusammen.

Ich habe folgendes Problem. Ich sende Daten vom PC an ein FPGA welcher 
darauf antwortet.
Beim betrachten der Signale ist aufgefallen, dass der PC nach jedem 
Frame ca. 100ms auf Antwort wartet, obwohl die Antwortzeit < 1ms ist. 
Also versuchten wir in einem Python Skript den timeout der Seriellen 
Schnittstelle auf 10ms zu setzen. Dann kommt der PC allerdings nicht 
mehr ganz mit.

Kann es sein, dass das Empfangsreister des PC nur alle 100ms abgefragt 
wird? Bracuht er also diese Pause, oder sollte er durchaus schneller 
können?

Danke
Sim
Gast #2034856
Lesenswert?

Es handelt sich um die onboard Schnittstelle. Es gibt keine 
Datenflusssteuerung in diesem Sinn. Es wird über einen RS232/RS485 
Pegelwandler auf eine Buspysik gesendet. Die Busarbitrierung wird anhand 
der Inhalte des Frames gemacht.

Aber die Frage war ja eigentlich auch nur, ob man beim PC eine min. 
Timeout Zeit einhalten muss.

Gruß Sim
Gast #2035375
Lesenswert?

Hallo,

das Problem ist vermutlich, dass der Empfang erst am Ende des Timeouts 
stattfindet (vom Standpunkt des Skripts aus). Die serielle Software muss 
ja wissen, wann ein Frame zu Ende ist, und das ist u.U. eben nach Ablauf 
des Timeouts. Wenn die Frames durch ein bestimmtes Zeichen wie CR oder 
EOT beendet würden, bestünde dieses Problem nicht, dann würde der Frame 
unmittelbar nach Empfang dieses Zeichens übergeben.

Timeout als Frame Delimiter ist nie eine gute Idee.

Gruss Reinhard
Gast #2036037
Lesenswert?

Leider brauche ich einen Timeout, da es sich um eine Buskommunikation 
handelt und ich mit dem FPGA einen einzelnen Host darstelle. D. h. es 
kommt nicht auf jedes Frame eine Antwort, sondern nur wenn dieses für 
das FPGA relevant ist.

Gruß Sim
Gast #2036074
Lesenswert?

sim schrieb:
> Leider brauche ich einen Timeout, da es sich um eine Buskommunikation
> handelt und ich mit dem FPGA einen einzelnen Host darstelle. D. h. es
> kommt nicht auf jedes Frame eine Antwort, sondern nur wenn dieses für
> das FPGA relevant ist.
>
> Gruß Sim

Klar, das brauchst du immer, nur hat das mit dem von mir angesprochenen 
Problem garnichts zu tun, da ging es um die (möglichst schnelle) 
Frame-Ende-Erkennung. Aber wenn du dir den zeitlichen Ablauf nicht 
vorstellen kannst, vergiss es einfach.

Gruss Reinhard

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren