Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Защита входов МК
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
prottoss
Следя за темой про программатор по RS232 я тоже "загорелся" идеей универсального програматора. Но в топике никто не подымал вопрос про защиту линий ВВ МК от попадпния на них напряжения программирования. Ведб может возникнуть такая ситуация что при подаче напряжения прграммирования на "подопытную" микросхему, в случае, если она неисправна, это напряжение попадает на управляющий МК. Когда мы программируем микросхему, у которой имеется ИД код все понятно - если код не читается - мы не можем идентифицировать микросхему, и не программируем ее. Но есть же микросхемы и без ИД. Как быть в этом случае? Хочется услышать решение без использования разных джамперов, переходных колодок.
Т.е есть МК всеми линиями ВВ опутывающий сокет, и "сам решающий" на что подать, или откуда считывать данные, а к каким ногам подавать напряжение питания и программирования.
AndyBig
Не совсем понял ситуацию
Цитата
при подаче напряжения прграммирования на "подопытную" микросхему, в случае, если она неисправна, это напряжение попадает на управляющий МК

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

Порядок действия "разъясняется" управляющему контроллеру верхней программой с компа.
prottoss
Цитата(AndyBig @ Oct 2 2005, 17:32)
Имеется в виду, что какой-то из входов программируемого контроллера может быть пробит на землю? Если так, то для этого ставятся буфера (заодно служащие для адаптации логических уровней) и ограничительные резисторы.


А как Вы представляете схему с буферами, которую нужно прилепить к выводам АВР, если для разных микросхем любой из выводов может служить как вход и как выход. Естественно 8-разрядные не пойдут, так как они не могут ОДНОВРЕМЕННО и ПРОИЗВОЛЬНО конфигурироваться в разные стороны. А хочется, ели вы теперь понимаете ситуацию, дешевле.

Цитата(AndyBig @ Oct 2 2005, 17:32)
Порядок действия "разъясняется" управляющему контроллеру верхней программой с компа.


Порядок то разьясняется. Но потом программа сверху дает команду на подачу напряжения программирования. И это напряжение, в случае пробитой программируемой микросхемы подается на входы и выходы управляющего МК чере саму программируемую микросхему. Все. Че еще непонятно-то?
arttab
токоограничевающие резисторы (1К) и диоды или стабилитроны
Igor26
Цитата(prottoss @ Oct 1 2005, 03:48)
Следя за темой про программатор по RS232 я тоже "загорелся" идеей универсального програматора. Но в топике никто не подымал вопрос про защиту линий ВВ МК от попадпния на них напряжения программирования.  Ведб может возникнуть такая ситуация что при подаче напряжения прграммирования на "подопытную" микросхему, в случае, если она неисправна, это напряжение попадает на управляющий МК. Когда мы программируем микросхему, у которой имеется ИД код все понятно - если код не читается - мы не можем идентифицировать микросхему, и не программируем ее. Но есть же микросхемы и без ИД. Как быть в этом случае? Хочется услышать решение без использования разных джамперов, переходных колодок.
Т.е есть МК всеми линиями ВВ опутывающий сокет, и "сам решающий" на что подать, или откуда считывать данные, а к каким ногам подавать напряжение питания и программирования.
*

За всю практику программирования МК, такой ситуации не было ни разу. И стоит ли из-за разовых ситуаациях городить огород? Ну попался пробитый контроллер, ну спалим управляющий контроллер, заменить что-ли долго его?
AndyBig
Цитата
если для разных микросхем любой из выводов может служить как вход и как выход.

Ну, положим, при программировании у каждого контроллера строго определены выходы на вход, выход или двунаправленность. В этом случае просто делается колодка с панелькой для программируемого контроллера и с соответствующей разводкой. Для двунаправленных линий (в большинстве случаев это 8-битный порт данных) используется шинник 74hc245, для однонаправленных - 74hc244.
prottoss
Цитата(arttab @ Oct 3 2005, 09:54)
токоограничевающие резисторы (1К) и диоды или стабилитроны
*


5-6 диодов , или, тем более стабилитрон - это относительно большая емкость для линии, соответственно большой процент неудачного программирования - фронты сигналов будут сильно заваливаться.
prottoss
Цитата(AndyBig @ Oct 3 2005, 14:30)
Цитата
если для разных микросхем любой из выводов может служить как вход и как выход.

Ну, положим, при программировании у каждого контроллера строго определены выходы на вход, выход или двунаправленность. В этом случае просто делается колодка с панелькой для программируемого контроллера и с соответствующей разводкой. Для двунаправленных линий (в большинстве случаев это 8-битный порт данных) используется шинник 74hc245, для однонаправленных - 74hc244.
*



Читайте лучше поднятый выше вопрос - подразумевается, что на программаторе будут программироваться не только МК, но и пассивные БИС - в частности микросхемы памяти, или еще что то в этом роде, имеющие повышенное напряжение программирования

