Caйт
разработчика:
http://prottoss.com
Программатор
микроконтроллеров
AVR / 89S совместимый
с AVR910
Программатор
выполнен на основе
драйвера от Objective Development
и полностью
совместим по
командам с
оригинальным
программатором
AVR910 от ATMEL.
Описание оригинальной
схемы
программатора
можно взять в
Application
Note AVR910: In-System Programming, а
список
поддерживаемых
команд можно
посмотреть в Application
Note AVR109: Self Programming
Конструкция:
Схема
программатора
приведена на
рисунке ниже.
Предохранитель
F1 служит для
защиты линий
питания
порта USB от
случайного
замыкания по
цепям
питания
программатора.
Диоды VD1, VD2 –
обычные
выпрямительные,
с прямым
падением
напряжения
~0,6…0,7В,
предназначены
для понижения
питания
микроконтроллера
DD1 до 3,6 В. Светодиоды
VL1, VL2
сигнализируют
о текущих
действиях
программатора,
и,
соответственно,
обозначают
режимы
чтения и
записи.
Светодиод VL3
служит для
сигнализации
подачи
питания на
программатор.
Джампер J1-J2
служит как
для
начального
программирования
микроконтроллера
(замкнут J1 - MODify),
так и для
использования
в качестве
разъема программатора
(замкнут J2 - NORMal) .
Резисторы R10 - R14
предназначены
для согласования
уровней
сигналов
контроллера
программатора
и
программируемого
контроллера.
С помощью J3 LOW SCK
возможно
понижать
тактовую
частоту
порта SPI МК
программатора
до ~20 кГц. При
разомкнутом
джампере
частота SPI
нормальная,
при замкнутом
- пониженная.
Переключать
джампер
можно "на
ходу", так как
управляющая
программа МК
программматора
проверяет
состояние
линии PB0 при
каждом
обращении к порту
SPI. Не
рекомендуется
переключать
джампер при
запущенном
процессе
записи/чтения
программируемого
МК, т.к., скорее
всего, это приведет
к искажению
операции
записи/чтения.
Данный
джампер
введен для
возможности
программирования
МК AVR,
тактированных
от внутреннего
генератора 128
кГц.
Cкорость
работы порта
SPI МК
программатора
при
разомкнутом
джампере J3
равна 187,5 кГц.
Это
позволяет
программировать
контроллеры
с тактовой
частотой
примерно от 570
кГц для tiny/mega, 750
кГц для 90S и 7,5
МГц для 89S. Контроллеры
программируются
от 10 до 30 секунд
вместе с
верификацией
в
зависимости
от объема FLASH
памяти и
тактовой
частоты. На
вывод LED разъема
ISP выведен
меандр с
частотой 1
МГц для "оживления"
МК, у которых
были
ошибочно запрограммированы
фьюзы,
отвечающие
за
тактирование.
Сигнал
генерируется
постоянно и
не зависит от
режима
работы программатора
Программатор
тестировался
с программами
AVRProg v.1.4 (входит в
пакет AVRStudio),
ChipBlasterAVR v.1.07 Evaluation , AVROSP
(ATMEL AVR Open Source Programmer), CodeVisionAVR .
Кроме того,
программатор
тестировался
с программой AVRDUDE,
однако,
программа с
данным
программатором
не
совместима,
так как не
все команды
протокола AVR910
отрабатывает
корректно.
Программатор
позволяет
программировать
все
контроллеры
AVR,
поддерживающие
ISP (In System Programming -
Программирование
В Системе), а
так же МК
серии 89S - 89S53 и 89S8252. На
данный
момент с
вышеперечисленными
программами
протестировано
программирование
контроллеров
89S53, 89S8252, 90S2313, 90S8515, ATtiny13, ATtiny26, ATtiny45, ATtiny2313,
ATmega48, ATmega8, ATmega8515, ATmega8535, ATmega16, ATmega32, ATmega64,
ATmega128, AT90CAN128.
Я
настоятельно
рекомендую
повторять
схему
один-в-один,
так как
выкидывание
"лишних"
деталей из
схемы может
привести
либо к неправильному
функционированию
программатора,
либо к
возможному
выходу из
строя USB порта
на РС, за что,
естественно,
я ни какой
ответственности
не несу.
Прошивка
FUSE BITS:
Для
нормального
функционирования
контроллера
в схеме
необходимо,
чтобы были
запрограммированны
(установленны
в "0") биты SPIEN, CKOPT и SUT0.
Обычно МК,
идущие с
завода, т.е.
новые, имеют
уже
запрограммированный
бит SPIEN. Так же
желательно
(но не обязательно)
запрограммировать
(установить в
"0") бит BODEN, что
разрешит
работу
встроенного
в МК broun-out
детектора.
При
незапрограммированном
бите BODLEVEL
уставка
срабатывания
broun-out детектора
будет на уровне
2,4...2,9 Вольт...
Остальные
биты должны
быть незапрограммированны
(установленны
в "1")
Инсталляция:
Windows XP
Прошить
контроллер.
Подключить
свежеиспеченный
программатор
к РС через
свободный
разъем USB. ОС
найдет новое
устройство – AVR910
USB Programmer, при
предложении
автоматически
найти драйвер,
отказаться, и
указать путь
к файлу prottoss.avr910.usb.inf.
При
предупреждении,
что драйвер
не имеет цифровой
подписи,
послать ОС в
эротическое путешествие.
Небольшие
проблемы у
меня возникли,
когда, после установки,
программа AVRProg v. 1.4
не смогла
найти программатор,
так как ОС
присвоила
ему номер COM9.
После
мониторинга
портов
оказалось,
что AVRProg ищет
устройство
только на
потрах COM1 - COM4.
Изменить
номер порта
можно, если
зайти в
диспетчере
устройств в: AVR910
USB Programmer ->
Свойства–>
Параметры
порта ->
Дополнительно
-> Номер
COM-порта
Windows 2000
В принципе,
инсталяция
не
отличается
от описанной
выше для Windows XP, но
есть одно НО -
задержки в
драйвере usbser.sys
портят
цепочку
команд от ПО
на РС до
программатора
и,
соответсвенно,
цепь ответов
обратно от
программатора
до ПО на РС...
Проблему я
пока не
установил, но
есть решение...Конечно
не самое
красивое, но
работает
надежно :-)
Необходимо
заменить
файл usbser.sys в
системных
папках Windows 2000 на
аналогичный
от Windows XP. Это
папки ...\winnt\system32\drivers\ и ...\winnt\system32\dllcashe\.
Файл usbser.sys от Windows XP SP1
можно взять здесь
. Естественно,
что драйвер
придется
подменять загрузившись
под другой ОС
(например с
загрузочного
диска). Так
как ядра этих
двух ОС очень
схожи, то
драйвер от ХР
прекрасно
себя чувствует
под 2000 :-) По
крайней мере,
я протестировал
еще
несколько
устройств,
прикидывающихся
USB CDC Class, и все они
работали как
обычно...
Попытки
инсталировать
драйвер от ХР
через
установочный
файл, к
сожалению, ни
к чему не
привели. Если
кто то знает,
как это можно
сделать, буду
признателен.
Файлы:
Все архивы
содержат
файл
прошивки,
установочный
inf-файл и схему
в формате Adobe pdf.
Кроме этого
старые
версии
содержат
описание в
виде старой html
страницы.
avr910_usb_programmer.files.ver.1.01.rar Версия
от 25.08.2006. Автоподстройка
частоты SPI, что
немного прибавляет
скорость
программирования,
однако,
вследствии
этого, есть
проблемы с
работой на
некоторых
компьютерах
из-за
таймаута ожидания
ПО
программатора
avr910_usb_programmer.files.ver.1.02.rar Версия
от 21.09.2006. Нет
автоподстройки
частоты, но
за то появилась
генерация
меандра на
вывод LED
ISP-разъема.
Имеется
ошибка в
прошивке,
связанная с
установлением
на выводе RESET
ISP-разъема лог.
"0" при первом
включении
программатора.
Вывод
остается в
таком
состоянии до
первого
программирования
или входа в
меню установки
фьюз-битов...
avr910_usb_programmer.files.ver.1.03.rar Версия
от 31.10.2006. Исправлена
ошибка версии 1.02.
avr910_usb_programmer.files.ver.1.04.rar Версия
от 16.12.2006. Добавлено
подключение
внутреннего pull-up
резистора ко
входу MISO МК
программатора
во время
программирования
таргета.
Возможно,
будет
полезно при
чтении плат с
пониженным
напряжением
питания, да и
вообще,
думаю,
положительно
скажется на
надежности
чтения
программируемого
МК...
avr910_usb_programmer.files.ver.1.05.rar Версия
от 17.01.2007. Добавлен
джампер J3 LOW SCK
для
понижения
тактовой
частоты
порта SPI программатораВ
настоящий
момент самая
свежая
версия прошивки
Вы можете
свободно
пользоваться
материалами
данной
публикации в
образовательных
и
некоммерческих
целях.
Перепечатка,
публикация в
Интернете,
журналах,
использование
в
коммерческих
приложениях
– возможна
только после
согласования
с автором
English
version
На
главную
Написать
мне
Рыжков
Андрей aka PROTTOSS
последнее
обновление:
17.01.2007