Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Клон AVR JTAG ICE

При разработке и отладке программ под микроконтроллеры, возникают вопросы, связанные с программированием и отладкой программы в реальной схеме. Если с программированием микроконтроллеров AVR особых проблем не возникает, поскольку существует множество схем для «заливки» прошивки в кристалл, одной из простейших таких схем является схема получившая название «пять проводов», то с отладкой программы такого богатого выбора не существует.

Для отладки программы возможно использования только двух вариантов – это программный симулятор и внутрисхемный JTAG эмулятор-программатор. Программный симулятор, как правило, не может учитывать всех особенностей работы схемы, таких как внешние воздействия, совместная работа с другими устройствами и прочее. С аппаратными программаторами-отладчиками JTAG появляется возможность пошаговой отладки программы напрямую в самом микроконтроллере установленном непосредственно в схему, просмотра и изменения всех регистров микроконтроллера, установка breakpoints и конечно же внутрисхемного программирования микроконтроллера. Но стоимость оригинального AVR JTAG ICE MkII выпускаемого Atmel колеблется в районе 300 евро, а его аналога AVRDRAGON выпускаемого серийно около 3000руб., что является очень дорогим для людей, занимающихся созданием устройств на микроконтроллерах AVR «для себя».
Но к счастью удалось создать клон, оригинального AVR JTAG ICE, который стоит существенно дешевле оригинала и позволяет проводить программирование и отладку микроконтроллеров AVR с интерфейсом JTAG.

Принципиальная схема программатора AVR JTAG ICE
Рис 1. Принципиальная электрическая схема клона AVR JTAG ICE

Принципиальная электрическая схема приведена на рис. 1. Основой данного JTAG служит микроконтроллер DD3 AVR ATMega16. Микросхема DD2 MAX232 выполняет роль преобразователя интерфейса RS232 в ТТЛ уровни UART. Микросхема DD1 предназначена для защиты входных и выходных цепей микроконтроллера DD3 и согласования напряжения логических уровней при использовании внешнего питания.

Питание JTAG может браться от цепей питания отлаживаемого устройства через четвертый контакт vTref XP3, а также может использоваться внешнее через разъем XP1 и ХР2. Внешнее напряжение может быть в диапазоне от 7 до 15В. При использовании внешнего источника питания, вывод vTref разъема XP3можно не подключать.
Светодиод HL2 отображает наличие питания, HL1 режим работы JTAG.

Подключение JTAG к отлаживаемому микроконтроллеру осуществляется через стандартный десяти выводной разъем. Схема подключения которого изображена на рис. 2.

Схема подключения AVR JTAG ICE к отлаживаемому устройству
Рис 2. Схема подключения AVR JTAG ICE к отлаживаемому устройству

