Схему универсальный программатор isp jtag. Что такое JTAG-программатор? Почему выбирают именно программатор JTAG

Существует довольно много конфигураций различных программаторов, которые позволяют переписать программные наработки в микроконтроллер. Они могут быть различными, рассчитанными на профессионалов или, наоборот, иметь упрощенный интерфейс. К последним программаторам относится и герой этой статьи. Вы узнаете не только, что он представляет собой, но и как сделать программатор JTAG своими руками. Вы найдёте схемы и фотографии, как должен выглядеть результат.

Чем является JTAG-программатор?

Он представляет собой упрощенный вариант профессионального AVR JTAG ICE, который, как можно догадаться по его названию, предназначен для программирования микроконтроллеров семейства AVR. Его главное отличие в том, что собрать его может даже непрофессионал, и конечная стоимость будет многократно ниже, чем при покупке заводского. По сути, представленный в статье механизм - китайская реплика, поэтому этот программатор AVR ещё и можно купить. Поэтому не кривя душой можно сказать, что существует ещё и вариант покупки. Но сборка своими руками позволит избежать возможных негативных последствий вследствие дешевизны и низкого качества покупаемых деталей при производстве.

Почему выбирают именно программатор JTAG?

Главное - его низкая стоимость и лёгкость в сборке. JTAG-программатор может программировать все устройства, имеющие интерфейс JTAG. Для работы через компьютер необходима среда разработки AVR Studio 4-й или больше версии. С ними этот программатор AVR сможет работать.

Недостатки программатора

Самые последние версии семейств микроконтроллеров, без дополнительной работы, не программируются. Также существуют значительные проблемы с теми представителями, у которых меньше 40 ног и 16 Кб памяти. Как можно заметить, круг потенциальных клиентов довольно ограничен. Но несколько популярных моделей как раз подпадают под него, так что он пригодится.

Схема

Схема программатора простая, для работы необходима ATMega16 и немного дополнительной электроники. В качестве интерфейса может быть использовано MAX232 (для работы с COM) и FT232RL (для работы с USB). Стоит оговориться, что при использовании второго варианта подключать питание через USB не рекомендуют. В таких случаях из-за ошибки или недосмотра могут получить напряжение защитные диоды, и на выводах FT232RL будет Это чревато выходом из строя или программатора, или объекта программирования. Решается этот нюанс подачей питания через плату.

Для большей простоты тем, кто не имеет достаточной квалификации, программатор рассчитан на MAX232, но для другого варианта требуется только установить другой разъем.

Настройка

Учитывая, что есть необходимые схемы, следует только вытравить плату. Далее всё аккуратно подсоединяется, припаивается на места, и проверяется работа программатора путём прошивки загрузчика. Затем следует с AVR Studio обновить прошивку для JTAG-программатора до последней версии или до тех пор, пока надо. К адаптеру подключается программатор. Если он работает - значит можно переходить к следующему разделу, в котором обрисованы нюансы работы и программирования. Следует учесть, что все необходимые провода есть, они только нестандартно расположены.

В качестве подготовки к работе следует выставить Fuse биты. Они зависят от нотации, в которой производится работа. Для лучшего понимания представляем вот такую таблицу:

Прямая нотация (Даташит, UniProf)

Инверсная нотация (AVR DUDE GUI, PonyProg)

А как понять, какую выбрать? Ответ на вопрос прост: следует подключиться к микроконтроллеру и начать читать эти самые биты. Обратите внимание на SPIEN - если есть галочка напротив него, то это значит, что нотация инверсная. Если её нет - значит, она прямая. Если всё было сделано правильно, то программатор готов, чтобы прошивать микроконтроллеры. Но если он в последующем не сможет сделать прошивку - перечитайте и проверьте всё ещё раз.

Работа с программатором

Для большей понятливости будет приведён пример программирования мигания светодиодов. Первоначально следует запустить студию и создать новый проект. Затем выбрать язык программирования (в данном случае ассемблер) и задать имя проекта. Программа сама сможет определить, что вы используете JTAG-программатор. В качестве платформы следует выбрать его, а в окошечке рядом - программируемый им микроконтроллер. Далее всё довольно обычно - следует только вбить текст для программы. Чтобы читатели могли проверить работоспособность, предлагаем опробовать JTAG-программатор указанным в статье кодом. Можно увидеть, что диоды начали мигать очень быстро, что неудивительно, ведь здесь не предусмотрена задержка. Итак, программатор, инструкция его создания и использования есть. Вам остаётся только воплотить полёт своей фантазии.

