Ich habe einen AVR ATmeag80535, diesen möchte ich nun an USB bringen. Eigentlich hatte ich mir den PDIUSBD11 ausgeguckt, weil der über I2C angesprochen werden kann. Der ist allerdings schlecht zu besorgen. Kennt da jemand vielleicht eine Alternative? Sollte I2C-Schnittstelle haben und möglichst kein SMD-Gehäuse.
Hi, die Ez-USB von Cypress haben I2C, sind einfacher zu beschaffen - gibt mittlerweile sogar welche bei Reichelt. Die sind allerdings auch nur SMD... Trau dich :) ist nicht so schlimm...
@Thomas Ein AN2132 war meine erste Wahl bevor ich zum PDIUSBD11 gekommen bin, weil dort aber wieder ein eigener Controller drinn ist denn ich dann programmieren müsste, hatte ich mich dagegen entschieden. SMD-Löten ist eigentlich kein Problem, wenn man ein geätzte Platine hat, aber auf Lochraster-Platinen ist das ein wenig blöd.
Der PDIUSB11 ist abgekündigt und hat Probleme mit USB Hosts. Ich würde mir das noch mal überlegen. Thomas
Ohne SMD ist vielleicht die Appnote von Igor Cesko was. die Funktioniert mit nem AT90S2313 ist allerdings low speed usb
Hallo Marco, schau mal in meinen Thread zu "USB I/O Interface". Gruss Klaus.
Das kann man nicht direkt als Ersatz verwenden. Mit dem PDIUSBD11 kann man - theoretisch - beliebige USB-Devices implementieren, da der USB-Device-Stack auf dem angeschlossenen Microcontroller implementiert wird. Allerdings ist aufgrund der maximal 400 kHz der I²C-Schnittstelle die nutzbare Datenrate der USB-Schnittstelle nicht sonderlich hoch. Um eine Maus oder Tastatur selbst zu bauen oder Geräte mit vergleichbarer Datenrate genügt ein PDIUSBD11 allerdings völlig. Ob es möglich ist, vergleichbare Funktionalität in einem Igor-USB-2313 zu implementieren, ist schwer zu beantworten. Dann müsste das Teil einerseits USB-Daten puffern und andererseits einen I²C-Slave implementieren. Immerhin würde viel von dem von Igor implementierten Kram wegfallen können, da ja der USB-Stack im I²C-Master implementiert werden muss, damit müsste der 2313 "nur" noch die USB-Endpunkte zwischenpuffern. Vermutlich einfacher lässt sich sowas in einem EzUSB-Chip implementieren - aber vielleicht sollte ja Marco mal seine Vorstellungen näher erläutern, was für Daten er wie mit welchem Aufwand per USB übertragen will.
Ich hatte mir überlegt mit dem AVR mehrere Temperatursensoren auszulesen, damit dann mehrere Lüfter entsprechend zu regeln. Die USB-Schnittselle ist dann für ein Monitorprgramm auf dem PC gedacht. LOW-Speed ist also vollkomen ausreichend. Mittlerweile tendiere ich wieder zum Ez-USB, dann kann ich auch ein wenig mit rumexperimentiern. Ist der AN2131 eine gute Wahl oder würdet ihr mir zu einem anderen raten?
Wenn Du es übers Herz bringst, ein 32poliges PQFP-Gehäuse von Hand zu löten, dann dürfte dir ein FT245 oder FT232 von FTDI das Leben deutlich einfacher machen, da Du Dir um die Treiberentwicklung auf der PC-Seite keine Gedanken machen musst. Der AN2131 und seine großen Brüder sind, wenn ich mich nicht irre, in 80poligen Flatpacks untergebracht ...
Hallo Marco, ich suche auch eine USB - I2C Lösung. Im Elektor 12/2004 ist da etwas vorgestellt worden, was mir nicht elegant genug ist und einen satten Preis hat. Dem Treiber trau ich auch nicht so. Ich habe eigentlich nichts richtig passendes gefunden. Am besten gefällt mir noch das Modul tinUSB 232 von http://www.embedded-msr.de/ . Das ist schön klein und hat auf RS232 Seite zudem noch TTL-Pegel, so das man eigentlich nur noch zwei PINS auf RS232 Seite zusammen schalten muss, oder besser noch einen Transistor und zwei Widerstände spendiert, um aus einer RS232 eine I2C Schnittstelle zu machen. Gruss Klaus.
Hi die AN2131 gibt auch mit nur 44 Pins. Und zum Auslesen von Temperatursensoren brauchts nicht mal mehr einen anderen Controller :) Siehe auch: http://www.keiang.de/ irgendwo Lüftersteuerung finden...
@KlaRa Wenn ich dich richtig verstehe, möchtest du über den USB I2C-Bausteine 'verwenden'. Ich möchte dagegen USB nur als Kommunikation zwischen AVR und Monitorprogramm verwenden, daher hatte ich auch erst an den Baustein von Philips gedacht, dann brauche ich keine 2 Controller zu programmieren, sondern mache alles im AVR. Und was die Treiber angeht, den werde ich mit Sicherheit auch selberschreiben. Schließlich will ich dabei ja auch was lernen. @Thomas Danke für den Link, da kann man sich bestimmt was abgucken! Die 44-Pin Version des AN2131 gibt es auch bei Reichelt zu kaufen. Den werde ich mir wohl bestellen, und dann mache die komplette Steuerung im USB-Controller. Wegen dem löten, da es gibt doch Adapter, weiss jemand wo es die gibt?
Lötadapter für SMD-Gehäuse gibt es beispielsweise bei Segor. In Bezug auf die I²C-Nutzung habe ich Dich also in der Tat richtig verstanden. Mit einem FT232/245 wärst Du IMHO immer noch besser bedient, weil Du da im AVR nur mit einer seriellen oder parallelen Schnittstelle kommunizieren musst und Dich überhaupt nicht um USB-Implementationsdetails scheren musst. Treiber selberschreiben? Für Windows? Hut ab. Das ist alles andere als trivial, daran scheitern sogar "professionelle" Treiberprogrammierer; was meinst Du, warum die oft so grottenschlecht sind? Du kannst Dir ja libusb bzw. libusb-win32 ansehen, das ist eine Library für Linux und Win32, mit der ohne Treiberprogrammierung mit USB-Devices kommuniziert werden kann.
Zu spät nun habe ich mir den AN2131 bestellt. Aber danke für den Tipp mit libusb-win32, da kann ich ja dann auch erstmal ohne eigene Treiber testen. Ansonsten hoffe ich das mir das gekaufte Buch "USB 2.0 - Handbuch für Entwickler" beim eigenen Treiber weiterhilft. Bei Segor habe ich keinen passenden Lötadapter gefunden. Über Google habe ich aber http://www.elk-tronic.de gefunden, die haben einen passenden Adapter. Ausserdem sind die vergleichbaren Adapter nur ca. 1/4 so teuer wie bei Segor.
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.