|
Программатор RS232, своими руками |
|
|
|
 |
Ответов
(60 - 74)
|
Jul 1 2005, 19:48
|
Местный
  
Группа: Свой
Сообщений: 308
Регистрация: 12-05-05
Из: мск
Пользователь №: 4 943

|
Цитата(Yra @ Jul 1 2005, 22:16) Для полного счастья программатору нужен регулируемый источник программируемого напряжения (чтобы поддерживать не только AVR в принципе). А зачем это нужно? (Я не против, я просто действительно не понимаю для чего это может пригодиться). Вот если б хотя б один примерчик.
|
|
|
|
|
Jul 1 2005, 21:10
|
Группа: Validating
Сообщений: 6
Регистрация: 30-06-05
Пользователь №: 6 411

|
Цитата(Alexey_N @ Jul 1 2005, 22:48) Цитата(Yra @ Jul 1 2005, 22:16) Для полного счастья программатору нужен регулируемый источник программируемого напряжения (чтобы поддерживать не только AVR в принципе). А зачем это нужно? (Я не против, я просто действительно не понимаю для чего это может пригодиться). Вот если б хотя б один примерчик. человек явно хочет ещё и at89xxx программировать или на ПЗУ совковом пережигать  - на самом деле - не знаю насколько оно кому надо и востребовано.
|
|
|
|
|
Jul 4 2005, 07:58
|

Иногдящий
   
Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931

|
OFF: прошу прощения, с пятницы был отключен ADSL, не мог выйти в инет  И вся последняя активность прошла мимо меня  Мое мнение по существу... Хорошо, давайте делать развязку. Тогда 245-ю использовать не получится, а жаль. С другой стороны, сколько я видел китайских USB-поделок (запущенных в серию) - развязку они там не ставят. И ведь все работает. Вообще, как мне уже не раз говорили при разработке устройств под серию - учись мыслить по-китайски, а не по советски  . Компромис между качеством и ценой должен больше склоняться в сторону цены. По питанию: питать программатор от целевого устройства мне не нравится. Во-первых, в целевом устройстве мощность источника может быть не расчитана на дополнительную нагрузку, во-вторых, стабильность источника целевого устройства тоже может оставлять желать лучшего... По поводу защиты от дурака - программатор вообще не то устройство, которое может пользоваться любым и каждым. А от всех случайностей все равно не застрахуешься. Расчитывать на 1.8-вольтовый целевой чип в общем случае не нужно. Как уже правильно заметили - желающие могут использовать низковольтную мегу. А вот выбор между 5 и 3,3 В нужно еще подумать как осуществить. Один из вариантов - переключать питание самаго программатора MOSFET-ами. По схематике говорить пока рано - еще не договорились по функциональности  )). Вот и давайте в первую очередь определимся по двум позициям: 1. развязка с USB обязательна? 2. Программирование 5- и 3,3-вольтовых целевых чипов - как согласовать уровни?
|
|
|
|
|
Jul 4 2005, 15:46
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(AndyBig @ Jul 4 2005, 10:58) По питанию: питать программатор от целевого устройства мне не нравится. Во-первых, в целевом устройстве мощность источника может быть не расчитана на дополнительную нагрузку Да, вообще говоря больше шинника лучше не питать. Цитата(AndyBig @ Jul 4 2005, 10:58) Вот и давайте в первую очередь определимся по двум позициям: 1. развязка с USB обязательна? 2. Программирование 5- и 3,3-вольтовых целевых чипов - как согласовать уровни? 1. Я тоже не уверен в необходимости гальваноразвязки. Зачем? Перешивать процессор, висящий на фазе? Но многие почему-то очень хотят, и если это дастся малой кровью, то почему бы и не сделать. Хотя тут и так можно сказать - FT245 и FT232 со стороны компа почти неотличимы, со стороны программатора надо аккуртано писать и тогда можно начать с FT245 а потом и FT232 версию добавить :-) 2. Процессор программатора запитать от 5В (и влупить 14-16МГц). Далее: а) Поставить между ним и устройством 74VHC244, запитав её от программируемого устройства. Для 3..5В должно быть нормально. VHC244 позволяет подавать на входы больше питания. б) Поставить нечто ByteBlaster-II-подобное. Тогда и до 1.8В будет работать. Я считаю, что для уменьшения размера допустимо на печатку ставить сдвоенные транзисторы в 363-ем корпусе - вещь достаточно массовая, чтобы везде нашлась достаточная компашка для заказа плат и на ЛУТ рассчитывать не надо. Хотя б) противнее, поэтому на мой взгляд стоит поставить VHC244, а для шлейфа сделать следующее: Поставить штыри 2x8 (а то и 2x10), в которых штыри 11 и 12 не паять. Тогда можно надеть как 10-жильный шлейф, так и 16-жильный. На доп. 4 контакта вывести внетреннее питание программатора и ещё пару сигналов. Тгда для up to 1.8V можно будет отдельно кому надо сделать переходничок "а-ля BB-II" (запитав VHC244 пробросом через этот переходничок). Кроме того можно будет делать разные довески типа hiV-программатора для всяких tiny15 (преобразователь 5-12 сделать на довеске). Конечно, неплохо сразу на основной всё сделать, чтобы была одна плата и не вазькаться с довесками, но тогда надо сразу хорошо решить - что делать. А то слишком универсальные вещи или бывают одинаково плохие для всего, или не бывают доделаны.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Jul 4 2005, 20:38
|

