Forum: Mikrocontroller und Digitale Elektronik DALI Bus für Dummies


von da1l6 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen

Ich beiße mir gerade am DALI Bus die Zähne aus.

Als Referenz habe ich diese Dokumente benutzt:
http://ww1.microchip.com/downloads/en/AppNotes/01465A.pdf
http://cache.freescale.com/files/microcontrollers/doc/ref_manual/DRM004.pdf

Leider ist das nur sehr unvollständig beschrieben.

Als Slave kommt ein einzelnes Osram QuickTronic Intelligent QTi DALI 
2x58 DIM zum Einsatz.
Leider reagiert das Slave rein gar nicht auf meine Befehle.
Im Anhang sind drei Scope-Screenshots welche einen Broadcast Befehl 
Helligkeit 126 zeigen. (0xFE7E)
Zwei mal gezoomt auf einzelne Half-Bit Zeiten.

Meine Fragen:

1. Ist der Befehl so richtig gesendet (ist 100% Software "bit-bang")? 
Timing/Spannungen sollten nach der Microchip AppNote passen, aber er 
funktioniert nicht.

2. Muss ich vorher noch irgendwelche Initialisierungen machen damit 
dieser Befehl akzeptiert wird?

3. Gibt es irgend einen Befehl welcher sicher eine Antwort auf dem Bus 
provoziert ohne vorher großartig initialisierungen durchzuführen?

da1l6

von Gerd E. (robberknight)


Lesenswert?

da1l6 schrieb:
> 1. Ist der Befehl so richtig gesendet (ist 100% Software "bit-bang")?
> Timing/Spannungen sollten nach der Microchip AppNote passen, aber er
> funktioniert nicht.

sorry, ich bin zu faul um fremde bits zu zählen.

> 2. Muss ich vorher noch irgendwelche Initialisierungen machen damit
> dieser Befehl akzeptiert wird?

ein broadcast mit einer helligkeit sollte eigentlich ohne 
initialisierung funktionieren.

> 3. Gibt es irgend einen Befehl welcher sicher eine Antwort auf dem Bus
> provoziert ohne vorher großartig initialisierungen durchzuführen?

wenn du dem vorschaltgerät eine nummer zugeordnet hast, kannst du mit 
befehl 145 fragen, ob ein gerät dort erreichbar ist. vielleicht hat ja 
schon jemand anderes deinem vorschaltgerät ne adresse zugeordnet: du 
kannst also einfach mal alle adressen durchprobieren.

generell finde ich die befehle in der appnote NXP AN10760 am besten 
erklärt.

von Frank H. (frankh)


Lesenswert?

Hi,
sendest du auch das Startbit?

Gruß
Frank

von da1l6 (Gast)


Lesenswert?

Gerd E. schrieb:
> sorry, ich bin zu faul um fremde bits zu zählen.
Ich habe es mal annotiert Hochgeladen. Ist dass so plausibel?

> ein broadcast mit einer helligkeit sollte eigentlich ohne
> initialisierung funktionieren.
Das ist nicht der Fall. Also irgend ein Übertragungsproblem.

>> 3. Gibt es irgend einen Befehl welcher sicher eine Antwort auf dem Bus
>> provoziert ohne vorher großartig initialisierungen durchzuführen?
>
> wenn du dem vorschaltgerät eine nummer zugeordnet hast, kannst du mit
> befehl 145 fragen, ob ein gerät dort erreichbar ist. vielleicht hat ja
> schon jemand anderes deinem vorschaltgerät ne adresse zugeordnet: du
> kannst also einfach mal alle adressen durchprobieren.
Habe nie eine Antwort auf diesen Befehl bekommen, weder mit testen aller 
einzel Adressen, noch mit Broadcast. Müsste das Slave hier auch auf 
Broadcast reagieren? Oder nur bei Unicast?

> generell finde ich die befehle in der appnote NXP AN10760 am besten
> erklärt.
Danke, werde ich mir ansehen.


Frank H. schrieb:
> Hi,
> sendest du auch das Startbit?
Ich denke schon. Siehe Anhang. Passt das so?

da1l6

von da1l6 (Gast)


Angehängte Dateien:

Lesenswert?

Hochladen...

von Frank H. (frankh)


Lesenswert?

Jupp, Startbit ist gesetzt.

von Gerd E. (robberknight)


Lesenswert?

da1l6 schrieb:
> Gerd E. schrieb:
>> sorry, ich bin zu faul um fremde bits zu zählen.
> Ich habe es mal annotiert Hochgeladen. Ist dass so plausibel?

sieht auf den ersten blick richtig aus

>> ein broadcast mit einer helligkeit sollte eigentlich ohne
>> initialisierung funktionieren.
> Das ist nicht der Fall. Also irgend ein Übertragungsproblem.

würde ich auch sagen.

hast du 2 röhren dran? gehen die beide mit voller helligkeit an nachdem 
du die versorgung getrennt hast und dann wieder an machst? solange du 
denen das nicht per dali abgewöhnst sollten die das eigentlich.

>> wenn du dem vorschaltgerät eine nummer zugeordnet hast, kannst du mit
>> befehl 145 fragen, ob ein gerät dort erreichbar ist. vielleicht hat ja
>> schon jemand anderes deinem vorschaltgerät ne adresse zugeordnet: du
>> kannst also einfach mal alle adressen durchprobieren.
> Habe nie eine Antwort auf diesen Befehl bekommen, weder mit testen aller
> einzel Adressen, noch mit Broadcast. Müsste das Slave hier auch auf
> Broadcast reagieren? Oder nur bei Unicast?

Im Standard (IEC 60929, ich hab aber leider nur ne alte Version von 
2003) steht:
Query commands shall be addressed to individual ballasts preferably. If 
addressed to groups or broadcast the answers might be overlapped as all 
ballasts addressed will answer

also eigentlich sollten die auch auf broadcast antworten. aber solche 
randsätze werden von den herstellern gerne mal überlesen oder kreativ 
interpretiert. ich würde also nicht drauf wetten.

von noxyz (Gast)


Lesenswert?

Habe gerade zufällig diesen Fred gefunden. Ist zwar schon ein paar 
Jährchen her, mir ist aber noch was aufgefallen. Laut Norm sollte der 
Low-Pegel < 4,5V sein, was hier aber nicht der Fall ist.

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
Noch kein Account? Hier anmelden.