Немного о практике. Для проверки подключите к порту А 3 светодиода. Затем к плате подключается: четыре провода интерфейса (TCK, TDI, TMS, TDO) и 2 силовых Vcc идут на плюс, а GND подключается к земле. Всё, питание есть, можно идти дальше. В студии необходимо провести компиляцию кода и его запуск. Проект быстро скомпилируется, тут же будет прошит и начнёт работать. Чтобы следить за процессом исполнения, можно нажать F11, и тогда можно наблюдать, на каком ряду кода сейчас программа. Для этого достаточно поднести курсор к ряду, который включает светодиод, и он загорится. Существует ещё много экспериментов. Помните, что для того чтобы что-то сделать, необходимо работать. Пускай продвижение будет медленным, но со временем вы сможете получить именно то, что хотите, главное - не опускать руки и продолжать экспериментирование с упором на теоретическую базу (без неё никак).

Нашел в своем архиве фото, на котором был запечатлен процесс изготовления JTAG-программатора, который понадобился мне, чтобы оживить спутниковый тюнер. Теперь немного подробнее, что за «зверь» такой JTAG:

JTAG (сокращение от англ. Joint Test Action Group ; произносится «джей-тáг») - название рабочей группы по разработке стандарта IEEE 1149. Позднее это сокращение стало прочно ассоциироваться с разработанным этой группой специализированным аппаратным интерфейсом на базе стандарта IEEE 1149.1. Официальное название стандарта Standard Test Access Port and Boundary-Scan Architecture . Интерфейс предназначен для подключения сложных цифровых микросхем или устройств уровня печатной платы к стандартной аппаратуре тестирования и отладки. Кому интересно и дальше, полная статья на википедии .

А теперь вернемся к делу, от знакомых попал ко мне спутниковый тюнер, самый обычный и простой Globo на процессоре Ali M3329B. С такими симптомами, вообще не включался, сначала я грешил на блок питания, но прозвонив все напруги мультиметром оказалось все же с питанием все нормально. Поизучав немного разных статьей по ремонту данных ресиверов, пришел к выводу, что судя по симптомам полностью слетела прошивка, и восстановить его можно прошив через JTAG-программатор. Так же была мысль, что он полностью сгорел и восстановлению не подлежит, но я все-же предпочитал верить, что прошивка через JTAG поможет.

Для изготовления выбрал вот эту схему:

Питание на схему подаётся от ресивера, к которому она подключается. В использовании внешнего источника питания для схемы нет необходимости по двум причинам. Во-первых, потребляемый ток очень мал и не создаёт дополнительной нагрузки на блок питания ресивера, во-вторых, питание от того же источника, что и процессор с флэш-памятью улучшает согласование логических уровней.

74HC244 это не инвертирующий буфер. Микросхема содержит два независимых четырехразрядных буфера. Каждый буфер имеет свой сигнал разрешения выхода (низкий активный уровень). На входах нет триггеров Шмитта. Микросхема выполнена по технологии “быстрый” КМОП, что обеспечивает высокое быстродействие. Мощный токовый выход делает возможным сохранение высокого быстродействия даже при емкостной нагрузке. Быстродействие 74HC244 сравнимо с быстродействием микросхем, основанных на диодах Шоттки, при этом 74HC244 сохраняет достоинства микросхем КМОП, т.е. высокая помехозащищенность и низкая потребляемая мощность. Входы микросхемы защищены от повреждения статическим электричеством при помощи диодов.

Увы 74HC244 в своих запасах я не обнаружил. Нашел только аналог 74F244, который немного отличался напряжением питания Vcc. У 74HC244 рекомендуемое от 2 до 6 В, а у 74F244 — от 4,5 до 5,5 В. Хотя максимальные пределы от -0.5 до +7 В, поэтому решил не заморачиваться, и приступить к изготовлению.

Взяв исходную схему на первом изображении, и перерисовав ее в программе DipTrace получилась вот такая схема:

