ATunvPRG — универсальный программатор

Закончено создание универсального программатора на базе микроконтроллера AT90USB162. Сам по себе «программатор» таковым не является, это всего лишь аппаратная оболочка для него, ориентированное под использование уже созданного сторонними разработчиками ПО.

На текущий момент произведена разработка схемы, разводка печатной платы, создана 3D модель (на рисунке), заказана и получена пробная партия печатных плат, собрано конечное изделие и проведено его начальное тестирование (тест общего функционирования и электрических соединений).

Основные возможности

— прошивка 16Mb/512Mb NAND Xbox 360 (FlashCatUSB);
— прошивка CPLD XC2C64A и Glith плат на его основе (FlashCatUSB);
— USB-UART (USB-COM) переходник (USBtoSerial из LUFA);
— прошивка микроконтроллеров AVR (AVR ISP MKII из LUFA);
— отладка и прошивка через JTAG (opendous-jtag);
— программирование микросхем памяти по интерфейсу SPI (FlashCatUSB);
— программирование памяти EEEPROM серии 24Сxx (прошивки Michael S. Ageev либо Kovlev);
— работа с SD/MMC картами памяти в режиме SPI (Teensy2 USB Mass Storage with an SD card);
— использование в качестве донгла для PS3 (hermes v4b и проект на GitHub заброшены уже 3 года).

Элементы управления

HWB. Этот джампер J5 служит для перехода в режим обновления прошивки. В нормальном режиме он разомкнут. Если его замкнуть, при подключении к компьютеру, либо при замыкании RESET, микроконтроллер перейдет в режим загрузчика и будет доступен для прошивки.
Типовое положение: разомкнут.

PWR. Двухпозиционный переключатель-джампер J3 для выбора напряжения питания микроконтроллера. При отсутствии перемычки (o  o  o) на VCC нет питания, микроконтроллер отключен, компьютером не распознается.
Перемычка в левом положении (o=o  o) подключает VCC к линии 5В порта USB, микроконтроллер работает от 5В с соответствующими логическими уровнями.
Перемычка в правом положении (o  o=o) подключает VCC к линии 3.3В линейного стабилизатора напряжения, микроконтроллер работает от 3.3В с соответствующими логическими уровнями.
Типовое положение: правое (o  o=o) 3.3V.

ISP. Разъем J1 для подключения внешнего внутрисхемного программатора. В качестве программатора может выступать такая-же плата. Может быть необходим, при замене bootloader, либо для изменения fuse.
Типовое положение: не используется.

RESET. Два центральных пина разъема ISP J1. При их замыкании контроллер переходит в состояние сброса. При последующем размыкании перезагружается. Может использоваться при проблемах перехода в режим обновления прошивки.
Типовое положение: разомкнут.

Питание

На плате присутствуют три линии питания: 5В, 3.3В, и VCC. Все три линии выведены на общий разъем.
5В — питание с порта USB. Для защиты применен самовосстанавливающийся предохранитель с номинальным током 0.1А.
3.3В — напряжение снимаемое с линейного регулятора напряжения.
VCC — напряжение питания микроконтроллера. Выбирается джампером PWR.

Режим обновления прошивки

В общем случает, для перехода в режим обновления прошивки необходимо замкнуть джампер HWB, после этого подать сигнал RESET. Для удобства использования, на данной плате реализована задержка сигнала RESET при первоначальной подаче питания. В связи с этим,
для перехода в режим загрузчика:
1. Отключить плату от компьютера, либо извлечь перемычку PWR и подождать 3 секунды (если плата была включена)
2. Установить перемычку HWB
3. Подключить плату к компьютеру, либо установить перемычку PWR с учетом необходимого напряжения питания,
либо с использованием RESET:
1. Установить перемычку HWB
2. Установить перемычку RESET
3. Снять перемычку RESET.
Для перехода в нормальный режим:
1. Отключить плату от компьютера, либо извлечь перемычку PWR и подождать 3 секунды (если плата была включена)
2. Извлечь перемычку HWB
3. Подключить плату к компьютеру, либо установить перемычку PWR с учетом необходимого напряжения питания,
либо с использованием RESET:
1. Извлечь HWB
2. Установить перемычку RESET
3. Снять перемычку RESET.
Для удобства использования можно вместо перемычек RESET и HWB использовать выносные кнопки (аналогичные кнопкам питания и сброса в корпусе компьютера).

Контакты под пайку

На разъем выведены 21 контакт общего назначения (5 контактов порта C, и по 7 контактов портов B и D), два контакта земли GND и контакты питания с напряжениями питания контроллера VCC, 3.3В, 5В.

Общий разъем


PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 3V3 GND VCC GND 5V
PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 PC7 PC6 PC5 PC4 PC2

На разъеме те же контакты, что и под пайку. Можно подключить разъем IDC-26, либо меньший с шагом 2.54мм при необходимости.

Предварительное тестирование

Тестовая прошивка (Проект для Atmel Studio 6.1 на GitHub)

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

* Copy This Password *

* Type Or Paste Password Here *

47 052 Spam Comments Blocked so far by Spam Free Wordpress