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

|
Поспешил и прошил Pic12F675 отладочной программой без прерываний. Микроконтроллер работает, но в него больше ничего не могу записать, и при чтении читает все нули. Так испортил 5 штук! Похоже включилась защита чтения и записи. Можно ли их вернуть в нормальное состояние? Жалко все-же их!
|
|
|
|
|
 |
Ответов
(1 - 10)
|
Nov 24 2008, 18:54
|
Группа: Новичок
Сообщений: 5
Регистрация: 21-11-08
Пользователь №: 41 840

|
Стирать пробовал, программатор (JDM) пишет, что стерто, а программа в мк. работает. Когда я прошивал его первый раз - контрольное чтение произошло с ошибкой по нулевому адресу, так-как он сразу захлопнулся.
К программатору притензий нет, так-как я взял 6-й мк. и прошил отлаженной ранее программой - все нормально.
Но можно- ли спасти те 5 штук?
|
|
|
|
|
Nov 24 2008, 19:05
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

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

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

|
Цитата(Сержник @ Nov 24 2008, 20:42)  Поспешил и прошил Pic12F675 отладочной программой без прерываний. Микроконтроллер работает, но в него больше ничего не могу записать, и при чтении читает все нули. Так испортил 5 штук! Похоже включилась защита чтения и записи. Можно ли их вернуть в нормальное состояние? Жалко все-же их! 99% - контроллер тактируется от внутреннего RC, одна из ног PGD/PGC используется как выход, а MCLR используется как вход общего назначения, а не как сброс. В таком случае генератор после подачи питания быстренько запускается, нога переводится на выход, а программатор не успевает перевести контроллер в режим программирования. Выход один - искать/покупать программатор, который может подать напряжение программирования ДО подачи напряжения питания. Например - PICKit2
|
|
|
|
|
Nov 25 2008, 14:57
|
Группа: Новичок
Сообщений: 5
Регистрация: 21-11-08
Пользователь №: 41 840

|
Ну, а если искусственно раньше дать 12 v от внешнего источника, и потом программировать?
|
|
|
|
|
Nov 25 2008, 17:48
|
    
Группа: Свой
Сообщений: 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.
|
|
|
|
|
Nov 25 2008, 19:10
|
Группа: Новичок
Сообщений: 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-программатор это простая самоделка на транзисторах.
|
|
|
|
|
Nov 25 2008, 20:41
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(Сержник @ Nov 25 2008, 22:10)  JDM-программатор это простая самоделка на транзисторах. Посмотрел. Надеюсь, Вы собрали этот вариант http://www.jdm.homepage.dk/newver.htm, а не предыдущие. Также надеюсь, Вы обратили внимание, что у этого программатора на земле RS-232 (и компа) висит Vcc программируемого контроллера (если вдруг соберетесь что-нибудь программировать прямо на плате, то земля этой платы не должна быть связана с землей компа).
|
|
|
|
|
Nov 26 2008, 14:37
|
Группа: Новичок
Сообщений: 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 в. от компьютера (вывел провод изнутри). Конечно я рад, спасибо за ценные советы !
|
|
|
|
|
Nov 27 2008, 08:38
|
Участник

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

|
что интересно. У меня PIC16F675 + PICKit2 + MPLab 8.10 в 80% случаев затирает калибровочную константу. Если прошивать внешней оболочкой для PICKit2 - то все ОК.
Сообщение отредактировал Сергей К - Nov 27 2008, 08:39
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|