Все было оттрасировано автоматически, не оттрасировало только одну линию, но это проблема была решена двумя SMD перемычками. На изображении выше — готовая для изготовления печатная плата.

На плате я так же подписал все выводы, но к сожалению с выходные сигналы неправильно подписал, как видно на первоисточнике 1- GND, 2- TCK, 3- TMS, 4- TDO, 5- TDI и 6- RST, у меня же получилось GND, TMS, TCK, TDI, TDO, и RST, ошибся именно когда делал подписи контактам, по схеме все правильно, согласно первоисточнику, т.е. 1- GND, 2- TCK, 3- TMS, 4- TDO, 5- TDI и 6- RST.

Печатная плата с правильными обозначением контактов:

Собственно главное — гетинакс, напильник, небольшая ручная ножовка, наждачная бумага. Отвертка и резак для расслоения гетинакса на 2 части, поскольку у меня кусочек был фольгированный с двух сторон, а плата наша простая, односторонняя.

Проделав всю роботу, выточив гетинакс под размеры платы (примерно 55х50 мм), берем чистящее средство COMET (Комет) в порошке и губку для мытья посуды. Очищаем гетинакс от следов жира и грязи. Лучше не вытирать остатки воды, а дать просохнуть так.

Пока сохнет гетинакс идем за компьютер и печатаем нашу схему на лазерном принтере и фотобумаге в зеркальном отражении указав максимальное качество печати. Важно не забыть поставить зеркальное отражение, иначе в итоге на плате получим все на выворот!

И так, гетинакс готов, печатная плата напечатана, аккуратно подогнав края гетинакса к рисунку печатной платы на фотобумаге крепим ее липкой бумажной лентой к гетинаксу, берем утюг и ставим его на максимальную температуру.

Естественно фольгированной стороной гетинакса к рисунку печатной платы.

Когда утюг нагрелся, плотно прижимая, начинаем гладить — равномерно прогревая гетинакс со стороны бумаги. Плату такого размера греем не более 30-60 сек, иначе тонер расползется. Рекомендую поставить таймер на телефоне, чтобы время было рядом, перед глазами. Когда все сделано, даем время плате остыть.

Отдираем фотобумагу от платы, перед нами готовая плата, которую остается вытравить в хлорном железе FeCl₃, если есть не большие огрехи, перед травление, поправляем дорожки скальпелем и тонким маркером для дисков.

В процессе травления хлорным железом необходимо непрерывно перемешивать раствор, например покачиванием посуды. Если размер платы не очень большой, можно плату класть на поверхность раствора рисунком вниз — не нужно покачивать, но трудно отследить окончание процесса травления. Время травления хлорным железом составляет от 5 до 50 минут и зависит от температуры, концентрации раствора и его загрязнённости медью, толщины медной фольги. После травления плату нужно промыть проточной водой и высушить.

В итоге получаем вот такую печатную плату

Тонер так же очищаем порошком «Комет», он держится достаточно хорошо, и чтоб не повредить дорожки платы очищаем его не спеша.

После очистки от тонера видим аккуратную, красивую печатную плату


Теперь приступаем к пайке элементов:

Еще одним несложным, в плане изготовления, является COM программатор. При условии использования альтернативного режима COM порта Bitbang, отпадает необходимость в преобразовании интерфейса RS232 COM порта в SPI, необходимый для программирования. Остается только привести уровни сигналов COM порта (-12В, +12В) к необходимым (0, +5В). Это и делает
схема COM программатора для AVR микроконтроллеров:

Данная схема программатора достаточно распространена и известна как программатор Громова. Название пошло от автора программы Геннадия Громова, который и предложил такую схему.

Чтобы собрать программатор Громова нам нужно следующее:

Диоды КД522, КД510, 1N4148 или им подобные. Резисторы можно использовать любые, какие найдете. В качестве шлейфа можно использовать IDE шлейф. При подключении шлейфа, для более устойчивой работы программатора, каждый «сигнальный» провод должен чередоваться с «земляным» проводом. Это позволит уменьшить уровень помех наводимых в линиях и за счет этого увеличить длину программирующего провода. Длина шлейфа должна быть в пределах 50 см. Еще нужен разъем для подключения к программируемому устройству.
Для внутрисхемного программирования Atmel рекомендует стандартные разъемы:


