AVRISP-mkII из PICkit-2
В России наиболее доступны и распространены среди радиолюбителей микроконтроллеры компаний Atmel и Microchip. Каждая из компаний предлагает для программирования и отладки своей продукции недорогие комплекты разработчика. В свободном доступе есть схемы клонов и исходные тексты ПО для программатора AVRISP-mkII и программатора/отладчика PICkit-2. Так как в своих разработках я использую микроконтроллеры обеих компаний, то появилась идея совместить PICkit-2 и AVRISP-mkII. Программатор/отладчик PICkit-2 содержит в себе гораздо большее кол-во функций, поэтому он и был взят за основу.
Программатор/отладчик PICkit-2 - разработка компании Microchip для программирования и отладки ПО микроконтроллеров PIC, а так же для программирования микросхем EEPROM и FLASH с последовательным интерфейсом. Так же PICkit-2 содержит в качестве дополнительных функций логический анализатор и последовательный порт UART.
Схема PICkit-2 достаточно проста, но при этом многофункциональна. Она не содержит дорогих, труднодоступных компонентов. Все компоненты можно заменить аналогами, которые есть в наличии. Схема не требует настройки и при правильной сборке начинает работать сразу. Схема доступна в руководстве пользователя на PICkit-2. Исходные тексты программного обеспечения для микроконтроллера и для ПК доступны на сайте http://microchip.com.
Программатор/отладчик PICkit-2 содержит загрузчик, с помощью которого возможно оперативно обновлять или заменять ПО. Поскольку PICkit-2 имеет все необходимое для программирования через последовательный интерфейс, то нет необходимости в доработке схемы. Для того чтобы он имел возможность программировать микроконтроллеры Atmel необходимо только заменить ПО PICkit-2 на программное обеспечение, имитирующее работу программатора AVRISP-mkII.
Соответствие контактов указано в таблице.
№ контакта PICKit-2 | Наименование | |
PICkit-2 | AVRISP-mkII | |
1 | Vpp/MCLR | RESET |
2 | Vdd_TGT | VTARGET |
3 | GND | GND |
4 | ICSPDAT/PGD | MISO |
5 | ICSPCLK/PGC | SCK/CLOCK |
6 | AUX | MOSI/DATA |
Скачать прошивку PKAVRISP_MKII.zip_версия 2.2
Инструкция по прошивке PICKit-2
Статья для тех кто боится "испортить" PICkit 2
Возможности программы:
- Программирование микроконтроллеров фирмы ATMEL серий AT89, AT90, ATmega, ATtiny по протоколу ISP (проверено на AT89S51, AT90S2313, ATmega8535, ATmega8515, ATmega32L, ATmega8, ATmega48).
- Программирование микроконтроллеров фирмы ATMEL серии ATxmega по протоколу PDI. Доступен в версии 2.1 (проверено на ATxmega32A4).
- Программирование микроконтроллеров фирмы ATMEL серии ATtiny по протоколу TPI. Доступен в версии 2.1 (проверено на ATtiny10, в версии 2.1 работает только с внешним источником питания).
- Измерение напряжения “target” устройства.
- Автоматическая установка уровня на логических линиях MOSI, MISO, SCK равного измеренному напряжению “target” устройства.
- Работа через стандартный драйвер AVRISP-mkII или драйвер, включенный в WinAVR (проверено программирование через программатор, включенный в AVR Studio 4.0, 5.0, 5.1, 6.0 а так же через avrdude version 5.11-Patch#7610+драйвер из состава WinAVR версия 0.1.12.1 от 20.03.2007+GUI SinaProg 1.4.5.10). Инструкция по прошивке через avrdude.
- Оперативная замена ПО через «bootloader» на AVRISP-mkII и обратно на PICkit 2.
- Подача напряжения 3.3В, 5В на target устройство и 12В на reset. 12В доступно в версии 2.2. Внимание 12В подается только на микроконтроллеры с TPI интерфейсом. При отключении функции Reset у контроллеров с ISP интерфейсом, контроллер станет недоступен для последующей прошивки.
Поддерживаемые микросхемы:
Atmel (AT32UCxx не поддерживаются, непонятно почему Atmel внесла их в список)
Ограничения:
- Так как протокол ISP реализован программно, то скорость обмена ограничена 0,75 Мбит/с (AVRISP-mkII скорость до 8 Мбит/с).
- Скорость обмена по PDI/TPI протоколу 62500 бит/с (после оптимизации будет увеличена до 125000 бит/с, у оригинала 250000 бит/с).
Что планируется добавить:
- Разобраться со скриптами и описать процедуру добавления в оболочку для PICkit 2 любых микросхем с последовательным программированием (на примере AT45DB021).
- Совместить PICkit 2 и AVRISP-mkII и переключаться между ними по нажатию кнопки на PICkit 2 (возможно не хватит ресурсов PIC18F2550).
Схема, печатная плата и библиотека в формате P-Cad 2002 (некоторые компоненты установлены по типу корпуса и не соотверствуют схеме. Сверяйтесь с вариантом ниже, в картинках)
Схема и печатная плата моего клона PICKit 2 (Найдена незначительная ошибка. Описание как исправить по ссылке на эскиз доработки.)
Полная печатная плата 1:1 в формате PDF отверстия 0.4
Минимальная печатная плата 1:1 в формате PDF отверстия 0.4
Схема и печатные платы универсального адаптера для программирования PIC/AVR/EEPROM(11LC/24LC/25LC/93LC) в DIP корпусах (обновлено 02.07.12)
Если Вы заинтересованы в развитии проекта, окажите поддержку.
Источники информации
AVR069: AVRISP mkII Communication Protocol.
Библиотека LUFA. http://www.fourwalledcubicle.com/LUFA.php.
AVR1612: PDI programming driver.
AVR918: Using the Atmel Tiny Programming Interface (TPI).