Skocz do zawartości

Domyślny bootloader w ATmega16U2


Visher

Pomocna odpowiedź

Cześć, mam pytanie dotyczące domyślnego bootloadera USB w ATmedze16U2. Jak stanowi nota katalogowa, każdy 8-bitowy mega AVR powinien mieć fabrycznie wgrany bootloader umożliwiający wgranie właściwego programu do pamięci poprzez port USB bez potrzeby wyprowadzania dodatkowych złącz:

The 8bits mega AVR with USB interface devices are factory configured with a

USB bootloader located in the on-chip flash boot section of the controller.

Wykonałem więc obwód drukowany do którego przylutowałem owy mikroprocesor i niestety, nie jest on w jakikolwiek sposób rozpoznawany przez system. Wygląda to tak jak na obrazku:

Dodatkowo, oczywiście, wyprowadziłem sobie pin HWB oraz RESET na zewnątrz, mikroprocesor podłączam z RESET=0 i HWB=0, a następnie zwalniam kolejno RESET i HWB aby wejść w tryb bootloadera (wg noty pin HWB sprawdzany jest przy zboczu narastającym RESETa).

Aby upewnić się że wszystko inne jest w porządku (obwód drukowany, przewód USB, podłączenie mikroprocesora, użyłem portu ISP aby odczytać sygnaturę i przeflashować pamięć - wgrałem kontroler od Arduino, co by cokolwiek było 🙂 Po podłączeniu przez USB ładnie wykryło mikrokontroler jako port szeregowy, a więc zakładam że mój obwód jest OK. Starałem się tutaj, jest kondensator 4.7 uF, w miarę krótkie ścieżki D+ i D-, rezystory 22R +- 5%. Ogółem to mam dwie takie ATmegi, jedna czysta druga z programem.

Wiecie co tu może być nie tak, dlaczego mi to nie działa? Pracował ktoś z Was z tą ATmegą i udało mu się skomunikować z czystym mikrokontrolerem?

Zastanawiającą dla mnie rzeczą było to, że po odczytaniu pamięci mikrokontrolera przez ISP, były tam same jedynki. Tak jakby nic tam nie było... Ale nie jest to dla mnie 100% pewne że nic tam nie ma, bo mogły być ustawione lock bity. Chociaż nie wiem czy one blokują odczytanie, czy co dokładnie, ale może tak być. Dlatego pewności nie mam 🙂

Wrzucę jeszcze schemacik:

Dajcie proszę znać jak coś wiecie 🙂

Link do komentarza
Share on other sites

Jaki kwarc?

Czy oporniki szeregowe na liniach USB rzeczywiście dałeś 1M? Powinny być ok. 22Ω.

Na gniazdku zamieniłeś linie D+/D-, ale na procku na szczęście także. Trochę dziwne. Sprawdź to na PCB.

Wpisując nowy bootloader z Arduino zniszczyłeś ten oryginalny pracujący na USB. One siedzą w tym samym miejscu.

Reszta wygląda na jakieś problemy z driverami. Do komunikacji z firmowymi bootloaderami Atmela zwykle używałem firmowego programu FLIP:

http://www.atmel.com/tools/FLIP.aspx

Zawsze działało i przez UART i przez USB.

http://www.atmel.com/Images/doc7618.pdf

Link do komentarza
Share on other sites

Cześć, dzięki za odpowiedź. Przez pomyłkę wrzuciłem niepoprawiony schemat, faktycznie wcześniej dokonałem podwójnej zamiany - wyszło tak jak być powinno 🙂 Oporniki są tam 22 Ohm +- 5%, na szybko kopiowałem z innego miejsca w schemacie i jakoś zapomniałem zmienić. Na PCB się zgadza wszystko, tak jak pisałem - podpiąłem ATmegę16U2 z wgranym bootloaderem zamiast takiej czystej (szybkie przelutowanie), nic innego się nie zmieniło. Mam wciąż drugą, czystą, do testów.

Kwarce testowałem 8/16 MHz. Te standardowe, popularne, o kształcie wpustu pryzmatycznego. HCcośtam. Teoretycznie DFU powinien działać na obu kwarcach, tak mówi nota z której korzystałem i link do której wkleiłeś.

Znalazłem parę godzin temu link do takiego artykułu:

http://fab.cba.mit.edu/classes/863.14/people/andrew_mao/week11/

Autor opisał w nim swoją przygodę z ATmegą16U2, bardzo fajnie mu to zadziałało, za pierwszym razem. Nawet bez instalacji sterowników wykryło nazwę urządzenia.

Nie wiem co innego może powodować u mnie problem.. Może coś związanego z prowadzeniem ścieżek, wysokimi częstotliwościami, obciążaniem kwarcu (nie miałem kondensatorów SMD, dałem ceramiki 22pF wlutowane do padów SMD).. Design płytki to coś czego jestem bardzo niezadowolony, aczkolwiek natrafiłem na bardzo irytującą przypadłość - kolejność pinów w ATmedze i w gnieździe mini usb jest dokładnie odwrotna, przez co wszystkie ścieżki się krzyżują (jak mnie to denerwuje! inaczej poprowadził bym cztery kluczowe ścieżki w linii prostej). Wygląda to jak jak na obrazku:

Zastanawiam się więc, czy istnieje gniazdo które ma te piny lepiej rozłożone 🙂 Znalazłem gniazdo USB typu B (które chciałbym w finalnym projekcie zastosować, zamiast mini usb) które ma D+ i D- na górze, da się GND poprowadzić na około D+ i D-, ale (U)VCC nadal będzie z przelotką. Masakra jakaś jeżeli o to chodzi..

Ale to i tak lepiej niż niektóre projekty które widziałem! Np. PCB sterownika reprapowej drukarki 3D, RUMBA 🙂

Link do komentarza
Share on other sites

Design płytki to coś czego jestem bardzo niezadowolony, aczkolwiek natrafiłem na bardzo irytującą przypadłość - kolejność pinów w ATmedze i w gnieździe mini usb jest dokładnie odwrotna, przez co wszystkie ścieżki się krzyżują (jak mnie to denerwuje! inaczej poprowadził bym cztery kluczowe ścieżki w linii prostej). Wygląda to jak jak na obrazku:

Może założyli, że gniazdko dasz po drugiej stronie płytki niż mikrokontroler? Szczególnie, jak robili pod gniazdko z przewlekanymi nóżkami...

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Z powrotem mam trochę wolnego czasu, dlatego wróciłem do tego projektu. Zacząłem od wykonania PCB od nowa - skróciłem ścieżki, poprzenosiłem elementy THT na drugą stronę i jeszcze parę innych zmian.

I zadziałało - choć cały czas wydaje mi się, że pierwsze PCB było wystarczająco dobre. Może po prostu nie powtórzyłem jakiegoś błędu którego nie wyłapałem w pierwszym podejściu.

Dzięki za odpowiedzi 🙂

Teraz pora implementować komunikację po USB, na pierwszy ogień idzie LUFA!

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.