Если Вы планируете серьезно заняться микроконтроллерами, сделайте разъемы стандартными. Для разового программирования устройства я рекомендую использовать на программаторе (такими разъемами к материнской плате подключаются кнопки и светодиоды корпуса компа — именно их я и взял) и штырьки PLS «папы» на плате. Это позволяет максимально упростить разводку платы устройства, так как штырьки для программатора устанавливаются в непосредственной близости возле ножек микроконтроллера. Ножки MOSI, MISO, SCK у микроконтроллеров AVR всегда расположены вместе, поэтому для них можно применить строенный разъем. Отдельно делаем подключение для «земли»-GND и «сброса»-Reset.

Собрать COM программатор не составит труда:

Я сознательно не даю печатной платы под этот программатор, так как схема проста и возня с разводкой и травлением платы просто себя не оправдывает.

Для того чтобы наш COM программатор заработал нужна , к которой мы подключим программатор и для микроконтроллера.

— Так как режим Bitbang нестандартный для COM порта компьютера, то возможны сбои в работе (хотя у меня такого не было). Особенно это касается ноутбуков. Как вариант решения этой проблемы можно рекомендовать «поиграться» настройками COM порта (скорость, биты данных, варианты управления потоком, величины буфера …).
— Отдельный разъем для «земли» желательно подключить первым, чтобы уравнять потенциалы «земли» программируемого устройства и компьютера. Для тех, кто не знает, если у Вас компьютер включен в обычную розетку, без заземляющего контакта, то в виду особенности фильтра блока питания компьютера, на корпусе компьютера всегда присутствует потенциал в 110В.

Заключение:

— COM программатор Громова простой и надежный. Я не перестал пользоваться им даже собрав USB программатор (если какой либо микроконтроллер перестает программироваться USB программатором я обязательно перепроверю его на программаторе Громова).
— Так как программатор Громова собран на пассивных элементах он не требует для себя питания. Мало того, из-за паразитного питания, микроконтроллер можно запрограммировать вообще не подключая к нему источника питания! Хотя так программировать я не рекомендую, но сам факт интересен.
— Для пользователей Algorithm Builder есть приятный бонус! Этот программатор можно использовать для внутрисхемной отладки кристалла (программный JTAG).

Какие первые шаги должен сделать радиолюбитель, решивший собрать схему на микроконтроллере? Естественно, необходима управляющая программа - "прошивка", а также программатор.

И если с первым пунктом нет проблем - готовую "прошивку" обычно выкладывают авторы схем, то вот с программатором дела обстоят сложнее.

Цена готовых USB-программаторов довольно высока и лучшим решением будет собрать его самостоятельно. Вот схема предлагаемого устройства (картинки кликабельны).

Основная часть.

Панель установки МК.

Исходная схема взята с сайта LabKit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон фирменного программатора PICkit2. Так как вариант устройства является "облегчённой" копией фирменного PICkit2, то автор назвал свою разработку PICkit-2 Lite , что подчёркивает простоту сборки такого устройства для начинающих радиолюбителей.

Что может программатор? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC. Кроме этого программатор может работать в режиме USB-UART преобразователя, имеет часть функций логического анализатора. Особо важная функция, которой обладает программатор - это расчёт калибровочной константы встроенного RC-генератора некоторых МК (например, таких как PIC12F629 и PIC12F675).

Необходимые изменения.

В схеме есть некоторые изменения, которые необходимы для того, чтобы с помощью программатора PICkit-2 Lite была возможность записывать/стирать/считывать данные у микросхем памяти EEPROM серии 24Cxx.

Из изменений, которые были внесены в схему. Добавлено соединение от 6 вывода DD1 (RA4) до 21 вывода ZIF-панели. Вывод AUX используется исключительно для работы с микросхемами EEPROM-памяти 24LС (24C04, 24WC08 и аналоги). По нему передаются данные, поэтому на схеме панели программирования он помечен словом "Data". При программировании микроконтроллеров вывод AUX обычно не используется, хотя он и нужен при программировании МК в режиме LVP.

