Меню

Avr stk500 своими руками

ПРОГРАММАТОР STK500 НА ATMEGA8

Недавно решил сделать себе программатор STK500v2. Пользую в основном CodevisionAVR. Старый AVR910 не совсем подходил, да и нужен был внутрисхемный программатор. Долгие поиски в сети и чтение форумов привели меня к “AvrUsb500 by Petka”. Программатор был собран и я получил массу положительных эмоций – эффект примерно такой, как будто пересел с советского автопрома на иномарку! Конечно AVR910 надежен как танк – программная реализация USB в нем таких глюков не имеет. Но на тот момент это все были мелочи, по сравнению с преимуществами работы прямо из CodeVision и высокой скорости. Довольно долгое время эти два программатора служили мне верой и правдой, пока с AVR910 не пришлось расстаться. Вот и решил собирать очередной программатор.

К этому времени убедился, что столь любимая нашими радиолюбителями FT232 не так безгрешна как о ней думают. Было собрано несколько разношерстных устройств на этой микросхеме, все пожелания производителя в даташите были учтены, тонна драйверов перепробована на разном железе. Скажу больше – мой промышленный Chipstar XL имеет в качестве USB конвертера тоже FT232, и хоть и не использует VCP-драйвер но глючит тоже не слабо.

Эти все “выбрыки” за пару лет эксплуатации порядком надоели, потому решил модифицировать оригинальную схему. На глаза попалась CP2102 – USB-UART преобразователь. Простая схема, хорошие отзывы о самом производителе (SiLabs) и главное – доступная цена.

Схема программатора

Обвязка CP2102 выполнена исключительно по даташиту без каких-либо своевольных “художеств”, от себя добавлен лишь второй светодиод, индицирующий наличие питания.

Программирование контроллера производится внутрисхемно. Пятачки предусмотрены на плате. Установка фузов ATMega8:

  1. Субъективно все стало работать на 20-25% быстрее.
  2. Полностью пропали глюки присущие FT232. Определяется без проблем каждый раз, даже после быстрого “перетыкивания” USB, без проблем заработала со всеми моими шнурками.
  3. Драйвера моя Windows 7 вытянула с сервера обновления и поставила сама.

В дальнейшем коснусь лишь узла CP2102, так как работа самого программатора в сети расписана подробно.

Сразу хочу оговориться – проблемой “курицы и яйца” особо не заморачивался, все цепи самопрограммирования через USB вырезаны в угоду размеру. Эта компиляция программатора рассчитана больше на людей с более-менее приличной подготовкой. Причин тому несколько – корпус CP2102 MLP28 (5×5 мм) с контактными площадками на “пузе” вместо ножек – без определенных навыков не поставить, дорожки 0.25 мм – делал обычным утюгом.

Он стал намного быстрее, чем мой старый AVR910, купленный когда-то в магазине. Еще советую покрыть плату в несколько слоев PLASTIK-71 и обтянуть термоусадкой (по желанию). А все файлы к проекту скачайте на форуме. Сборка и испытание схемы — LED.

Форум по обсуждению материала ПРОГРАММАТОР STK500 НА ATMEGA8

Схема устройства цветодинамического сопровождения музыки, выполненного на базе драйвера LED индикатора LM3914.

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

Читайте также:  Дозатор для спиртного своими руками

Коммуникационный протокол UART — что это и как он работает, подробное описание интерфейса и распиновка разъёмов.

Источник

Avr stk500 своими руками

В сети развелось довольно много альтернативных прошивок для AVR-910. Одна из них позволяет превратить ваш AVR-910 в STK-500 путём простой перепрошивки и переустановки драйвера. Плюсы — скорость работы программатора, улучшенная совместимость с различными типами контроллеров. Минусы — существенных пока не обнаружил.

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

Прошиваемся, ставим драйвер, настраиваем codevision:

С новой прошивкой при подключении программатора появляется COM-порт, перемычка ‘low sck’ так же работает для понижения частоты, красный светодиод мигает при записи/стирании чипа, зеленый горит при «подключении к девайсу», на выходе «LED» генерируется 1 МГц. Всё как и задумывалось, но с одной проблемой я всё таки столкнулся, а именно в CodeVision на скорости 7200 возникает ошибка будь-то чтение или запись, на других скоростях всё работает.

Вот тут ставлю 7200:

После чего при попытке считывания вылезает вот такая вот штуковина:

Как выяснилось в дальнейшем не у одного меня такая проблема, но ведь на других скоростях работает и ещё как работает. То что раньше шилось около 10 минут, теперь шьётся 30 секунд. Конечно на всякий случай я держу оба контроллера один для STK-500, второй для AVR-910.