Существует несколько вариантов BootLoader загрузчиков для прошивки JTAG, но на мой взгляд наиболее удачный вариант получился у Кротевич Виталия (Vit). Его загрузчик наиболее близко повторяет фирменный и позволяет обновлять микропрограмму JTAG непосредственно из AVRStudio без перезагрузки JTAG и входа в режим программирования через BootStart. В случае если не планируется производить обновление прошивки JTAG`a , то загрузчик можно не прошивать, а «зашить» только оригинальную прошивку от AVRStudio.

Чтобы «зашить» bootloader в JTAG можно воспользоваться программатором AVReal, PonyProg, STK200, «пять проводов», любо любым другим имеющимся в наличии и совместимым с AVR ISP. Подключение программатора производится к ISP разъему программирования ХР4. Файл прошивки JTAG_ICE.hex.

Пример программирования фьюзов показан на рисунке 3.

Установка фьюзов для AVR JTAG ICE
Рис 3. Установка фьюзов для AVR JTAG ICE

Пример работы AVR JTAG ICE показан на рисунке 4. В качестве примера произведено считывание сигнатуры ATMega128

Чтение сигнатуры микроконтроллера ATMega128 с помощью AVR JTAG ICE
Рис 4. Чтение сигнатуры микроконтроллера ATMega128 с помощью AVR JTAG ICE

Изображение верхнего слоя трассировки печатной платы, с нанесенными элементами
Рис 5. Изображение верхнего слоя трассировки печатной платы, с нанесенными элементами

Изображение нижнего слоя трассировки печатной платы, с нанесенными элементами
Рис 6. Изображение нижнего слоя трассировки печатной платы, с нанесенными элементами

Фотографии готового устройства:

Фото программатора

Фото программатора

P.S. Схема и трассировка печатной платы разработаны автором статьи, загрузчик использован Кротевич Виталия (ака Vit), прошивка от оригинальной AVRStudio.

При написании статьи использовались следующие источники:
1 http://onembedding.bialix.com/files/jtag_vit/
2. Официальное руководство пользователя AVR JTAG ICE JTAGuserguide.pdf

Скачать прошивку, файлы печатных плат вы можете ниже

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
DD1 ИС буфера, драйвера
CD74AC244
1 Поиск в магазине ОтронВ блокнот
DD2 ИС RS-232 интерфейса
MAX232
1 ST232BDПоиск в магазине ОтронВ блокнот
DD3 МК AVR 8-бит
ATmega16
1 ATmega16-16PIПоиск в магазине ОтронВ блокнот
DA1 Линейный регулятор
LM78L05
1 Поиск в магазине ОтронВ блокнот
VD1, VD2 Выпрямительный диод
SM4007PL
2 Поиск в магазине ОтронВ блокнот
VD3 Стабилитрон
BZX55C5V1
1 SMBJ5.0AПоиск в магазине ОтронВ блокнот
VD4, VD5 Диод Шоттки
SM5819PL
2 Поиск в магазине ОтронВ блокнот
HL1, HL2 СветодиодКР-3216-22 Поиск в магазине ОтронВ блокнот
C1, C2, C4-C6, C9-C13, C16 Конденсатор0.1 мкФ10 Поиск в магазине ОтронВ блокнот
C3 Электролитический конденсатор1 Поиск в магазине ОтронВ блокнот
C7 Электролитический конденсатор470 мкФ 10 В1 ТанталовыйПоиск в магазине ОтронВ блокнот
C8 Конденсатор1200 пФ1 Поиск в магазине ОтронВ блокнот
C14, C15 Конденсатор22 пФ2 Поиск в магазине ОтронВ блокнот
R1 Резистор
36 кОм
1 Поиск в магазине ОтронВ блокнот
R2 Резистор
150 кОм
1 Поиск в магазине ОтронВ блокнот
R3-R6 Резистор
10 кОм
4 Поиск в магазине ОтронВ блокнот
R4, R10 Резистор
4.7 кОм
2 Поиск в магазине ОтронВ блокнот
R9, R11-R15 Резистор
200 Ом
7 Поиск в магазине ОтронВ блокнот
R16 Резистор
510 Ом
1 Поиск в магазине ОтронВ блокнот
BQ1 Кварц7.3728 МГц1 Поиск в магазине ОтронВ блокнот
XS1 РазъёмDRB-9F1 RS-232Поиск в магазине ОтронВ блокнот
XP1 РазъёмDJK-021 ПитаниеПоиск в магазине ОтронВ блокнот
XP2 РазъёмWF-21 ПитаниеПоиск в магазине ОтронВ блокнот
XP3 РазъёмIDC-10M1 JTAGПоиск в магазине ОтронВ блокнот
XP4 РазъёмPLD-61 ISPПоиск в магазине ОтронВ блокнот
РазъёмPLS-32 ПеремычкиПоиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Сторожев Денис Опубликована: 2011 г. 0 0
Я собрал 1 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (10) | Я собрал (0) | Подписаться

0
Юрий #
Не очень понятно предназначение перемычек, джамперов к MAX232
Ответить
0
talibanich #
Это выбор USB/RS232
Ответить
0
vaiapa #
А что за файлы в приложении? Вроде альтиума, но когда открываешь ничего нету. Может есть файлы полные с альтиума?
Ответить
0
Дмитрий #
А есть ли самодельный JTAG отладчик работающий с AtmelStudio 6.2? Работающий с AVRStudio 4 статей валом. А вот чтобы с AtmelStudio что-то не нашел.
Ответить
0
Григорий #
А 32 битные контроллеры можно програмировать?
Ответить
0
Dimas #
Подскажите пожалуйста какой программой открыть файлы JtagIce.sch и JtagIce.pcb?
Ответить
0
Михаил #
какой программой открыть файлы JtagIce.sch и JtagIce.pcb?
PCAD2006
Ответить
0
Юрий #
Добрый день, хочу повторить программатор по вашей статье. Перечитал много статей по созданию данного программатора. Есть непонятный мне момент по поводу сигнала nSRST. Hа разъеме XP3 pin 6, он указан как in/out и подключен в ВХОДУ буфера in7, выход буфера out7 подключен к PD2 микроконтроллера. Вопрос, почему именно к порту PD2? Во многих статьях этот сигнал подключен к PB0. Остальное все совпадает с вашей схемой, не могу понять к какому пину контроллера правильней подключить этот сигнал. И я правильно понял что в вашей схеме сигнал nSRST работает только на вход? так как буфер работает в только одну сторону. Читал что этот сигнал можно не использовать, это так? И в каких ситуациях он используется?
Ответить
0
Юрий #
Разобрался, повнимательней изучил вашу схему и сигналы nSRST, nTRST. Я так понял что PB0 это nTRST. nSRST - это PB4 выход из программатора и PD2 вход. Тогда остается непонятно зачем подключать PB0 к сигналу nSRST? Я так понимаю B0 вобще можно не подключать а использовать PB4 и PD2. Изучая разные схемы столкнулся с такой неточностью.
Ответить
0
Malkin5778 #
Подскажите, с Atmel Studio 7 он работает?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
200 Вт усилитель класса D на IRS2092 Мультиметр Mastech MS8268
вверх