logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[C] Jak uruchomić USBAspLoader na Atmega88PA z poprawnym schematem?

Wojtek001 24 Cze 2013 22:55 1722 4
REKLAMA
  • #1 12452785
    Wojtek001
    Poziom 15  
    Docelowo potrzebuje uruchomić bootloader USB na atmedze32 (sprzętowy interfejs USB odpada z uwagi na to że musiał bym użyć xmegi która wymaga innego standardu programowania a to dodatkowe koszty itp. ;
    odpada też połączenie bootloadera UART z przejściówką FT232RL bo ja tu widzę więcej komplikacji niż zalet)
    Ponieważ jednak bootloadery tworzone głównie są na te najbardziej popularne uc jak np. atmega8(8) to postanowiłem że najpierw uruchomię bootloader z atmegą88(PA).

    Rozważam:
    USBAspLoader http://www.obdev.at/products/vusb/usbasploader.html
    do niego znalazłem taki schemat:
    http://www.forbot.pl/forum/upload_img/obrazki/IMG_4c7d66b7accc47332.png
    ale mam co do schematu wątpliwości ponieważ w komentarzach w plikach nagłówkowych autor pisze że urządzenie ma być zasilane z 3,5 V i dlatego trzeba podłączyć diody zenera przy zasilaniu a na schemacie ich nie ma.

    Musze zaznaczyć że bootloader tworzony był pod atmege88 a ja mam atmege88PA. Nie spodziewałem się że będzie to robić jakąś różnice ale okazało się że te mikro kontrolery mają inną sygnaturę.
    Próbowałem uruchomić ten bootloader korzystając z powyższego schematu i gotowego hexa dla m88(ze strony autora). Najpierw ustawiłem fuebity w ten sposób:
    wyższy bajt fuse bitów na 0xd6
    niższy bajt fuse bitów na 0xdf
    efuse powinny być na 0x00 ale AS nie pozwala wyzerować 5 najstarszych bitów (ale w nocie piszą że są niewykorzystane więc myślę że to nie problem)

    Następnie wymazałem całą pamięć FLASH.
    Następnie zmieniłem w AS lockbity na :
    1) No memory lock features enabled
    2) Application Protection Mode 1: No Lock on SPM and LPM in App. Sector
    3) Boot Loader Protection Mode 2: SPM prohibity in Boot Loader Sector
    Z jakiegoś powodu wartość hex tych lockbitów nie dało się usatwić na taką samą jak u autora, ale według mnie powyższe ustawienia wydają się ok.

    Efekt jest taki że gdy wykonam powyższe czynności wykrywa mi to jako uszkodzone urządzenie USB (niezależnie czy zworka na PD7 - warunek uruchomienia bootloadera - jest zwarta do masy czy nie), natomiast gdy wymaże cały FLASH to po podłączeniu do USB nic się nie dzieje.
    Co może byc nie tak?

    Inne bootloadery którymi jestem zainteresowany to np:
    BootloadHID http://www.obdev.at/products/vusb/bootloadhid.html
    lub
    AVRUSBBoot http://www.fischl.de/avrusbboot/

    Może ktoś miał styczność z którymś z powyższych i mógłby mnie poprowadzić?
  • REKLAMA
  • #2 12453608
    tmf
    VIP Zasłużony dla elektroda
    Jeśli odpada XMEGA, która nie generuje nadmiernych kosztów (programator ok. 40 zł, ale procek tańszy niż ATMega32), to użyj ATMegi z USB - serie U2 itd. One nawet mają wgrany firmowo bootloader i można je programować przy pomocy FLIP. Rozwiązania typu softwarowe pseudo-USB sobie podaruj.
  • REKLAMA
  • #3 12453867
    Wojtek001
    Poziom 15  
    Naprawde proszę o pomoc a nie zniechęcanie mnie. Może jednak uda się jakoś pociągnąć z tym USBasploaderem (przecież wiele ludzi używa programatora usbasp postawionego na samej atmedze8 i nie narzeka na softwarowe USB).

    W każdym razie mam dobre wieści bo udało mi się wgrać jednocześnie bootloader i program testowy (miganie diodą). Teraz mam taki efekt że jak złącze zworkę i zresetuje układ to dioda nie miga (czyli wektor jest w bootloaderze). A jak rozłączę zworkę i zresetuje to dioda miga. Czyli ze strony programowej wszystko wygląda dobrze.
    Mam też nadzieje że nie ma jakiś większych różnic pomiędzy m88 a m88pa (wiem że różnią się sygnaturą ale mam nadzieje że program z m88 będzie prawidłowo działać na m88pa; generalnie ciężko dostać dokładnie atmege88 - zawsze jakieś literki się przyplątają ale ja do tej pory na to nie zwracałem uwagi )

    Teraz wydaje mi się że należy się przyjrzeć kwestii połączeń. Zaraz wrzucę schemat.
  • REKLAMA
  • #4 12453950
    Konto nie istnieje
    Konto nie istnieje  
  • #5 12454090
    Wojtek001
    Poziom 15  
    Mówisz o tym?:
    http://sklep.avt.pl/p/pl/62367/uklad+scalony+atmega32u2-au++tqfp32.html

    Tylko szkoda że ma zupełnie inny układ pinów i co gorsza jest ich mniej. Musiał bym znowu jakiś expander dokładać, płytkę przerysowywać, obudowa jakaś inna, nie wiem czy mam taką w bibliotece... kupa z tym roboty jak widać.Nazwa sugeruje podobieństwo z m32 ale ja widzę ze tak nie jest. Ponadto kupiłem już atmegi32.


    Właśnie udało mi się uruchomić bootloader, oczywiście bez waszej pomocy.Jeśli ten temat nie zostanie wywalony do kosza (a uważam że powinien) to może komuś się to przyda:
    względem schematu który zamieściłem w pierwszym poście dodałem na lini + 2 diody ,dodałem kondensator 4.7uF pomiędzy + i - za diodami, usunąłem rezytsor 1,1mom.
    Wszystko pięknie.Teraz system widzi to jako usbasp.

    Ponadto dodatkowe testy które zrobiłem pokazują (przynajmniej w moim przypadku) że odprzęgnięcie lini D+ i D- do masy przez zaporowo spolaryzowane diody nie daje oczekiwanych rezultatów.
REKLAMA