Ansteuerung einer USB Schnittstelle durch eine C Routine

Gast #417400
Lesenswert?

Ich möchte durch einen USB RS485 converter eien RS485 Bus bauen, welcher
mir durch einen Master und mehrfach Slave diverse Mikrocontrller
steuert. Habe schon einen RS232-Rs485 Converter, aber ich kann die
gewünschte geschwindigkeit aufgrund des Com anschlusses des PC nicht
erreichen. Die neue Idee eben ist es auf die USB Schnittstelle
umzusteigen. Ich bräuchte lediglich ansteurrotuinen, bzw Biblitheken zu
Ansteuernung dieser Schnittstelle.
Aber Danke Dir schon mal für den Tipp.

David
Persönliche Seite #417401
Lesenswert?

Das geht deutlich einfacher.
Der Betrieb externer RS485/RS232-Konverter ist in der Tat ein
Geschwindigkeitsproblem, weil die Sender/Empfänger-Umschaltung über
eine Handshakeleitungen der seriellen Schnittstelle erfolgt, und der
Zugriff darauf ist für Usermode-Programme sehr langsam.

Wenn Du statt dessen eine serielle Schnittstelle verwendest, die
Hardwareunterstützung für RS485-Betrieb hat, dann musst Du nur diese
Unterstützung aktivieren und Dich überhaupt nicht mehr darum kümmern.

Das geht sowohl mit seriellen Schnittstellen für den PCI- oder
meinetwegen auch ISA-Bus, wenn die Schnittstellenbausteine
beispielsweise von Oxford Semiconductor sind, das geht aber auch mit
USB-Seriell-Wandlern von FTDI wie dem FT232R. Der bietet direkt eine
Steuerleitung für die RS485-Sender/Empfänger-Umschaltung an (TXDEN,
default auf CBUS2, Pin 13 des TSOP-Gehäuses). An die schließt Du direkt
die Steuerleitung Deines RS485-Treibers an und fertig. Eine
Beispielschaltung ist auf Seite 24 des Datenblattes* zu finden.

Die Schnittstelle selber kannst Du wie gewohnt über dem VCOM-Treiber
ansprechen; um die Sender/Empfängersteuerung musst Du Dich in Deiner
Anwendung nicht weiter kümmern.


*) http://ftdichip.com/Documents/DataSheets/DS_FT232R_v104.pdf

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren