Ich habe bei Ebay für ganze 3 Euro USB-nach-RS485-Adpter gefunden, die auch als DMX-Adapter nutzbar sein sollen. Hab mir einen kommen lassen und nach Installation des Original-FTDI-RS232-Treibers und der Software Freestyler kann ich problemlos einen testweise angeschlossenen Movinghead und ein par LED-Scheinwerfer steuern. Super! (Adapter wird als Emtec Open DMX eingerichtet). Ich bin ja froh, dass es geht, aber trotzdem ist mir da Einiges rätselhaft. Bei DMX beträgt die Datenrate genau 250.000 Bit/s. Das ist aber kein Wert, den irgend ein Treiber so anbietet - wie machen die das? Auf welcher Ebene wird die Bitrate für den RS485-Adapter gesetzt? Ich will nämlich auch mal mit eigener Software versuchen, ein par DMX-Befehle abzusetzen und da wäre es ganz hilfreich, dies zu wissen. Ich kenne bisher nur quasi "Stellvertreter-Werte" für die Inintialisierung der seriellen Schnittstelle, z.B. 1 für 300, 2 für 600, 3 für 1200 usw. Es geht zwar am Ende bis deutlich über 250.000, aber eben immer nur in den Standardwerten für serielle Schnittstellen. Vermutlich "verstecken" die gängigen Programmierumbebungen irgendwelche Init-Werte hinter diesen Ziffern ... also wie komme ich da ran, um auch Nicht-Standard-Werte zu setzen? (Windows und Mac). Danke für Tips!
Die FTDIs erlauben intern wesentlich mehr Baudraten als nur die Standard-Werte. Bei FTDI gibt es ein Tool, um die Standard-Baudraten auf fast beliebige baudraten zu mappen. Ähnliche Tools gibt es auch von anderen Herstellern. Ich benutze z.B. einen CP2102, dessen Baudraten ich alle auf die von meiner Hardware verwendeten 125kbaud gemapped habe. So kann der Anwender einstellen was er will, die Baudrate zu meiner Hardware passt trotzdem immer. Gruß, Stefan
Heisst das, mit einem Tool wird der FTDI-Controller konfiguriert und der merkt sich das, egal mit welchen Einstellungen die Anwendung den virtruellen COM-Port öffnet? Steckt die Info dann wirklich in der Hardware oder oder "nur" im Treiber?
Hallo Frank, hier ist die Baudrateneinstellung und Aliasing beschrieben: http://www.ftdichip.com/Support/Documents/AppNotes/AN232B-05_BaudRates.pdf Der FTDI speichert das Aliasing nicht in der Hardware. Wenn Du das wünscht, dann schau Dir mal den CP2102 an, der speichert das im Eeprom. Gruß, Stefan
Also damit DMX senden geht. Du kannst sogar die Adapter nutzen um damit ein RDM Protokoll zu fahren. Du must allerdings schon ein bischen tricksen und auf die Timings achten. Einfache Baudrate einstellen reicht dafür nicht. Man muss schon zwischenzeitlich die Baudrate in Software umschalten. Ich nutze dafür die FTDI dll. Ein Beispielprojekt ist auch hier zu finden: http://www.hoelscher-hi.de/hendrik/light/openrdm.htm
Christian T. schrieb: > Also damit DMX senden geht. Du kannst sogar die Adapter nutzen um damit > ein RDM Protokoll zu fahren. Du must allerdings schon ein bischen > tricksen Ja, Danke - genbau das tu' ich inzwischen! Ich benutze für meine Mac/PC-Projekte RealBasic bzw. Xojo und die dortige Implementation für serial Sockets gestattet es 1. Nicht-Standard-Baudraten einzustellen (z.B. 250.000) 2. on-the-fly die Baudrate zu wechseln Ich bin inzwischen soweit: - Einstellung: non Parity, 8 Datenbit, 2 Stoppbit (!) - Baudrate 50.000 - eine Null senden ("Break" zur Synchronisation aller Geräte am Bus) - Baudrate 250.000 - eine Null als Startbyte senden - Byte 1 bis 512 senden (entspricht dem vollen Rahmen für DMX512) Funktioniert! :-) Man muss übrigens nicht alle 512 Byte senden, es genügen so viele, wie man DMX-Kanäle (lückenlos, bei 1 beginnend) belegt hat.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.