AVR w łańcuchu JTAG

AVR w łańcuchu JTAG
Pobierz PDF Download icon

Niekiedy istnieje problem programowania kilku mikrokontrolerów. Na przykład, jeśli urządzenie składa się z dwóch lub więcej płytek z procesorami albo zawiera kilka mikrokontrolerów. Rozwiązaniem może być opisana przejściówka.

Przejściówka, której schemat ideowy pokazano na rysunku 1, natomiast montażowy na rysunku 2, umożliwia programowanie do 8 mikrokontrolerów ATmega lub do 6 Xmega zamontowanych w różnych urządzeniach lub na jednej płycie, ale niepołączonych w łańcuch. Warunkiem poprawnej pracy przejściówki jest zasilanie wszystkich programowanych mikrokontrolerów tym samym napięciem.

Rysunek 1. Schemat ideowy przejściówki JTAG
Rysunek 2. Schemat montażowy przejściówki JTAG

Do złącza „Master” dołączamy programator. Do „Slave” kolejne programowane mikrokontrolery. Jeśli złącze mikrokontrolera jest nieużywane, to przy nim musi być założona zworka, a samo złącze puste. Na przykład przy 2 układach programowanych zajęte są złącza „Slave 1”…„Slave 3” i zdjęte zworki JP1 i JP2. Programatorowi trzeba wskazać, który układ chcemy programować. Można to zrobić za pomocą menu „Connect” (rysunek 3).

Rysunek 3. Menu „Connect” (okno programatora AVR Dragon)

W łańcuchu JTAG pierwszym urządzeniem jest to, którego linia TDI jest bezpośrednio połączona z programatorem, czyli ostatni układ slave na płytce. Aby zaprogramować mikrokontroler dołączony do „Slave 1”, wpisujemy parametry interfejsu pokazane na rysunku 4.

Rysunek 4. Parametry wpisywane dla mikrokontrolera dołączonego do „Slave 1”

Po zmianie ustawień należy zamknąć okno, ponieważ wprowadzone ustawienia są uwzględnianie dopiero po tym, jak okno zniknie z ekranu. Teraz można odczytać ID programowanych układów. Na rysunku 5 pokazano wynik odczytu sygnatury – widać na nim sygnaturę układu i ID JTAG.

Rysunek 5. Wynik odczytu sygnatury ze złącza „Slave 1”

Jeśli w łańcuchu znajdują się mikrokontrolery Xmega, to liczbę bitów dla nich należy ustawić na 5. Dla „Slave 2” (pierwszy w łańcuchu) wprowadzamy parametry jak na rysunku 6. Odczytaną sygnaturę układu pokazano na rysunku 7. Jeśli źle ustawimy parametr „instructions bits before” lub „instructions bits after” (rysunek 8), to ID JTAG będzie poprawne, natomiast sygnatura układu już nie (rysunek 9).

Rysunek 6. Parametry wpisywane dla mikrokontrolera dołączonego do „Slave 2”
Rysunek 7. Wynik odczytu sygnatury ze złącza „Slave 2”
Rysunek 8. Błędnie ustawione parametry
Rysunek 9. Błędnie odczytana sygnatura układu

Maksymalna liczba programowanych układów jest ograniczona liczbą bitów rozkazu (32) i wynosi 8 dla Mega i 6 dla Xmega (rozkaz 5-bit). Płytki można łączyć szeregowo. Ostatnie złącze „Slave” doprowadza się do złącza „Master” następnej płytki. Dwie płytki dadzą możliwość programowania 7 złączy „Slave”, 3 płytki – 10 złączy. Zaletą JTAG jest fakt, że podczas programowania wybranego mikrokontrolera pozostałe pracują bez zakłóceń.

ES
es2@ep.com.pl

Wykaz elementów:
Rezystory:
  • R1: 560 Ω
Kondensatory:
Półprzewodniki:
  • D1: LED
Inne:
  • JP1…JP3: zwora
Artykuł ukazał się w
Elektronika Praktyczna
luty 2019
DO POBRANIA
Pobierz PDF Download icon

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2021

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio kwiecień - maj 2021

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka Podzespoły Aplikacje kwiecień 2021

Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2021

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich maj 2021

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów