Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PIC18F8722 cбрасывается
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
Anton75
Была схема на PIC18, вобщем нормально работающая.
После незначительных добавок в схему (задействовали как цифровые выходы порты RC0-RC4, которые раньше были свободны) и
переразводки платы (без особых перемещений элементов) уже вторая собранная плата ведет себя подобным образом.
Прикосновение пальцем к корпусу контроллера - 100% сброс!
Выдача "единицы" на более чем 6 выходных портов одновременно (к ним подключены транзисторные ключи, едят по входу не более
8 мА каждый) - сброс или сразу, или через несколько секунд.
Схема сброса представляет из себя резистор 5.1 к с вывода MCLR на +5В, но я пробовал подвешивать MCLR прямо на +5В, ничего не меняется. Прикосновение отверткой к MCLR (даже привязанному к +5В!) - сброс!
Порты RC0-RC4 ради эксперимента освободил - никакого эффекта... Сначала, естественно, подумали на генератор, но эта
версия отпала - генератор стабильно молотит. Что там можно было так переразвести, чтоб возник такой злобный глюк? Могли ли
попасться подряд 2 процессора с неисправной схемой сброса?
Vlad27
Вряд ли могли попасться подряд два неисправных процессора. А есть возможность посмотреть состояние RCON после сброса?
Включен ли BOR? Скорее, что-то по питанию лезет.
MrYuran
1. Проверьте правильность разводки.
2. Возможно, неудачно развели питание и (или) землю МК, и через него (а может, под или вокруг) гуляют сквозные импульсные токи.

Корпус контроллера - это что? сам корпус непосредственно микросхемы? который из керамики? или земляная цепь?
Anton75
Сам корпус микросхемы, из керамики (или пластмассы?) который. Изолятор, вобщем cranky.gif
arizona
у 8722 несколько выводов Vdd Vss, как подключены? конденсаторы непосредственно у выводов питания есть?
AVss куда?

Если часть портов не использовалось, то велика вероятность что остались еще не использованные, правильно? Как сконфигурированы? Вход, выход? подтяжка?

вообще по EMC\EMI есть тут:
http://www.microchip.com.ru/1010/Support/Seminars.html
zksystem
Конденсаторы 0.1мкф по питанию присутствуют?
VCC от источника питания как разведено? runburst ?
Было подобное чудо у меня когда-то, дело было в кривой разводке питания.
MCLR я бы Вам посоветовал подключить к VCC через 1K.
@Ark
Цитата(zksystem @ Feb 12 2009, 19:11) *
... MCLR я бы Вам посоветовал подключить к VCC через 1K.

Вот это, как раз, делать не нужно. Иначе могут возникнуть проблемы с внутрисхемным программированием.
Между MCLR и Vcc лучше ставить не менее 5К. И еще стоит поставить керамический конденсатор 0,1 мкф между MCLR и землей. Возможно проблема - в коротких импульсных помехах на питании.
Anton75
В результате внимательного изучения разводки выяснилось, что проводник цифровой земли образует большую петлю вокруг процессора, в результате чего получалось, что между блокировочным конденсатором и процессором находится длинный отрезок провода, хотя визуально они находятся вплотную. После закорачивания петли перемычкой и подпаивания дополнительного блокировочного конденсатора прямо под контроллер, сброс при выдаче значений в порты больше не происходит.
НО! Сброс при прикосновении к корпусу микросхемы пальцем или отверткой к выводу MCLR все равно наблюдается, хотя все возможные виды сброса запрещены в конфигурации и тот же самый MCLR disabled.
dinam
Так и должно быть. Если мне не изменяет память, то у этого вывода нет защитного диода на питание. Если вас это волнует, то можно его поставить.
Anton75
Ура! 1111493779.gif Нашел.
Методом медленного шаманского вождения тоненькой отверткой по периметру корпуса контроллера было выявлено, что сброс происходит при нахождении отвертки вблизи вывода 53, который оказался ни к чему не подключен. Согласно даташита, это вход PGM, который при низковольтном програмировании не используется, и даташит явно указывает, что "when LVP is enabled, externally pull the PGM pin to VSS to allow normal program
execution". После соединения вывода с землей глюки прекратились. Вобщем, как обычно, надо читать мануалы, они рулят. Жаль только, что проштудировать 500 страниц текста на английском для выявления всех подобных моментов не предстваляется возможным. Самое интересное, что в предыдущих версиях этого устройства указанный вывод контроллера также висит в воздухе, но там никаких глюков не наблюдается (но получается, что возникнуть они могут в любой момент).
@Ark
Цитата(dinam @ Feb 13 2009, 12:32) *
Если мне не изменяет память, то у этого вывода нет защитного диода на питание. Если вас это волнует, то можно его поставить.
...и отказаться, при этом, от возможности внутрисхемного программирования.

