Forum: Mikrocontroller und Digitale Elektronik Leistung (klassische) serielle Schnittstelle


von S. R. (svenska)


Lesenswert?

Hallo,

ich habe ein älteres Grafiktablet, welches keine eigene Stromversorgung 
hat, sich also wie eine serielle Maus über die Steuerleitungen versorgt. 
Das Teil betreibe ich an einem USB-Adapter (genauer: an zwei 
verschiedenen, einmal FT232 und einmal PL2303). Einen alten PC mit 
onboard-UART habe ich leider nicht hier.

Das Gerät spricht ein Standardprotokoll (MM1201-kompatibel), wirft aber 
komische Werte raus: Bewege ich den Stift horizontal über die Fläche, 
bekomme ich einen sehr groben Sägezahn (mit deutlichen Stufen).

Kann das daran liegen, dass die USB-Wandler Adapter nicht genug Leistung 
für die Stromversorgung liefern?

Oder anders gefragt: Wieviel Strom/Leistung stellt so eine klassische 
serielle Schnittstelle zur Verfügung, und kann ein MAX3232 ähnlich viel 
liefern?

Zusatzfrage: Mein Plan ist es, einen Attiny85 mit V-USB (weil einerseits 
ohne Quarz, andererseits vorrätig) als Protokollwandler zu benutzen. Ist 
der AVR schnell genug, gleichzeitig mit V-USB noch 9600 Baud auf der USI 
zu benutzen?

Gruß,
Svenska

von Codix (Gast)


Lesenswert?

S. R. schrieb:
> und kann ein MAX3232 ähnlich viel
> liefern?

Ein MAX kann nicht die Ströme liefern die ein klassiche Schnittstelle 
liefern kann. Auch ein USB-Seriell kannst Du vergessen, da ist auch nix 
anderes verbaut als ein MAX-ähnliches Gebilde.

S. R. schrieb:
> Ist
> der AVR schnell genug,

Wenn Du ihn ohne Vorteiler rennen lässt, dann hat er Langeweile...

von S. R. (svenska)


Lesenswert?

Codix schrieb:
>> Ist der AVR schnell genug,
>
> Wenn Du ihn ohne Vorteiler rennen lässt, dann hat er Langeweile...

Ich habe mit V-USB keine Erfahrungen, aber es hat wohl ziemlich heftige 
Timing-Anforderungen und lastet den Chip gut aus. Da wäre mir schon 
wichtig, dass der AVR problemlos ein paar Dutzend Bytes nebenher 
ruckelfrei empfangen kann... daher die Frage.

Vorteiler geht mit V-USB ohnehin nicht. Oder?

: Bearbeitet durch User
von H.Joachim S. (crazyhorse)


Lesenswert?

Der "alte" Standard für die PC-RS232 waren 1488/1489-Chips. Die hatten 
auch relativ "viel Dampf" (gespeist aus +/-12V aus dem Netzteil.

Mit nem MAX232 klappt das eigentlich auch noch ganz gut. Die arbeiteten 
aber mit 5V (-> +/-10V im Leerlauf), die Ladungspumpe funktioniert bei 
5V ganz gut. Bringt aber nicht die Leistung der 1488er.

Mit dem MAX3232 hat sich die Sache aber mehr oder weniger erledigt, 
Geräte aus der Schnittstelle zu versorgen. Vorgesehen war das eh nie, 
Anforderung war: Kabel und Empfängereingang zuverlässig treiben, nicht 
mehr.

von Timm T. (Gast)


Lesenswert?

Serielle Daten über USB-seriell-Wandler auf Rxd, Txd am Grafiktablet
DC/DC-Wandler 1W 5V auf +/-12V an die Handshake-Leitungen am 
Grafiktablet

Ein RS232-Breakout bauen (Stecker auf Buchse 1:1 durchverdrahten, 
Leitungen so legen, daß man dran messen kann) und rausfinden, welche 
Leitungen die Software schaltet, um das Tablet zu versorgen.

Diese Leitungen dann auf Tabletseite aus dem DC/DC versorgen, natürlich 
nicht in den USB-seriell-Wandler rückspeisen. Aufpassen, es kann auch 
sein, daß das Tablet über einige Handshakeleitungen zurückspeist.

Bedingt natürlich, daß sich das Tablet an die RS232 Spezifikation hält 
und a) nicht die Handshakeleitungen zum Datensenden mißbraucht und b) 
nicht die Txd Leitung zur Versorgung mißbraucht.

von W.A. (Gast)


Lesenswert?

S. R. schrieb:
> Oder anders gefragt: Wieviel Strom/Leistung stellt so eine klassische
> serielle Schnittstelle zur Verfügung, und kann ein MAX3232 ähnlich viel
> liefern?