Иногдящий
   
Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931

|
1. Цитата Но многие почему-то очень хотят, и если это дастся малой кровью, то почему бы и не сделать. Так вот в том-то и дело, что малой крови я пока не вижу... Конечно, можно развязать все по всем правилам, но бюджет устройства при этом может вырасти до неприличия. Если кто-то покажет простой и дешевый способ развязки (и объяснит повседневную необходимость это делать) - буду только рад  . Цитата ... и тогда можно начать с FT245 а потом и FT232 версию добавить :-) Может быть наоборот?  Развязать ведь легче 232-ю  2. Цитата Процессор программатора запитать от 5В (и влупить 14-16МГц) Полностью согласен  . Но: а) поставить уже два буфера. ведь нужна и обратная связь - от целеыого контроллера к программатору. Кстати, почему именно VHC? По параметрам и HC вполне подходит... б) посмотрел схему ББ-2. В принципе, почему бы и нет? Можно поставить сдвоенные низковольтные полевики (типа IRF7314), думаю тогда схему можно будет упростить. Но с транзисторами теряется возможность двунаправленных линий. Или усложняется конструкция каждого ключа. Цитата слишком универсальные вещи или бывают одинаково плохие для всего Поддерживаю. Нужно ограничиться разумными рамками.
|
|
|
|
|
Jul 5 2005, 06:56
|

Местный
  
Группа: Свой
Сообщений: 230
Регистрация: 20-10-04
Из: Новосибирская обл, п.Краснообск.
Пользователь №: 916

|
Hi All!
Мне кажется вы немножко не стого конца пошли. Развязка это обязаловка. Чтоб потом небыло выяснений кто дурак. (Сам через это пару раз прошёл - хватит.)
1. Мне кажется развязку надо ставить именно у конектора к программируемому дивайсу. Для этой цели хорошо подойдут ADUM1401 - i/o 1/3 (vcc 2,7..5,5V). Автоматом получаем и соглосование уровня и развязку. Скорости и на младшем кристале хватит.
2. Питать программатор от юсби естественно. Выбор юсби - тот что дешевлеи проще в подключении. Скорости 1мбит хватит ещё очень надолго.
3. На проц программатора не пожалеть денег и поставить чёй-то аля меги64 или мсп430ф149 или постарше (ну и пусть на 50-150р дороже будет не великая же серия). Чтоб добавлять функции без напрягов.
4. Мутить с высокин напряжением 12в для программирование помоему не стоит. Требующие 12в микрухи уходят с ранка очень быстро, а новым и 3в хватает. Мы же не на вчерашний день программатор собрались делать....
5. Насчет использования стандартного софта есть некоторое сомнение. Его слишком много и под все не подстроишся. У меня в работе i2c, SPI, JTAG (MSP430, ALTERA, XILINX в перспективе дсп от тексаса). А многим ещё и JTAG для армов интересен. Лучше связатся с теми программистами, инициаторами свободно распространямых программаторов. Наверняка можно организовать свободную группу. В любом случае тому же автору понипрога будет много меньше работы, ненадо рисовать оболочку, редактор и многое другое. А работа с лпт или комом у них идет все равно через ИХ драйвер порта. Т.е. для них требуется изменить драйвер порта и немного программу и готовый пакет с большим перечнем микросхем.
6. Что касается JTAG - многим он требуется для отладки. А сдесь вообще чудо из чудес - стандартизован сам физический JTAG и некоторое кол-во обязательных команд и регистров именно JTAG интерфейса. А вот системное соглосование JTAG и целевой программы каждый производитель лепит своё для каждого симейства микрух. В итоге на одном компе живёт до 2-3 JTAG и для каждого свой адаптер. Но если отказатся от отладки, то всё упрощяется....
7. В связи с п.5 выработать модель взаимодействия программатора с софтом и железом. В своё время делая ком программатор аля АВР910 на 2051 заложил универсальный протокол, построив на 2051 сравнительно тупой ковертор уарт-спи. В итоге с одинаковой легкостью програмил и авр-ки и меги и ат89 эспиайные, датафлешки ат45. (болшее не требывалось).
Я рад что тема униврсального последовательного быстрого программатора была сдесь поднята. Надеюсь она не зачахнет.
--------------------
_____________________________________ Пароли неприемлемы, легко взламываются терморектальным криптоанализатором.
|
|
|
|
|
Jul 5 2005, 08:39
|

