sobota, 18 listopada 2017

Atmel ICE extension board


Jednymi z częściej używanych programatorów, przez amatorów i hobbystów, są te oparte na USBasp.
Są to proste, aczkolwiek dość niezawodne moduły. Obsługują większość dostępnych w sprzedaży mikrokontrolerów AVR - ośmiobitowych, są tanie i idealne na początek drogi w programowaniu.

Ich zasadniczą wadą jest brak możliwości sprzętowego debugowania. Jest to jeden z częściej wymienianych powodów dlaczego należy poszukać innego rozwiązania, a wręcz przejść na inną platformę sprzętową, choćby STM32.
Wada ta o tyle nie jest uciążliwa, o ile użytkownik nie będzie tworzył rozbudowanych programów. Dla projektów mało skomplikowanych zwykle wystarczy diagnostyczna dioda LED, czy też któryś z tanich klonów analizatorów logicznych.


Z tego typu zaleceniami ciężko się nie zgodzić, ale jest inne możliwe rozwiązanie. Chodzi o programator/debugger Atmel ICE, oczywiście o tańszą wersję PCBA. Jest to nadal dość drogie rozwiązanie, kosztuje od ok 265 - 300 zł, ale jest bardziej dopracowane niż starsza konstrukcja AVR Dragon, który ma opinię mocno zawodnego urządzenia i to obecnie nawet droższego.

Z ważnych zalet Atmel ICE można wymienić:
  1. Natywna obsługa przez Atmel Studio.
  2. Współpraca praktycznie ze wszystkimi mikrokontrolerami ze stajni Atmel.
  3. Duża szybkość programowania, niedostępna dla innych programatorów.
Jedyną, a dla niektórych, zasadniczą wadą tego programatora, szczególnie w dużo tańszej wersji PCBA, jest użycie złączy wyjściowych w rastrze 50 mils. Dedykowanych przejściówek na raster 100 mils łatwo nie można zrobić, bo pierwsze złącza nie są w każdym sklepie dostępne. Taka sytuacja mocno utrudniała użycie takiego programatora jeszcze kilka lat temu, ale na szczęście można obecnie, w sklepach internetowych, niedrogo kupić (za kilkanaście zł) podstawowe przejściówki choćby do popularnego standardu Kanda.
Takie rozwiązanie także ma swoje ograniczenia, żeby przerzucić się na inny mikrokontroler, np taki, który można zaprogramować tylko poprzez tryb TPI, należy przejściówkę przekonfigurować, co nie jest trudne, ale kłopotliwe.
Co w takim razie trzeba zrobić żeby programator był uniwersalny i mało kłopotliwy?
Należy zrobić odpowiedni adapter, który będzie uniwersalny i bez dodatkowych czynności dostępny do programowania każdego typu mikrokontrolera.
Zaprojektowanie takiego adaptera jest właśnie celem niniejszego wpisu. No to zaczynajmy.

Popatrzmy zatem na konstrukcję programatora Atmel ICE PCBA.



Dla użytkownika mamy dostępny 3 porty, USB, SAM, AVR.
Pierwszy to port wejściowy USB, drugi, po rozwinięciu skrótu, sam się tłumaczy: SMART ARM-based MCUs, trzeci to oczywiście złącze do programowania/debugowania różnej maści procesorów AVR.
Jak widać, projekt zewnętrznego interfejsu do urządzenia wydaje się banalny i faktycznie tak jest.

Uniwersalność programatora tkwi głównie w firmware, a reszta to zwykłe mapowanie pinów na odpowiednie standardy. Mapowanie to można zawrzeć w proste tabeli:

Tabela 1. Atmel ICE - mapowanie pinów dla AVR
Tabela 2. Atmel ICE - mapowanie pinów dla SAM

Mając w ten sposób przygotowaną tabelę pinów łatwo przygotować odpowiedni płytę PCB.
Na jej podstawie powstał prosty schemat...


.. a następnie projekt płytki PCB. Rozstaw otworów i ogólnie rozmiar jest dopasowany do wymiarów Atmel ICE. Można połączyć płytki na "kanapkę", ale trzeba użyć tasiemek 50 mils. Można zastanowić się nad przelutowaniem oryginalnych złączy kątowych na proste, na płycie programatora, tak by wpinać obie płytki w "siebie". bez konieczności używania dodatkowych taśm połączeniowych...


Atmel ICE extension board - PCB warstwa bottom

Atmel ICE extension board - PCB warstwa top

W ten sposób mamy gotowy projekt obwodu PCB, więc dajemy do produkcji, ale o tym już innym razem...

Brak komentarzy:

Prześlij komentarz