Первый в жизни программатор.

MPetrovich

Приветствую господ программёров!
Собираю первый в своей жизни программатор для прошивки Тини13. Взял схему ПониПрога отсюда: www.lancos.com/e2p/siprog_base.png , плюс ещё 4-й рисунок отсюда: www.lancos.com/siprogsch.html . Есть несколько вопросов по схеме:

  1. Можно ли вместо стабилитронов Z1 b Z2 в схеме из первой ссылки поставить диоды на +5в катодом? Вроде тинька допускает превышение на 0,6В на входах.
  2. Правильно ли показана распиновка СОМ-порта на схеме из первой ссылки? У меня на разъёме-маме, если смотреть с торца, цифры нумерации контактов расположены в зеркальном порядке, т.е. вместо первого пятый и вместо шестого девятый.
  3. Нужен ли в инверторе на транзисторе Q1 резистор R1 с базы на эмиттер? На мой взгляд не нужен, если только не предположить, что при пропадании напряжения на входе (на базе), на коллекторе непременно должна быть “1”, т.е. R1 притягивает базу к земле.
  4. Насколько критична частота кварца Х2 в схеме из второй ссылки? У меня в принципе где-то валяется кварц с надписью 4.000 это он или не он? И вообще нужен он там или нет в случае с Тини13? Ведь в чипе уже есть встренный генератор. Если кварц нужен, то насколько критичны номиналы ёмкостей С3 и С4? У меня есть 22пФ, они подойдут?
  5. Вопрос по софту. Читал в форуме, что ПониПрог не поддерживает Тини13. Это правда или нет? Если правда, то какой софт подойдёт для вышеуказанного железа программатора?
    Просьба тухлыми помидорами не закидывать и не посылать в поиск - я там уже был.
    Всем откликнувшимся заранее благодарен.
Vad64
  1. На линиях СОМ напряжение может быть плюс минус 12В. Стабилитроны защищают от большого плюса и от минуса
  2. Нумерация на схеме правильная
  3. Защита от -12
  4. Некритична. Кварц нужен, если фьюзы в чипе установлены на работу с кварцем (или их так надо установить). 22пФ - ок
  5. версия 2.07 поддерживает
MPetrovich

Как оперативно! Спасибо.

Vad64:
  1. На линиях СОМ напряжение может быть плюс минус 12В. Стабилитроны защищают от большого плюса и от минуса

Во как! Я-то думал та только +12В.

  1. Нумерация на схеме правильная

Выходит на рисунке контакты пронумерованы со сторны, где подпаиваются провода?

  1. Защита от -12

Ну да, теперь понятно.

  1. Некритична. Кварц нужен, если фьюзы в чипе установлены на работу с кварцем (или их так надо установить). 22пФ - ок

А что такое фьюзы и как они устанавливаются в случае с кварцем и без него? Я что-то запутался, нужен в итоге кварц или нет?

  1. версия 2.07 поддерживает

Эта та, что “нью” обозначена?
Прочитал в описании, что можно прицепить к софту файл скрипта, где прописана вся последовательность действий по программированию контроллера. Может у кого есть такой файл для Тини13?

Vad64
MPetrovich:

А что такое фьюзы и как они устанавливаются в случае с кварцем и без него? Я что-то запутался, нужен в итоге кварц или нет?

Конфигурационные биты и биты защиты (см даташит). Для тайни13 кварц по-любому не нужен, она вообще не работает с кварцами
И поосторожнее с фьюзами. Никогда не жать на кнопку запись, не проверив правильность установки флажков, а то можно загнать чип в такой режим, что этим программатором уже не восстановить. Рекомендую перед записью всегда делать чтение и не трогать остальные флажки

MPetrovich
Vad64:

Конфигурационные биты и биты защиты (см даташит). Для тайни13 кварц по-любому не нужен, она вообще не работает с кварцами
И поосторожнее с фьюзами. Никогда не жать на кнопку запись, не проверив правильность установки флажков, а то можно загнать чип в такой режим, что этим программатором уже не восстановить. Рекомендую перед записью всегда делать чтение и не трогать остальные флажки

Ну теперь понял, что кварц не нужен. Слава богу, дошло. Сэтим вопросом разобрался.
А разве биты конфигурации не прописываются в самом .hex-файле с программой? А биты защиты можно вообще не устанавливать, чтобы не рисковать?

