Forum: Mikrocontroller und Digitale Elektronik USB Host mit FT232BM?


von Danyo (Gast)


Lesenswert?

Hallo!

Ist es möglich m.H. des FTDI FT232BM einen USB-Host einzurichten?
Möchte über meinen ATMega32 einen USB-Drucker ansteuern..

Danyo

von Rufus T. Firefly (Gast)


Lesenswert?

Nein.

Mit den FTxxx-Chips können auch keine beliebigen USB-Devices
implementiert werden, da das vom FTxxx verwendete USB-Protokoll in
keiner Weise beeinflusst werden kann.

von Danyo (Gast)


Lesenswert?

Hallo Rufus!

Ist es denn überhaupt notwendig ein USB-Host aufzubauen, wenn ich dem
Drucker was mitteilen will? Hab das irgendwo gelesen, nur irgendwie
noch nicht richtig kapiert..

Danyo

von Rufus T. Firefly (Gast)


Lesenswert?

Ja, du musst einen USB-Host aufbauen, um mit einem USB-Device
kommunizieren zu können. Zwei USB-Devices können untereinander nicht
kommunizieren.

Es gibt unter dem Namen "USB on the go" (OTG) eine Erweiterung, bei
der USB-Devices um abgespeckte Hostfunktionen erweitert werden - das
ist aber nur mit entsprechend dafür geeigneten
USB-OTG-Device-Controllern möglich.

Mit Sicherheit weniger Aufwand dürfte in Deiner Situation die
Verwendung eines Netzwerk-Druckservers für USB-Drucker sein ... den Du
dann über ein Netzwerkinterface an Deinen Controller anschließt. Das
ist zwar im Grunde genommen ein ziemlicher Overkill, aber
programmiertechnisch noch zu handhaben.

Alternative:
Nimm einfach einen Drucker, der ein Parallelinterface hat.

Obendrein musst Du auch wissen, was Du dem Drucker für Daten senden
musst, damit der irgendwas definiertes tut; gerade bei den einfachen
vermeintlich günstigen Tintenstrahldruckern kann es vorkommen, daß
genau das vollkommen undokumentiert ist ...

von Jens (Gast)


Lesenswert?

hat dein drucker nur USB??
und was willst du dem drucker von aussen mitteilen??

von Danyo (Gast)


Lesenswert?

@Rufus:

Danke erst mal für das Licht im Dunkel! Kennst du zufällig ein paar
OTG-Controller, die ich mir näher anschauen könnte?
Es muss zudem ein USB-Drucker sein.. Und ein Netzwerkdruckinterface
wäre zu aufwändig.

@Jens:

Es sollen Sensor-Messdaten, die ich mit einem ADU erfasse und mit dem
µC auswerte, ausgegeben werden.

von Rufus T. Firefly (Gast)


Lesenswert?

USB-OTG-Controller gibt es beispielsweise von Philips oder Cypress.

Allerdings ist der mit deren Gebrauch verbundene Programmieraufwand
einige Größenordnungen zu heftig für Deinen Controller - der dürfte
dafür nicht ansatzweise ausreichend Programm- und Arbeitsspeicher
haben.

Das Netzwerkdruckerinterface ist deutlich weniger aufwendig. Glaub'
mir.

"Es muss zudem ein USB-Drucker sein" - Du weisst, was Du diesem
Drucker für Daten senden musst?
Weisst Du denn wenigstens, welcher Drucker verwendet werden soll?
Ist Dir bekannt, daß unterschiedliche Drucker unterschiedlich
angesteuert werden?

von Danyo (Gast)


Lesenswert?

Ja, das ist mir klar. Die spätere Drucker-Ansteuerung werde ich auch
nicht persönlich übernehmen, ich will mich nur um die Realisierung der
Hardware kümmern. Desweiteren steht mir auch ein M16C62 zur Verfügung,
der ausreichend Ressourcen haben dürfte. So wie ich das jetzt
verstanden habe, kann der OTG-Controller ja beide Funktionalitäten
übernehmen: Host oder Device. Für diese Drucker-Anbindung wär ja aber
eigentlich ein reiner Host ausreichend, oder? Wohlmöglich sind die
OTG's teurer und aufwändiger..

