Hallo! Ist es möglich m.H. des FTDI FT232BM einen USB-Host einzurichten? Möchte über meinen ATMega32 einen USB-Drucker ansteuern.. Danyo
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.
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
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 ...
hat dein drucker nur USB?? und was willst du dem drucker von aussen mitteilen??
@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.
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?
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..
"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. ;-)
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) ?
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
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.
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
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... :-)
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.