реклама на сайте
подробности

 
 
> Pic12F675 захлопнулся
Сержник
сообщение Nov 24 2008, 17:42
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 21-11-08
Пользователь №: 41 840



Поспешил и прошил Pic12F675 отладочной программой без прерываний. Микроконтроллер работает, но в него больше ничего не могу записать, и при чтении читает все нули. Так испортил 5 штук! Похоже включилась защита чтения и записи. Можно ли их вернуть в нормальное состояние? Жалко все-же их!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 10)
Прохожий
сообщение Nov 24 2008, 17:54
Сообщение #2


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



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

Попробуйте просто стереть программу. А вообще-то, при пользовании нормальным программатором и софтом запись не запрещается. Нельзя только читать.
Go to the top of the page
 
+Quote Post
Сержник
сообщение Nov 24 2008, 18:54
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 21-11-08
Пользователь №: 41 840



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

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

Но можно- ли спасти те 5 штук?
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Nov 24 2008, 19:05
Сообщение #4


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



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

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

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

В качестве программатора надо применять что-нибудь из этого.
В этом случае можно грешить на "железо". В противном случае результат не определен.
Go to the top of the page
 
+Quote Post
Alex B._
сообщение Nov 24 2008, 20:47
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 943
Регистрация: 6-07-04
Из: Санкт-Петербург
Пользователь №: 274



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

99% - контроллер тактируется от внутреннего RC, одна из ног PGD/PGC используется как выход, а MCLR используется как вход общего назначения, а не как сброс. В таком случае генератор после подачи питания быстренько запускается, нога переводится на выход, а программатор не успевает перевести контроллер в режим программирования.
Выход один - искать/покупать программатор, который может подать напряжение программирования ДО подачи напряжения питания. Например - PICKit2
Go to the top of the page
 
+Quote Post
Сержник
сообщение Nov 25 2008, 14:57
Сообщение #6





Группа: Новичок
Сообщений: 5
Регистрация: 21-11-08
Пользователь №: 41 840



Ну, а если искусственно раньше дать 12 v от внешнего источника, и потом программировать?
Go to the top of the page
 
+Quote Post
xemul
сообщение Nov 25 2008, 17:48
Сообщение #7



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Сержник @ 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.
Go to the top of the page
 
+Quote Post
Сержник
сообщение Nov 25 2008, 19:10
Сообщение #8





Группа: Новичок
Сообщений: 5
Регистрация: 21-11-08
Пользователь №: 41 840



Цитата(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-программатор это простая самоделка на транзисторах.
Go to the top of the page
 
+Quote Post
xemul
сообщение Nov 25 2008, 20:41
Сообщение #9



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



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

Посмотрел. Надеюсь, Вы собрали этот вариант http://www.jdm.homepage.dk/newver.htm, а не предыдущие.
Также надеюсь, Вы обратили внимание, что у этого программатора на земле RS-232 (и компа) висит Vcc программируемого контроллера (если вдруг соберетесь что-нибудь программировать прямо на плате, то земля этой платы не должна быть связана с землей компа).
Go to the top of the page
 
+Quote Post
Сержник
сообщение Nov 26 2008, 14:37
Сообщение #10





Группа: Новичок
Сообщений: 5
Регистрация: 21-11-08
Пользователь №: 41 840



Цитата(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 в. от компьютера (вывел провод изнутри).
Конечно я рад, спасибо за ценные советы !
Go to the top of the page
 
+Quote Post
Сергей К
сообщение Nov 27 2008, 08:38
Сообщение #11


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 18-09-08
Из: Киев
Пользователь №: 40 317



что интересно. У меня PIC16F675 + PICKit2 + MPLab 8.10 в 80% случаев затирает калибровочную константу. Если прошивать внешней оболочкой для PICKit2 - то все ОК.

Сообщение отредактировал Сергей К - Nov 27 2008, 08:39
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 00:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01432 секунд с 7
ELECTRONIX ©2004-2016