Главная » Микроконтроллеры
Призовой фонд
на июль 2017 г.
1. Осциллограф DSO138
Паяльник
2. Регулируемый паяльник 60 Вт
Паяльник
3. 200 руб.
От пользователей

Похожие статьи:


USB программатор микроконтроллеров AVR и AT89S, совместимый с AVR910

Это устройство поддерживает пословную и постраничную запись, используемую при программировании МК семейства AVR, и побайтную запись для МК AT89S53 и AT89S8252 семейства AT89S. Таким образом, с помощью данного USB программатора можно программировать все ныне существующие МК семейства AVR и МК AT89S53 и AT89S8252 семейства AT89S при поддержке этих МК со стороны управляющего программного обеспечения, установленного в компьютере. Программатор выполнен на основе драйвера от Objective Development и полностью совместим по командам с оригинальным программатором AVR910 от ATMEL. Рекомендую повторять его точно по схеме, показанной на рисунке. Удаление "лишних", на первый взгляд, деталей может привести либо к неправильному функционированию программатора, либо к выходу из строя порта USB компьютера.

USB программатор AVR и AT89S

Разъем Х1 соединяют стандартным кабелем с одним из имеющихся в компьютере гнезд порта USB. Плавкая вставка FU1 служит для защиты линий питания этого порта от случайного замыкания по цепям программатора. Диоды VD1 и VD2 - обычные выпрямительные с прямым падением напряжения 0,6...0,7 В - предназначены для понижения питания микроконтроллера DD1 до 3,6 В. Согласно документации, он может работать при таком напряжении питания с тактовой частотой вплоть до 14 МГц или немногим более.

Разъем Х2 соединяют с разъемом ISP программируемого устройства или с панелью программируемой микросхемы, напряжение питания на которую необходимо подать отдельно. На контакт 3 разъема Х2 выведены прямоугольные импульсы с частотой 1 МГц для "оживления" МК, у которого были ошибочно запрограммированы разряды конфигурации (fuses), отвечающие за тактирование. Этот сигнал генерируется постоянно и не зависит от режима работы программатора. Светодиоды HL1 и HL2 сигнализируют о текущих действиях программатора - соответственно о чтении информации из памяти программируемого микроконтроллера и о записи в нее. Светодиод HL3 включен, когда на программатор подано питание. Резисторы R11- R15 предназначены для согласования уровней сигналов МК DD1 с действующими во внешних цепях.

Перемычку S1 при начальном программировании МК DD1 устанавливают в положение "Мод." (противоположное ее положению на схеме). Подключив к разъему Х2 внешний программатор, выполняют загрузку управляющей программы в МК. После этого перемычку следует вернуть в показанное на схеме положение "Норм.". Для нормальной работы загруженной программы необходимо, чтобы в МК DD1 были запрограммированы (установлены в 0) разряды конфигурации SPIEN, CKOPT, SUT0 и BODEN, а остальные оставлены установленными в 1. Обычно в МК АТmega8, полученных непосредственно от изготовителя, разряд SPIEN уже запрограммирован.

Установив перемычку S2, возможно понизить тактовую частоту интерфейса SPI МК DD1 приблизительно до 20 кГц. Это необходимо для программирования МК семейства AVR, тактируемых от внутреннего генератора частотой 128 кГц. При отсутствующей перемычке S2 интерфейс SPI работает с частотой около 187,5 кГц. Это позволяет программировать МК с минимальной тактовой частотой 570 кГц (семейств ATtiny и ATmega), 750 кГц (семейства AT90S) и 7,5 МГц (семейства AT89S). Снимать и устанавливать перемычку S2 можно "на ходу", потому что при каждом обращении к интерфейсу SPI программа МК DD1 проверяет ее наличие. Не рекомендуется этого делать лишь при запущенном процессе записи/чтения программируемого МК, что может привести к искажению записываемой или читаемой информации.

Программирование МК при использовании утилиты AVRProg v.1.4 из пакета AVR Studio занимает вместе с верификацией 10...30 с в зависимости от объема памяти и тактовой частоты. Программатор был успешно протестирован и с программами ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP. Были запрограммированы МК AT89S53, AT89S8252, AT90S2313, AT90S8515, ATtiny13, ATtiny26, ATtiny45, ATtiny2313, ATmega48, ATmega8, ATmega8515, ATmega8535, ATmega16, ATmega32, ATmega64, ATmega128, AT90CAN128. Программа AVRDUDE оказалась с данным программатором несовместимой, она не все команды протокола AVR910 отрабатывает корректно.