Одним из плюсов обновления является то, что перешитый программатор может работать с AVR Studio 5.0. Firmware конечно лучше не обновлять всё-таки у нас не настоящий STK500 ;).

Источник

Avr stk500 своими руками

STK500: Что же он умеет и как с ним работать.

Автор: moLCHec
Опубликовано 25.03.2008

Данная статья поможет при работе с фирменным STK500 и его клонами, а также раскроет тем кто еще не работал с данным программатором его функции.
STK500 это отладочный модуль с интегрированным программатором, предназначенный для разработки и отладки устройств на МК AVR. STK500 имеет ряд преимуществ выгодно отличающих его от других программаторов:
— возможность высоковольтного (HV) программирования;
— внутрисхемное программирование (ISP);
— возможность установки частоты ISP и HV интерфейса;
— возможность регулировки питающего VTG и опорного AREF напряжения;
— возможность регулировки ISP уровней;
— возможность обновления прошивки основного управляющего контроллера, благодаря чему программатор поддерживает все новинки от Атмел.
Недостатками STK500 на мой взгляд являются:
— COM интерфейс, отсутствующий на современных РС;
— большие габариты;
— отсутствие панелей с нулевым усилием сводит на нет программирование микросхем непосредственно в программаторе т.к. что бы достать микросхему из панели необходимо приложить немалое усилие, а в случае применения отвертки и пр. инструмента велика опасность повредить джампера и пр.
— наличие дополнительного источника питания, что еще больше усложняет применение программатора в «полевых» условиях и захламляет без того насыщенное рабочее место.

Для работы с программатором необходимо установить программу AVR Studio, являющуюся бесплатным средством разработки и отладки от ATMEL.

После установки запустите программу AVR Studio (рис. 1).
Для ручной установки необходимо нажать кнопку (рис. 2) установить при необходимости порт на котором находится программатор и нажать кнопку «Connect:».
Для автоматического определения программатора необходимо нажать кнопку .

Вкладка Main изображена на рис. 3.
Прежде всего, необходимо выбрать кристалл в выпадающем списке «Device and Signature Bytes» и установить вид программирования в выпадающем списке «Programming Mode and Target Settings»:
ISP mode — внутрисхемное программирование по SPI
HP/HVSP mode — программирование при повышенном напряжении
Если было выбрано внутрисхемное программирование ISP то представляется возможность установить частоту интерфейса SPI при программировании для этого необходимо нажать кнопку «Settings» после чего появится окно рис. 4.

Желаемая частота выбирается в выпадающем списке «ISP Freq:», после чего необходимо нажать кнопку «Write».
Кнопка «Erase Device» вкладки Main стирает выбранный кристалл.
Кнопка «Read Signature» чтение байтов сигнатуры кристалла.

Вкладка Program изображена на рис. 5:

Группа Device «Erase device before programming» — стирание кристалла перед программированием
«Verify device after programming» — верификация(проверка данных) после программирования

Группа Flash
Кнопка выбор HEX файла прошивки
Кнопка «Program» — программирование выбранного HEX файла данных Flash
Кнопка «Verify» — верификация(сравнение с HEX файлом) данных flash
Кнопка «Read» — чтение данных flash

Группа EEPROM
Кнопка выбор HEX файла данных EEPROM
Кнопка «Program» — программирование выбранного HEX файла данных EEPROM
Кнопка «Verify» — верификация(сравнение с HEX файлом) данных EEPROM
Кнопка «Read» — чтение данных EEPROM

Группа ELF Production File Format
Кнопка выбор ELF файла
Кнопка «Program» — программирование выбранного ELF файла
Кнопка «Save» — сохранение ELF файла

Вкладка Fuses изображена на рис. 6:

«Auto read» — автоматическое чтение Fuse байтов
«Smart warnings» — предупреждения при ошибке
«Verify after programming» — верификация после программирования
Кнопка «Program» — программирование Fuse байтов
Кнопка «Verify» — верификация Fuse байтов
Кнопка «Read» — чтение Fuse байтов

Вкладка функционально идентична вкладке Fuses.

Вкладка калибровки внутреннего генератора.

Вкладка HW Settings изображена на рис. 7:

Функции группы Voltages позволяют устанавливать напряжение питания МК VTG и опорное напряжение AREF.

Группа Clock Generator позволяет установить частоту на выводе SWCLK разъема HV программирования. Определяет частоту при программировании повышенном напряжением. Скроллингом устанавливается необходимая частота после чего нажимаем кнопку «Write».
Кнопка «Read» предназначена для чтения текущей частоты.