Также добавлен "подтягивающий" резистор на 2 кОм, который включается между выводом SDA и Vcc микросхем памяти.

Все эти доработки я уже делал на печатной плате, после сборки PICkit-2 Lite по исходной схеме автора.

Микросхемы памяти 24Cxx (24C08 и др.) широко используются в бытовой радиоаппаратуре, и их иногда приходится прошивать, например, при ремонте кинескопных телевизоров. В них память 24Cxx применяется для хранения настроек.

В ЖК-телевизорах применяется уже другой тип памяти (Flash-память). О том, как прошить память ЖК-телевизора я уже рассказывал . Кому интересно, загляните.

В связи с необходимостью работы с микросхемами серии 24Cxx мне и пришлось "допиливать" программатор. Травить новую печатную плату я не стал, просто добавил необходимые элементы на печатной плате. Вот что получилось.

Ядром устройства является микроконтроллер PIC18F2550-I/SP .

Это единственная микросхема в устройстве. МК PIC18F2550 необходимо "прошить". Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема "курицы и яйца". Как её решил я, расскажу чуть позднее.

Список деталей для сборки программатора. В мобильной версии потяните таблицу влево (свайп влево-вправо), чтобы увидеть все её столбцы.

Название Обозначение Номинал/Параметры Марка или тип элемента
Для основной части программатора
Микроконтроллер DD1 8-ми битный микроконтроллер PIC18F2550-I/SP
Биполярные транзисторы VT1, VT2, VT3 КТ3102
VT4 КТ361
Диод VD1 КД522, 1N4148
Диод Шоттки VD2 1N5817
Светодиоды HL1, HL2 любой на 3 вольта, красного и зелёного цвета свечения
Резисторы R1, R2 300 Ом
R3 22 кОм
R4 1 кОм
R5, R6, R12 10 кОм
R7, R8, R14 100 Ом
R9, R10, R15, R16 4,7 кОм
R11 2,7 кОм
R13 100 кОм
Конденсаторы C2 0,1 мк К10-17 (керамические), импортные аналоги
C3 0,47 мк
Электролитические конденсаторы C1 100 мкф * 6,3 в К50-6, импортные аналоги
C4 47 мкф * 16 в
Катушка индуктивности (дроссель) L1 680 мкГн унифицированный типа EC24, CECL или самодельный
Кварцевый резонатор ZQ1 20 МГц
USB-розетка XS1 типа USB-BF
Перемычка XT1 любая типа "джампер"
Для панели установки микроконтроллеров (МК)
ZIF-панель XS1 любая 40-ка контактная ZIF-панель
Резисторы R1 2 кОм МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R6 10 кОм

Теперь немного о деталях и их назначении.

Зелёный светодиод HL1 светится, когда на программатор подано питание, а красный светодиод HL2 излучает в момент передачи данных между компьютером и программатором.

Для придания устройству универсальности и надёжности используется USB-розетка XS1 типа "B" (квадратная). В компьютере же используется USB-розетка типа "А". Поэтому перепутать гнёзда соединительного кабеля невозможно. Также такое решение способствует надёжности устройства. Если кабель придёт в негодность, то его легко заменить новым не прибегая к пайке и монтажным работам.

В качестве дросселя L1 на 680 мкГн лучше применить готовый (например, типов EC24 или CECL). Но если готовое изделие найти не удастся, то дроссель можно изготовить самостоятельно. Для этого нужно намотать 250 - 300 витков провода ПЭЛ-0,1 на сердечник из феррита от дросселя типа CW68. Стоит учесть, что благодаря наличию ШИМ с обратной связью, заботиться о точности номинала индуктивности не стоит.

Напряжение для высоковольтного программирования (Vpp) от +8,5 до 14 вольт создаётся ключевым стабилизатором. В него входят элементы VT1, VD1, L1, C4, R4, R10, R11. С 12 вывода PIC18F2550 на базу VT1 поступают импульсы ШИМ. Обратная связь осуществляется делителем R10, R11.

Чтобы защитить элементы схемы от обратного напряжения с линий программирования в случае использования USB-программатора в режиме внутрисхемного программирования ICSP (In-Circuit Serial Programming) применён диод VD2. VD2 - это диод Шоттки . Его стоит подобрать с падением напряжения на P-N переходе не более 0,45 вольт. Также диод VD2 защищает элементы от обратного напряжения, когда программатор применяется в режиме USB-UART преобразования и логического анализатора.