При первом подключении изготовленного USB-программатора с правильно запрограммированным МК DD1 к компьютеру операционная система найдет новое устройство - AVR910 USB Programmer. Необходимо заметить, что этого не произойдет, если номинальная частота резонатора ZQ1 в программаторе отличается от 12 МГц. Это связано с особенностями работы USB и программы МК DD1. От предложения системы автоматически найти драйвер нужно отказаться и указать ей путь к файлу prottoss.avr910.usb.inf. Предупреждение, что драйвер не имеет цифровой подписи, следует проигнорировать. У меня возникли проблемы, когда после установки программатора в системе программа AVRProg v. 1.4 не смогла его обнаружить. Оказалось, что операционная система выбрала для программатора виртуальный порт СОМ9, а программа AVRProg способна работать только с портами СОМ 1-COM4. Изменить номер порта можно с помощью "Диспетчера устройств" Windows, пройдя по пути "AVR910 USB Programmer->Свойства->Параметры порта->Дополнительно->Номер->СОМ-порта".

Инсталляция программатора в системе Windows 2000 не отличается, в принципе, от описанной выше для Windows XP, но есть одна особенность: задержки в драйвере usbser.sys данной ОС искажают формируемые компьютером команды программатору и посылаемые программатором ответы на них. В чем дело, я пока не выяснил, но надежный способ устранения проблемы нашел. Достаточно заменить в системных папках Windows 2000 ..\winnt\system32\drivers\ и ..\winnt\ system32\dllcashe\ файл usbser.sys одноименным из Windows XP. Естественно, его придется подменять, загрузившись под другой ОС (например, с загрузочного диска).

Как правило, правильно собранный программатор с правильно запрограммированным МК DD1 в налаживании не нуждается. Единственное замечание: вход RESET программируемого МК может быть соединен с плюсом питания резистором номиналом не менее 10 кОм. Это связано с пониженным напряжением питания МК DD1 и наличием ограничительных резисторов в цепях управляющих сигналов. Если программатор не работает, прежде всего следует убедиться в отсутствии ошибок монтажа, обрывов и замыканий на его плате. Затем измерить напряжение между выводами питания МК DD1 (7 и 8). Оно должно находиться в пределах 3,5...3,8 В. Далее проверьте, работает ли тактовый генератор МК. Это можно сделать с помощью осциллографа, подключив его к выводу 10 DD1. Если осциллографа нет, подключите между выводом 10 и общим проводом через ограничительный резистор 330...510 Ом обычный светодиод (катодом к общему проводу). Если генератор работает, светодиод будет слабо светиться. Остается проверить, запустилась ли загруженная в МК DD1 программа. Один из признаков ее работы - наличие импульсов частотой 1 МГц на контакте 3 разъема Х2. Это можно сделать с помощью осциллографа или светодиода по методике, описанной выше. При замыкании пинцетом выводов кварцевого резонатора ZQ1 слабо светящийся светодиод должен случайным образом либо увеличивать яркость, либо гаснуть вовсе.

Также смотрите проект USBasp - USB программатор для микроконтроллеров Atmel AVR

Официальный сайт проекта - там сможете найти актуальное ПО, прошивки, драйвера

Радио №7, 2008г.

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

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
DD1 МК AVR 8-бит
ATmega8-16PU
1 Поиск в FivelВ блокнот
VD1, VD2 Выпрямительный диод
1N4007
2 Поиск в FivelВ блокнот
С1, С4, С6 Конденсатор0.1 мкФ3 Поиск в FivelВ блокнот
С2, С3 Конденсатор22 пФ2 Поиск в FivelВ блокнот
С5 Электролитический конденсатор22 мкФ 10 В1 Поиск в FivelВ блокнот
R1, R2 Резистор
68 Ом
2 Поиск в FivelВ блокнот
R3, R6, R9-R15 Резистор
330 Ом
9 Поиск в FivelВ блокнот
R4 Резистор
1.5 кОм
1 Поиск в FivelВ блокнот
R5 Резистор
1 МОм
1 Поиск в FivelВ блокнот
R7 Резистор
10 кОм
1 Поиск в FivelВ блокнот
R8 Резистор
100 Ом
1 Поиск в FivelВ блокнот
ZQ1 Кварц12 МГц1 Поиск в FivelВ блокнот
F1 Предохранитель0.1 А1 Поиск в FivelВ блокнот
VL1-VL3 Светодиод
АЛ307БМ
3 Поиск в FivelВ блокнот
J1 Джампер3 выв.1 Поиск в FivelВ блокнот
J3 Джампер2 выв.1 Поиск в FivelВ блокнот
USB Разъем USBUSBB-1J Тип В1 Поиск в FivelВ блокнот
ISP Разъем ISPBH-101 Поиск в FivelВ блокнот
Добавить все

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

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

