Перейти к содержанию
    

Программатор Dimoniprog (USB, STK500v2 совместимый, c изоляцией, ПУ, питанием target)

Я не въеду, зачем нужны самопальные программаторы (ваш, PROTOSSa, avreal), если имеется стандартный AVR ISP-2 от Atmela.

Дело ещё и в том, что для AVRISP требуется родной софт и драйвер, а это в сумме около 100МБ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ВНИМАНИЕ! На схеме замечена ошибка! Потерялся 3 вывод контроллера - его надо на землю (соединить с 5 и 21). Сори :05:

-----------------

Не понял почему я не могу отредактировать свою тему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Dimonira:

Спасибо за интересную разработку.

Не принимайте близко к сердцу сомнения скучных людей в целесообразности этого дела.

Лично мне могут пригодится ваши исходники для осуществления давнишнего намерения "скрестить"

сериальные программаторы для АВРов и ПИКов. Для этого не хватало вразумительных Си-шных исходников. Теперь они есть.

Что касается вашего железа, то тут все дело вкуса и предпочтений. Например, я бы вашу Мегу + оптоизолятор+ FTDI заменил на что-нибудь типа PIC18F2550. В результате получилась бы более компактная схема примерно за ту же цену, правда, без опторазвязки. Понимаю, что программатор для АВР , сделанный на ПИКе, может вызвать очередную волну религиозных войн, так что не буду настаивать на этом решении ;)

Действительно, в этом случае мы получим по железу что-то очень похожее на pickit-2 - известный программатор для пиков с открытыми исходниками. Было бы здорово туда же добавить и АВРы (при незначительной доработке схемы). Если будет время, попробую смастерить что-то такое. И в USB-шный вариант PICSTARTa тоже можно попробовать внедрить ваш софт.

В общем, спасибо, вы сделали интересное и полезное дело!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В результате получилась бы более компактная схема примерно за ту же цену, правда, без опторазвязки.

Ну так есть же такая, на Mege8. Если хотите, можно было бы at90usb* использовать. Но на FT232 или там CP2102 получается более прямое и надежное решение. И развзка не лишняя, тем более что сделана так просто и красиво.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то меня пропёрло этими программаторами :)

Сейчас разработал усовершенствованную схему. Попробую собрать (вот только денег на плату жалко :( )

Улучшение в том, что теперь питать таргет можно разными фиксированными напряжениями: 5; 3.6; 3.3; 3; 2.7; 1.8 В (выбирается перемычкой). От этого же напряжения питается MEGA88V, - теперь её взял, чтобы работала во всём диапазоне питаний. Преобразователи уровня переставил (и другие взял, - 74lvc1t45) - поставил между развязкой и MEGA88V. Так что теперь MEGA88V работает с таргетом на одном напряжении питания и порт ISP "обслуживает" напрямую. Так что тогда наверняка должна будет шиться сама с того же порта ISP. В общем, реализовал идею, предложенную ukpyr. Мне такой вариант больше понравился.

Кроме этого вывел развязанный RS-232 (RX/TX) наружу (для шитья ARM-ов, например) и сделал сразу разъём а-ля PonyProg для первичной прошивки плюс может ещё для чего: eeprom и т.п., что можно шить через PonyProg (тупо выводить весь интерфейс RS-232 с FT232 не стал).

Сейчас разведу плату, на выходных подправлю софт под MEGA88V и тоже сюда положу.

 

Спасибо за интересную разработку.

Рад что пиргодился.

Лично мне могут пригодится ваши исходники для...

Для того и выложил, дерзайте!

В том и мысль была, что есть софт, сделанный под "идею" (USB->FT232->MCU->ISP), а железяка может быть разнообразной, (не противоречащей "идее").

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так есть же такая, на Mege8. Если хотите, можно было бы at90usb* использовать. Но на FT232 или там CP2102 получается более прямое и надежное решение. И развзка не лишняя, тем более что сделана так просто и красиво.

Прямое решение такое, при котором используется минимум деталей. С FT232 не работал, а вот связка ср2102+ADUM+мега (в моем случае была Мега88) - многократно опробована и хорошо себя зарекомендовала. Интеренсо, что ср2102 была "разогнана" до 2Мбит, при этом все очень устойчиво работало, включая и ADUM, который обязан был работать только на 1Мбит !

Что касается развязки, которая "сделана так просто и красиво" , то могу сказать, что сделать её по-другому было бы очень трудно ;)

