Прошил проц и не работает...

anm
ubd:

Anm, помоги пожалуйста. Ведь всё так банально. Схема включения проца проще некуда, ошибиться не возможно. Ниже схема. Там же всё просто. Питание подходит, пробовал 3,3В и 5В. РРМ сигнал приходит на 2-ю ногу, как и должно быть. Его форма, обсалютно совпадает с рекомендуемой для этой прошивки. Теоритически, всё должно работать…

Именно так и должно быть, 6и и 8и канальные прошивки отличаются выводом подключения диода, схема лежит в файле исходника в архиве вместе с файлом прошивки. Светодиод очень полезная штука, при включении он должен загореться на 0,5сек и погаснуть если нет сигнала. Если диод не загорается, то точно не работает, а если загорается и гаснет, то нет сигнала на входе, или полярность нета или амплитуда слабая.

ubd:

Anm, у тебя какой программатор?
Может быть схема включения не та? У тебя точно на 2-ю ногу РРМ приходит?
Какие у тебя биты конфигурации? (Мои биты, постом выше.)

ППМ точно на вторую ногу.
Программатор у меня на работе универсальный фирмы Elnec модель SmartProg. У него есть особенность, он может не стирать или не прошивать колибровочные биты генератора. Биты смогу попозже глянуть. Их-же можно найти в исходнике. _MCLRE_OFF&_CP_OFF&_WDT_ON&_INTRC_OSC_NOCLKOUT

ubd

Светодтиод не подключал. Думал нет смысла. Раз он показывает работоспособность программы, то обязательно подключю. Завтра попробую.

Может быть и правда, сигнал слабоват. Микросхема приёмника, питается то 3,35V. Значит размах сигнала где то около 3,2В, должна быть. Поробую подныть напряжение питания приёмника до 4V.

И вопрос. Это бит который отвечает за тактовый генератор проца:

INTRC_OSC_NOCLKOUT

В ICProg, ставиться - IntOSC GP4. Т.е это тоже самое что и INTRC_OSC_NOCLKOUT?

alex_grach
ubd:

Светодтиод не подключал. Думал нет смысла. Раз он показывает работоспособность программы, то обязательно подключю. Завтра попробую.

Может быть и правда, сигнал слабоват. Микросхема приёмника, питается то 3,35V. Значит размах сигнала где то около 3,2В, должна быть. Поробую подныть напряжение питания приёмника до 4V.

Попробуй запитать PIC от 3,3В хотя и так должно работать

ubd:

И вопрос. Это бит который отвечает за тактовый генератор проца:

В ICProg, ставиться - IntOSC GP4. Т.е это тоже самое что и INTRC_OSC_NOCLKOUT?

Да, одно и то же.

ubd

Всё заработало!

Дело было в программаторе ExtraPIC. Он действительно гробит процы. В общем после всех возможных способов прошить проц. Я не пробовал один способ. Это купить новый проц, и сразу прошить его на заводском программаторе. Да бы избежать хоронения проца моим программатором. И как оказалось, программа, после прошивки проца заводским программатором, заработала!

А проц я, пробовал питать разным напряжением, и это ни на что не влияло. Дело было не в напряжении питания, а в программаторе.

А процы которые были в моём программаторе, больше не работают с прошивкой - декодер на 6 каналов. За то другая прошивка, например, у меня есть схема вольт-метра на 16F676, так она прекрастно работает, прошитая программатором ExtraPIC.

Не знаю в чём дело. Загадка какая то…

А последний Тест, я попробую, но в понедельник.

alex_grach
ubd:

Всё заработало!

Дело было в программаторе ExtraPIC. Он действительно гробит процы. В общем после всех возможных способов прошить проц. Я не пробовал один способ. Это купить новый проц, и сразу прошить его на заводском программаторе. Да бы избежать хоронения проца моим программатором. И как оказалось, программа, после прошивки проца заводским программатором, заработала!

А проц я, пробовал питать разным напряжением, и это ни на что не влияло. Дело было не в напряжении питания, а в программаторе.

А процы которые были в моём программаторе, больше не работают с прошивкой - декодер на 6 каналов. За то другая прошивка, например, у меня есть схема вольт-метра на 16F676, так она прекрастно работает, прошитая программатором ExtraPIC.

Не знаю в чём дело. Загадка какая то…

А последний Тест, я попробую, но в понедельник.

Вот, я же говорил! 😉 Попробуй ему на шину программирования (где 13 вольт) резистор в 50 Ом добавить. У меня такая проблема была и на программаторе под LPT - только у меня регуляторы напряжения горели - сначала на 5В потом на 9В и так по кругу! Добавил и все стало хорошо!!! Кстати это рекомендация из доки про программированию PIC с Microchip… Правда где я ее нашел не помню 😉

alex_grach

Забыл сказать - в тестовой проге при прошивке надо выбрать встроенный генератор (IntOSC GP4 для ICProg)

ubd

Резисторы я уже пробовал ставить, ставил 100 Ом. Он всё ровно угробил проц. Я думаю там просто напряжение программирования, слишком большое. Я сейчас прочитал что оно должно быть 12,5-13В. А в ExtraPIC - 13,7В. Это достигается изменением параметров стабилизатора 78L12, тот вывод, который на землю, идёт через светодиод, таким образом напряжение стабилизации смещается до 13,7В, и за одно, светодиод начинает светиться, когда идёт процесс программирования. Возможно что 13,7В это много. Попробую снизить до 12,8В, убрав светодиод, и вместо него, подобрать спротивление, так что бы было 12,8В.

Странно что этот программатор, с таким смертельным БАГОМ, продают как радио-конструктор, или как готорое устройство… 😁 Главное что не все процы этот программатор гробит, например с 16F84, всё нормально, и многими другими.

Алексей, спасибо за помощь и консультацию. Твою программу обязательно попробую. И все эксперименты проведу, по устранению мертвления процов.

11 days later
ubd

Уменьшил напряжение до 12,8В. Ничего не изменилось, процы всё ровно гробит.
😦

alex_grach

Попробуй получать напряжение программирования как тут:
www.coolcircuit.com/project/picprog/
Сначала идет 7805, потом 7808, масса которой присоеденина к +5В и резистор поставь обязательно на 50-75 Ом.

alex_grach

Я про калибровочную константу всовсем забыл! Точнее я ее всегда считываю и записываю прямо на PIC’е, чтобы не забыть, действительно IC-Prog ее затирает! Я уже на автомате работаю 😁. Правда, поскольку я программирую и шью при помощи pikdev у меня таких проблем уже давно не возникает - программа просто не дает перешить константу и все!

ubd

Так эта константа в исходнике, есть? Подскажи где. Я поменяю и перекомпилирую заново. Так можно сделать?

alex_grach

Самое последнее слово программы. Можешь загрузить что тебе надо прошить, перейти в конец и вместо 3FFF написать, допустим, 3436. Если не ошибаюсь ic-prog перескочит на начало программы. Если есть новый не шитый PIC со встроенным генератором, можешь считать с него, увидишь все будет 3FFF кроме последнего…

ubd

Всё разобрался!

ICProg затирает самое последнее слово программы. Я посмотрел у нового проца у меня было 3554, и записал его вместе с программой, во все мои процы, которые, я думал что они умерли. И все эти процы заработали! Да же 16F676!

Спасибо, Алексей! Сделал как ты сказал.

ubd

Кстати вот моё детище, с применением этого дешифратора.