Хочу ещё уточнить по приминению стабилитронов (вопрос №1 в начале темы). Я малость поскрипел извилинами и надумал вот что: при -12В на входах программатора стабилитроны вроде работают как обычные диоды, т.е на катоде получается -0,6В, так? Я и подумал: а что если установить после резисторов по два диода - один катодом на +5В, а другой анодом на землю. Тогда должно получиться при +12В на входе +5,6В на выходе и при -12В на входе -0,6В на выходе. Нормальные ли это уровни для Тини13?
И ещё уточнение: а в самой Тини13 нет на входах подобных диодов, защищающих от пробоя при превышении входного напряжения? Если есть, то зачем тогда в программаторе огород городить? Оставить одни резисторы по входам и всё.

Почитал ещё описание и вычитал, что вроде в программе есть возможность инвертировать сигнал RESET(если я конечно правильно понял то, что читал). В случае, если это так, то тогда можно и не ставить транзистор-инвертор, а обойтись одним сопротивлением с диодами(или без диодов).

А скрипт-файла, что - нету ни у кого?

Алксандр
MPetrovich:

А разве биты конфигурации не прописываются в самом .hex-файле с программой? А биты защиты можно вообще не устанавливать, чтобы не рисковать?

Хочу ещё уточнить по приминению стабилитронов …

А скрипт-файла, что - нету ни у кого?

Биты конфигурации все равно надо прописывать, а вот там то как раз есть коварные, отключающие СПИ программирование

2 диода вместо стабилитрона можно использовать В тини наверняка что-то есть, но правильнее поставить с наружи. Впрочем, можете попробовать, думаю ничего не сгорит

пример скрипта:
SELECTDEVICE ATmega32
ERASE-ALL
CLEARBUFFER
WRITE-FUSE 0x30C0
LOAD-PROG pec103.hex
WRITE&VERIFY-PROG
WRITE-LOCK 0x03

abalex
MPetrovich:

Я и подумал: а что если установить после резисторов по два диода - один катодом на +5В, а другой анодом на землю. Тогда должно получиться при +12В на входе +5,6В на выходе и при -12В на входе -0,6В на выходе.

!!! Оно все потребляет достаточно мало, и если поставить диод на +5В, то током через него может эти +5В задрать до +12 ( т.е. схема будет питаться от этого сигнала, в обход стабилизатора ). Оно, конечно, зависит от реального потребления и др. ( т.е. не факт, что все сразу сгорит - м.б. и будет работать ), но я бы не рисковал.

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

MPetrovich
abalex:

!!! Оно все потребляет достаточно мало, и если поставить диод на +5В, то током через него может эти +5В задрать до +12 ( т.е. схема будет питаться от этого сигнала, в обход стабилизатора ). Оно, конечно, зависит от реального потребления и др. ( т.е. не факт, что все сразу сгорит - м.б. и будет работать ), но я бы не рисковал.

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

Вы хотите сказать, что тока в 1,5мА будет недостаточно для выхода диода на рабочую точку своей ВАХ, т.е. на диоде по-вашему будет падать больше 0,6В??? Мне кажется это, мягко говоря, неправдоподобно. Если следовать Вашей логике, по -12В схема по-прежнему не защищена, ведь стабилитрон обрезает напряжение только по плюсу. В КМОП микросхемах ещё старинных серий, типа 561, стоят по всем входам диоды именно по такой схеме, как я предложил для защиты от пробоя статическим электричеством, а оно может достигать и киловольт, не то, что 12В с СОМ-порта.

abalex
  1. Я писал про диод, который предполагается ставить с сигнальной линии на +5В. Если на сигнальную линию с COM-порта приходит +12В, а ток потребления у всей схемы очень мал ( пусть 1 миллиампер ), то на резисторе 4.7 КОм упадет около 4.7 В, на диоде - пусть 0.6 В, и в итоге на шине питания +5В может оказаться 12-4.7-0.6=6.7В вместо 5 ( стабилизатор от этого может не спасти, т.к. он стабилизирует, меняя свое проходное сопротивление, а если на выход откуда-то со стороны приходит больше 5 вольт, он может просто закрыться, оставив на выходе эти 6.7 В ).