Возвращаясь к скрытому подталкиванию автора к схеме pickita-2 могу заметить, что для формирования переменного питания там использовался ШИМ. И для VPP тоже свой ШИМ с повышающим преобразователем.. Это удобно, а вдруг автор все-таки захочет реализовать высоковольтное программирование - а тут уже ПОЛНОСТЬЮ ГОТОВАЯ схема ! ;)

Изменено пользователем SKov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прямое решение такое, при котором используется минимум деталей. С FT232 не работал, а вот связка ср2102+ADUM+мега (в моем случае была Мега88) - многократно опробована и хорошо себя зарекомендовала. Интеренсо, что ср2102 была "разогнана" до 2Мбит, при этом все очень устойчиво работало, включая и ADUM, который обязан был работать только на 1Мбит !

А я вот с CP2102 не работал. В первую очередь потому, что паять её проблематично, а дома вообще никак. Так что когда весь девайс паять легко, наличие такого компонента не рентабельно даже в "промышленных масштабах". А связка FT232 + что-либо хорошо себя зарекомендовала. Паять можно. Скорость, кстати, если мне не изменяет память до 5 Мбит возможна, хотя мне такое никогда не требовалось.

ADUM-ы тоже есть на разные скорости. Смотря какая буква в обозначении. Возможно, именно поэтому 1-мегабитный и работал на повышенной скорости, - их же из "одной бочки разливают", нанося разную маркировку уже потом.

Возвращаясь к скрытому подталкиванию автора к схеме pickita-2 могу заметить, что для формирования переменного питания там использовался ШИМ. И для VPP тоже свой ШИМ с повышающим преобразователем.

Почему-то у меня нет доверия к схеме, которая питает ШИМ-ом саму себя. Если делать раздельное питание, то смысла в ШИМ особо не вижу - с перемычками и LDO имхо намного проще и наверное дешевле (с учётом трат на софт, отладку).

Это удобно, а вдруг автор все-таки захочет реализовать высоковольтное программирование - а тут уже ПОЛНОСТЬЮ ГОТОВАЯ схема ! ;)

Вот до сих пор не понял, а надо ли кому-то это высоковольтное программирование? Мне так ни разу и не потребовалось. А со временем оно наверное вообще будет уходить как пережиток прошлого.

Если его делать, то тогда надо прикидываться STK500, а не AVRISP. Отсюда полезут разные заморочки. Тогда уж точно надо управлять питанием таргета по протоколу STK500. А остальное, тоже делать? Вот и понеслась. Повторять STK500, а смысл?

А так хоть (как AVRISP) получается нормальный законченный девайс, не подменяющий собой STK500. Плюс допвозможности, не связанные с Атмелами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я вот с CP2102 не работал. В первую очередь потому, что паять её проблематично,

...

Почему-то у меня нет доверия к схеме, которая питает ШИМ-ом саму себя.

 

Вот до сих пор не понял, а надо ли кому-то это высоковольтное программирование? STK500.

....

Плюс допвозможности, не связанные с Атмелами.

Ну, ср210х паяется на коленке руками без всяких проблем. Более того, этот чип весьма устойчив к перегреву. Я его для эксперимента 3 раза выпаивал строительным феном самым жестоким образом, а потом снова запаивал паяльником - и он работал.

В pickit-е схема не питает сама себя от шима. Вообще, понижение питания меги для понижения уровня выходных сигналов - это слабое место вашей разработки . Я слышал, что профи так не делают ;). Привязка сигналов к выходному питанию в pickite сделано грамотно - с помощью согласователей уровня (на одном транзисторе на каждую линию).

Высоковольтное программирование бывает нужно. И не только для шитья фузов старых тинек.

Та же Мега88 у меня шьются в STK500 только в высоковольтном режиме, т.к. ресет используется в качестве выхода (ножек не хватало). Прикидываться STK500 хотя бы в ограниченном варианте было бы неплохо. Но, видимо, это уже сложно. Жаль.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прямое решение такое, при котором используется минимум деталей. С FT232 не работал, а вот связка ср2102+ADUM+мега (в моем случае была Мега88) - многократно опробована и хорошо себя зарекомендовала.