Цитата(Anton75 @ Feb 13 2009, 16:39) *
Вобщем, как обычно, надо читать мануалы, они рулят.
Достаточно установить: CONFIG4 -> Low voltage programming -> Disabled
Anton75
Цитата(@Ark @ Feb 13 2009, 17:59) *
Достаточно установить: CONFIG4 -> Low voltage programming -> Disabled


А вот с этим надо быть осторожнее!
Если я правильно понял даташит, однажды отключив Low voltage programming, включить его обратно можно будет только в режиме высоковольтного программирования!
DL36
Цитата(Anton75 @ Feb 13 2009, 21:52) *
А вот с этим надо быть осторожнее!
Если я правильно понял даташит, однажды отключив Low voltage programming, включить его обратно можно будет только в режиме высоковольтного программирования!

С этим вполне справятся и ИСД2 и ПикКит2. Это не АВР
Anton75
Вроде бы всё удалось устаканить, но недавно возникло продолжение темы.
Еще одна такая же плата. Все вышеописанные доработки выполнены, PGM соединен с землей. А беда схожая, но немного иная: сброс происходит при касании отверткой MCLR. Самое смешное, что вывод MCLR в конфигурации запрещен, и можно сколько угодно коротить его пинцетом на землю - сброса не будет. Касаемся MCLR отверткой с ИЗОЛИРОВАННОЙ ручкой - тут же тынц - и уходит в сброс. maniac.gif Уменьшил резистор на MCLR с 5.1 до 2.4 кОм - то же самое. Получается, что плата вроде бы работает, если не тыкать отверткой куда не надо, но ведь нельзя же так оставлять..
@Ark
Антон, вам уже практически все возможные причины назвали. Как и способы борьбы с ними. Вам осталось только определить, какая из них имеет место. Кстати, несмотря на то, что MCLR отключен, появление на нем импульсов отрицательной полярности, даже очень коротких, может привести к зависанию. А короткие положительные импульсы до +12В могут привести к переходу в режим программирования, что выглядит как сбой (сброс). Я почему-то думаю, что причина этом. Кстати, в ДШ это где-то все написано. А вам лучше не гадать, а посмотреть осциллографом, что делается на MCLR и на питании PIC-а.
P.S. Хотите дальше "копать" - выложите хотя бы схему, а еще лучше разводку платы.
P.P.S. Режим низковольтного программирования лучше все-таки запретить, если он не используется.
fmdost
Цитата(Anton75 @ Feb 12 2009, 16:44) *
Сам корпус микросхемы, из керамики (или пластмассы?) который. Изолятор, вобщем cranky.gif

Так он не припаян.

Цитата(Anton75 @ Feb 13 2009, 16:39) *
Ура! 1111493779.gif Нашел.
Методом медленного шаманского вождения тоненькой отверткой по периметру корпуса контроллера было выявлено, что сброс происходит при нахождении отвертки вблизи вывода 53, который оказался ни к чему не подключен.

Опс, угадал!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.