Теги:

Рыжков А. Опубликована: 2008 г. 0 0
Я собрал 0 0
x

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

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

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

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

0
Сергей #
Как прошивка в 13 килобайт помешается в м/к c флэш-памятью 8 килобайт?
Ответить
0
Николай #
Молча! АТмега8 8-ми разрядный МК, и флэш память тоже, файл (прошивка) на компе 32/64 разрядная, и в МК она будет весить в 4 раза меньше!
Ответить
0
Smelter2 #
нет, неправильно
Отредактирован 23.06.2017 11:37
Ответить
0
prottoss #
Прошивка в HEX формате. Программой, которая программирует МК, она преобразуется в двоичный код, который и посылается программатору.
Ответить
0
Smelter2 #
А что, в двоичном виде одно и то же число занимает меньше места, чем в шестнадцатеричном? ну или наоборот...
В прошивке .HEX слева указаны двоеточия и адреса, эта информация не шьётся, эта информация говорит КУДА шить, но место в HEX файле занимает.
Откиньте адреса, данных будет не более 8 К
Ответить
0
Denis #
Собрал программатор в точности со схемой. Врубил и винда определила его как неизвестное устройство. Винда 7-ая, 64 бит. Сделал по инструкции с помощью программы Driver Signature Enforcement Overrider. Все также остался неизвестным устройством. А когда просто указываю на файл драйвера INF, то выходит сообщение, что не найдено совместимых драйверов. Проверка цифровых подписей отключена.
В чем может быть проблема ? Что мне сделать, чтобы программатор определился правильно?
Ответить
0
Oberstserj #
Denis! А с помощью чего вы шили прошивку в этот программатор?
Ответить
0
Denis #
Проблема с опознанием программатора решена!
НО! Возникла новая проблема: В CodeVision чтение происходит ооооооочень медленно. Объект чтения - ATmega 16. Если дело во фьюзах, то какие выставлять нужно? Я выставлял CKOPT=0, BODEN=0, SUT0=0.
Ответить
0
Graphit #
Как именно была решена проблема с опознанием? Можно чуть подробнее?
Ответить
0
Oberstserj #
Вот как заставить AVRStudio увидеть этот программатор и научить работать с ним - действительно вопрос. CVAVR тоже выдает ошибки.
prottoss, помогите разобраться как автор, пожалуйста.
Ответить
0
Эдуард #
Да да, я тоже не могу запустить его на AVR Studio 6... :( Подскажите пожалуйста...
Ответить
0
Nick #
Тут я смог подхватить этот программатор с помощью studio 4.1 под XP. Под Win7 у меня не получилось.
Ответить
0
Эдуард #
Nick, спасибо! А то уже всё на 7ке перепробовал :(
Ответить
0
Nick #
У меня никак не получается зашить данным программатором at89s53. Какой софт мне использовать? Так как в студии этот программатор не подхватывается или я делаю что-то не то?
Ответить
0
DiMAN #
Сколько все же сопротивление R4... 22 mF-это мили или мкФ?
Ответить
0
Сергей #
Программатор AVR910 - развод по Русски. Купил спаял, а прога версии 1.01 версией 1.4 и не пахнет, попытки скачать из инет пустая трата времени, связи с автором нет, так и валяется в столе
Ответить
0
tyomanik #
Отличный программатор! Вот мой: 1, 2, 3, 4
Ответить
0
prostomax #
AT89ls8252-12AU и AT89s8252 может записывать и стирать?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется сила тока?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Ветрогенератор МиниПК MK809V - 4 ядра, Android 4.4.2
вверх