Fehler #35

ACKs kommen um 2 Bits zu spät

Added by kent over 1 year ago. Updated about 1 year ago.

Status:Erledigt Start date:01/07/2011
Priority:Dringend Due date:
Assignee:idefix % Done:

0%

Category:AVR Spent time: -
Target version:- Estimated time:3.00 hours

Description

Das ist eigentlich ein Fehler in der AVRLIB.

Das ACK kommt um 2 Bits zu spät. Im Betrieb nur mit AVR Controllern fällt das Problem nicht auf.

Im Mischbetrieb mit Standardgeräten von z.b. Siemens, Gira, ABB, überlagern sich die verschobenen Bits und es entsteht dadurch ein NACK am Bus.

Das Problem muss nicht sofort auffallen da im einfachen Betrieb oft keine Fehler sichtbar sind.

Auswirkungen sind:

1.) ETS meldet beim Lesen/Schreiben von GroupValues einen Fehler.
2.) alle Frames am Bus werden 3 Mal wiederholt da auf ein NACK retries folgen und ALLE Frames am Bus durch die überlagerung der Bits ge-NACKed werden
3.) GroupValueReadRespnses kommen daher ebenfalls 3 Mal
4.) Durch die häufige Wiederholung der Frames kann es passieren dass AllocMsg() fehlschlägt weil alle Messages verbraucht sind. Dadurch geht der Controller in den Panic Mode mit 4-Mal Blinken der Roten Led.
Dieser Absturz ist leicht reproduzierbar wenn es mehrere Gruppenzugehörigkeiten gibt ein ein GroupValueRead an das Gerät gesandt wird und ist ein echter Killer !

Meiner Meinung nach betreffen die Tickets #29 und #31 des "AVR 8-fach In" das gleiche Problem und wären mit der Korrektur des Timings ebenfalls behoben.

ACK-Timing.png - DSO Bild von ACK (8.8 kB) kent, 01/07/2011 08:27 pm

History

Updated by idefix about 1 year ago

  • Status changed from Neu to Erledigt

Problem ist behoben.

Also available in: Atom PDF