Hi! Bin gerade dabei (seit gestern) rechergen über den PDIUSBD11 zu machen. So sieht der IC ja recht einfach aus (I2C usw...) aber mit den Deskriptoren komm ich nicht klar, wie und wo man die in den PDIUSBD11 hineinschreiben muss, oder wie das funktioniert. Falls jemand nicht weiß, was der IC macht, der sehe sich das PDF-File im Anhang an, vielleicht kommt man dann auch auf den Geschmack... Falls jemand Erfahrungen mit dem IC hat, bitte schreibt zurück. Ich möchte das ganze dann mit einen AT89C2051 betreiben. mfg Weinga-Unity
Hallo Sieht interessant aus. Also zum µC sieht es so aus das du I2C koppeln mußt. Wo genau hast du Probleme? Gibt es fertige Treiber für die PC Seite? Bekommt man die auch in Einzelstücken?
Eine Frage: hat der 2051 eine I2C Schnittstelle? Wenn nicht mußt man die doch per Software simulieren. Wäre da ein Chip von FTDI nicht interessanter? Den gibt es mit serieller Schnittstelle.
Mein Problem ist nicht der I2C-Bus, sondern, dass ich nicht weiß, wie ich den Geräte-Deskriptor, Konfigurations-Deskriptor, Interface Deskriptor usw... übermitteln soll. Aber wahrscheinlich scheiters derzeit noch an meinen USB-Wissen. Nebenbei: Der 2051 hat keine I2C-Schnittstelle, aber per Software lässt sich eine sehr schnelle und gute Schnittstelle realisieren.
ich würde mit trotzdem mal den FT232BM anschauen. Die Konfiguration ist auch einfach. Nur an den USB Port anschließen und mit der frei verfügbaren Software konfigurieren
Der IC (FT232BM) macht nichts anderes, als einen virtuellen COM-Port zu erzeugen. Meine Hardware muss aber eine USB-Maus werden. Und dazu kann ich den FT232BM nicht gebrauchen.
Hallo, habe mit dem PDIUSBD11 und einem ATMega8 einen HID-Joystick gebastelt, um mal ein wenig die USB-Programmierung zu testen. Vorteil ist, daß die HID-Treiber schon bei Windows dabei sind, ich mußte mich also nur noch um die Mikrocontroller-Seite kümmern. Sehr geholfen hat mir dabei das Buch USB - Universal Serial Bus von H.J.Kelm aus dem Franzis Verlag und die Seiten von Craig Pollock www.beyondlogic.org. Weitere wichtige Unterlagen findet man natürlich auf www.usb.org. Gruß, Axel
Besorg dir mal bei Phips die Sourcen zum PDIUSB12 Die Strukturen und Commands sind abgesehen vom Paralell Port wie bei allen Philips USB Cores ziemlich ähnlich. Wichtig der 11er hat einen Embedded Hub der abgeschaltet sein muss das stand (steht) nicht im Datenblatt Im Anhang mal das Papier von Graig Peacock das sollte einige dinge klären. Thomas
Hi Axel: Könntest du mir vielleicht ein Schemata geben, was und wann du was über den I2C-Bus sendest? Wäre nähmlich für eine HID-Maus. mfg Weinga-Unity
Hallo, lies dir mal den Anhang im Posting von Thomas durch, der erklärt schon einiges. Prinzipiell habe ich die darin dargestellte Hardware nachgebaut und den ATMega8 angeschlossen. Auf www.beyondlogic.org wurde diese Hardware an einen PIC angeschlossen, dort gibt es auch eine gut dokumentierte Software (in C) für den PIC. Diese habe ich im ersten Schritt an den AVR angepasst und sie im zweiten Schritt HID-kompatibel gemacht. Eine HID-Maus ist damit auch kein Problem, man benötigt nur einen anderen Report-Descriptor (Hab ich kurz getestet, aber dann nicht weiter verfolgt). Ich mail dir meine Software mal zu. Ein Schema, was ich wann über den I2C-Bus sende, habe ich so nicht parat. Schau halt mal in die Quelltexte und Datenblätter (vor allem der Anhang von Thomas, auch zu finden auf www.beyondlogic.org), die erklären schon einiges. Wenn du dann noch Fragen hast, kannst du dich gerne an mich wenden. Gruß, Axel
Hi Axel! Hab mir jetzt so eine kleine Schaltung gebastelt, wo ich einen I2C-Bus von PC aus steuern kann (funktioniert über die RS232 und man kann durch ein Terminalprogramm die Sachen abfragen und schalten; sieht in etwa so aus: S112W255WE Start, Schreibe 112, Schreibe 244, Ende). Meine Frage nun: Kann man auch mit einer langsamen I2C-Bus Geschwindigkeit (200 Bytes/Sec) auch den PDIUSBD11 ansteuern, oder ist das schon zu langsam? mfg Weinga-Unity
Zu den Requests: Es gibt da nichts auser der Initialisierung was du selbständig an den Chip sendest. Du beantwortest ganz einfach !? alle Usb Requests die der Host schickt und fertig: Ein Beispiel : Der Host fragt via Setup nach dem Device Descriptor -> du sendest den Device Deskriptor. Naja ganz so einfach ist es dann in der Praxis doch nicht. Für eine Maus ist neben der USB1.1 Spec Kapitel 9 auch die HID Spec wichtig. Beides auf www.usb.org zu finden. Thomas
Hallo, Thomas hat recht. Nach der Initialisierung beantwortest du nur noch USB Requests. Der PDIUSB teilt das Auftreten eines Requests über den Interrupt-Pin mit, d.h. diesen müßtest du auch noch abfragen. Zur Geschwindigkeit kann ich sagen, daß ich Probleme hatte, wenn ich nicht schnell genug auf einen Request geantwortet habe. Erhält der USB-Host-Controller nicht schnell genug eine Antwort, dann initiiert er einen Bus-Reset. Diesen Effekt konnte ich mehrmals beobachten. Habe in meinem Programm manchmal zu viel Zeit mit aktivem Warten beim Versand über die RS232-Schnittstelle verbraten. Ob deine 200 Byte/sec reichen kann ich nicht sagen. Der Quelltext, den ich dir gemailt habe, ist in C geschrieben, sollte sich auch ohne viel Aufwand für den PC anpassen lassen. Ich kann nur sagen, daß das größte Problem darin liegt, das USB-Protokoll zu verstehen. Wenn man das einmal begriffen hat, ist die Implementation eher einfach. Den USB-Joystick hatte ich dann relativ schnell am laufen. Eine USB-Maus funktioniert vom Protokollablauf her gleich. Ich kann dir daher nur noch mal das von mir erwähnte Buch empfehlen. Gruß, Axel
Da anscheinend einige mit dme PDIUSBD11 gearbeitet haben, hab ich noch folgende Frage: Der IC benötigt, 3.3V. Leder bekomm ich in unserer Gegend keinen Festspannungsregler, der 3.3V erzeugen kann. So hab ich mir gedacht, ich mach das mit einer Zener-Diode, jedoch weiß ich nicht genau, wieviel mA das Teil braucht. Laut den Datenblätter und Schaltungen die ich habe hat es den Anschein, dass es über 100mA sein müssen, und wenn es so wäre, dann kann ich das mit der Zener-Diode schon mal vergessen. Weiß jemand genau, wieviel er braucht? mfg Weinga-Unity
Ohne richtigen LowDrop 3.3V Regler wird das warscheinlich nichts. VBus kann lt Spec bis runter zu 4.4V Volt gehen ! Soweit ich weis arbeitet der LM317 dann nicht mehr. Auserdem ist die Stromaufname im Leerlauf deutlich zu gross. Thomas
Hi! Hab jetzt das erste Mal den IC angesprochen. Rührt sich nichts! Da ich beim Aufbau der Schaltung einmal etwa 4.4V statt 3,3V hatte wollte ich jetzt fragen, ob man überprüfen kann, ob der IC noch funktioniert. Ich hab bis jetzt die USB_Initialisierung laut dem ZIP-File von AXEL gemacht. Soll man da am PC schon was merken? mfg Weinga-Unity
Hallo, als Spannungsregler habe ich einen Low-Drop Typ LM3940 von National genommen. Gibts auch bei Reichelt. Wenn der IC korrekt an den PC angeschlossen ist, solltest du was merken, sobald du den Soft-Connect auf dem IC einschaltest. Das ist ein interner Pull-Up Widerstand von D+ nach 5V. Wenn du diesen extern beschaltet hast, sollte der PC etwas merken, sobald du das USB Kabel einsteckst. Du kannst über einen internen Teiler die Frequenz einstellen, die am ClkOut Pin ausgegeben wird. Vielleicht kannst du damit testen, ob der IC noch lebt. Gruß, Axel
Hi! Ich hab die USB-Init probiert, und auch den Soft-Connect-Befehl gesendet. Jedoch macht der PC keinen Muxer. Der Befehl kommt aber an, da dich die Frequenz ändern kann. Was müsste der PC denn machen? mfg Weinga-Unity
Dann würde ich als erstes mal den USB Stecker auf korekten Anschluss überprüffen. (Ein sehr beleiebter Fehler ist das Vertauschen von D+ und D-) Mit dem SoftConnect wird der der 1.5k auf der D+ Leitung eingeschaltet. Das sollte der PC sofort mit einem Pop Up Fenster (PnP Event) beantworten. Falls das nicht passiert und sonst alles korrekt ist erst mal die USB Ports mit einem funktionierenden Device auf Funktionalität prüfen. Öfters mal mit RegEdit unter HKLM\ENUM\USB\VID000 Einträge löschen sonst bekommst du den PnP Event eventuell nicht zu Gesicht. Thomas
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.