Цитата
Когда мы программируем микросхему, у которой имеется ИД код все понятно - если код не читается - мы не можем идентифицировать микросхему, и не программируем ее. Но есть же микросхемы и без ИД. Как быть в этом случае?


Так что с програмированием контроллеров вообще в этом плане проблем нет - неисправный контроллер не выдаст ИД, и программатор, в силу своего самосохранения :-) откажется девайс программировать.
prottoss
Цитата(Igor26 @ Oct 3 2005, 13:14)
За всю практику программирования МК, такой ситуации не было ни разу. И стоит ли из-за разовых ситуаациях городить огород? Ну попался пробитый контроллер, ну спалим управляющий контроллер, заменить что-ли долго его?
*


Объясню и Вам. Если подопытная микросхема имеет ИД, то до подачи напряжения программирования, мы можем считать этот ИД.Если ИД читается , то с вероятностью 99,9% мы можем сказать, что программируемый МК(или просто микросхема) цел. Все.
Но я поднял вопрос о микросхемах, которые НЕ ИМЕЮТ ИД. Т.е. перед программированием мы не можем их проверить, в частности, это многие микросхемы памяти. Вот о чем топик.
ReAl
Цитата(prottoss @ Oct 3 2005, 16:16)
Читайте лучше поднятый выше вопрос - подразумевается, что на программаторе будут программироваться не только МК, но и пассивные БИС - в частности микросхемы памяти, или еще что то в этом роде, имеющие повышенное напряжение программирования
*


Ну это смотря какие микросхемы памяти. И с какой скоростью программировать smile.gif
Для 27сХХХ, помнится, от источника программирующего напряжения требуется по доке 30мА max.
Думаю, если тупо поставить защиту по току на 30mA, то ничего с процессором не станется.
Если надо больше, чем 30мА, то уже надо внимательно - не у всех бывает можно 100мА в защитные диоды гнать.

P.S. Что-то та тема застряла на моих замечаниях к схеме...
prottoss
Цитата(ReAl @ Oct 3 2005, 21:34)
Думаю, если тупо поставить защиту по току на 30mA, то ничего с процессором не станется.
Если надо больше, чем 30мА, то уже надо внимательно - не у всех бывает можно  100мА в защитные диоды гнать.


В таком деле тупо ничего делать нельзя. Извините, если обидел. Защиту по току ставить нет смысла, потому как нам надо защитить полевые транзисторы линии ВВ МК от пробоя повышенным напряжением. А защита по току будет защищать Ваш источник программирующего напряжения. Конкретно надо защитить нижний транзистор выходного буфера (он формирует ноль), так как в закрытом состоянии напряжение 12 вольт он может и не выдержать - его канал пробьет повышенным напряжением. Кроме него нам необходимо защитить входной транзистор приемника линии ВВ. так как на его затвор прилетит напряжение больше напряжения между стоком и истоком (VCC МК). А для защиты от повышенных токов последовательно линии ставится банальный токоограничительный резистор
AndyBig
Цитата
Читайте лучше поднятый выше вопрос - подразумевается, что на программаторе будут программироваться не только МК, но и пассивные БИС - в частности микросхемы памяти, или еще что то в этом роде, имеющие повышенное напряжение программирования

Я, конечно, может быть и не понимаю до конца вопрос... Но разве эти БИС имеют "плавающие" ноги? То есть какая нога захотела - та стала входом, другая решила быть выходом? Повторюсь еще раз: один разъем на программаторе и различные колодки для различных типов целевых чипов - каждая колодка разведена по своему. Ведь необязательно же, скажем, пятую ногу управляющего контроллера всегда сажать на восьмую ногу целевого девайса? На колодке имеются 8 (16,24 и т.д.) двунаправленных пина, драйверящихся управляющим контроллером через 74хх245, штуки четыре входных и штуки четыре выходных - эти драйверятся через 74хх244.
Это будет и защита и приведение логических уровней.
AndyBig
Мне кажется, тут уже пошла речь о столь редких неисправностях, что предусматривать от них защиту не имеет смысла. Так можно до паранойи дойти - вдруг к программатору подключат неисправный источник питания и получит он не 5 вольт постоянки, а 12 переменки? smile.gif
prottoss
Цитата(AndyBig @ Oct 3 2005, 23:06)
Я, конечно, может быть и не понимаю до конца вопрос... Но разве эти БИС имеют "плавающие" ноги? То есть какая нога захотела - та стала входом, другая решила быть выходом? Повторюсь еще раз: один разъем на программаторе и различные колодки для различных типов целевых чипов - каждая колодка разведена по своему. Ведь необязательно же, скажем, пятую ногу управляющего контроллера всегда сажать на восьмую ногу целевого девайса? На колодке имеются 8 (16,24 и т.д.) двунаправленных пина, драйверящихся управляющим контроллером через 74хх245, штуки четыре входных и штуки четыре выходных - эти драйверятся через 74хх244.
Это будет и защита и приведение логических уровней.
*


