Skip to content

Fehlverhalten bei der Adressierung. #10

@TheTrueGrebnelloh

Description

@TheTrueGrebnelloh

Hallo,

ich verwende jetzt schon seit einiger Zeit das GW-REG1-DALI für meine Tests und plane das Gateway auch in den Produktivbetrieb zu bringen. Zunächst einmal möchte ich sagen, dass es definitiv das beste DALI Gateway ist, dass ich bis jetzt benutzt habe. Das Gateway und ich die Dokumentation um die Software und Hardware ist mir eine riesengroße Hilfe bei meinem aktuellen Projekt (ich baue aktuell einen DALI LED Dimmer).
Ich habe noch ein Problem bei der Adressierung, dass ich noch nicht vollständig durchblicke. Wenn ich die Suche nach EVGs in der ETS starte, werden manchmal EVGs gefunden die es gar nicht gibt. Das tritt eher zufällig auf, dabei ist es auch egal ob nur eines oder mehrere EVGs angeschlossen sind und es tritt sowohl bei meinen als auch bei gekauften EVGs auf. Ich habe schon etwas Debugging betrieben und dabei herausgefunden, dass das Gateway die Response von einem COMPARE zu verpassen scheint. Ich habe mir mit meiner Hardware einen einfachen "DALI Logger" gebaut der einfach nur auf dem Bus mithört und logt was passiert. Im Folgenden log war nur ein Gerät am DALI Bus, das EVG hat die Long-Address 0xB574F3 und es wurde eine zusätzlichens gerät mit 0xB57600 gefunden das es nicht gibt. Im Log ist zu sehen das beim COMPARE der Suchadresse 0xB575FF eine Response auf dem Bus war das Gateway hat diese aber scheinbar verpasst und die Suchadresse dann noch oben anstatt nach unten korrigiert. Das hat dann dazu gefürt der es einfach bis an das Ende des Suchbereichs gelaufen ist. 

Got initialize
Got initialize
Got randomise			0xB574F3
Got randomise
Got compare. current searchAddr: 0xFFFFFF : 16777215
Got compare response
Got compare. current searchAddr: 0x7FFFFF : 8388607
Got compare. current searchAddr: 0xBFFFFF : 12582911
Got compare response
Got compare. current searchAddr: 0x9FFFFF : 10485759
Got compare. current searchAddr: 0xAFFFFF : 11534335
Got compare. current searchAddr: 0xB7FFFF : 12058623
Got compare response
Got compare. current searchAddr: 0xB3FFFF : 11796479
Got compare. current searchAddr: 0xB5FFFF : 11927551
Got compare response
Got compare. current searchAddr: 0xB4FFFF : 11862015
Got compare. current searchAddr: 0xB57FFF : 11894783
Got compare response
Got compare. current searchAddr: 0xB53FFF : 11878399
Got compare. current searchAddr: 0xB55FFF : 11886591
Got compare. current searchAddr: 0xB56FFF : 11890687
Got compare. current searchAddr: 0xB577FF : 11892735
Got compare response
Got compare. current searchAddr: 0xB573FF : 11891711
Got compare. current searchAddr: 0xB575FF : 11892223  Hier nach hätte er runter gemusst nicht hoch
Got compare response
Got compare. current searchAddr: 0xB576FF : 11892479
Got compare response
Got compare. current searchAddr: 0xB5767F : 11892351
Got compare response
Got compare. current searchAddr: 0xB5763F : 11892287
Got compare response
Got compare. current searchAddr: 0xB5761F : 11892255
Got compare response
Got compare. current searchAddr: 0xB5760F : 11892239
Got compare response
Got compare. current searchAddr: 0xB57607 : 11892231
Got compare response
Got compare. current searchAddr: 0xB57603 : 11892227
Got compare response
Got compare. current searchAddr: 0xB57601 : 11892225
Got compare response
Got compare. current searchAddr: 0xB57600 : 11892224
Got compare response
Got Query short address
Got Withdraw.
Got compare. current searchAddr: 0xFFFFFF : 16777215
Got compare response
Got compare. current searchAddr: 0x7FFFFF : 8388607
Got compare. current searchAddr: 0xBFFFFF : 12582911
Got compare response
Got compare. current searchAddr: 0x9FFFFF : 10485759
Got compare. current searchAddr: 0xAFFFFF : 11534335
Got compare. current searchAddr: 0xB7FFFF : 12058623
Got compare response
Got compare. current searchAddr: 0xB3FFFF : 11796479
Got compare. current searchAddr: 0xB5FFFF : 11927551
Got compare response
Got compare. current searchAddr: 0xB4FFFF : 11862015
Got compare. current searchAddr: 0xB57FFF : 11894783
Got compare response
Got compare. current searchAddr: 0xB53FFF : 11878399
Got compare. current searchAddr: 0xB55FFF : 11886591
Got compare. current searchAddr: 0xB56FFF : 11890687
Got compare. current searchAddr: 0xB577FF : 11892735
Got compare response
Got compare. current searchAddr: 0xB573FF : 11891711
Got compare. current searchAddr: 0xB575FF : 11892223
Got compare response
Got compare. current searchAddr: 0xB574FF : 11891967
Got compare response
Got compare. current searchAddr: 0xB5747F : 11891839
Got compare. current searchAddr: 0xB574BF : 11891903
Got compare. current searchAddr: 0xB574DF : 11891935
Got compare. current searchAddr: 0xB574EF : 11891951
Got compare. current searchAddr: 0xB574F7 : 11891959
Got compare response
Got compare. current searchAddr: 0xB574F3 : 11891955
Got compare response
Got compare. current searchAddr: 0xB574F1 : 11891953
Got compare. current searchAddr: 0xB574F2 : 11891954
Got compare. current searchAddr: 0xB574F3 : 11891955
Got compare response
Got Query short address
Ignored Frame: data=0x6E size=8 flags=0x0
Got Withdraw.
Got compare. current searchAddr: 0xFFFFFF : 16777215
Got terminate

Anfangs habe ich angenommen, dass es ein Fehlverhalten meiner EVGs ist. Ich habe mir dann zwei gebraucht EVGs von Osram gekauft und mit denen das gleiche Verhalten beobachtet. Ich habe dann mal einen Logicanalyzer an den DALI Bus gehangen, um die Adressierung zu beobachten. Das ist alles korrekt und die Responses, die das Gateway zu verpassen scheint, werden korrekt auf dem Bus gesendet und haben im Timing auch keinen Unterschied zu denen, die korrekt erkannt werden. Ich habe mich dann mal etwas durch den Code des Gateways gegraben und im Prozess der Adressierung, insbesondere dem CHECKFOUND Schritt, ein paar Logs hinzugefügt. An den stellen, wo die Suche sich verläuft, scheint die Response nicht den ResponseState::RECEIVED zu haben und dann wird die Adresse erhöht anstatt verringert.
Ich suche jetzt nach dem Grund dafür, muss mich dafür aber nochmal etwas durch den DALI Layer arbeiten. Aufgrund meiner bisherigen Beobachtungen, vermute ich, dass es ein Timing Problem ist. Das würde auch erklären, warum der Fehler nicht immer auftritt. Manchmal habe ich 10+ Suchen in folge ohne Fehler und manchmal tritt es mehrmals hintereinander auf.
Meine Fragen hier wären jetzt:
Hat dieses Verhalten sonst schonmal jemand beobachten können?
Hat jemand eine Idee wo ich weiter suchen könnte?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions