|
|
  |
Программатор RS232, своими руками |
|
|
|
Sep 21 2005, 14:53
|
Местный
  
Группа: Свой
Сообщений: 308
Регистрация: 12-05-05
Из: мск
Пользователь №: 4 943

|
Цитата(AndyBig @ Aug 3 2005, 14:26) Цитата У меня уже пару недель предотпускной аврал, скоро будет отпуск (наконец-то!), потом - послеотпускной аврал :-) Так что я из серъёзных обсуждений пока выпал... :-( Аналогично  (( Так что прошу у всех прощения за свое выпадение... Ну что, господа, авралы заканчиваются?  Я вот тоже сейчас только начинаю выплывать... Так что, если есть кто живой - отзовитесь, а то я вот тут, вспоминая о летних деньках схемку нарисовал  . Дык можем обсудить, да и в изготовление вкидывать...
|
|
|
|
|
Sep 22 2005, 09:19
|

Знающий
   
Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095

|
Цитата(Alexey_N @ Sep 21 2005, 17:53) ... я вот тут, вспоминая о летних деньках схемку нарисовал  . Дык можем обсудить, да и в изготовление вкидывать... Нельзя ли выложить схему в другом формате, например jpg или gif...
|
|
|
|
|
Sep 26 2005, 11:20
|

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

|
Цитата(Alexey_N @ Sep 21 2005, 17:53) Цитата(AndyBig @ Aug 3 2005, 14:26) Цитата У меня уже пару недель предотпускной аврал, скоро будет отпуск (наконец-то!), потом - послеотпускной аврал :-) Так что я из серъёзных обсуждений пока выпал... :-( Аналогично  (( Так что прошу у всех прощения за свое выпадение... Ну что, господа, авралы заканчиваются?  Я вот тоже сейчас только начинаю выплывать... Так что, если есть кто живой - отзовитесь, а то я вот тут, вспоминая о летних деньках схемку нарисовал  . Дык можем обсудить, да и в изготовление вкидывать... Я эпизодически сюда заглядываю. До где-то 23 октября меня почти нет. По предлагаемой схеме - соображения, вопросы, предложения: Против ft232 (а не ft245) я ничего особенно не имею. Тем более, что прикидка с ft245 из состояния неустойчивого равновесия стала скатываться в сторону atmega64+epm240tc100+sram(32..128k)+разъём ЖКИ (от классики HD44780 до графических, которым регенерацию epm240/epm570tc100 делает) и т.п. - это уже скорее evaluation board/лабораторки студентам/базовая плата для разных залипух, чем массовый программатор. На всякий случай ft232.~reset отцепить от питания (подвязать туда резистором) и вывести весте с ft232.(eecs,eesck,eedata), землёй и питанием на колодочку 6-контактную - вдруг придётся после неосторожных движений перешивать 93c46. ft232.(txled,rxled) кажется ведь с открытым коллектором, оставить один резистор и один светодиод - на мой взгляд, достаточно. Зачем mega88.(txd,rxd) выведены на XP2? Dсё равно ведь намертво заняты работой с ft232. Добавить на процессор светодиод "программирование". Добавить какие-то перемычки (разместить штыри на противоположной от XP2 стороне платы, чтобы можно было либо перемычки надевать, либо на "дочках", ежели таковые начнут появляться, задавать тип программатора (режим работы). Для этих "перемычек" можно задействовать одну ногу - adc6 и резистивный делитель. Я не смотрел внимательно - в чём сакральный смысл применения MAX883, а не в минимум в 4-5 раз более дешёвого LP2951. И вообще - мы собираемся от программатора и саму программируемую плату питать? Или надо только подстроить питание программатора под питание программируемой платы? Если первое - то больше половины моих плат всё равно фиг смогут быть запитаны через DC/DC от USB :-) Если второе, то не проще ли сделать делитель 62k/120k => 5В->3.3В, с него повторитель на подходящем операционнике. От повторителя запитать процессор, от колодки к программируемой плате через 1к резистор подать на тот же делитель. Т.е. если питание платы не 3.3В, то пусть утягивает питание процессора в нужную сторону. Если применим это как программатор отдельно взятой микросхемы, затолканной в колодку - то "умолчательные" 3.3В вроде бы нормально для обозримого будущего. А вот через ШИМ, irlml2803 и обратную связь через АЦП сразу сделать регулируемый источник 5..15В для подачи питания программирования/включения HI-V программирования. Ну и по мелочам - в плату (если её делать более-менне массовой) стоит сразу заложить пару конфигураций выводов DC/DC, их для маломощных есть несколько распространённых вариантов - так чтобы не переделывать плату под региональную/фирменную специфику. - туда же заложить сразу пару стандарнтых цоколёвок 10-контактных (скажем, stk300 и байт-бластер), чтобы не лепить спецкабеля для самых массовых применений. И ещё одно. А не заложить ли на свободные ноги ft232 не "контрольные точки", а штыри 2x5, да соответствующие штыри возле процессора (или задействовать стандартную колодку stk или byte-blaster). Цель - достойна великого Мюнгхаузена - обеспечить "самоподнятие" программатора. Не подключаем его никуда, надеваем стандартный шлейф между ft232 и mega88, запускаем спецпрограммку и через RTS/CTS/DTR/TXD стандартными функциями ОС либо через RTS/CTS/DTR/DSR bit-bang-ом заливаем в процессор бут-лоадер. Будет очень медленно, но один раз можно и потерпеть. Зато вопрос курицы и яйца решён. Ну, вроде бы, пока всё. Ах, да, если делать стандартную колодку байт-бластера, то на 8 ногу надо вывести какой-то output compare для генерации XTAL. А на 6 и 7 ноги (задействованы у байт-бластера-II для программирования EPCS, висящих на альтеринах) - SCL и SDA - тогда это будет вариант универсальной малоконтактной колодки для низковольтного программирования.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Sep 30 2005, 12:56
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Задавал это вопрос в этом топике ранее, но что то какие то глюки - то ли на местном серваке, то ли у меня, что то не то с логином, по этому пробую еще раз:
Извините, если вопрос ламерский. Мне интересно, и сдесь это ни как не обсуждалось, а как можно защитить выводы контроллера от попадания на них повышенного напряжения. Ведь никогда не исключен вариант, когда в колодку программирования вставляется неисправная микросхема, которую невозможно идентифицировать предварительным чтением. И при подаче программирующего повышенного напряжения программирующий МК, или еще чего нить в программаторе, может выйти из строя. Эту проблему кто нибудь перетирал? -
--------------------
|
|
|
|
|
Oct 3 2005, 15:20
|
Местный
  
Группа: Свой
Сообщений: 308
Регистрация: 12-05-05
Из: мск
Пользователь №: 4 943

|
Цитата Я эпизодически сюда заглядываю. До где-то 23 октября меня почти нет. Ну что же, ничего страшного. С учетом наших общих темпов/загрузок  , 23-е это почти что завтра... Цитата На всякий случай ft232.~reset отцепить от питания (подвязать туда резистором) и вывести весте с ft232.(eecs,eesck,eedata), землёй и питанием на колодочку 6-контактную - вдруг придётся после неосторожных движений перешивать 93c46. Ммм... Не помню что там этот ресет делает, по-моему сбрасывает микрушку. Так вот стоит ли его всерьез вешать в воздухе? Даже если подвязать резистором, то всё равно, как-то... Да и будет ли нужда у кого переписывать память? Это ведь память - не для всех, а "для ReAl"  . А мы все верим, что ты с ней справишься  . Цитата ft232.(txled,rxled) кажется ведь с открытым коллектором, оставить один резистор и один светодиод - на мой взгляд, достаточно. Сорри, не понял. Предлагается оставить только одну лампочку? А тогда какую? Цитата Зачем mega88.(txd,rxd) выведены на XP2? Dсё равно ведь намертво заняты работой с ft232. А вот тут - суперхитрость. Дело в том, что для ISP программирования филипсовских железочек типа LPC2106 удобно использовать СОМ-порт. Конечно шоколадно было бы применить мегу с двумя УСАРТами, например 162-ю. Но с точки зрения экономии и прогресса (88-я дешевле и быстрее) хотелось бы от этого дела воздержаться. Поэтому я предполагаю вариант юзания одного СОМ-порта - мега становится на всю сессию в 3-е состояние по выходу ТХ и не мешает напрямую с компа шить LPC. Цитата Добавить на процессор светодиод "программирование". Согласен! Принято к исправлению. Цитата Добавить какие-то перемычки (разместить штыри на противоположной от XP2 стороне платы, чтобы можно было либо перемычки надевать, либо на "дочках", ежели таковые начнут появляться, задавать тип программатора (режим работы). Для этих "перемычек" можно задействовать одну ногу - adc6 и резистивный делитель. Сорри, не согласен, или точнее пока не понимаю. Как вывести ноги с обратной стороны разъёма IDC?? Это либо ставить рядом другой разъём, либо уж совсем махровое радиолюбительство, типа втыкания "длинного" разъёма типа PLDL и юзания его с двух сторон... Не знаю, мне эта картинка, когда я её вообразил, представилась весьма отвратительной... Если это действительно "...кому-нибудь нужно"(с) , ну дык тогда проще воткнуть рядом два одинаковых разъёма, да и развести их параллельно... кому не нужно, лишнее ножницами отрежут. ADC6 - это вообще-то даже не "нога"  , а просто вход АЦП... оно тебе для чего-то нужно? - Ну так на разъеме полно других входов АЦП... Прости, вот это место совсем не понял. Цитата Я не смотрел внимательно - в чём сакральный смысл применения MAX883, а не в минимум в 4-5 раз более дешёвого LP2951. И вообще - мы собираемся от программатора и саму программируемую плату питать? Или надо только подстроить питание программатора под питание программируемой платы? Если первое - то больше половины моих плат всё равно фиг смогут быть запитаны через DC/DC от USB :-) Если второе, то не проще ли сделать делитель 62k/120k => 5В->3.3В, с него повторитель на подходящем операционнике. От повторителя запитать процессор, от колодки к программируемой плате через 1к резистор подать на тот же делитель. Т.е. если питание платы не 3.3В, то пусть утягивает питание процессора в нужную сторону. Если применим это как программатор отдельно взятой микросхемы, затолканной в колодку - то "умолчательные" 3.3В вроде бы нормально для обозримого будущего. А вот через ШИМ, irlml2803 и обратную связь через АЦП сразу сделать регулируемый источник 5..15В для подачи питания программирования/включения HI-V программирования. Это - серьезный вопрос. (И, сорри, к сожалению пока не отмакетированный). Поэтому ни на чем я пока не могу уверенно настаивать. Скорее - этот узел призван просимволизировать примерный набор деталек для регулировки питалова как Меги, так и (возможно) программируемого девайса. То есть мы собираемся: 1.подстроить питание программатора под питание программируемой платы, 2.от программатора и саму программируемую плату питать, в случае, если это возможно/целесообразно (например зачастую приходится прошивать одну единственную микрушку на макетном поле - удобно при этом запитаться прям от программатора). Насчет делителя я согласен, это частичное решение проблемы согласования уровней питания, но лишь частичное... МАХ нам должен позволить выставить любое напряжение, что наверное лучше. Ещё раз прошу прощения, что руки не дошли, вот как только смакетячу это место - будем обсуждать этот узел уверенно. Насчет HI-V программирования... а оно нужно? Мне пока не приходилось... но может действительно завести такую байду? Цитата - в плату (если её делать более-менне массовой) стоит сразу заложить пару конфигураций выводов DC/DC, их для маломощных есть несколько распространённых вариантов - так чтобы не переделывать плату под региональную/фирменную специфику. - туда же заложить сразу пару стандарнтых цоколёвок 10-контактных (скажем, stk300 и байт-бластер), чтобы не лепить спецкабеля для самых массовых применений. И ещё одно. А не заложить ли на свободные ноги ft232 не "контрольные точки", а штыри 2x5, да соответствующие штыри возле процессора (или задействовать стандартную колодку stk или byte-blaster). Цель - достойна великого Мюнгхаузена - обеспечить "самоподнятие" программатора. Не подключаем его никуда, надеваем стандартный шлейф между ft232 и mega88, запускаем спецпрограммку и через RTS/CTS/DTR/TXD стандартными функциями ОС либо через RTS/CTS/DTR/DSR bit-bang-ом заливаем в процессор бут-лоадер. Будет очень медленно, но один раз можно и потерпеть. Зато вопрос курицы и яйца решён. Ах, да, если делать стандартную колодку байт-бластера, то на 8 ногу надо вывести какой-то output compare для генерации XTAL. А на 6 и 7 ноги (задействованы у байт-бластера-II для программирования EPCS, висящих на альтеринах) - SCL и SDA - тогда это будет вариант универсальной малоконтактной колодки для низковольтного программирования. Согласен. Принято к исполнению. Буду также признателен, если разблюдовки байт-бластеров, СТК-ов, и пр. хрени кто-нибудь выложит либо здесь в виде картиночек, либо в ВиКи.
|
|
|
|
|
Oct 3 2005, 15:28
|
Местный
  
Группа: Свой
Сообщений: 308
Регистрация: 12-05-05
Из: мск
Пользователь №: 4 943

|
Цитата(prottoss @ Sep 30 2005, 16:11) Извините, если вопрос ламерский. Мне интересно, а как можно защитить выводы контроллера от попадпния на них повышенного напряжения. Это - не страшно. Сжечь контроллер так дешево (программированием чего-то неисправного) вряд ли вообще возможно. Да и цена вопроса не сильно напрягает, железки сейчас всё дешевеют, люди дорожают  . Иное дело, конечно, если лезешь что-то прошивать, когда комп и девайс болтаются под неопределенными потенциалами. Вот тут уже вполне реально навернуть даже не столько процессор, сколько Порт в писюке, что бывает и по деньгам чувствительно, да и вообще обидно. Для того, чтоб этого избежать мы тут и пытаемся замутить гальваническую развязку в программаторе.
|
|
|
|
|
Oct 3 2005, 18:56
|

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

|
Цитата(Alexey_N @ Oct 3 2005, 18:20) Ммм... Не помню что там этот ресет делает, по-моему сбрасывает микрушку. Так вот стоит ли его всерьез вешать в воздухе? Даже если подвязать резистором, то всё равно, как-то... Да и будет ли нужда у кого переписывать память? Это ведь память - не для всех, а "для ReAl"  . А мы все верим, что ты с ней справишься  . Подвязать, подвязать... Да ещё и килоомом, не больше. И конденсатор прилепить  Насколько я помню, reset как побочный эффект от сброса обеспечивает перевод в 3-е состояние ног работы с EEPROM, в результате его можно перешивать "третьим лицам". Если при записи EEPROM родными инструментами от FTDI ошибиться с прошивкой, то, опять таки - насколько я помню, эти родные средства вкупе с драйверами перестают видеть кристалл (FT232) на шине USB. Цитата(Alexey_N @ Oct 3 2005, 18:20) Цитата ft232.(txled,rxled) кажется ведь с открытым коллектором, оставить один резистор и один светодиод - на мой взгляд, достаточно. Сорри, не понял. Предлагается оставить только одну лампочку? А тогда какую? Оба выхода запаралелить на один светодиод. Пусть мигает и на TX, и на RX. Не вижу нужды в лишней детализации. Цитата(Alexey_N @ Oct 3 2005, 18:20) Цитата Зачем mega88.(txd,rxd) выведены на XP2? Dсё равно ведь намертво заняты работой с ft232. А вот тут - суперхитрость. Дело в том, что для ISP программирования филипсовских железочек типа LPC2106 удобно использовать СОМ-порт. Понял. Цитата(Alexey_N @ Oct 3 2005, 18:20) Цитата Добавить какие-то перемычки (разместить штыри на противоположной от XP2 стороне платы, чтобы можно было либо перемычки надевать, либо на "дочках", ежели таковые начнут появляться, задавать тип программатора (режим работы). Для этих "перемычек" можно задействовать одну ногу - adc6 и резистивный делитель. Сорри, не согласен, или точнее пока не понимаю. Как вывести ноги с обратной стороны разъёма IDC?? Не на противоположной-нижней, а на другой стороне. На параллельной данной стороне. "дочка" будет становиться "мостиком" над основной платой гнёздами по двум сторонам на штыри на основной. Цитата ADC6 - это вообще-то даже не "нога"  , а просто вход АЦП... оно тебе для чего-то нужно? - Ну так на разъеме полно других входов АЦП... Прости, вот это место совсем не понял. Вот именно потому, что "не нога" и для других применений точно не нужна - предлагается "аналоговые перемычки"  вывести на неё. Иначе обязательно когда-то кому-то одной ноги не хватит. Цитата 1.подстроить питание программатора под питание программируемой платы, 2.от программатора и саму программируемую плату питать, в случае, если это возможно/целесообразно (например зачастую приходится прошивать одну единственную микрушку на макетном поле - удобно при этом запитаться прям от программатора). Насчет делителя я согласен, это частичное решение проблемы согласования уровней питания, но лишь частичное... МАХ нам должен позволить выставить любое напряжение, что наверное лучше. Ещё раз прошу прощения, что руки не дошли, вот как только смакетячу это место - будем обсуждать этот узел уверенно. "1" делитель позволяет решить легко и просто, гораздо проще макса с шимом. "2" ну будет возможность отдельную от всего микросхему на макетке запитываться только 3.3В - неужели недостаточно? Цитата Насчет HI-V программирования... а оно нужно? Мне пока не приходилось... но может действительно завести такую байду? Да чтобы сразу была возможность поднимать микросхемы с по ошибке прошитым RSTDSBL. Или не по ошибке - мне у тини15 иногда одной ноги не хватает  Хорошо (хм.. хорошенькое "хорошо" - сейчас мега48 дешевле, чем тогда тини26 брались) - в неликвидах завалялось пару сот тини26, их и выставляю в такие места.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Oct 3 2005, 19:00
|

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

|
Цитата(Alexey_N @ Oct 3 2005, 18:20) Сорри, не согласен, или точнее пока не понимаю. Как вывести ноги с обратной стороны разъёма IDC?? Это либо ставить рядом другой разъём, либо уж совсем махровое радиолюбительство, типа втыкания "длинного" разъёма типа PLDL и юзания его с двух сторон... Не знаю, мне эта картинка, когда я её вообразил, представилась весьма отвратительной... Если это действительно "...кому-нибудь нужно"(с) , ну дык тогда проще воткнуть рядом два одинаковых разъёма, да и развести их параллельно... кому не нужно, лишнее ножницами отрежут. Вдогонку на всякий случай - имелось ввиду эти разъёмы НЕ с одинаковыми сигналами иметь. Просто наиболее часто употребимое вывести на штыри 2х5 на одной стороне платы, а остальное - на штыри 2х10 на параллельной ей (заодно это будет и как "ключ" для "дочки" - разное число штырей на разных сторонах, не ошибёшься с поворотом "дочки" на 180 градусов.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Oct 5 2005, 11:49
|

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

|
Цитата(halfdoom @ Oct 5 2005, 10:40) А насколько критичен выбор Меги88 ? Тактовая 20Мгц врядли будет использована (16 думаю хватит за глаза). Мега8 полностью совместима по ногам, но несколько беднее внутри. А вот с поставками 88й проблем гораздо больше (для моего региона). Ну, хотя бы для того, чтобы подчеркнуть - в случае чего ставится мега168  Конечно, софт надо будет писать так, чтобы не сильно разгоняться на расширенные возможности 88 по сравнению с 8. Внимательно раскидать - чтобы какой-то нужный ШИМ или output compare, используемый для генерации XTAL не попал на канал, отсутствующий в меге8. Вот как самое заинтересованное лицо - проверь предлагаемую схему на эту тему
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Oct 6 2005, 16:09
|

Профессионал
    
Группа: Свой
Сообщений: 1 003
Регистрация: 20-01-05
Пользователь №: 2 072

|
Цитата(ReAl @ Oct 5 2005, 14:49) Конечно, софт надо будет писать так, чтобы не сильно разгоняться на расширенные возможности 88 по сравнению с 8. Внимательно раскидать - чтобы какой-то нужный ШИМ или output compare, используемый для генерации XTAL не попал на канал, отсутствующий в меге8. Решил свести все ноги в таблицу, что-бы было проще рассуждать и документировать: Код Port M8 & M88 M88 only Prog_02
PB0 ICP1 PCINT0/CLKO PIN1 PB1 OC1A PCINT1 OC1A, PWM for MAX833 PB2 ~SS/OC1B PCINT2 PIN2 PB3 MOSI/OC2 PCINT3/OC2A MOSI PB4 MISO PCINT4 MISO PB5 SCK PCINT5 SCK PB6 XTAL1 PCINT6 XTAL1 PB7 XTAL2 PCINT7 XTAL2
PC0 ADC0 PCINT8 x PC1 ADC1 PCINT9 x PC2 ADC2 PCINT10 PIN3 PC3 ADC3 PCINT11 PIN4 PC4 ADC4/SDA PCINT12 SDA PC5 ADC5/SCL PCINT13 SCL none ADC6 x none ACD7 0.5VEE
PD0 RXD PCINT16 RXDFT PD1 TXD PCINT17 TXDFT PD2 INT0 PCINT18 PIN5 PD3 INT1 PCINT19/OC2B PIN6 PD4 XCK/T0 PCINT20 PIN7 PD5 T1 PCINT21/OC0B PIN8 PD6 AIN0 PCINT22/OC0A PIN9 PD7 AIN1 PCINT23 PIN10 Видно, что целесообразно избегать использования PWM возможностей таймеров 0 и 2, а также ноги CLKO. Вроде, это не существенные ограничения.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|