Скорее всего Вы просто не понимаете вопрос. Речь идет о универсальном программаторе с одной колодкой. Допустим DIP40. Вот допустим целевое устройство имеет ноги с 1 по 8 - шина данных, остальные - управляющие входы и входы адреса. Думаю сдесь все ясно.
За тем мы вставляем в панельку другое устройство, а у него - данные 2, 4, 6, 8, 10 (к примеру). А остальные - как входы управления и адреса. Как вы представляете в этом случае схему с буферами. А у третьего девайса еще какая нибудь цоколевка через три ноги колено. Т.е схема должна быть такой что ДЛЯ ЛЮБОЙ КОНФИГУРАЦИИ ЛЮБОЙ ВЫВОД ПОДВОДИМЫЙ К ПАНЕЛИ ПРОГРАММИРОВАНИЯ МОЖЕТ БЫТЬ СКОНФИГУРИРОВАН КАК ВХОД ИЛИ КАК ВЫХОД. Но эта проблема решается без всяких буферов. Благо МК АВР сам поддерживает такую функция для своих портов.

Идея же с переходными панельками стара и не отрицаю универсальна, но эта тема была создана с упором именно на универсальность. Т.е. одна панелка. Хотя может быть это и утопия. Но все же защита входов МК, актуальная тема, и не только если дело касается программатора.
AndyBig
Боюсь, это как раз утопия, по крайней мере в рамках простого программатора.
Да и колодка не может быть универсальной. Целевое устройство может быть в каком угодно корпусе - дип со стандартным шагом, дип с коротким шагом, дипы разной ширины. Не говоря уже о PLCC, TSOP, TQFT и еще кучи-кучи корпусов. Придется или ставить на плату программатора десяток колодок (минимум), или приходим опять же к переходным дочерним платкам.
prottoss
Цитата(AndyBig @ Oct 4 2005, 15:17)
Боюсь, это как раз утопия, по крайней мере в рамках простого программатора.
Да и колодка не может быть универсальной. Целевое устройство может быть в каком угодно корпусе - дип со стандартным шагом, дип с коротким шагом, дипы разной ширины. Не говоря уже о PLCC, TSOP, TQFT и еще кучи-кучи корпусов. Придется или ставить на плату программатора десяток колодок (минимум), или приходим опять же к переходным дочерним платкам.
*


По крайней мере типов корпусов на два порядка меньше, чем типо цоколевок микросхем, даже восьминогие флэш разных фирм разных типов в одном корпусе и те не совпадают по цоколевке.
AndyBig
Меньше, но недостаточно мало, что бы имело смысл этим заморачиваться.
ReAl
Цитата(prottoss @ Oct 3 2005, 17:21)
Цитата(ReAl @ Oct 3 2005, 21:34)
Думаю, если тупо поставить защиту по току на 30mA, то ничего с процессором не станется.
Если надо больше, чем 30мА, то уже надо внимательно - не у всех бывает можно  100мА в защитные диоды гнать.


В таком деле тупо ничего делать нельзя. Извините, если обидел. Защиту по току ставить нет смысла, потому как нам надо защитить полевые транзисторы линии ВВ МК от пробоя повышенным напряжением.

От какого такого "повышенного напряжения" ???
Открываем ключ, напряжение начианет расти, доходит до VCC+0.5 и начинает расти ток, на грубо говоря VCC+0.7 уже защита сработает полностью.
Или, по-вашему, "тупо" - это тепловая защита?
Да, скорость нарастания на выходе ключа надо ограничить до такой, что защита будет успевать отработать.

Раз уж решено делать "правильный программатор" smile.gif - ещё рекомендую сделать источник напряжения на минус несколько вольт и на каждую ногу колодки - резистор в сотню килоом. И возможность "понюхать" напряжение на каждой ноге джо подачи VCC и пока ещё ключи на каждую ногу находятся в Z-состояниии (например, горсть CD4051 и компаратор). Таким образом по отрицательному напряжению ниже минус вольта на ноге можно сказать
"не контачит нога" и "контачит лишняя нога" и тоже убрать часть возможных ошибок оператора.
prottoss
Цитата(AndyBig @ Oct 4 2005, 16:26)
Меньше, но недостаточно мало, что бы имело смысл этим заморачиваться.
*


Вообще то в топике обсуждается не целесобразность применения одного универсального сокета или аренда в комоде ящика под переходники для программатора, а как защитить линии ВВ АВРа.
У меня в принципе идея уже есть, но пока не буду выкладывать ее сдесь, дабы не сглазили. Будет время - возьмусь за паяльник, тогда все и расскажу в этом топике, или на своей страничке.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.