USB Design mit AVR16DU14, bitte um Review

#8074814
Lesenswert?

Hallo,

für einen Workshop habe ich eine kleine Platine entworfen. Das Ziel besteht darin, eine RGB-LED über einen AVR16DU14 per USB ansteuern und einen Taster auslesen zu können. Da die Platine an fremde Laptops angeschlossen wird und ich nicht für zerstörte USB-Ports verantwortlich sein möchte, bin ich für Tipps zum Design sehr dankbar.

Folgender Beitrag hat mir bereits etwas weitergeholfen: Beitrag "Entwurf USB-UART-Converter, KiCad, bitte um Review".

Hier noch ein paar Anmerkungen/Fragen:

  • ESD-Dioden: Sind diese notwendig? Schaden werden sie sicher nicht, aber beim Evaluationsboard für die Controllerfamilie AVR64DU32 Curiosity Nano sind keine ESD-Dioden vorgesehen.

  • Sicherung: Als Sicherung habe ich die Polyfuse SMDH0805B020TF vorgesehen. In der Version, die ich hochgeladen habe, hat die Fuse fälschlicherweise einen 0603-Footprint. Das habe ich bereits korrigiert.

  • RESET-Pin: Laut Datenblatt wird kein externer Pull-up benötigt.

Ich freue mich auf euer Feedback.

Vielen Dank und viele Grüße Johannes

Angehängte Dateien:
Moderator Persönliche Seite #8074933
Lesenswert?

Johannes R. schrieb:

aber beim Evaluationsboard für die Controllerfamilie AVR64DU32 Curiosity Nano sind keine ESD-Dioden vorgesehen

Ich habe hier aber auch einen Curiosity Nano herum liegen, der sich am Bus nicht mehr meldet. Der Controller selbst (dort ein SAMD21) funktioniert offenbar noch, er speist die vormals eingestellte Betriebsspannung zum Ziel, wenn man den Bootloader-Pin kurzschließt, geht er in den Bootloader (LED blinkt) – nur am USB hört man gar nichts von ihm.

Scheint also wohl doch keine so ganz prickelnde Idee zu sein, die Pins von der USB-Buchse einfach nur an den Controller zu klemmen, ohne irgendwas dazwischen. Keine Ahnung, warum Microchip an der Stelle geizig war. Das Teil ist mithin ein wirtschaftlicher Totalschaden. Man könnte den SAMD21 ja wechseln, aber davon beokomme ich nicht die EDBG-Firmware, die da drauf gehört.

#8074940
Lesenswert?

Moin,

Mir fallen die superduennen Leitungen fuer die Spannungsversorgung ins Auge. Die Testpunkte koennen locker naeher an den Chip, dann ist da auch mehr Platz. Der C1 ist HF-technisch nicht gut angebunden, da muss die HF ja erst aus seinem GND-Pin weiter in die "falsche" Richtung zur DK, dann erst auf der Rueckseite zur DK in der Naehe vom U1/Pin1. C2 aehnlich. Der abgenagte Masserand unter U1 ist auch nicht dolle und wird die Symmetrie der USB-Leitung nicht foerdern. Ist aber alles Luxusgenoergel - sollte schon auch so funktionieren.

Gruss WK

#8075092
Lesenswert?

Vielen Dank für die Rückmeldungen!

Anbei ist die neue Version der Platine mit ein paar Verbesserungen.

Wenn ich den Controller um 180 Grad drehe, dann muss ich aber die DP/DM Leitungen "kreuzen". Ich weiß nicht, ob ich es mir damit einfacher mache.

@Re, ja das war ein Bug. Ich habe die +5V von USB nun an VDD angeschlossen.

Bezüglich den Serienwiderständen habe ich im Datenblatt nur folgendes gefunden: "Integrated Internal USB Transceiver. No External Components are Needed." Da beim AVR64DU32 Curiosity Nano keine Serienwiderstände vorhanden sind, gehe ich einmal davon aus, dass ich die nicht brauche.Beim Datenblatt des ATMEGA16U4 sind dier Widerstände dagegen erwähnt. https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf

Ok, wenn es da schon ein AVR64DU32 Curiosity Nano Board durch ESD zerschossen wurde, dann lasse ich die ESD Dioden lieber drinnen.

@derguteweka Ich habe versucht die Vorschläge mit zu berücksichtigen und hoffe es schaut jetzt besser aus.

Wenn Ihr noch Tipps, Hinweise oder Rückmeldungen habt, nur her damit.

Viele Grüße, Johannes

Angehängte Dateien:
#8075094
Lesenswert?

Jörg W. schrieb:

Man könnte den SAMD21 ja wechseln, aber davon bekomme ich nicht die EDBG-Firmware, die da drauf gehört.

Ich denke da kann ich helfen. Du benötigst nur ein Windows. Ich hatte schon Updates gemacht.

Beitrag "ATtiny416-Xplained Nano, Firmware Update"

Bsp. an meinem AVR128DB48 Curiosity Nano nEDBG_TP.1.17.969.atpack

Microchip Studio 7 > View > Available Microchip Tools auf nEDBG Rechtsklick > Upgrade (ist nur erstmal Anzeige der Version) v1.21 on Tool und v1.21 on Disk


Update Variante 1 wie folgt

