Свежие обсуждения
Микроконтроллеры

Разлочка PIC12F675/629/683 с помощью JDM...

1 3 5

Список поддерживаемых процессоров (пока которые нашёл и проверил по даташитам):
12F629/675, 16F630/676
12F635/683, 16F631/636/639/677/684/685/687/688/689/690.

 

Pitty: Вы даёте только 12, может быть и в этом проблема.
Пишите "вы" с маленькой буквы (мне, по крайней мере)
Всё время пользовался этим JDM, ни на одном камне проблем не было. И ИМЕННО ЭТОТ камень шился нормально. Подозреваю, что когда поставил фъюз #FUSES LVP эта проблема появилась, но не факт...

Pitty: После того, как PICKIT2 стирает этот проц, JDM "видит" его?
Не видит... И после стирания и после записи программы, которая нормально работает в этом МК.

Поднять напряжение на программаторе?

 

Vladikas: Всё время пользовался этим JDM, ни на одном камне проблем не было. И ИМЕННО ЭТОТ камень шился нормально. Подозреваю, что когда поставил фъюз #FUSES LVP эта проблема появилась, но не факт...
Не видит... И после стирания и после записи программы, которая нормально работает в этом МК.

Поднять напряжение на программаторе?

Насчёт напряжения вот цитта из даташита:
"Either algorithm can be used with
the two available programming entry methods. The first
method follows the normal Microchip Programming
mode entry of applying a VPP voltage of 13V ± .5V. The
second method, called Low Voltage ICSPTM or LVP for
short, applies VDD to MCLR and uses the I/O pin RB3
to enter Programming mode. When RB3 is driven to VDD
from ground, the PIC16F87X device enters
Programming mode."

Не совсем уверен, что в этом дело, но может быть.
Можете подробнее рассказать, что (ты) (а то как можно вы с маленькой буквы писать? или вас там много? а так, мы вроде ровесники, ко мне тоже можно на ты) делал с фьюзом LVP? Я имею ввиду: когда проц идёт с завода, этот фьюз установлен таким образом, что LVP разрешено. Таким образом, если ты говоришь, что ты его поставил, вполне возможно, что ты его отключил (в разных программаторах эти фьюзы бывают то инверсные, то не инверсные), поэтому я и спрашиваю, в каком состоянии сейчас фьюз по отношению к заводскому. И что у тебя подключено к ноге RB3?
Если всё как я подозреваю (велика вероятность, что ошибаюсь), то сценарий может быть такой: на RB3 всегда висел VDD, когда ты подавал 12В на Vpp проц переходил в режим LVP, т.к. с завода приходят чипы с разрешённым режимом LVP. Когда ты поменял состояние фьюза LVP, напряжения на Vpp не хватает для перехода проца в режим программирования HV.
Одно только не понимаю из даташита: в одном месте (которое я процитировал) они пишут, что напряжение программирования должно быть от 12.5 до 13.5 В, а в другом (таблице электрических характеристик) пишут, что напряжение программирования для HVP должно быть от Vdd+3.5=8.5V до 13.5V.
Вижу два возможных решения: 1) Попробовать вернуть фьюз в его первоначальное состояние (если нога RB3 не сильно нужна).
2) Попробовать поднять напряжение питания программатора на 1.5 В (поставить в разрыв пальчиковую батарейку, лучше подсевшую, ибо БП компа может выдвавать чуть больше 12 В, а это чревато выходом за пределы даташитовских рамок, хотя я на своём проце видел что почти 20В не убивают проц, хотя и сбивают его с понталыку (не программируется).... кстати, может у тебя та же проблемма.... В))) если первые два решения не помогут, то можно попробовать третье).
3) Решил сразу написать. Как я уже сказал, заметил такую вещь (не стал разбираться почему): если "хорошо" превысить даташитовские рамки по Vpp, например, я до 20В поднимал, то примерно с 16-17 В проц перестаёт входить в режим программирования... Возможно в твоём случае что-то похожее, опять же цитата из даташита:
"Voltage on MCLR for low voltage ICSP programming entry VIH 2.2 5.5 V"
т.е. на Vpp в режиме LVP даташит рекомендует подавать напряжения от 2.2 до 5.5 В, а ты подаёшь ему 12В поэтому какая-то внутренняя логика сходит с ума... это всё мои догадки и похоже они не правильные, потому что ведь проц, в котором разрешено LVP точно также должен работать и в HVP... похоже 3й путь не правильный, хотя попробовать можно В).

 