При использовании программатора исключительно для программирования микроконтроллеров в панели (без применения ICSP), то можно исключить диод VD2 полностью (так сделано у меня) и установить вместо него перемычку.

Компактность устройству придаёт универсальная ZIF-панель (Zero Insertion Force - с нулевым усилием установки).

Благодаря ей можно "зашить" МК практически в любом корпусе DIP.

На схеме "Панель установки микроконтроллера (МК)" указано, как необходимо устанавливать микроконтроллеры с разными корпусами в панель. При установке МК следует обращать внимание на то, чтобы микроконтроллер в панели позиционируется так, чтобы ключ на микросхеме был со стороны фиксирующего рычага ZIF-панели.

Вот так нужно устанавливать 18-ти выводные микроконтроллеры (PIC16F84A, PIC16F628A и др.).

А вот так 8-ми выводные микроконтроллеры (PIC12F675, PIC12F629 и др.).

Если есть нужда прошить микроконтроллер в корпусе для поверхностного монтажа (SOIC), то можно воспользоваться переходником или просто подпаять к микроконтроллеру 5 выводов, которые обычно требуются для программирования (Vpp, Clock, Data, Vcc, GND).

Готовый рисунок печатной платы со всеми изменениями вы найдёте по ссылке в конце статьи. Открыв файл в программе Sprint Layout 5.0 можно с помощью режима "Печать" не только распечатать слой с рисунком печатных проводников, но и просмотреть позиционирование элементов на печатной плате. Обратите внимание на изолированную перемычку, которая связывает 6 вывод DD1 и 21 вывод ZIF-панели. Печатать рисунок платы необходимо в зеркальном отображении .

Изготовить печатную плату можно методом ЛУТ, а также маркером для печатных плат , с помощью цапонлака (так делал я) или "карандашным" методом .

Вот рисунок позиционирования элементов на печатной плате (кликабельно).

При монтаже первым делом необходимо запаять перемычки из медного лужёного провода, затем установить низкопрофильные элементы (резисторы, конденсаторы, кварц, штыревой разъём ISCP), затем транзисторы и запрограммированный МК. Последним шагом будет установка ZIF-панели, USB-розетки и запайка провода в изоляции (перемычки).

"Прошивка" микроконтроллера PIC18F2550.

Файл "прошивки" - PK2V023200.hex необходимо записать в память МК PIC18F2550I-SP при помощи любого программатора, который поддерживает PIC микроконтроллеры (например, Extra-PIC). Я воспользовался JDM Programmator’ом JONIC PROG и программой WinPic800 .

Залить "прошивку" в МК PIC18F2550 можно и с помощью всё того же фирменного программатора PICkit2 или его новой версии PICkit3. Естественно, сделать это можно и самодельным PICkit-2 Lite, если кто-либо из друзей успел собрать его раньше вас:).

Также стоит знать, что "прошивка" микроконтроллера PIC18F2550-I/SP (файл PK2V023200.hex ) записывается при установке программы PICkit 2 Programmer в папку вместе с файлами самой программы. Примерный путь расположения файла PK2V023200.hex - «C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex» . У тех, у кого на ПК установлена 32-битная версия Windows, путь расположения будет другим: «C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex» .

Ну, а если разрешить проблему "курицы и яйца" не удалось предложенными способами, то можно купить уже готовый программатор PICkit3 на сайте AliExpress. Там он стоит гораздо дешевле. О том, как покупать детали и электронные наборы на AliExpress я писал .

Обновление "прошивки" программатора.

Прогресс не стоит на месте и время от времени компания Microchip выпускает обновления для своего ПО, в том числе и для программатора PICkit2, PICkit3. Естественно, и мы можем обновить управляющую программу своего самодельного PICkit-2 Lite. Для этого понадобится программа PICkit2 Programmer. Что это такое и как пользоваться - чуть позднее. А пока пару слов о том, что нужно сделать, чтобы обновить "прошивку".

