USB

TommyB

Team Bitschubse
17. Mai 2010
2.151
80
48
41
127.0.0.1 ;)
Sprachen
  1. C#
  2. VB.Net
  3. LunaAVR
  4. Assembler
  5. Python
Hiho,
mich würde mal interessieren ob es hier wen gibt der sich schon mal Gedanken gemacht hat USB auf den 8bittigen AVRs zu nutzen. Mir schwebt hier vor allem USB HID vor, da es komplett ohne Treiberei funktioniert. Tiny muss ja nicht gleich sein, soll eh auf nem Mega laufen.

Ja, Atmel hatte mal eine application note (506 oder 605? weiß ich nicht mehr), Betonung liegt aber auf hatte. Außerdem war das lizenztechnisch wohl schwierig und erforderte eine Treiberinstallation. Kommt gut bei x64 Windows (Zertifikat nötig), alsauch Linux und Mac. Dann gibt es noch V-USB und LUFA, beide sind aber in C geschrieben, also nix für mich (LunaAVR / ASM).

So ein FTDI und Com-Portnummer-Gemetzel wollte ich gern vermeiden...
Aber die komplette Implementation von Grund auf selber schreiben... Puh.
 
Hmm... AVR506 (doc8028C) is'ne AppNote zum Wechsel vom ATmega169 zum ATmega169P

Zum Thema USB finde ich auf die Schnelle nur
AVR4907 (doc8447A)
AVR4920 (doc8410A)
Ob Dir das was helfen würde, weiß ich nicht.
Wie die das bei meinem AVRISP-Klon konkret gelöst hatten weiß ich nicht - da hab ich nur die HEX draufgezogen - prinzipiell geht das also irgendwie zu Fuß...

Hast Du mal'n Blick auf die AT90USB-Controller geworfen?
(Für diese hat Tante Edith noch'n Link gefunden)
 
Zuletzt bearbeitet:
Sorry, es war die 309.
http://www.tuxgraphics.org/common/src2/article08101/avr309.pdf
Das wäre die Software Lösung. Nicht schnell, für meine Zwecke aber ausreichend (USB HID ist eh nicht fix unterwegs, von daher...)

Ne, die 90er Serie hab ich mir noch nicht angeschaut.
Mal checken in wie weit die kompatibel wären.
Bisher war nur Tiny und Mega mein Steckenpferd.
 
Hmm... das scheint Atmel tatsächlich selbst nicht mehr zu haben/finden/unterstützen

Auf den ersten Blick wirken die neunziger ... vertraut... erinnern (insbesondere die Innereien betreffend) an die älteren Megas (vor der P/A/PA-Ära).
Aber genauer beschäftigt hab ich mich mit denen auch noch nicht.
Mein Steckenpferd sind ja eher die Tinies;)
 
Auf den ersten Blick wirken die neunziger ... vertraut... erinnern (insbesondere die Innereien betreffend) an die älteren Megas (vor der P/A/PA-Ära).

Ja, die AT90 sind ältere AVR Mikrcontroller, es gibt noch einige AT90CAN und AT90PWM. Angefangen hatte es ja mit AT90S1200 (den habe ich sogar noch) ;)

Bei USB mit Luna oder Assembler kann ich leider nich so weiterhelfen (Im Bereich AVR habe ich C Projekte mit LUFA Lib und Atmel ASF realisiert, mit Mikrocontrollern, die entsprechende USB Hardwaremodule haben, nicht lowlevel auf ATtiny oder ähnlichen)

Dirk :ciao:
 
@LotadaC
Jupp weiß ich. Du optimierst deine Projekte ja auch so weit runter dass selbst noch ein Tiny8 Fließkomma berechnet und nebenbei noch 3 Servos ansteuert die dir dann n Kaffee einschenken :D

Scherz beiseite, mein Dealer hat scheinbar nur 2 der 90er USB Serie. Der eine schaut ok aus, wegen 2 Betriebsspannungen könnte es aber pin-technisch eng werden. Ram hat der auch wesentlich weniger. Und der andere is mit 64 Pins etwas überdimensioniert (ok, kann ich mit leben) aber preislich im stark gehobenem Segment (>11€). Muss nich unbedingt sein. Dann lieber gesplittet (irgendwas) und den altbewährten Mega328P (oder 168).

@Dirk: Scheint ja echt ein seltenes Thema unter Bastlern zu sein... Wenn dann höchstens was vorgefertigtes wie die Duinos... Wo bleibt da der Spaß für nicht-Anfänger? Hmpf,
 
Zuletzt bearbeitet:
noch 3 Servos ansteuert die dir dann n Kaffee einschenken :D
Der Schlumi vergißt immer die Milch...

BTT: 2 Spannungen? So wie ich das sehe, kannst Du sauber VUSB und Vcc trennen. Mußt aber nicht...
Vom Speicher her sind aber auch 832Bytes DPRAM für den USB mit drin - Lösungen zu Fuß müssen sich das benötigte Äquivalent dann vom SRAM abzwacken...
 
Hehe böse böse :D

Puh, das hatte ich nicht gesehen. Stellt sich mir die Frage wofür zum Henker... USB HID überträgt eh nur 8 (Nutzdaten-)Bytes... Zumindest bei USB 1, bei 2 sollen es 256 sein.

Naja, 2 Spannungen, USB läuft ja auf 3V3, der Rest mit 5V (muss auch, sonst würden die Relais nich mehr anziehen). Ok, die Pegelanpassung könnte man anders lösen. So oder so sind die Pins aber eh weg ;)
 
Der scheint mehrere Endpoints verwalten zu können, aber das ist bei mir alles reichlich spekulativ...

VUSB liefert 5V, darf aber eigentlich nicht nennenswert belastet werden (solange der Host das nicht nach vorheriger Anfrage) erlaubt hat. Die beiden D-Leitungen laufen mit 3V3 - dafür hat der AT90USB aber extra 'n integrierten Regler (der aus UVCC gespeist wird und'n externen Pufferkondensator an UCAP braucht). Du mußt also entscheiden, ob Dein Controller USB-Powered oder selfPowered sein soll, mit welcher Spannung er laufen soll, und ob Du (wie so viele USB-Gimmicks) dann auf die Leistungsanforderung pfeifst oder nicht. Kannst auch VCC und UVCC zusammen auf VUSB legen, dann wird alles aus VUSB versorgt.
Unklar ist mir die Rolle von AVCC (der hat ja keinen ADC)...
 
Unklar ist mir die Rolle von AVCC (der hat ja keinen ADC)...
Shit, das ist mir garnicht aufgefallen. Denn fällt der eh flach. ADC beleg ich 3 Kanäle...
Da kann ich denn besser irgendein Tiny als "Wandler" nehmen und @Dirk zwangsverpflichten mir das eben zu kompilieren und geringfügig anzupassen. Der wird sich freuen :D
Nur Spass. ;)
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)