je nachdem was man benötigt von hier runterscrollen und runterladen https://packs.download.microchip.com/

Die komischen Bezeichungen dürfen einem nicht ablenken.

für mEDBG >> mEDBG support (aktuell 1.2.438) für nEDBG >> PKOB nano support (1.17.969, aktuell 1.18.1055)

je nachdem liegen dann diese Dateien auf dem Rechner vor-

Microchip.mEDBG_TP.1.2.438.atpack Microchip.nEDBG_TP.1.17.969.atpack

Ein Doppelklick auf die Datei installiert das Update ins Microchip Studio. Dann sollte es theoretisch für ein Upgrade unter Microchip Studio 7 > View > Available Microchip Tools zur Verfügung stehen bzw. beim anstecken automatisch angeboten werden, dass Update. Tut es bei mir aber schon lange nicht mehr.

Deswegen Nachhilfe mit Variante 2.


Update Variante 2 wie folgt

je nachdem was man benötigt von hier runterscrollen und runterladen https://packs.download.microchip.com/

Die komische Bezeichnung darf einem nicht ablenken.

für mEDBG >> mEDBG support (aktuell 1.2.438) für nEDBG >> PKOB nano support (1.17.969, aktuell 1.18.1055)

je nachdem liegen dann diese Dateien auf dem Rechner vor

Microchip.mEDBG_TP.1.2.438.atpack Microchip.nEDBG_TP.1.17.969.atpack

Bsp. an meinem AVR128DB48 Curiosity Nano nEDBG_TP.1.17.969.atpack

der Datei ein .zip anhängen und entpacken.

Daraus die Datei nedbg_fw.zip nedbg.XML device_support.XML

wobei nur nedbg_fw.zip notwendig sein sollte

nach C:\Program Files (x86)\Atmel\Studio\7.0\tools\nEDBG kopieren

(analog C:\Program Files (x86)\Atmel\Studio\7.0\tools\mEDBG)

und gleiches Spiel in Microchip Studio, View > Available Microchip Tools auf nEDBG Rechtsklick > Upgrade jetzt sollte unter 'on Disk' eine neuere Version angezeigt werden, wenn ja, nächsten Upgrade Button drücken


Update Variante 3 für Terminal Liebhaber wie folgt

ausgepackte nedbg_fw.zip Datei nach C:\Program Files (x86)\Atmel\Studio\7.0\atbackend kopieren. Hier liegt auch das Tool atfw.exe.

atfw -l (listet erkannte Boards u.ä. auf) Name merken, bei mir nedbg

atfw -s (listet die Seriennummer auf)

atfw -a nedbg_fw.zip -t nedbg atfw -a nedbg_fw.zip -t nedbg -s MCHP337...

Ich habe bisher mit Terminal nur einmal meinen Atmel ICE erneuert. Dafür muss das Prefix J4 vor die S/N gestellt werden. Wie das bei den µC Boards ist weiß ich nicht.


: Bearbeitet durch User
#8075099
Lesenswert?

Johannes R. schrieb:

ESD-Dioden: Sind diese notwendig? Schaden werden sie sicher nicht, aber beim Evaluationsboard für die Controllerfamilie AVR64DU32 Curiosity Nano sind keine ESD-Dioden vorgesehen.

Schaden können diese nie. Mach ich immer.

  • RESET-Pin: Laut Datenblatt wird kein externer Pull-up benötigt.

Welches Datenblatt hast du gelesen? Nicht irgendeins, dass aktuelle von der Microchip Produktseite gilt. Lies einmal Seite 27 und 28.

: Bearbeitet durch User
#8075241
Lesenswert?

Veit D. schrieb:

  • RESET-Pin: Laut Datenblatt wird kein externer Pull-up benötigt.

Welches Datenblatt hast du gelesen? Nicht irgendeins, dass aktuelle von der Microchip Produktseite gilt. Lies einmal Seite 27 und 28.

Ich beziehe mich auf dieses Datenblatt:

https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ProductDocuments/DataSheets/AVR32-16DU-14-20-28-32-DataSheet-DS40002576.pdf

Genau, auf Seite 28 steht:

"Connection for RESET The RESET pin on the device is active-low with an internal pull-up resistor, and externally pulling the pin low will result in a device Reset. An external pull-up resistor is usually not required."

#8075248
Lesenswert?

Die Betonung liegt auf "normalerweise". Seite 569 zeigt das der interne Pullup typisch 35kOhm hat. Das mag auf dem Schreibtisch funktionieren. In anderer Umgebung ist das zu hoch.

Es würde auch niemand auf die Idee kommen nur den internen Pullup eines I/O Pins zu verwenden mit seinen errechneten 20kOhm auf Seite 564.

Wie gesagt, dass Datenblatt nennt Mindestbedingungen damit der Controller an sich funktioniert. Sagt nicht das eine externe (Be)Schaltung daran funktioniert die der Hersteller sowieso nicht kennt.

Auf Seite 27 steht ja noch mehr. AVR040 und AVR042. Auch wenn das schon älter ist, hat das demnach immer noch Gültigkeit.

Auf Seite 28 sieht man eine leicht andere Anforderung an die Stützkondensatoren im Gegensatz zu den alten Controllerserien.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren