Из моего личного опыта по сборке и оживлению JTAG

Александр Бельченко
18 февраля 2004

Я собрал JTAG на основе схемы Uri Kim, несколько упростив ее — не стал ставить согласователи уровня на полевых транзисторах. Сделал я так из мелкой жадности, поскольку в ближайшее время мне предстоит работа только с 5-ти вольтовыми AVR. Все устройство собрал на макетке.

В качестве «сердца» JTAG использовал микроконтроллер ATMega16 (судя по комментариям «знающих» людей можно использовать только ATMega163 или ATMega16). Прошивку для микроконтроллера — Upgrade.hex — взял из комплекта Uri Kim. Микроконтроллер запрограммировал при помощи программатора PonyProg.

Фузы: корректный выбор тактового генератора, запрещение JTAG.

Примерный набор фузов:

 CKSEL0   = 1
 CKSEL1   = 1
 CKSEL2   = 1
 CKSEL3   = 1
 SUT0     = 1
 SUT1     = 1
 BODEN    = 1
 BODLEVEL = 1

 BOOTRST  = 1
 BOOTSZ0  = 0
 BOOTSZ1  = 1
 EESAVE   = 1
 CKPOT    = 1
 SPIEN    = 0
 JTAGEN   = 1
 OCDEN    = 1

Первое включение: как и положено, с первого раза плата не заработала. Причина — ошибка в монтаже при распайке MAX232. После исправления ошибки плата заработала корректно.

Если кому-то интересна схема моего «упрощенного» варианта, то можете взглянуть. Однако, экономить на полевых транзисторах я бы вам не советовал :-)