Так правильно - это тоже, что и в топике. Я имел ввиду вариант, когда usb внутри mcu - с одной стороны минимум деталей, с другой - развязку уже не прикрутишь.

ср2102 я купил горсть. С дуру. Надеялся, что обойдется, но при близком рассмотрении стало понятно, что эти корпуса для печки и руками их не поставить. Не поставить так, чтобы не было потом мучительно больно - качество пайки не проверить, поэтому паять нужно как положено.

 

зы: Высоковольтное интересно, для разных восьминогих. А куча разъемов, как кто-то сказал выше, (мне) не нужна - ISP/UART/JTAG/DW можно вывести через один, если не через 6-пиновый, то через 10-пиновый. А питание можно взять от таргета.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще, понижение питания меги для понижения уровня выходных сигналов - это слабое место вашей разработки . Я слышал, что профи так не делают ;).

Вы доверяете слухам? Это чем же именно это слабое место? ВСЁ работает в ШТАТНОМ режиме.

Ну вот теперь знайте, - я так делаю. Мой более чем 20-летний опыт радиоинженера (не считая института и любительства) мне внутренним голосом нашептал, что так делать можно :)

Когда найдёте этого профи, потребуйте у него объяснений. Потом расскажите. Посмотрим что это за Сухов такой :)

Привязка сигналов к выходному питанию в pickite сделано грамотно - с помощью согласователей уровня (на одном транзисторе на каждую линию).

Эту схему я не видел, не знаю. Только с ваших слов. Я бы не сказал, что на транзисторах - это сильно грамотно. Это просто один из путей "обхода" проблемы малой кровью. Так что лучше просто этой проблемы не иметь, чтобы всё уже было согласовано.

Та же Мега88 у меня шьются в STK500 только в высоковольтном режиме, т.к. ресет используется в качестве выхода (ножек не хватало).

Вот это как раз не очень правильно. Ещё работая в ящике сразу после института (особенно на войну), научился понимать простую вещь - всегда должен быть запас: по количеству ножек в разъёмах, выводов микросхем, по току питания, по вольтажу комплектующих, по производительности процессора, по объёму памяти и т.д. и т.п. Сейчас с этим нет проблем. Контроллеры настолько дёшевы, что парить себе мозг, экономя на копейках, вместо того чтобы взять контроллер на 30руб дороже, просто себе потом дороже. Не видел ни одного девайса, который не требовалось потом доработать, что-то улучшить, добавить и т.д. Если же нет запаса, это приведёт к глобальным переделкам.

Прикидываться STK500 хотя бы в ограниченном варианте было бы неплохо. Но, видимо, это уже сложно. Жаль.

Это не столько сложно, сколько не нужно. У меня была такая мысль, но я её отбросил за ненадобностью. И потом не очень понятно насколько этот вариант может быть ограниченным. Сегодня Студия на какую-то неадекватную реакцию вашего программатора посмотрит сквозь пальцы, а завтра новая версия Студии пошлёт куда подальше. И что? Это ненужный гимор.

 

 

А питание можно взять от таргета.

Ну дык это ж не всегда можно. Некоторые вообще питание умышленно не выводят. Так что лучше иметь путь преодоления, - поставить своё питание. Благо с USB порта его взять не проблема. Конечно, всё что угодно от него не запитаешь, это понятно, мощи то только 2,5Вт максимум. И всё же, сегодня при малых потреблениях современных микросхем, такой мощи хватит для очень многих вариантов девайсов.

Но, кроме того, может понадобиться вариант прораммирования отдельно взятых чипов. Что тогда? Надо же запитать как-то. Тут то питание с программатора будет очень удобно. Подцепил панельку и только чипы успевай перетыкать.

 

качество пайки не проверить

Проверить то можно... Рентгеном. Тоже недешёвая процедура :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы доверяете слухам? Это чем же именно это слабое место? ВСЁ работает в ШТАТНОМ режиме.

Да не горячитесь, все нормально. Просто мне подумалось, что проще мудрить с преобразователями, чем выбирать более дорогой МК. Ну, если все штатно, то вопрос не в правильности схему, а в её оптимальности. Это уже дело вкуса, а о вкусах не спорят ;)

 

