Hallo Ich möchte mich mit einem PC in den DMX512-bus hängen(mit Levelkonverter - RS-485 ...) Mein Problem ist, dass ich nicht weiß wie ich den Bus 160µs lange auf 0 ziehen kann(da ich nicht eifnach 0x00 ausgeben kann) Eine möglichkeit wäre, dass man die Baudrate von 250kBit/s herunterdreht und dann 0x00 ausgibt und sofort die Baudrate wieder auf die 250kBit/s! dies hört sich aber sehr unsicher an ... I habe mir gedacht ob man nicht vielleicht die PC-Schnittstelle "austricksen" könne?? zB.: mit einer der speziellen Signalleitungen wie RTS, CTS, DSR, DCD(CD), DTR oder RI(wahrscheinlich eher weniger) ?????? Kann mir irgendwer weiterhelfen? (Zugriff auf die Schnittstelle mit C#) Gibt es eine möglichkeit? Beim µC ist es leichter, da werden die bestimmten Pins nicht als normale PortPins deklariert und wenn der RESET (1) fertig ist werden die PINS als USART Modul deklariert! Würde mir sehr weiterhelfen wenn jemand eine Idee hätte lg manuel
Du könntest tatsächlich mit einer Handshakeleitung (DTR oder RTS, alle anderen sind Eingänge) eine zusätzliche Hardware ansteuern, die Dein gewünschtes Verhalten erzeugt. Dazu würde ein einfaches AND-Gatter genügen, an das die Handshakeleitung und TxD von der UART angeschlossen werden (natürlich erst nach 'nem geeigneten V24-zu-TTL-Pegelkonverter). Allerdings wirst Du mit 'nem PC, sofern Du nicht ein hartes RTOS verwendest, keine Chance haben, definierte 160 µs lang irgend etwas zu tun. Mit Windows hast Du da ganz schlechte Karten, das könntest Du nur auf Devicetreiberebene hinbekommen, aber absolut überhaupt gar nicht mit 'ne in C# geschriebenen Usermode-Applikation. Das weitere Problem ist, daß die serielle Schnittstelle des PCs gar keine Datenrate von 250 kBit/sec erzeugen kann, schneller als 115200 wird die nicht. Das können nur USB-Seriell-Adapter oder spezielle PCI-Steckkarten. (Ja, es gibt Methoden, die Super-I/O-Chips, in denen die normalen PC-UARTs auf heutigen Mainboards drinstecken, quasi zu "übertakten", das aber ist nichtportierbares Gefrickel, von dem ich die Finger lassen würde)
"Eine möglichkeit wäre, dass man die Baudrate von 250kBit/s herunterdreht und dann 0x00 ausgibt und sofort die Baudrate wieder auf die 250kBit/s! dies hört sich aber sehr unsicher an ..." Das wird bei Digitemp für die 1-wire Ansteuerung auch so gemacht. Warum soll das nicht gehen ? Gruss Axel
> Warum soll das nicht gehen ? Ich zitier' mich mal: > Das weitere Problem ist, daß die serielle Schnittstelle des PCs gar > keine Datenrate von 250 kBit/sec erzeugen kann, schneller als 115200 > wird die nicht.
@Axel Nein ich denke es wird schon gehen, aber ich bin mir nicht sicher ob dies auch sicher ist, wenn ich dass so mache ... Versuchen werde ich es auf jedem Fall, aber ich dachte es gibt eine schönere Lösung... Wenn dann muss ich sowiso mit einem USB-RS232 Konverter arbeiten! lg manuel
> Wenn dann muss ich sowiso mit einem USB-RS232 Konverter arbeiten!
Und in diesem Falle bekommst Du das Timing nicht ansatzweise hin. Nicht
nur, daß das von Dir verwendete OS mit einer Schedulergranularität von
10 -bestenfalls 1- msec arbeitet, sondern hinzu kommt noch, daß USB auch
nur im 1kHz-Takt gepollt wird.
Mit einem USB-Seriell-Adapter wirst Du keine 160 µS-Pulse erzeugen
können.
Mach Dir das Leben einfacher: Nimm einen µC mit zwei seriellen
Schnittstellen, die eine verwendest Du für das DMX-Protokoll, die andere
hängst Du mit ausreichend hoher Baudrate an einen FT232R.
Alle timingkritischen Dinge solltest Du auf dem µC durchführen, der PC
bekommt das einfach nicht hin, auch wenn er mit zig GHz getaktet sein
sollte.
@ Manuel -- (ploana) leider und ungern muß ich Rufus t. Firefly (rufus) (Moderator) recht geben . z.Z. ist dies die einfachste und billigste Lösung. ich suche selbst ,aus Interesse ,einen deines Vorschlags ähnliche Lösung, leider vergeblich.
hi Stimmt das wird wohl die einfachste und sicherste lösung sein und ein FT232R ist auch eifnach zum einsetzen ... Ich finde das einfach immer wieder schade, wieviel unbrauchbares zeug ein PC heutzutage hat ... und brauchbares nicht! Danke an alle manuel
> Ich finde das einfach immer wieder schade, wieviel unbrauchbares zeug > ein PC heutzutage hat ... und brauchbares nicht! Ach, das war nie wirklich anders.
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.