Vielleicht benutzt das Tablett auch Leitungen der seriellen 
Schnittstelle, die von kastrierten USB-Seriell-Wandlern Schnittstellen 
gar nicht zur Verfügung gestellt werden. Die zahllosen 
Hardware-Handshake-Leitungen einer klassichen serielle Schnittstelle 
werden lange nicht von allen Wandlern unterstützt.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

S. R. schrieb:
> Ist
> der AVR schnell genug, gleichzeitig mit V-USB noch 9600 Baud auf der USI
> zu benutzen?

Ist er. Ich habe selber mit V-USB einen Wandler für mein altes Tektronix 
Tablett gebaut:
http://www.schoeldgen.de/avr/
runterrollen bis
'USB Interface for Tektronix 4957 tablet using V-USB'
Der Tiny wird von einem externen 16Mhz Oszillator getaktet.

Das alte Tektronix wurde aber immer fremdgespeist, so das bei mir keine 
Speiseleitung an der seriellen ist. Interessant ist für dich der USB 
Deskriptor, der ein absolutes Pointing Device als HID zur Verfügung 
stellt und somit (zumindest am Windows PC und am Mac) keinen 
Gerätetreiber benötigt.

von Timm T. (Gast)


Lesenswert?

Matthias S. schrieb:
> Interessant ist für dich der USB
> Deskriptor, der ein absolutes Pointing Device als HID zur Verfügung
> stellt

Ähem, ist doch völlig überflüssig. Das Problem ist doch offenbar nach 
jetzigem Wissenstand nicht die Datenübertragung - die kann über einen 
USB-seriell-Wandler genausogut erfolgen.

Das Problem ist doch die parasitäre Spannungsversorgung. Dafür muß er 
halt einigermaßen potente +/-12V erzeugen, 20mA dürften ausreichen, mehr 
haben die alten Schnittstellen auch nicht geliefert.

Und er muß halt rausfinden, an welchen der Handshake-Leitungen welche 
Spannungen angelegt werden müssen.

von Anja (Gast)


Lesenswert?

Hallo,

es gibt/gab auch MAXxxx-Wandler (MAX3212) mit "mouse driveability" spec.
Das waren bis zu je 5mA für die 3 Sendeleitungen (TxD, RTS, DSR) vom PC 
mit mindestens 5V Pegel.

Gruß Anja

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

W.A. schrieb:
> Die zahllosen Hardware-Handshake-Leitungen einer klassichen serielle
> Schnittstelle werden lange nicht von allen Wandlern unterstützt.

Das wird ja immer wieder gerne behauptet - aber stimmt das überhaupt?

Wenn der USB-Seriell-Adapter einen SubD-Stecker hat, ist erst mal davon 
auszugehen, daß das Ding vollständig funktioniert. Gut, sofern es 
nicht bei Alibaba oder Dealextreme gekauft wurde, da ist natürlich China 
offen.

Timm T. schrieb:
> DC/DC-Wandler 1W 5V auf +/-12V an die Handshake-Leitungen am
> Grafiktablet

Das kann tödlich sein. Mir ist mal eine serielle Maus (für RS232, 's ist 
schon ein paar Jahre her) verreckt, weil ich die mit stabilisierten ±12V 
versorgt habe und nicht mit einem RS232-Treiber. Die Mauselektronik aber 
hatte sich darauf verlassen, daß die Spannung bei entsprechender 
Belastung zusammenbricht - das tat sie hier aber nicht, und die Maus gab 
den bekannten magischen Rauch von sich. Damals kosteten die Dinger noch 
richtig viel Geld, das waren deutlich über 100 DM, die ich da in Rauch 
umgewandelt hatte. War für einen Job-Einstand nicht die beste aller 
Aktionen.

(Die Maus sollte an einem nicht-PC-Gerät betrieben werden, und da war 
halt keine vollständig bestückte serielle Schnittstelle vorhanden, aber 
stabile ±12V ...)

von Georg (Gast)


Lesenswert?

S. R. schrieb:
> einen Attiny85 mit V-USB (weil einerseits
> ohne Quarz, andererseits vorrätig)

Ob eine 9600 Baud Schnittstelle ohne Quarz zuverlässig funktioniert, ist 
mindestens fragwürdig.

Zur Versorgung: ich habe einige solche Tabletts (Summagraphics) an 
CNC-Maschinen betrieben, die haben aber alle einen Pin der Schnittstelle 
zur Versorgung mit 5V benutzt - z.B. über einen Zwischenstecker für die 
Tastatur. Ich halte das auch prinzipiell für die beste Lösung, man muss 
halt am Stecker rumlöten.

Georg

von Timm T. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Wenn der USB-Seriell-Adapter einen SubD-Stecker hat, ist erst mal davon
> auszugehen, daß das Ding vollständig funktioniert.

Pollin, USB-seriell-Wandler: DTR-RTS direkt zurückgeführt, Signale nur 
an Txd/Rxd durchgeleitet, Pegel 0V/5V, aber richtig invertiert.