Эту схему я не видел, не знаю. Только с ваших слов. Я бы не сказал, что на транзисторах - это сильно грамотно.

Транзистры - это сильно дешево. Но для такой разработки дешевизна не на первом месте, иначе бы не было опторазвязки, ДС-ДС, и прочих наворотов.

 

Проверить то можно... Рентгеном. Тоже недешёвая процедура :(

Можно рентгеном, а еще можно включить и попробовать - работает или нет.

Для такой "домашней" разработки вполне удобный и приемлемый способ ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так что лучше иметь путь преодоления, - поставить своё питание.

В принципе, если ДЦДЦ небольшой, т.е. занимает не много места, можно просто его не ставить. Т.о. будет два варианта питания кто-кого.

 

Проверить то можно... Рентгеном. Тоже недешёвая процедура

Так и запаять, конечно, можно, только как-то это бессмысленно, пока есть выводные. Когда-то очень давно весьма приветствовал появление SMD(T) технологии и сразу отказался от монтажа в отверстия. А сейчас выводные SMD компоненты активно вытесняются безвыводными и (пока?) непонятно, что с ними делать. На коленке уже не спаяешь, а заказывать полный цикл на производстве ради изготовления какой-нибудь домашенй поделки для души выглядит что-то уж слишком дорого.

 

зы: Да, перечитал, пересмотрел - новые восьминожки без HV шьются.

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно рентгеном, а еще можно включить и попробовать - работает или нет.

Для такой "домашней" разработки вполне удобный и приемлемый способ ;)

Этот способ хорош только тогда, когда новый девайс спаял, включил, а он работает.

А вот если не работает, то тогда на что думать? Толи припаяли плохо, толи косяк схемы, толи неисправная микруха и т.д.

Рентген же может сказать почти наверняка - нормально припаяно или нет.

 

------------------------------

Пока пришлось прервать работу над новым вариантом схемы из-за срочной работы над автономным микропрограмматором (сейчас буду строчить про него новую темку), а пока решил уточнить кое-что.

Есть у меня проекты, в которых несколько вариантов выходных конфигураций (в одном проекте), поэтому описанные ранее команды в "Configure Tools..." следует поправить. Надо в аргументах двух команд заменить $PROJ_FNAME$ на $TARGET_BNAME$, чтобы "выход" этих команд тоже "назывался" по-разному, для каждой конфигурации. Но это ещё потребует перекрыть опцию линкера имени выходного файла в каждой конфигурации, - задать разные имена файлов.

Ну, а команды теперь станут такими:

Menu Text: Create boot application
Command: $PROJ_DIR$\AES-Boot\create
Argument: -c cfg.txt -e $TARGET_DIR$\$TARGET_BNAME$_eeprom.hex -f $TARGET_DIR$\$TARGET_BNAME$_code.hex -o $TARGET_BNAME$.enc -l BLB11 BLB12
Initial Directory: $PROJ_DIR$\AES-Boot\

Menu Text: Update booting device (COM1)
Command: $PROJ_DIR$\AES-Boot\update
Argument: $TARGET_BNAME$.enc -COM1 -115200
Initial Directory: $PROJ_DIR$\AES-Boot\

Кроме этого, для последней команды надо снять флажок "Redirect to Output window", а то update.exe выдаёт в это окно сумбур, т.к. там выдаётся индикатор прогресса. Так что пусть работает в отдельном консольном окне, там с отображением будет нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Этот способ хорош только тогда, когда новый девайс спаял, включил, а он работает.

А вот если не работает, то тогда на что думать? Толи припаяли плохо, толи косяк схемы, толи неисправная микруха и т.д.

Рентген же может сказать почти наверняка - нормально припаяно или нет.

Ничего не имею против тов. Рентгена ;)

Однако, новый прибор никто не паяет сразу весь целиком.

Сначала достаточно припаять разъем USB, потом CP2102 с парой кондюков, потом

бросить временную перемычку между Rxd и Txd у CP2102, т.е. замкнуть выход на вход.

И попробовать в гипертерминале, как проходит эхо от выхода на вход.

Очень хорошая диагностика.

Не хуже рентгена ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Однако, новый прибор никто не паяет сразу весь целиком.

Это только когда сам, на коленке :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...