И еще раз - все это может быть, если схема потребляет очень мало; но именно здесь это м.б. справедливо.

  1. Стабилитрон в обратном направлении работает как обычный диод ( кто не верит - может взять тестер, лучше стрелочный, и померить ), т.е. от -12 вольт защитит так же, как диод вместо него.

  2. С диодами на входах микросхем - все верно; но на шину питания рядом с микросхемами было принято ставить еще кучу конденсаторов, и статический разряд ( пусть в тысячи вольт, но с очень малой емкости, т.е. очень малой энергии ) через диод выходил на шину питания, но у него не хватало энергии эти конденсаторы сколько-нибудь сильно зарядить, т.е. напряжение питания ( почти ) не менялось. Ну и потребляло оно ( даже на 561-й серии ) обычно все-таки больше 1 миллиампера. Хотя у меня самого был случай, когда схема на 176-й серии работала от входного щупа осциллографа, которым я мерил выходной сигнал.

MPetrovich
abalex:
  1. Я писал про диод, который предполагается ставить с сигнальной линии на +5В. Если на сигнальную линию с COM-порта приходит +12В, а ток потребления у всей схемы очень мал ( пусть 1 миллиампер ), то на резисторе 4.7 КОм упадет около 4.7 В, на диоде - пусть 0.6 В, и в итоге на шине питания +5В может оказаться 12-4.7-0.6=6.7В вместо 5 ( стабилизатор от этого может не спасти, т.к. он стабилизирует, меняя свое проходное сопротивление, а если на выход откуда-то со стороны приходит больше 5 вольт, он может просто закрыться, оставив на выходе эти 6.7 В ).

При чём здесь вообще ток, потребляемый схемой? Он будет иметь значение только в случае, если будет сравним с током через резистор перед стабилитроном. Да и в этом случае напряжение на стабилитроне будет понижаться,а не повышаться.
Схема прохождения тока в случае подачи на вход +12В выглядит следующим образом: ток течёт по цепи +12В - резистор - анод диода - катод диода - +5В. Ток через резистор в этом случае будет равен (12В-5В+0,6В)/4,7кОм=1,62мА+ток, потребляемый микросхемой. Однако, меньше, чем 1,62мА ток быть не может, поскольку диод в прямом направлении пропускает ток ВСЕГДА.
Стабилизатор же на то и стабилизатор, чтобы иметь СТАБИЛЬНОЕ напряжение в допустимом диапазоне токов нагрузки. Если предположить, что это простейший стабилизатор в виде эмиттерного повторителя, то ситуация описанная Вами будет в принципе возможна, поскольку напряжение на эмиттере превысит напряжение на базе. Однако и в этом случае есть простой выход - подгрузить стабилизатор сопротивлением в 200-300 ОМ. Ток, через него будет 25мА, что даст рассеиваемую мощность 125мВт - маленький резистор, который гарантированно притянет выход стабилизатора к земле.

  1. Стабилитрон в обратном направлении работает как обычный диод ( кто не верит - может взять тестер, лучше стрелочный, и померить ), т.е. от -12 вольт защитит так же, как диод вместо него.

Я этого и не оспариваю. Я говорил о том, что по Вашему получается будто по -12В та же картина, что и по +5В, т.е. якобы микросхема должна притянуться по питанию к -12В. Естественно, это не так.

Господа корифеи! Со схемой программатора я вроде определился и уже детальки в кучку собрал, осталось только запаять. У меня по софту большая просьба: подскажите как правильно прописать эти самые фьюзы, а лучше картинку с окном фьюзов выложите, чтобы видно было где галочки ставить. Наверняка многие из Вас с Тини13 работали, не откажите чайнику!

PigTail

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

MPetrovich
PigTail:

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

Абизжаешь, слюшай! Зачем “улучшать” в кавычках? Нэхарашо гаварыш!
Думаю вопросы по железке не только у меня и мои скромные усилия сделать программатор более доступным в изготовлении будут, надеюсь, оценены другими начинающими программерами. Ну нет у меня стабилитронов! А диодов полно и ехать специально за стабилитронами на рынок ну очень не хочется.
По поводу фьюзов: вроде нашёл скриншот. Оно или не оно? Я конвертор PWM/PPM хочу сам прошить, тот, что ты мне подарил когда-то. И твой вариант с инверсией хочу опробовать.
А вот скриншот с фьюзами:

Vad64
MPetrovich:

Абизжаешь, слюшай! Зачем “улучшать” в кавычках? Нэхарашо гаварыш!

Abalex абсолютно прав насчет возможного завышения напряжения питания при замене стабилитронов на пары диодов. Я бы тоже не советовал “улучшать” отработанные и многократно повторенные схемы без досконального понимания их работы, а тем более рекомендовать такие “улучшения” “начинающим программерам”. Даже если у Вас после изменений схемы она заработает, не факт, что ее повторяемость не ухудшится. Успехов!

PigTail

Дык и надо сразу было конкретно говорить что от тиньки надо, скриншот понятия не имею откуда тиснут, более того понипрог меня всегда в тупик ставит, т.к. пользуюсь AVR Studio. В общем считайте заводские установки фьюзов и инвертируйте CKDIV8, получите 9.6 МГц и время задержки от ресета 14СК+64ms, что соответствует CKSEL1…0=10 и SUT1…0=10.

MPetrovich
Vad64:

Abalex абсолютно прав насчет возможного завышения напряжения питания при замене стабилитронов на пары диодов. Я бы тоже не советовал “улучшать” отработанные и многократно повторенные схемы без досконального понимания их работы, а тем более рекомендовать такие “улучшения” “начинающим программерам”. Даже если у Вас после изменений схемы она заработает, не факт, что ее повторяемость не ухудшится. Успехов!

Я понимаю, что схема столь давно опубликованная в сети должна быть уже подчищена и скорректирована. Однако, действительность вносит во всё свои коррективы и нехватка комплектующих заставляет исхитряться в улучшайзингах. Я бы с удовольствием спаял бы схему как она нарисована, но если можно обойтись без поездки за деталями(что лично мне не так легко), то я лучше что-нибудь придумаю.
А всё-таки в моём варианте с резистором в качестве постоянной нагрузки стабилизатора, схема будет рабочей или есть ещё какие-то подводные камни?

PigTail:

Дык и надо сразу было конкретно говорить что от тиньки надо, скриншот понятия не имею откуда тиснут, более того понипрог меня всегда в тупик ставит, т.к. пользуюсь AVR Studio. В общем считайте заводские установки фьюзов и инвертируйте CKDIV8, получите 9.6 МГц и время задержки от ресета 14СК+64ms, что соответствует CKSEL1…0=10 и SUT1…0=10.

Скриншот “тиснут” с сайта Конзе. Он там был вложен в архив со всеми прочими файлами, относящимися к конвертору.
А отчего ПониПрог “ставит в тупик”?
За инструкции спасибо! Только вот понять бы что всё это значит? Ну ничего, думаю всему своё время и до этого дойду потихоньку.

ubd

Есть программатор для Тайни, гораздо проще, без всяких стабилитронов. Работает с понипрогом, и не только.

MPetrovich
ubd:

Есть программатор для Тайни, гораздо проще, без всяких стабилитронов. Работает с понипрогом, и не только.

Ну уж проще! Микруху надо где-то ещё нарыть. Это буфер, как я понял?

PigTail
MPetrovich:

Скриншот “тиснут” с сайта Конзе. Он там был вложен в архив со всеми прочими файлами, относящимися к конвертору.
А отчего ПониПрог “ставит в тупик”?

Ну вот привык я когда без сокращений словами все расписано, от этого при виде понипрог начинаю тупить 😃. Гы… слона то я и не заметил в архиве 😃, картинка фьюзов правильная, шейте смело.

abalex
MPetrovich:

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

М.б. поближе к дому где-то есть, например www.chip-dip.ru/product0/13311.aspx
Хотя цена там задрана, и позвоните предварительно - у них сайт с реальностью часто расходится.
Стабилитроны на 4.7 В тоже, видимо, подойдут.

А всё-таки в моём варианте с резистором в качестве постоянной нагрузки стабилизатора, схема будет рабочей или есть ещё какие-то подводные камни?