Для обновления ПО программатора необходимо замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключить программатор к ПК и запустить PICkit2 Programmer. При замкнутой XT1 активируется режим bootloader для загрузки новой версии прошивки. Затем в PICkit2 Programmer через меню "Tools" - "Download PICkit 2 Operation System" открываем заранее подготовленный hex-файл обновлённой прошивки. Далее произойдёт процесс обновления ПО программатора.

После обновления нужно отключить программатор от ПК и снять перемычку XT1. В обычном режиме перемычка разомкнута . Узнать версию ПО программатора можно через меню "Help" - "About" в программе PICkit2 Programmer.

Это всё по техническим моментам. А теперь о софте.

Работа с программатором. Программа PICkit2 Programmer.

Для работы с USB-программатором нам потребуется установить на компьютер программу PICkit2 Programmer. Это специальная программа обладает простым интерфейсом, легко устанавливается и не требует особой настройки. Стоит отметить, что работать с программатором можно и с помощью среды разработки MPLAB IDE, но для того, чтобы прошить/стереть/считать МК достаточно простой программы - PICkit2 Programmer. Рекомендую.

После установки программы PICkit2 Programmer подключаем к компьютеру собранный USB-программатор. При этом засветится зелёный светодиод ("питание"), а операционная система опознает устройство как "PICkit2 Microcontroller Programmer" и установит драйвера.

Запускаем программу PICkit2 Programmer. В окне программы должна отобразиться надпись.

Если программатор не подключен, то в окне программы отобразится страшная надпись и краткие инструкции "Что делать?" на английском.

Если же программатор подключить к компьютеру с установленным МК, то программа при запуске определить его и сообщит нам об этом в окне PICkit2 Programmer.

Поздравляю! Первый шаг сделан. А о том, как пользоваться программой PICkit2 Programmer, я рассказал в отдельной статье. Следующий шаг .

Необходимые файлы:

    Руководство пользователя PICkit2 (рус.) берём или .

JTAG программатор (жарг.) - программатор работающий с микросхемой через JTAG интерфейс.
JTAG (Joint Test Action Group) - специализированный отладочный интерфейс, стандарт IEEE 1149.1.
При буквальном понимании - JTAG программатор, это устройство, которое можно отнести к одному из следующих типов:

  • Специализированные JTAG программаторы, создаваемые для программирования и тестирования при серийном производстве. Такие JTAG программаторы удобны тем, что за 1 проход они позволяют и запрограммировать микросхему непосредственно в устройстве пользователя, и при необходимости протестировать работоспособность устройства;
  • Специализированные отладчики, совмещающие функции JTAG эмулятора и JTAG программатора. При этом, и эмулятор и программатор используют JTAG порт обслуживаемой микросхемы. Например, JEM-ARM (JTAG эмулятор программатор), использует все возможности JTAG протокола, и обеспечивает не только программирование, но и полноценную отладку микроконтроллеров семейства ARM, Cortex. ;
  • Универсальные программаторы, которые наряду с поддержкой параллельного режима программирования, поддерживают и режим последовательный, через JTAG интерфейс;
  • Многочисленные радиолюбительские схемы расчитанные на программирование 1 или нескольких типов микросхем через JTAG порт. (по аналогии с так называемыми PIC программаторами).

Все универсальные программаторы серии ChipProg с USB интерфейсом поддерживают программирование через JTAG, наряду с поддержкой большого числа других протоколов.

Универсальный USB программатор, оптимизированный для скоростного программирования NAND Flash, микроконтроллеров, FLASH, E(E)PROM, NVRAM, ПЛИС, PLD. Описание программатора

Универсальный USB программатор. Быстрое программирование микроконтроллеров, FLASH, NAND, EEPROM, EPROM, NVRAM, ПЛИС, PLD. Характеристики программатора

Бюджетный, универсальный программатор с USB интерфейсом. Программирование микроконтроллеров, FLASH, EPROM, EEPROM, NVRAM. Описание программатора

Внутрисхемный ISP программатор. Программирование микроконтроллеров и микросхем памяти в устройстве пользователя. Описание программатора

ChipProg-G41 Промышленный программатор копировщик. Самое быстрое программирование, тиражирование микроконтроллеров, FLASH, NAND, E(E)PROM, NVRAM, ПЛИС, PLD.