Nagut, Pollin ist ja fast Alibaba. Das Ding hat aber so viel gekostet 
wie die voll belegten bei Reichelt, und war auch als voll belegt 
angegeben.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Hmpf. Das ist natürlich Schrunz. War da auch 'ne "Hersteller"bezeichnung 
drauf?

von Frank K. (fchk)


Lesenswert?

Wenn Du einen FTDI-Chip nimmst, zwei 1488 (TXD,RTS,DTR)und drei 
1489(RXD,CTS,DCD,DTR,RI), und einen 5V->±12V DC-DC-Wandler für den 1488, 
dann sollte das so funktionieren. Das Tablett muss ja früher mit den 
1488/89 auch funktioniert haben. Ggf kannst Du den dritten 1489 für RI 
weglassen.

fchk

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Eine Alternative zum recht unständlichen 1488/89 bzw. 75188/189-Gespann 
ist übrigens der 75232, der enthält alle für eine "normale" 
Schnittstelle erforderlichen (drei) Treiber und (fünf) Empfänger in 
einem Baustein:

http://www.ti.com/product/GD75232

von S. R. (svenska)


Lesenswert?

W.A. schrieb:
> Vielleicht benutzt das Tablett auch Leitungen der seriellen
> Schnittstelle, die von kastrierten USB-Seriell-Wandlern Schnittstellen
> gar nicht zur Verfügung gestellt werden.

Von den 9 Pins sind nur 5 Pins (Tx, Rx, RTS, CTS, GND) am Tablet 
überhaupt angeschlossen.

Matthias S. schrieb:
>> Ist der AVR schnell genug, gleichzeitig mit V-USB noch 9600 Baud auf
>> der USI zu benutzen?
> Ist er. Ich habe selber mit V-USB einen Wandler für mein altes Tektronix
> Tablett gebaut:

Danke! Das spart mir sicherlich eine Menge Arbeit. ;-)
Leider ist das Protokoll ein anderes, sonst hätte ich den Code direkt 
übernehmen können. :-)

Georg schrieb:
>> einen Attiny85 mit V-USB (weil einerseits
>> ohne Quarz, andererseits vorrätig)
> Ob eine 9600 Baud Schnittstelle ohne Quarz zuverlässig funktioniert, ist
> mindestens fragwürdig.

Dafür sorgt V-USB: Die Taktfrequenz wird den USB-Signalen vom Host 
konstant nachgeführt und bleibt daher stabil. Sonst würde USB nicht 
funktionieren.

> Zur Versorgung: ich habe einige solche Tabletts (Summagraphics) an
> CNC-Maschinen betrieben, die haben aber alle einen Pin der Schnittstelle
> zur Versorgung mit 5V benutzt

Ja, das Teil ist Summagraphics-kompatibel, meldet sich aber mit der 
Kennung "OEMOEM". ;-)

Hm, je einen 1488/1489 hätte ich auch rumliegen. Da ich ja nur eine 
Richtung "treiben" muss, sollte der auch reichen. Aber ±12V extra 
zuführen ist irgendwie bäh.

Scheint, als ob ich entweder extern 12V und einen speziellen Treiber 
zuführen oder eine Möglichkeit finden muss, die 5V vom USB irgendwie zu 
injizieren. Vielleicht gibt es da eine Möglichkeit.

Danke für die Hinweise!

Gruß,
Svenska

von Timm T. (Gast)


Lesenswert?

S. R. schrieb:
> Aber ±12V extra
> zuführen ist irgendwie bäh.

Du hast 5V am USB. DC/DC-Wandler.

> Scheint, als ob ich entweder extern 12V und einen speziellen Treiber
> zuführen oder eine Möglichkeit finden muss, die 5V vom USB irgendwie zu
> injizieren. Vielleicht gibt es da eine Möglichkeit

Nimm die 5V und mach +/-12V draus. DC/DC-Wandler.

Du brauchst keine speziellen Treiber. Du brauchst keine extra 
Pegelwandler. Du brauchst nur den schon vorhandenen USB-seriell-Wandler 
für Rxd/Txd und einen DC/DC-Wandler, der die 5V vom USB auf die +/-12V 
für die Handshakeleitungen wandelt.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

S. R. schrieb:
> Vielleicht gibt es da eine Möglichkeit.

Wenn du dir ein Adapter auf V-USB baust, kannst du ja an den Handshake 
Leitungen schon mal die Speisung (über Dioden) vorsehen. Wer weiss, 
vllt. läuft das Tablett mit den 4,5V schon. Die USB Speisung kann 
jedenfalls mehr Strom liefern, als das eine RS232 je konnte.
Wenn du nichts riskieren willst, lege 100 Ohm oder so in die 
Speiseleitung.

: 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
Noch kein Account? Hier anmelden.