Habe noch nie was mit USB-AVRs gemacht... Ein bestehendes Gerät muss redesignt werden, u.a soll ein grösserer MC drauf (im Moment Mega168), da ein paar zusätzliche Funktionen rein sollen, wofür Speicher und Pins fehlen. Zusätzlich ist zur Zeit ein FT232R drauf, um per USB Parameter zu setzen/lesen, normale RS232 kann man ja heute nicht mehr anbieten :-), die Dinger sind durchaus ein Kostenfaktor. Der Mega32U4 kostet nur unwesentlich mehr als der "normale" ATMega32. Rund 1000 Stk/Jahr. Bleib ich bei der FTDI-Lösung, kann ich die Software mehr oder weniger übernehmen und muss nur die neuen Funktionen rein packen. Die Frage ist: wie aufwändig ist die USB-on-Chip-Geschichte? Ich erwarte natürlich keine exakten Schätzungen, sondern nur ein paar Erfahrungen damit. Ach ja: Software-update muss auch über USB gemacht werden können.
H.joachim Seifert schrieb: > Die Frage ist: wie aufwändig ist die USB-on-Chip-Geschichte? Ich erwarte > > natürlich keine exakten Schätzungen, sondern nur ein paar Erfahrungen > > damit. > > Ach ja: Software-update muss auch über USB gemacht werden können. Für Software-Update gäbe es direkt von Atmel einen USB-Bootloader. Die Basis der USB-Geschichte auf dem Controller lässt sich anhand von Beispielen recht schnell implementieren. Fraglich ist nur, auf welchen Zug man dann aufspringt: - eigene USB-Klasse und eigenen Treiber generieren - USB-CDC Klasse und einen virtuellen COM-Port erzeugen - ... Vor allem Treiber können nervig sein bezüglich Support für mehrere Betriebssysteme, 32/64-bit.
mit eigenen Treibern will ich mich garantiert nicht rumärgern, dass muss schon als Standardgerät laufen. Dachte an CDC oder HID. Allzuviel Zeit will ich natürlich auch nicht in die Software stecken. Beim FTDI zu bleiben, ist auf jeden Fall der sichere Weg, nicht in eine Falle zu stolpern. Wollte mir das bestellen und mal ein wenig spielen, um die Sache abschätzen zu können: http://www.watterott.com/de/Atmega32u4-Breakout-Board Nicht lieferbar :-(
Bei wenigen kByte/s empfiehlt sich HID, da keine .inf-Datei notwendig wird und Du keinerlei Treiber mit ausliefern musst. Am besten fängst Du mit einem Generic HID-Beispiel von Atmel an und baust es für Deine Bedürfnisse aus. PS: Die PIC sind auch einen Blick wert. Gruß Potter
Verglichen mit UART finde ich - trotz vorhandener Beispiele - die USB-Geschichte aufwändig zum programmieren. Mir macht das wenig Spaß, da es mir recht "bürokratisch" vorkommt. Wie Floh schon geschrieben hat, muss man sich noch überlegen, ob CDC oder "user device class", im letzten Falle braucht es Host-seitig ebenso speziellen Treiber. Positiv ist natürlich der gesparte Chip/Platinenfläche. Die Frage ist: Tut es nicht auch ein USB-Seriall-Adapter? > Dachte an CDC oder HID. Microchip lässt sogar den "boot loader" im HID-Modus laufen. Der Hintergrund ist mir nicht bekannt, vermutlich liegt es daran, dass dann der Treiber schon vorhanden ist. H.joachim Seifert schrieb: > Nicht lieferbar :-( Alternativ: Reusch Elektronik, liegen in der gleichen Preisklasse. > Allzuviel Zeit will ich natürlich auch nicht in die Software stecken. Dann schau Dir vorher die SW an. Ich bin auf der Basis der SW eingestiegen, welche den Reusch-Modulen beilagen. Die Alternativen von Atmel direkt oder LUFA habe ich mir noch nicht angesehen.
> PS: Die PIC sind auch einen Blick wert. Selbst PIC32 gibt es in DIP mit USB. In der Tat war mein schnellster Einstieg in USB mit Pinguino auf PIC32: CDC ging einfach "sofort" (Watterott, PIC32 Pinguino Micro). M. W. verwenden die den USB-Stack von Microchip.
Roland H. schrieb: > Verglichen mit UART finde ich - trotz vorhandener Beispiele - die > USB-Geschichte aufwändig zum programmieren. Mir macht das wenig Spaß, da > es mir recht "bürokratisch" vorkommt. Wie Floh schon geschrieben hat, > muss man sich noch überlegen, ob CDC oder "user device class", im > letzten Falle braucht es Host-seitig ebenso speziellen Treiber. > > Positiv ist natürlich der gesparte Chip/Platinenfläche. Das ist in dem Fall kein Argument, da die Platinengrösse sich eh nicht ändern wird. > > Die Frage ist: Tut es nicht auch ein USB-Seriall-Adapter? Damit hätt ich dann die Lösung, die ich im Moment auch habe, nur teurer und umständlicher (für die Kunden) - FTDI-Chip im Kabel. >> Dachte an CDC oder HID. > > Microchip lässt sogar den "boot loader" im HID-Modus laufen. Der > Hintergrund ist mir nicht bekannt, vermutlich liegt es daran, dass dann > der Treiber schon vorhanden ist. > > H.joachim Seifert schrieb: >> Nicht lieferbar :-( > > Alternativ: Reusch Elektronik, liegen in der gleichen Preisklasse. > Jo, habe gerade gesehen, gibts auch von anderen Anbietern. >> Allzuviel Zeit will ich natürlich auch nicht in die Software stecken. > > Dann schau Dir vorher die SW an. Ich bin auf der Basis der SW > eingestiegen, welche den Reusch-Modulen beilagen. Die Alternativen von > Atmel direkt oder LUFA habe ich mir noch nicht angesehen. Genau das versuche ich gerade mit diesem trööt :-), zumindest erst mal grundsätzlich. An der bisherigen Lösung ist nichts zu bemänglen, funktioniert tadellos. Die Frage ist: lohnt es sich, für 2000€/Jahr gesparte Materialkosten evtl. sehr viel Zeit mit der Software zu verplempern, die PC-Seite muss ja auch angepasst werden. In 5 Jahren sind es dann aber schon 10.000€. Allerdings wird es sicher in der ersten Zeit Reklamationen von Kunden geben, bei denen eben irgendwas nicht wie erwartet funktioniert, auch nicht schön. Bleibt als weiterer schöner Nebeneffekt: hat man es einmal sauber hinbekommen, ist das natürlich auch für andere Projekte nutzbar.
Habe vor einiger Zeit auch begonnen mich beim Thema USB mit AVR (ATMEGA32U4) einzuarbeiten. Mein Ziel war es Daten zwischen uC und PC über USB zu übertragen. Keine großen Timing Ansprüche und die Übertragung läuft nach Request/Response. Nach einigen Tagen intensiver Beschäftigung habes ich es nun hinbekommen. Mit hilfe von Datenblatt, USB Spezifikationen und Beispielen aus dem Internet konnte ich Schritt für Schritt das Gerät nach meinen Vorstellungen zum Laufen zu bringen. Sehe bei meiner Umsetzung folgende Vorteile: - Keinen Treiber für den PC unter WIN/MAC/Linux notwendig! - DLL für eine HID Kommunikation PC <-> uC gibt es (z.B AtUsbHid.dll) - Firmware über USB Bootloader aktualisierbar - Alles in einem Chip (kein zusätzlicher FTDI), was Platz und Geld spart
@H.joachim Seifert: Schau dir mal das RAWHID-Projekt für den teensy an. Gruß Oliver
Ja, das sieht doch ganz vielversprechend aus.... Ich glaube, ich werde zweigleisig fahren und beide Varianten auf der Platine vorsehen, das passt locker drauf. Dann erst mal die Software mit dem FTDI fertigstellen, das wird schnell gehen und ich hab im Fall der Fälle was lieferfertiges. Und dann hab ich noch rund 1 Monat Zeit bis zum tatsächlichen Bestückungsstart, da werde ich dann abschätzen können, ob das mit der 32U4-Variante zeitgerecht fertig werden kann. Vielen Dank erstmal.
H.joachim Seifert schrieb: > Wollte mir das bestellen und mal ein wenig spielen, um die Sache > abschätzen zu können: > http://www.watterott.com/de/Atmega32u4-Breakout-Board Hier gibt es noch etwas ähnliches: http://www.mattairtech.com/index.php/development-boards/mt-db-u4.html Habe es mir über die Bucht gekauft für $21 inkl. Versand. War in etwa einer Woche da. Hatte erst kurz Zeit damit zu spielen, finde es bis jetzt aber nicht schlecht. Kommt mit Bootloader (DFU oder CDC wählbar).
Grad gesehen: schon sehr spartanisch, aber wenn man sowieso selber eine Schaltung konstruieren will, ziemlich praktisch für Breadboards. https://guloshop.de/shop/Mikrocontroller/ATmega32U4-DIP::11.html
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.