mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB Host mit FT232BM?


Autor: Danyo (Gast)
Datum:

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

Autor: Rufus T. Firefly (Gast)
Datum:

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

Autor: Danyo (Gast)
Datum:

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

Autor: Rufus T. Firefly (Gast)
Datum:

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

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat dein drucker nur USB??
und was willst du dem drucker von aussen mitteilen??

Autor: Danyo (Gast)
Datum:

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

Autor: Rufus T. Firefly (Gast)
Datum:

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

Autor: Danyo (Gast)
Datum:

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

Autor: icke (Gast)
Datum:

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

Autor: Danyo (Gast)
Datum:

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

Autor: Thorsten (Gast)
Datum:

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

Autor: Danyo (Gast)
Datum:

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

Autor: Sebastian (Gast)
Datum:

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

Autor: Danyo (Gast)
Datum:

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

Autor: Rufus T. Firefly (Gast)
Datum:

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

Autor: Danyo (Gast)
Datum:

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

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.