Сейчас не могу сказать точно по ногам, всё на работе осталось, но порт B используется для работы с ЖК на базе HD44780. На сколько я помню у меня всё время было в настройках NOLVP, потом что-то там ковырялся-игрался, поставил LVP. Устройство перестало работать, возможно только индикации не было. Решил перепрошить, а оно не фурычит.
Повторяю, это только версия. Конкретно я не понял тот момент когда у меня сломалось. И ещё, когда прочёл первый раз чип после глюка (на пикките), была включена защита памяти программ от записи. Хотя я не включал его никогда, хотя может случайно. Сомневаюсь.

Pitty: Попробовать вернуть фьюз в его первоначальное состояние
А разве стирание это не делает?

Послезавтра попробую поднять напряжение, отпишусь.

Чем, интересно алгоритм работы JDM отличается от пиккита?..
Pitty: а так, мы вроде ровесники, ко мне тоже можно на ты
Да ради Бога

 

Pitty, не вводите людей в заблуждение.
Линии Data ,Clock, и внутрисхемное программирование тут ни при чём. Проблема в том, что вывод MCLR может быть запрограммирован как порт ввода-вывода (это делается в слове конфигурации). Я данную проблему решил установкой дополнительного ключевого каскада на двух транзисторах.
Подробности тут: http://www.pirpk.narod.ru/ddssite/dshexp1w.htm
Низковольтное программирование, это - другая тема.

 

Gregory: Pitty, не вводите людей в заблуждение.
Линии Data ,Clock, и внутрисхемное программирование тут ни при чём. Проблема в том, что вывод MCLR может быть запрограммирован как порт ввода-вывода (это делается в слове конфигурации). Я данную проблему решил установкой дополнительного ключевого каскада на двух транзисторах.
Подробности тут: http://www.pirpk.narod.ru/ddssite/dshexp1w.htm
Низковольтное программирование, это - другая тема.

Вот Вы не поверите, у меня всегда MCLR работает как вход, однако вполне неплохо программируется, с чем связаны глюки, я уже указывал и как их поборол тоже (в моём случае конкретно).
Про случай Владикаса: сам никогда с этим процем не работал, ориентируюсь только по даташиту, НО, у этого процессора MCLR выполняет только одну функцию - MCLR/Vpp. Судя по даташиту (1 нога).

По поводу Вашей схемы. Не вижу целесообразности так усложнять схему, не добавляя к ней новой функциональности. ИМХО, JDM на 3х резисторах работает очень неплохо в том случае, если хороший ком-порт (у стац. компов он обычно хороший). А уж если усложнять схему, то лучше сразу сделать на USB. ВСё ИМХО и спорить об этом не хочется.

 

Владикас, есть режим стирания микросхемы без стирания ID и конфигурации. Я не знаю, какой режим использует пиккит. Это легко проверить, прочитав фьюзы для стёртого процессора.

 

Pitty:
Вот Вы не поверите
Вы, наверное, тоже не поверите, но перепрограммировал кучу МК, как внутрисхемно, так и не внутрисхемно.
На самом деле никакого особого различия в этом нет. Программирование осуществляется по одному и тому же интерфейсу ICSP. Просто при внутрисхемном программировании, при разработке схемы устройства, необходимо предусмотреть, что бы при программировании, вся схема не влияла на МК, и наоборот. Подробнее: http://www.5v.ru/icsp.htm
При НЕвнутрисхемном программировании, в этом необходимости нет.
Поэтому Ваши глюки при внутрисхемном программировании, скорее всего вызваны безграмотной схемой.

так усложнять схему
Это два транзистора усложнение?
Вы, наверное, невнимательно смотрели. Я дорабатывал Extra-PIC.
У JDM'а на трёх транзисторах очень много "если".

 

напомню - при программировании микроконтроллера, его питание должно быть 4,5-5,5 вольт - при внутрисхемном программировании часто используют питание из схемы устройства, которого может "нехватить".
при 3,3вольта - контроллеры часто отказываются стираться, но могут программироваться.

 

AnSi:
при внутрисхемном программировании часто используют питание из схемы устройства
Это Вы про кого? Лично я ни разу не использовал.
См. ссылку выше.