mikrocontroller.net

Forum: PC Hard- und Software RS232 - normale USART umgehen


Autor: Manuel -- (ploana)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: axel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Manuel -- (ploana)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: juppi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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.

Autor: Manuel -- (ploana)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich finde das einfach immer wieder schade, wieviel unbrauchbares zeug
> ein PC heutzutage hat ... und brauchbares nicht!

Ach, das war nie wirklich anders.

Autor: Manuel -- (ploana)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ach, das war nie wirklich anders.

stimmt da hast recht

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.