Группа Firmware Upgrade
Кнопка «Upgrade» — автоматическое обновление.

Информация о версии программатора.

Данная вкладка предназначена автоматического программирования установленных параметров предыдущих вкладок. Удобно если необходимо прошить несколько процессоров подряд с одинаковыми параметрами. Задаем все что нужно в соответствующих вкладках, устанавливаем галочки и нажи-маем Start.

Главное окно программы изображено на рис. 9:

Для отображения окна программирования необходимо нажать кнопку , окно программирования изображено на рис. 10.

Выбираем программатор STK-500/AVRISP и COM порт на котором установлен программатор рис. 10 нажимаем кнопку «ISP Options. » рис. 11

Нажимаем кнопку «Browse. » и указываем путь к файлу «Stk500.exe», по умолчанию программа AVR Studio устанавливается на диск C, тогда файл находится по адресу C:Program FilesAtmelAVR ToolsSTK500Stk500.exe

Главное окно программы представлено на рис. 12:

В меню «Settings» выбираем вкладку «Programmer» (рис. 13)
В выпадающем списке «AVR Chip Programmer Type» выбираем «Atmel STK500/AVRISP», в выпадающем списке «Communication Port» выбираем порт на который установлен программатор (рис. 13)

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

Данный программатор обеспечивает автоматическое обновление прошивки.
Версия прошивки должна соответствовать установленной на РС версии AVR Studio.
Для входа в режим программирования необходимо при включении питания удерживать кнопку Program, после включения программатора через несколько секунд кнопку можно отпустить.
Обновление прошивки можно осуществлять следующими средствами:

1. утилитой AVR Prog находящейся во вкладке Tools Рис.14

В появившемся окне необходимо выполнить установки в соответствии с рис. 15:

Файл прошивки STK500.ebn находится в директории в которую установлена AVR Studio в папке STK500, по умолчанию C:Program FilesAtmelAVR ToolsSTK500

2. Утилитой Upgrade, находящейся в директории в которую установлена AVR Studio в папке STK500, по умолчанию C:Program FilesAtmelAVR ToolsSTK500.
При запуске утилиты Upgrade она автоматически ищет программатор в диапазоне портов COM1-COM6 и если программатор при включении вошел в режим программирования утилита уведомит о том, что готова к обновлению рис. 16

Для запуска процесса обновления необходимо нажать кнопку «Start Upgrade», после чего запустится процесс обновления. О завершении обнов-ления утилита известит соответствующим уведомлением.
Если по каким либо причинам обновление прошивки было прервано, необходимо повторить процедуру обновления.
Если по каким либо причинам обновление прошивки утилитой Upgrade невозможно воспользуйтесь утилитой AVR Prog п.1.

Таблица 1. Обозначение и функции выводов, используемых при программировании в параллельном режиме

Таблица 2. Функции сигналов XA0 и XA1.

Подключение МК при HV программировании

ATmega8515, ATmega8535, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164P, ATmega165, ATmega165P, ATmega1650,ATmega169, ATmega169P, ATmega1690, ATmega32, ATmega324P, ATmega325, ATmega325P, ATmega3250, AT-mega3250P, ATmega329,ATmega329P, ATmega3290, ATmega3290P, ATmega323, ATmega64, ATmega640, ATmega644P, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega103, ATmega128, ATmega1280, ATmega1281, ATmega1284P, AT90CAN32, AT90CAN64, AT90CAN128, ATmega2560, ATmega2561, AT90USB162, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287

AT90S2333, AT90S4433, ATmega48(P), ATmega8, ATmega88(P), ATmega168(P), ATmega328(P)

SCI-тактовый вход, SDO(PB2)-DATA0, SII(PB1)-DATA1, SDI(PB0)-DATA2 ATtiny11, ATtiny12, ATtiny13, ATtiny22, ATtiny25, ATtiny45, ATtiny85, ATtiny15

SCI-тактовый вход, SDO(PA4)-DATA0, SII(PA5)-DATA1, SDI(PA6)-DATA2 ATtiny24, ATtiny44, ATtiny84

XA1 подключается на PB2, BS2 не подключается
BS1 подключается на PB3, PAGEL не подключается
ATtiny26, ATtiny261, ATtiny461, ATtiny861

XA1 подключается на PB2, BS2 не подключается
BS1 подключается на PB3, PAGEL не подключается
ATtiny2313

Кстати, если программатора у вас нет, а собирать лень, то вот тут можно прикупить вполне уже собранный.

Источник

Сделай сам © 2021
Внимание! Информация, опубликованная на сайте, носит исключительно ознакомительный характер и не является рекомендацией к применению.

Adblock
detector