Рабочей будет, но COM-порт эти 16 мА ( 5В / 300 Ом ) скорее всего не выдаст. Там даже на родной схеме написано - “не меняйте стабилизатор на другой, например 78L05”, т.к. 78L05 сам потребляет лишних пару миллиампер, и тока от порта уже может не хватить. Это уж схема такая - “на острие иглы”: шаг в любую сторону, и м.б. проблемы. Но зато простая и внешнего питания не требует.
Есть вариант этой схемы - вместо стабилитронов диоды на землю ( как Вы предлагаете ), и параллельно им ( тоже на землю ) еще и резисторы, скажем, 3.3 КОм - тогда с +12 вольт на выходе делителя 4.7 КОм + 3.3 КОм будет где-то 4.95 В, что и нужно. Можно без диодов ( работают защитные диоды внутри микропроцессора ), но это уже не очень хорошо.
Кроме того, выход порта, который на базу транзистора идет, для программирования ATtiny вроде используется только через коллектор этого транзистора, и цепочка 4.7 КОм со стабилитроном - для него вроде бы не нужна, и ее выкинуть можно ( только проверьте это все, я не очень внимательно смотрел; да и в будущем м.б. другими процессорами займетесь, а там оно нужно ).

Я говорил о том, что по Вашему получается будто по -12В та же картина, что и по +5В, т.е. якобы микросхема должна притянуться по питанию к -12В. Естественно, это не так.

Естественно, не так. Здесь ток пойдет по цепи: Вывод COM-порта (-12В) - резистор - диод - земля COM-порта; а для +12: Вывод COM-порта (+12В) - резистор - диод на +5В - микропроцессор - земля COM-порта. Т.е. во втором случае ток пойдет через микропроцессор ( что теоретически может вызвать напряжение на нем больше допустимого ), а в первом - нет.

MPetrovich
PigTail:

Ну вот привык я когда без сокращений словами все расписано, от этого при виде понипрог начинаю тупить 😃. Гы… слона то я и не заметил в архиве 😃, картинка фьюзов правильная, шейте смело.

Ура! И с этим вопросом разобрался! A AVR Studio будет работать с энтим программатором? И чего там в ПониПрог сокращено то?

abalex:

М.б. поближе к дому где-то есть, например www.chip-dip.ru/product0/13311.aspx

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

Рабочей будет, но COM-порт эти 16 мА ( 5В / 300 Ом ) скорее всего не выдаст. Там даже на родной схеме написано - “не меняйте стабилизатор на другой, например 78L05”, т.к. 78L05 сам потребляет лишних пару миллиампер, и тока от порта уже может не хватить. Это уж схема такая - “на острие иглы”: шаг в любую сторону, и м.б. проблемы. Но зато простая и внешнего питания не требует.

Да я не собирался питать схему от СОМ-порта. Мне проще батарейку или аккумулятор к стабилизатору подоткнуть, чем выкраивать миллиамперы при питании от порта.

Кроме того, выход порта, который на базу транзистора идет, для программирования ATtiny вроде используется только через коллектор этого транзистора, и цепочка 4.7 КОм со стабилитроном - для него вроде бы не нужна, и ее выкинуть можно ( только проверьте это все, я не очень внимательно смотрел; да и в будущем м.б. другими процессорами займетесь, а там оно нужно ).

Что-то я не понял о чём речь. Это про цепь RESETa что ли?

abalex
MPetrovich:

Что-то я не понял о чём речь. Это про цепь RESETa что ли?

Да.

MPetrovich

Так я не понял, AVR Studio будет работать с энтим программатором?

ubd

Нет, я не понимаю… Вы живёте в Москве, там что новозможно микросхему найти 74HC244? Она у нас в Сибири стоит 22руб, у вас примерно также, если не дешевле.
Тем более стабилитроны на 4,7В или 5,1 - вообще проблем нет найти в Москве…

Так я не понял, AVR Studio будет работать с энтим программатором?

Этого я не знаю, не пробовал. Я PonyProg пользуюсь, или CodeVision AVR, и в обоих случаях использую программатор на 74НС244, уже третий год. Ни разу проблем не было.

MPetrovich
ubd:

Нет, я не понимаю… Вы живёте в Москве, там что новозможно микросхему найти 74HC244? Она у нас в Сибири стоит 22руб, у вас примерно также, если не дешевле.
Тем более стабилитроны на 4,7В или 5,1 - вообще проблем нет найти в Москве…

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