Forum: Mikrocontroller und Digitale Elektronik DALI Übertragungsproblem


von 2k5 (Gast)


Lesenswert?

Hallo Community

Ich habe Einen Dali Master zusammengebastelt und aus dem Internet nen 
paar befehle zusammengesucht.
Die Schaltung für den Master habe ich von 
http://old.ethersex.de/index.php/DALI
Da ein DALI befehl aus 16Bits besteht, hab ich gerade nen kopfknoten was 
die umsetzung der Usart schnittstelle angeht.

Wie ist es möglich die 16Bit über den Usart herauszugeben ?

z.B das Bitmuster YAAA AAA1 0000 0100 sagt, Helligkeit runter...
wenn ich jetzt nur das Bitmuster über den USART jage passiert natürlich 
nix, das wäre ja auch zu einfach ;-)

Oder hab ich da etwas komplett falsch verstanden ?


Meine Configs sind momentan für Den UART + USART folgende:
bautrate: 1200
1 Startbit
8 Datenbits
2 Stopbits


btw. ich nutze Bascom
Vielen Dank im vorraus
Mfg. 2k5
von Karl (Gast)


Lesenswert?

Du hast die Manchastercodierung vergessen und Stopbits dürfen glaub auch 
nicht drin sein. Wie man das in Bascom realisiert kann ich dir aber 
leider nicht sagen.
von 2k5 (Gast)


Lesenswert?

Hallo Karl

Gut das du das gesagt hast, die Manchester Codierung habe ich verworfen, 
weil ich dachte, dass sie hauptsächlich für DSI gedacht wäre.

Ich Probiere es mal ohne stopbits.
Vielen Dank für deine Hilfe, für weitere Hilfestellungen wäre ich 
natürlich weiterhin sehr dankbar
von Tx1000 (Gast)


Lesenswert?

Hallo

in der AN10760 von NXP ist das Protokoll bechrieben. Manchester-Code, 1 
Startbit, 16 Datenbits und 2 Bitzeiten High-Pegel auf dem Bus. Das geht 
mit keiner "normalen" Hardware-Uart Schnittstelle. Es gibt glaube ich 
aber einige AVRs mit einer DALI-Schnittstelle (AT90PWM3).
von Gerd E. (robberknight)


Lesenswert?

> Die Schaltung für den Master habe ich von
> http://old.ethersex.de/index.php/DALI
> Da ein DALI befehl aus 16Bits besteht, hab ich gerade nen kopfknoten was
> die umsetzung der Usart schnittstelle angeht.

Nimm nicht nur die Schaltung von dort, sondern auch den Code. Dann 
funktioniert das.

Ethersex kannst Du problemlos Befehle per UART übermitteln und damit 
unter anderem auch Dein DALI steuern. Wird dort ECMD genannt und kannst 
Du in der Config für Deine UARTs aktivieren.

Gruß,

Gerd
von 2k5 (Gast)


Lesenswert?

hallo gerd.
 das mit dem ecmd hört sich gut an. werde das wohl als erstes 
ausprobieren, bevor ich mir andere hardware kaufe...
hast du zufällig erfahrungen damit, wie man das in bascom configuriert? 
habe im bezug auf ecmd und bascom nicht wirklich was finden können.
von Gerd E. (robberknight)


Lesenswert?

> hast du zufällig erfahrungen damit, wie man das in bascom configuriert?
> habe im bezug auf ecmd und bascom nicht wirklich was finden können.

bascom? Nix bascom. Ethersex und das integrierte ECMD sind komplett in C 
geschrieben.

Doch wenn Du Dein DALI nur über ne UART steuern willst kann Dir das 
eigentlich vollkommen egal sein, Du musst keine einzige Zeile 
Programmcode schreiben, nur das Ethersex richtig konfigurieren.

Lies Dich mal ein bischen in Ethersex ein...
von 2k5 (Gast)


Lesenswert?

So da bin ich wieder ;-)
allerdings mit einem erneutem problem.
Ich habe eine Virtual Machine auf meinem PC eingerichtet, dort habe ich 
die Live CD von der Seite http://dokucode.de/index.php/Live_CD 
Installiert.

Ich habe mir den Ethersex so konfiguriert wie ich ihn benötige.
beim Kompilieren, also nach der eingabe von "make" im Ubuntu Terminal 
folgt am ende der ausgabe :
protocols/dali/dali.c:36: error:'DDRDALI_OUT_PORT' undeclared (first use 
in this function)

Wenn ich jetzt in Ubuntu die datei dali.c öffne und auf reihe 36 springe 
steht dort:
DDR_CONFIG_OUT(DALI_OUT);

Wenn ich mich nicht irre, müsste ich doch dort den Controllerpin 
zuweisen oder ?

Wie weise ich dort den Pin zu ?
DDR_CONFIG_OUT(DALI_OUT,PB1); funktioniert nicht

vielen Dank
2k5
von 2k5 (Gast)


Angehängte Dateien:

Lesenswert?

Das eine Problem jagt das andere
Ich habe das pinning in meiner Datei jetzt fertig.
Jetzt habe ich das problem, dass das MCU Status register wohl nicht 
deklariert wurde.
Die CPU ist auch nicht bekannt obwohl ich es in ethersex angegeben habe.

Ich werd hier nach und nach die Lösungen "falls ich welche" finde posten
Mfg. 2k5
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.