von icke (Gast)


Lesenswert?

"Die spätere Drucker-Ansteuerung werde ich auch
nicht persönlich übernehmen"

AHA! Nach mir die Sintflut..... Das mag ich ja wenn jemand, der
Hardware bereit stellt nicht über die Probleme der armen Sau nachdenkt,
die ja bloß nur noch die Software eintippen muss. ;-)

von Danyo (Gast)


Lesenswert?

Nein, so ist das nicht gemeint. Der Programmierer hat schon mehrere
Drucker-Ansteuerungen geschrieben (für seriell und parallel) und weiß
da schon ganz gut bescheid, was geht und was nicht. Ich möchte
natürlich die einfachste und komfortabelste Hardware-Lösung finden. Das
nennt man auch 'Teamwork'! ;-)
Hat jemand schon Erfahrungen mit einem OTG-Controller gemacht (Philips
ISP1362 oder Cypress EZ-OTG bzw. EZ-Host) ?

von Thorsten (Gast)


Lesenswert?

Serielle und parallele Druckeransteuerung ist nicht gerade das Problem.
Aber halten sich USB-Drucker auch an bestimmte "Standards" und
Protokolle und sind die ausreichend dokumentiert? HP-Drucker verwenden
z. B. ein eigenes Protokoll während manche Lexmark-Drucker sich als HID
anmelden. Dürfte also u. U. sehr problematisch werden, da auf einen
grünen Zweig zu kommen. Wäre meiner Meinung nach daher gut, vorher mit
dem Softwaremensch zu reden, ob er da einen sinvollen Weg sieht.

Gruß
Thorsten

von Danyo (Gast)


Lesenswert?

Schau mal unter www.usb.org/developers/devclass_docs/usbprint11.pdf!
Da haben sich die meisten Drucker-Hersteller, incl. Lexmark, HP, Canon
usw., in der 'Device Class Definition for Printing Devices' auf einen
Standard geeinigt.

von Sebastian (Gast)


Lesenswert?

Das mag sein, aber ich habe hier 2 HP Drucker und wollte die unter Linux
zum Laufen bringen. Der Drucker wird zwar erkannt, aber es gibt keinen
Treiber für den Laserjet 3150. Der braucht ein speziellen Treiber. Grad
Lexmark lässt ne Menge den Windowstreiber machen. Wie groß ist denn die
Datenflut? Wäre es da nicht einfacher nen Nadeldrucker zu nehmen?

Seb

von Danyo (Gast)


Lesenswert?

Sicher wäre es das für die paar Messdaten, nur das Interface soll ja
universell einsetzbar sein für z.Z. auf dem Markt befindliche
USB-Drucker. Zur Not werden eben nicht alle Drucker unterstützt... :-)

von Rufus T. Firefly (Gast)


Lesenswert?

Das beschreibt die Datenübertragung zum Drucker, ist also das Äquivalent
zur Parallelschnittstelle.

Was es aber nicht beschreibt, ist das Format der an den Drucker zu
sendenden Daten.
Deren Aufbereitung ist je nach "Sprache" des Druckers sehr
unterschiedlich.
Aus der Nadeldruckerzeit kennt man beispielsweise ESC/P2 (Epson), den
IBM ProPrinter und die P6-Reihe von NEC.
Bei Laserdruckern sind PCL und Postscript ansatzweise standardisiert;
bei "GDI"-Druckern sieht die Angelegenheit schon ganz anders aus.
Bei Tintenpissern scheinen ältere Epson-Drucker brauchbar dokumentiert
zu sein, ganz uralte HP DeskJets verstehen PCL, aber oft sind die
Drucker noch schlechter dokumentiert als "GDI"-Laserdrucker.

von Danyo (Gast)


Lesenswert?

Ja, ok! Danke für die ganzen Informationen! Aber das ist schon wieder
viel mehr als ich wirklich brauch. Ich will mich, wie gesagt, nur um
die Hardware-Implementierung kümmern.

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.