Иногдящий
   
Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931

|
1. Цитата(aal) Мне кажется развязку надо ставить именно у конектора к программируемому дивайсу. Для этой цели хорошо подойдут ADUM1401... Да, для последовательного программатора можно. А для параллельного? Сколько нужно будет таких адумов? Если программатор будет выходить стоимостью под сотню долларов, он просто никому не будет нужен. А отказываться от возможности параллельного программирования - ой как не хочется. По поводу развязки - возьмите практически все существующие на сегодня популярные программаторы - LPT, COM, USB... В скольки из них стоит развязка? И как часто люди матерятся на ее отсутствие? Гораздо больше они матерятся на случайный прожиг фьюзов клока или на сброс фьюза последовательного программирования. Это, естественно, только мое мнение... 2, 4. Да, с этим я полностью согласен. 3. От контроллера, на самом деле, потребуется не слишком много. Только скорость и достаточное число IO, остальное решает компьютерный софт. Думаю, атмеги 169 хватит. 5. Имеется в виду софт производителей контроллеров. Т.к. программатор расчитывается в основном под AVR, то логично было бы сделать его совместимым со стандартными программаторами атмела - их поддерживает большинство сред разработки. Тем более, что это только дело софта. 6. У атмела интерфейс JTAG расписан достаточно подробно, что бы в дальнейшем можно было задуматься об отладке. Другой вопрос - привязка бинарника к исходникам. Я не изучал этот вопрос, но теоретически можно разобрать формат отладочных файлов того-же IAR и оттуда выцеплять эту привязку. 7. Угу. Я тоже представляю себе прошивку программатора как чисто исполнительную. Со стороны компа ей спускаются все необходимые параметры (назначение ног, временные характеристики и т.п.) и она по этим параметрам работает с целевым чипом. Я тоже надеюсь, что тема не умрет, но и не расчитываю на сверхбыстрый результат  . У всех ведь есть основная работа, личная жизнь, шабашки... На общественные проекты времени остается не так много как хотелось бы...
|
|
|
|
|
Jul 5 2005, 12:36
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(AndyBig @ Jul 4 2005, 23:38) Цитата ... и тогда можно начать с FT245 а потом и FT232 версию добавить :-) Может быть наоборот?  Развязать ведь легче 232-ю  А вот кому нужна развязка, тотпусть с 245 на 232 и переделывает  Цитата(AndyBig @ Jul 4 2005, 23:38) 2. Цитата Процессор программатора запитать от 5В (и влупить 14-16МГц) Полностью согласен  . Но: а) поставить уже два буфера. ведь нужна и обратная связь - от целеыого контроллера к программатору. Кстати, почему именно VHC? По параметрам и HC вполне подходит... А VHC на входах больше питания держит по штату. Её запитать от программируемой платы, а 3В назад процессор и так должен взять. Я сейчас в byte-blaster-ы её ставлю и диод тот пресловутый убрал наконец-то с чистой совестью.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Jul 5 2005, 12:46
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(aal @ Jul 5 2005, 09:56) Мне кажется вы немножко не стого конца пошли. Развязка это обязаловка. Чтоб потом небыло выяснений кто дурак. (Сам через это пару раз прошёл - хватит.)
1. Мне кажется развязку надо ставить именно у конектора к программируемому дивайсу. Для этой цели хорошо подойдут ADUM1401 - i/o 1/3 (vcc 2,7..5,5V). Автоматом получаем и соглосование уровня и развязку. А XTAL1 ? На моей памяти, судя по всем эхам/форумам/почте проблем с зашиванием сдуру на external clock было несоизмеримо больше, чем с отсутствием гальваноразвязки. А с XTAL1 уже надо не 1/3, а 1/4, а ADUM1501 пока не придумали. Цитата(aal @ Jul 5 2005, 09:56) 2. Питать программатор от юсби естественно. Выбор юсби - тот что дешевлеи проще в подключении. Скорости 1мбит хватит ещё очень надолго. Плавали, знаем. "640 килобайт хватит навсегда". И уже через год-полтора начали EMS лепить. Мне лично кажется, что мне раньше скорости захочется, чем гальваноразвязки. Цитата(aal @ Jul 5 2005, 09:56) 4. Мутить с высокин напряжением 12в для программирование помоему не стоит. Требующие 12в микрухи уходят с ранка очень быстро, а новым и 3в хватает. Мы же не на вчерашний день программатор собрались делать.... А с RSTDISBL как? tiny15-tiny85 - это вчерашний день? А у них вечно одной ноги не хватает, хоть tiny26 ставь.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Jul 5 2005, 20:01
|
Местный
  
