Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Pic12F675 захлопнулся
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
Сержник
Поспешил и прошил Pic12F675 отладочной программой без прерываний. Микроконтроллер работает, но в него больше ничего не могу записать, и при чтении читает все нули. Так испортил 5 штук! Похоже включилась защита чтения и записи. Можно ли их вернуть в нормальное состояние? Жалко все-же их!
Прохожий
Цитата(Сержник @ Nov 24 2008, 20:42) *
Поспешил и прошил Pic12F675 отладочной программой без прерываний. Микроконтроллер работает, но в него больше ничего не могу записать, и при чтении читает все нули. Так испортил 5 штук! Похоже включилась защита чтения и записи. Можно ли их вернуть в нормальное состояние? Жалко все-же их!

Попробуйте просто стереть программу. А вообще-то, при пользовании нормальным программатором и софтом запись не запрещается. Нельзя только читать.
Сержник
Стирать пробовал, программатор (JDM) пишет, что стерто, а программа в мк. работает. Когда я прошивал его первый раз - контрольное чтение произошло с ошибкой по нулевому адресу, так-как он сразу захлопнулся.

К программатору притензий нет, так-как я взял 6-й мк. и прошил отлаженной ранее программой - все нормально.

Но можно- ли спасти те 5 штук?
Прохожий
Цитата(Сержник @ Nov 24 2008, 21:54) *
Стирать пробовал, программатор (JDM) пишет, что стерто, а программа в мк. работает. Когда я прошивал его первый раз - контрольное чтение произошло с ошибкой по нулевому адресу, так-как он сразу захлопнулся.

К программатору притензий нет, так-как я взял 6-й мк. и прошил отлаженной ранее программой - все нормально.

Но можно- ли спасти те 5 штук?

В качестве программатора надо применять что-нибудь из этого.
В этом случае можно грешить на "железо". В противном случае результат не определен.
Alex B._
Цитата(Сержник @ Nov 24 2008, 20:42) *
Поспешил и прошил Pic12F675 отладочной программой без прерываний. Микроконтроллер работает, но в него больше ничего не могу записать, и при чтении читает все нули. Так испортил 5 штук! Похоже включилась защита чтения и записи. Можно ли их вернуть в нормальное состояние? Жалко все-же их!

99% - контроллер тактируется от внутреннего RC, одна из ног PGD/PGC используется как выход, а MCLR используется как вход общего назначения, а не как сброс. В таком случае генератор после подачи питания быстренько запускается, нога переводится на выход, а программатор не успевает перевести контроллер в режим программирования.
Выход один - искать/покупать программатор, который может подать напряжение программирования ДО подачи напряжения питания. Например - PICKit2
Сержник
Ну, а если искусственно раньше дать 12 v от внешнего источника, и потом программировать?
xemul
Цитата(Сержник @ Nov 25 2008, 17:57) *
Ну, а если искусственно раньше дать 12 v от внешнего источника, и потом программировать?

Угу. В спецификации программирования пиков сказано, что Vihh для входа в программирование должно быть в пределах Vcc+3.5 .. 13.5 V, задержка между подачей Vpp и Vcc - не менее 5 мкс, длительность удержания Vpp до Vcc сверху не ограничена.
Можно через диод с резистором в 10-... кОм (что такое JDM, не знаю, поэтому точнее не скажу) подать на MCLR 9-10 В (хоть от свежей 9-вольтовой батарейки), потом выполнить стирание. Если JDM не может нормально притянуть MCLR к земле, то лучше поменять программатор.
Ну и надеюсь, что облочка для программатора выполнит п.п. a) и h) спецификации:
Цитата
To disable code-protect:
a) Read and store OSCCAL and BG bits.
b ) Execute Load Configuration (000000).
c) Execute Bulk Erase Program Memory (001001).
d) Wait Tera.
e) Execute Bulk Erase Data Memory (001011).
f) Wait Tera.
g) Reset device to reset address counter before
reprogramming device.
h) Restore OSCCAL and BG bits.
Сержник
Цитата(xemul @ Nov 25 2008, 21:48) *
Угу. В спецификации программирования пиков сказано, что Vihh для входа в программирование должно быть в пределах Vcc+3.5 .. 13.5 V, задержка между подачей Vpp и Vcc - не менее 5 мкс, длительность удержания Vpp до Vcc сверху не ограничена.
Можно через диод с резистором в 10-... кОм (что такое JDM, не знаю, поэтому точнее не скажу) подать на MCLR 9-10 В (хоть от свежей 9-вольтовой батарейки), потом выполнить стирание. Если JDM не может нормально притянуть MCLR к земле, то лучше поменять программатор.
Ну и надеюсь, что облочка для программатора выполнит п.п. a) и h) спецификации:


Спасибо за совет, завтра попробую стереть.

Цитата(Сержник @ Nov 25 2008, 23:02) *
Спасибо за совет, завтра попробую стереть.


JDM-программатор это простая самоделка на транзисторах.
xemul
Цитата(Сержник @ Nov 25 2008, 22:10) *
JDM-программатор это простая самоделка на транзисторах.

Посмотрел. Надеюсь, Вы собрали этот вариант http://www.jdm.homepage.dk/newver.htm, а не предыдущие.
Также надеюсь, Вы обратили внимание, что у этого программатора на земле RS-232 (и компа) висит Vcc программируемого контроллера (если вдруг соберетесь что-нибудь программировать прямо на плате, то земля этой платы не должна быть связана с землей компа).
Сержник
Цитата(xemul @ Nov 26 2008, 00:41) *
Посмотрел. Надеюсь, Вы собрали этот вариант http://www.jdm.homepage.dk/newver.htm, а не предыдущие.
Также надеюсь, Вы обратили внимание, что у этого программатора на земле RS-232 (и компа) висит Vcc программируемого контроллера (если вдруг соберетесь что-нибудь программировать прямо на плате, то земля этой платы не должна быть связана с землей компа).


Получилось!!! Восстановил все 5 мк. Но не сразу получилось. Когда через 10 к . подсоединил 12 в. к 4-й ноге (MCLR) и вкл. стирание - я по осциллографу наблюдал, что до нуля сигнал далеко не падал, ну и конечно ничего не стерлось. Но когда напрямую (через кнопку) дал 12 в. на 4-ю ногу и, как только включил стирание, 2 секунды держал это напряжение, а потом разомкнул кнопку, т.е. снял принудительное напряжение. Дальше на 4-й ноге уже от программатора было 12 в. и стирающие сигналы. И стирание произошло. Дальше я прошил его нормальной программой и он стал работать! Остальные мк. восстановил аналогично.
А программатор у меня отличается от JDM , земля программатора соединена с землей компьютера. Поэтому я запитываю программатор 12 в. от компьютера (вывел провод изнутри).
Конечно я рад, спасибо за ценные советы !
Сергей К
что интересно. У меня PIC16F675 + PICKit2 + MPLab 8.10 в 80% случаев затирает калибровочную константу. Если прошивать внешней оболочкой для PICKit2 - то все ОК.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.