Программатор "STK500v2 by Petka"
- Altair
- Сверлит текстолит когтями
- Сообщения: 1276
- Зарегистрирован: Вс мар 01, 2009 17:49:41
- Откуда: Россия
Re: Программатор "STK500v2 by Petka"
Ничего ниоткуда подводить не надо, всё уже подведено на выходной разъём.
Посмотри схему и печатку.
Посмотри схему и печатку.
Ваше везение — в ваших руках: водите чёрную кошку на поводке.
Молчание не всегда означает согласие.
Молчание не всегда означает согласие.
Re: Программатор "STK500v2 by Petka"
foxghost писал(а):Altair писал(а):Запитывается от программатора, у прогера есть же выход.
Т.е. взять с USB +5V и подать на VCC. Я правильно понимаю.
Можно с ЮСБ, а можно от своего питания - главное землю не потерять.
- колоб
- Нашел транзистор. Понюхал.
- Сообщения: 194
- Зарегистрирован: Вт сен 28, 2010 17:45:31
- Откуда: Москва
Re: Программатор "STK500v2 by Petka"
ВСЕМ ДОБРЫЙ ВЕЧЕР! Прошу помощи собрал этот программатор правда с другого сайта ( http://avrdevice.ru/?page_id=43#comment-43 ) .не знал ,что здесь он обсуждается. Дело вот в чем - прошил отдельно контроллер .установил дрова. Он определился как ком 9. В терминале выдал такое как на фото 1 прилагаю ее. AVR студией когда подключаю к прогеру камень тоже вроде не ругается фото 2,но стоит начать ,читать в камне сигнатуру или фуз биты или флеш память, как выдает ошибку, как на фото3. Так-же в CV AVR также не читает. Кварц 14.31818мгц, перемычка на X2-X3. 6 раз мигает( контроллер в программаторе ATMEGA8A-AU) ФУЗЫ СТАВИЛ С ТАГО САЙТА,Т.Е. ГАЛКИ СТОЯТ НА SPIEN,CKOPT,BOOTSZ1,BOOTSZ0 ,BODEN. Прошу помощи и совета!!
- Вложения
-
- ЧТЕНИЕ КОНТ.jpg
- (75.43 КБ) 1675 скачиваний
-
- opr.kont.jpg
- (56.1 КБ) 1320 скачиваний
-
- ТЕРМИНАЛ.JPG
- (71.97 КБ) 1528 скачиваний
- колоб
- Нашел транзистор. Понюхал.
- Сообщения: 194
- Зарегистрирован: Вт сен 28, 2010 17:45:31
- Откуда: Москва
Re: Программатор "STK500v2 by Petka"
Забыл ,еще вопрос, кто нибудь в плате уже перепрошивал камень, хотел его прочитать другим программатором тоже STK500 МЕГА не читается при этом перемычку X2-X3 снимаю конечно, не мешает ли обвес камня и микруха FT232RL процессу перешивки контроллера программатора??
- колоб
- Нашел транзистор. Понюхал.
- Сообщения: 194
- Зарегистрирован: Вт сен 28, 2010 17:45:31
- Откуда: Москва
Re: Программатор "STK500v2 by Petka"
Все вопрос снимаю,проглядел один оторванный контакт, соединяющий программатор с программируемым камнем..! Проверил в трех оболочках ,шьет и читает везде великолепно!!(AVR STUDIO4, CV AVR ,AVRODUDE). Всем спасибо!!! 

- колоб
- Нашел транзистор. Понюхал.
- Сообщения: 194
- Зарегистрирован: Вт сен 28, 2010 17:45:31
- Откуда: Москва
Re: Программатор "STK500v2 by Petka"
Вот такой девайсик вышел! Облегченная версия. Читает флеш (тинку 13 ,85 и атмегу 8 пробовал) 10 сек по времени.,до других камней очередь не дошла,переходник надо делать на панельке с нулевым усилием...
- Вложения
-
- вид снизу.JPG
- (152.01 КБ) 2156 скачиваний
-
- вид сверху.JPG
- (136.3 КБ) 1724 скачивания
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Программатор "STK500v2 by Petka"
Выкладываю свою версию этого программатора:

1. Исходник переделан под IAR.
2. Структура программы приведена к нормальному виду. Ну и бардак там был!
Теперь текст разбит на логически завершенные модули. Интерфейс каждого
модуля максимльно простой и находится в соответствующем h-файле.
Никаких переменных с видимостью больше, чем в одном модуле.
Никаких магических чисел, все вычисляется на основе заданных констант.
3. Операция чтения байта по UART сделана неблокирующей. Это позволило
выполнять в фоне другие задачи. Пока это только управление светодиодом.
Для парсера команд введен таймаут, который задается константой в тексте.
4. Светодиод теперь делает короткие вспышки, когда программатор
находится в standby (питание подано, а кабель не подключен).
Когда кабель правильно подключен, светодиод горит непрерывно.
Когда программатор находится в режиме терминала, светодиод равномерно мигает.
5. Немного изменен формат сообщений в режиме терминала. Выкинуто всё лишнее.
Переписана обработка вводимых пользователем цифр.
6. Разводка платы сделана так, что для тактирования target-а
задействован вывод OC1A. Туда все время выдается частота 1 МГц.
7. Исправлен пересчет длительности SCK. В исходном варианте длителности
брались для AVR ISP, а не для STK-500. Правда, максимальную скорость
1.8 МГц получить не удалось, получилось максимум 600 кГц на кварце 14.7456 МГц.
8. Еще исправлено и переделано много чего.
9. Плата разведена под стандартный корпус 50 x 35 x 20 мм.
Плата односторонняя. Добавлен выключатель, который может подавать питание
на target от USB.

В архиве проект для IAR, печатная плата и схема в формате PCAD 2006 и в Adobe PDF.
P.S. Прошивка пока протестирована слабо, нет под рукой широкого выбора кристаллов.
Upd:
+ На схеме исправлена частота кварца на 14.7456 МГц, так как
hex-файл сделан именно для этой частоты.
+ Добавлена реализация команд CMD_SET_PARAMETER/CMD_GET_PARAMETER для
PARAM_OSC_PSCALE и PARAM_OSC_CMATCH. Теперь частота на выходе OC1A
задается из окна HW Settings.
По умолчанию задал CONFIG_PARAM_OSC_PSCALE = 1, CONFIG_PARAM_OSC_CMATCH = 1,
что соответствует частоте на выходе 1.843 МГц.
+ Изменено имя с AVRISP_2 на STK500_2, это позволило считывать VTarget.
Upd:
+ Изменено вычисление частоты SPI согласно параметру PARAM_SCK_DURATION.
В оригинальном STK-500 используется аппаратный модуль SPI, значения
параметра 0, 1, 2, 3 соответствуют значениям делителя 4, 16, 64, 128.
Дальше деление производится примерно на 24 * PARAM_SCK_DURATION.
Добавил пересчет с учетом реальной тактовой частоты F_CLK и длины
программного цикла формирования SCK (26 + 6 * (delay - 1)) тактов.
+ Задал частоту SPI по умолчанию 460.8 кГц.
+ Добавил эхо светодиода в ответ на команду компьютера (светодиод
гаснет на то время, пока парсер разбирает команду и она выполняется).
Upd:
+ Изменил логику мигания светодиода. Теперь период мигания не связан
с периодом опроса состояния динии RESET. Это дает возможность изменением
констант устанавливать любой период и длительность мигания светодиода.
При изменении состояния программатора происходит сброс таймера мигания.
Период мигания в IDLE увеличил до 2 сек.
+ Исправил ошибку, возникавшую при попытке работы с программатором при
отстутствующей связи с target. Теперь по таймауту линии SPI переводятся
в Z-состояние.
Upd:
+ Добавил в архив файл этикетки в формате Corel Draw 11 и pdf.
Upd:
+ Добавил в архив папку hex, в которой прошивки для кварцев 11.0592 МГц, 14.7456 МГц, 18.432 МГц.
Upd:
+ Добавил архив hex.zip, где только прошивки. Сделал версию со скоростью SPI 230.4 кГц, которую сделал по умолчанию, чтобы шить кристаллы с тактовой 1 МГц (так они обычно идут с завода, 8 МГц / 8 ). Такой скорости в оригинальном STK-500 нет, я ее ввел вместо 115.2 кГц. Студия будет говорить 115.2 кГц, но это на самом деле будет 230.4 кГц.
+ Добавил в hex.zip прошивку, которая позволяет из терминала менять имя устройства (STK500_2 или AVRISP_2).
Upd:
+ Убрал лишние прошивки, чтобы не путались. Оставил последнюю, где ряд скоростей SPI такой:
0 - 740 kHz*, 1 - 460.8 kHz, 2 - 230.4 kHz, 3 - 57.6 kHz и т.д.
+ Увеличил максимальную скорость (код скорости 0):
для кварца 11.059 МГц получается 580 кГц, для 14.7456 МГц - 740 кГц, для 18.432 МГц - 921 кГц
1. Исходник переделан под IAR.
2. Структура программы приведена к нормальному виду. Ну и бардак там был!
Теперь текст разбит на логически завершенные модули. Интерфейс каждого
модуля максимльно простой и находится в соответствующем h-файле.
Никаких переменных с видимостью больше, чем в одном модуле.
Никаких магических чисел, все вычисляется на основе заданных констант.
3. Операция чтения байта по UART сделана неблокирующей. Это позволило
выполнять в фоне другие задачи. Пока это только управление светодиодом.
Для парсера команд введен таймаут, который задается константой в тексте.
4. Светодиод теперь делает короткие вспышки, когда программатор
находится в standby (питание подано, а кабель не подключен).
Когда кабель правильно подключен, светодиод горит непрерывно.
Когда программатор находится в режиме терминала, светодиод равномерно мигает.
5. Немного изменен формат сообщений в режиме терминала. Выкинуто всё лишнее.
Переписана обработка вводимых пользователем цифр.
6. Разводка платы сделана так, что для тактирования target-а
задействован вывод OC1A. Туда все время выдается частота 1 МГц.
7. Исправлен пересчет длительности SCK. В исходном варианте длителности
брались для AVR ISP, а не для STK-500. Правда, максимальную скорость
1.8 МГц получить не удалось, получилось максимум 600 кГц на кварце 14.7456 МГц.
8. Еще исправлено и переделано много чего.
9. Плата разведена под стандартный корпус 50 x 35 x 20 мм.
Плата односторонняя. Добавлен выключатель, который может подавать питание
на target от USB.
В архиве проект для IAR, печатная плата и схема в формате PCAD 2006 и в Adobe PDF.
P.S. Прошивка пока протестирована слабо, нет под рукой широкого выбора кристаллов.
Upd:
+ На схеме исправлена частота кварца на 14.7456 МГц, так как
hex-файл сделан именно для этой частоты.
+ Добавлена реализация команд CMD_SET_PARAMETER/CMD_GET_PARAMETER для
PARAM_OSC_PSCALE и PARAM_OSC_CMATCH. Теперь частота на выходе OC1A
задается из окна HW Settings.
По умолчанию задал CONFIG_PARAM_OSC_PSCALE = 1, CONFIG_PARAM_OSC_CMATCH = 1,
что соответствует частоте на выходе 1.843 МГц.
+ Изменено имя с AVRISP_2 на STK500_2, это позволило считывать VTarget.
Upd:
+ Изменено вычисление частоты SPI согласно параметру PARAM_SCK_DURATION.
В оригинальном STK-500 используется аппаратный модуль SPI, значения
параметра 0, 1, 2, 3 соответствуют значениям делителя 4, 16, 64, 128.
Дальше деление производится примерно на 24 * PARAM_SCK_DURATION.
Добавил пересчет с учетом реальной тактовой частоты F_CLK и длины
программного цикла формирования SCK (26 + 6 * (delay - 1)) тактов.
+ Задал частоту SPI по умолчанию 460.8 кГц.
+ Добавил эхо светодиода в ответ на команду компьютера (светодиод
гаснет на то время, пока парсер разбирает команду и она выполняется).
Upd:
+ Изменил логику мигания светодиода. Теперь период мигания не связан
с периодом опроса состояния динии RESET. Это дает возможность изменением
констант устанавливать любой период и длительность мигания светодиода.
При изменении состояния программатора происходит сброс таймера мигания.
Период мигания в IDLE увеличил до 2 сек.
+ Исправил ошибку, возникавшую при попытке работы с программатором при
отстутствующей связи с target. Теперь по таймауту линии SPI переводятся
в Z-состояние.
Upd:
+ Добавил в архив файл этикетки в формате Corel Draw 11 и pdf.
Upd:
+ Добавил в архив папку hex, в которой прошивки для кварцев 11.0592 МГц, 14.7456 МГц, 18.432 МГц.
Upd:
+ Добавил архив hex.zip, где только прошивки. Сделал версию со скоростью SPI 230.4 кГц, которую сделал по умолчанию, чтобы шить кристаллы с тактовой 1 МГц (так они обычно идут с завода, 8 МГц / 8 ). Такой скорости в оригинальном STK-500 нет, я ее ввел вместо 115.2 кГц. Студия будет говорить 115.2 кГц, но это на самом деле будет 230.4 кГц.
+ Добавил в hex.zip прошивку, которая позволяет из терминала менять имя устройства (STK500_2 или AVRISP_2).
Upd:
+ Убрал лишние прошивки, чтобы не путались. Оставил последнюю, где ряд скоростей SPI такой:
0 - 740 kHz*, 1 - 460.8 kHz, 2 - 230.4 kHz, 3 - 57.6 kHz и т.д.
+ Увеличил максимальную скорость (код скорости 0):
для кварца 11.059 МГц получается 580 кГц, для 14.7456 МГц - 740 кГц, для 18.432 МГц - 921 кГц
- Вложения
-
- stk-500.zip
- (346.87 КБ) 6284 скачивания
-
- hex.zip
- (18.17 КБ) 2582 скачивания
-
- stk-500_in.jpg
- (76.22 КБ) 29658 скачиваний
-
- stk-500_view.jpg
- (84.27 КБ) 29006 скачиваний
Последний раз редактировалось Леонид Иванович Сб фев 04, 2012 12:26:36, всего редактировалось 13 раз.
- колоб
- Нашел транзистор. Понюхал.
- Сообщения: 194
- Зарегистрирован: Вт сен 28, 2010 17:45:31
- Откуда: Москва
Re: Программатор "STK500v2 by Petka"
Ничегонеработает хочу потестировать ,т.е собрать вашу версию данного прогера!!! Если возникнут вопросы ,думаю не откажите? Сразу и спрошу.. насчет HEX файла ясно,а фьюзы какие ставить LOW байт и HIGH байт , или биты? Все остальные манипуляции как с оригинальной версией(установка драйвера, чтение в терминале )? Пока все платку травану..в новом году!! Всех КОТОВЦЕВ С НАСТУПИВШИМ НОВЫМ ГОДОМ,УСПЕХОВ И ЗДОРОВЬЯ ВСЕМ!! 
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Программатор "STK500v2 by Petka"
колоб писал(а):Ничегонеработает хочу потестировать ... Если возникнут вопросы ,думаю не откажите?
Буду рад всем замечаниям и предложениям. При необходимости могу доработать исходник.
колоб писал(а):а фьюзы какие ставить LOW байт и HIGH байт , или биты?
Там же рядом с hex-файлом есть bat-файл для STK-500, который всё как надо прошивает вместе с фузами и локами.
Если что, HIGH = C9, LOW = FF.
колоб писал(а):Все остальные манипуляции как с оригинальной версией (установка драйвера, чтение в терминале )?
Да, с драйвером всё как обычно для FTDI. В терминале тоже аналогично, хотя я немного изменил формат сообщений. Символ \n игнорирую, так что должен работать перевод строки как \r\n, так и просто \r.
Re: Программатор "STK500v2 by Petka"
А может написать на данный счёт статью, а не городить здесь? 
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Программатор "STK500v2 by Petka"
KotKuzya писал(а):А может написать на данный счёт статью
Лень.
Re: Программатор "STK500v2 by Petka"
Ничегонеработает как всегда у Вас конфетка.Беру пример с ваших конструкций.
Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя.
.......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами.....
Притихли, не беспокоят, шёпотом обсуждают какой я плохой......
.......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами.....
Притихли, не беспокоят, шёпотом обсуждают какой я плохой......
- Angelus
- Встал на лапы
- Сообщения: 119
- Зарегистрирован: Чт авг 16, 2007 16:30:42
- Откуда: Харьковская обл.
Re: Программатор "STK500v2 by Petka"
Кто нибудь не добавлял в схему буфер с Z состоянием типа 74HC244, чтобы программатор не мешал работе прошитого микроконтроллера если он еще подключен?
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Программатор "STK500v2 by Petka"
А он и так не мешает. Все выходы программатора переводятся в Z.
-
MakSimbian
- Открыл глаза
- Сообщения: 41
- Зарегистрирован: Чт окт 07, 2010 23:53:13
- Откуда: Украина, Мелитополь
Re: Программатор "STK500v2 by Petka"
Ничегонеработает
Подскажите пожалуйста, если у меня нет другого программатора, могу ли я вашей версией программатора прошить "самого себя"? Если да то каким образом. Заранее благодарен!
Подскажите пожалуйста, если у меня нет другого программатора, могу ли я вашей версией программатора прошить "самого себя"? Если да то каким образом. Заранее благодарен!
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Программатор "STK500v2 by Petka"
Нет. Я не делал такой возможности. Сам свой первый AVR зашил с помощью Ponyprog. Ну а этот USB-программатор шил таким же, только с COM, которым уже несколько лет пользуюсь.
- колоб
- Нашел транзистор. Понюхал.
- Сообщения: 194
- Зарегистрирован: Вт сен 28, 2010 17:45:31
- Откуда: Москва
Re: Программатор "STK500v2 by Petka"
Всем добрый день! Платку под V3 версию прогера вытравил и адаптор к нему уже готов! Контроллер для программатора прошью отдельно при помощи этого же адаптора...
- Вложения
-
- платкаV3.jpg
- (186.83 КБ) 3594 скачивания
-
- SMDадаптор.jpg
- (175.19 КБ) 2940 скачиваний
- колоб
- Нашел транзистор. Понюхал.
- Сообщения: 194
- Зарегистрирован: Вт сен 28, 2010 17:45:31
- Откуда: Москва
Re: Программатор "STK500v2 by Petka"
Ничегонеработает вопрос такого рода ,пусть тупой ,но все же у вас на фото видна одна перемычка ,а в лау печатке их три? Две перемычки припаяны у вас со стороны дорожек?
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Программатор "STK500v2 by Petka"
Я выложил новую редакцию платы. На старой были перемычки в виде нулевых чип-резисторов, а все элементы были 0603. Мне это показалось неудобным.
P. S. Исходный пост и архив я обновляю, следите за обновлениями.
P. S. Исходный пост и архив я обновляю, следите за обновлениями.
- колоб
- Нашел транзистор. Понюхал.
- Сообщения: 194
- Зарегистрирован: Вт сен 28, 2010 17:45:31
- Откуда: Москва
Re: Программатор "STK500v2 by Petka"
Ничегонеработает ,что то новой редакции платы не нашел -с 1й перемычкой .Везде с тремя! Может не там ищу.. ,да все одно уже спаял V3 ,осталось камень и FT232 впаять,но после праздников в наличии нет.. Если не трудно ,какие камни вы им уже прошивали?