Группа: Свой
Сообщений: 308
Регистрация: 12-05-05
Из: мск
Пользователь №: 4 943

|
1. Давайте попробуем всё-таки взвесить, что важнее - гальваническая развязка (ГР) или скорострельность. За ГР говорит то, что почти всегда комп и программируемое устройство питается от разных БП. Причем, совсем не факт, что БП для контроллера сделан как полагается, и подсоединен трехпроводной вилкой к тому же удлинителю, что и БП компа. С некоторой вероятностью это бывает не так  . Тогда, при соединении девайсов программирующим разъёмом, мы имеем удовольствие наблюдать искру. А при разъединении этих разъемов, при удачном стечении обстоятельств, нас бодро потряхивает 110 Вольт. Опасно ли это? Не думаю... Т.е. для взрослого человека - это даже бодрит  . Для USB-порта, думаю тоже, пройдет без последствий. ЛПТ-порт, с большой вероятностью от этого дела наворачивается, но мы же делаем не на ЛПТ... Может сгореть контроллер. Ну дык не страшно - перепаять камень, заземлить (об комп) БП контроллера, и можно продолжать процесс прошивки дальше  ! Так что, в общем, никакой такой уж ужасной необходимости в ГР нет. Хотя, не скрою, её наличие действует довольно умиротворяюще  . С другой же стороны, вопрос о скорости носит, на мой взгляд, количественный характер. Т.е. при переходе с 232 на 245 достижимая скорость трансфера по нашим общим оценкам возрастает в 4 раза (с 1 МБод до 4 Мбод). "Целых 4" или "всего 4"? Ну, это как к этому относиться. Радикально, на мой взгляд, проблему со скорострельностью может изменить только переход на другой тип интерфейса (USB-2.0, LAN-100, FW и т.д.), что однако связано с крутыми программными заморочками. Поэтому я склоняюсь к тому, что пока проект замутить на скорости 1М, а уж ежели это дело понравится и приживётся, то спокойно перейти на Лань-100 (а то и Гигабит). Впрочем, это моя точка зрения. В настоящее время мнения разделились, и если Александр (ReAL) будет настаивать на 245-м варианте, не вижу никаких проблем сотворить две модификации, почему бы и нет? Трудностей - ноль! Главное - давайте подведем по этому вопрсу промежуточные итоги, да и двинемся дальше! 2. Вот решительно я пока не понимаю, зачем на выходе нам нужно втыкать шинный формирователь. У любой меги выходная мощность ног - за глаза и за уши для такого дела. Третье состояние - пожалуйста. Двунаправленность - пожалуйста. Зачем нам нужна лишняя деталь? Для согласования выходного напряжения? - Без проблем! - Сама мега пусть и регулирует свое питающее напряжение, это легко делается с помощью "палки и веревки", т.е. малюсенького регулятора напряжения. Т.е. по-любому, места для шинника я не вижу... 3. Очень серьезный вопрос по выходному разъему. Здесь действительно хотелось бы не жаться и поставить 2х10. (Но это уже надо как-то прикидывать с размерами корпуса. Впрочем, это не главное.) Надо попробовать представить все возможные варианты использования этой железяки, в том числе и для МСП430, и для АРМ-ов и для Альтер и пр., и попытаться всё нужное вытащить на этот разъем. Вот, например, для АРМов нужен программатор по СОМ-порту, значит надо второй СОМ-порт меги подтащить к этому разъему. Давайте может в Вике составим табличку с нашими пожеланиями к разъему? 4. Вопрос о еде. Питать ли программатор от контроллера, либо от УСБ? Или питать контроллер от программатора, или вообще не разрешать такую ситуацию? Так вот, ответ здесь ИМХО простой - не сложно предусмотреть возможность реализовать все эти варианты, да и оставить их на усмотрение энд-юзера. Вопрос только о том, что в варианте с ГР все эти штуки можно будет крутить программно, а без ГР могут потребоваться перемычки (джамперы, ВДМ-ки), что в принципе тоже, совсем не страшно. По этому вопросу я тоже предлагаю перейти к подведению промежуточных итогов, т.е. таблички с желаемыми комбинациями. ЗЫ. Общие соображения. Наверное имеет смысл прислушаться к словам ROC-а и ограничить нашу дискуссию по проекту какими-то временными рамками, ну например, на конец этой недели выкатить примерную конфигурацию девайсины. С том, чтобы на следующей уже обсуждать нарисованную схему, а через неделю развести, да и вкинуть в изготовление...
|
|
|
|
|
Jul 6 2005, 07:17
|

Иногдящий
   
Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931

|
1. Развязка - договорились, делаем без развязки. Добавить развязку при большой необходимости будет несложно. Скорость - для меня, например, повышение скорости с 1 до 4 МБит - это очень даже чувствительно  ))). Поэтому давайте делать не в расчете на какую-то определенную скорострельность, а на сколько получится. Если вытянем 4 МБита - отлично. Вытянем только мегабит - тоже очень даже неплохо. Я тоже за 245-й - с ним намного меньшая нагрузка на контроллер и выше скорость. 2. Честно говоря, мне тоже вариант с шинником не очень нравится. Это усложняет создание двунаправленных линий. Но есть и свои преимущества - уровни сигнала будут автоматом подстраиваться под целевой девайс, защита от программирования незапитанного девайса. Мысль об управлении программатором своим питанием мне тоже приходила в голову, но что-то мне эта идея не по душе. Дергать питанием прямо на ходу - это как-то неправильно  . Тем паче, что целевой девайс может быть запитан не только одним из стандартных напряжений, но и каким-то промежуточным - например, 4,2В. Тогда 3,3 будет мало, а 5 - много. 3. А мы что, собираемся шить этим программатором несколько контроллеров одновременно?  К этому нужно подойти с другой стороны - прикинуть сколько линий максимум может понадобиться для шитья любого из предполагаемых контроллеров, добавить еще пару линий на всяк случай и на получившееся число ориентироваться. 4. Программатор питается от USB - однозначно. Питать контроллер от программатора - ни в коем случае. Если только предусмотреть перемычку для этого и оставить такой вариант на страх и риск пользователя. У программатора и у контроллера питания должны быть свои, единственное исключение - шинник на выходе программатора питается от контроллера. Хорошо, сегодня я выложу на wiki то, к чему потихоньку пришли по железу  . С понедельника начнем рисовать и обсуждать схему  .
|
|
|
|
|
Jul 6 2005, 07:48
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 23-06-05
Пользователь №: 6 244

|
Цитата Можно поставить сдвоенные низковольтные полевики (типа IRF7314), думаю тогда схему можно будет упростить. Но с транзисторами теряется возможность двунаправленных линий. Или усложняется конструкция каждого ключа. слишком универсальные вещи или бывают одинаково плохие для всего Полевики подключенные к выходящим с платы концам долго не живут.Жизненное наблюдение.
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|