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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Внутрисхемное программирование, большой отход контроллегов при внутрисхемном прогр.
Серёга_1
сообщение Nov 13 2006, 08:40
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 30-05-06
Из: Минск,Белорусия
Пользователь №: 17 572



Проблема!!!!
При программировании по внутрисхемному интерфейсу сыходят из строя конттроллеры (не функционируют, мертвые). Схема рабочая(перепайка процессора и работаем).
Питание при программировании от программатора.

Питание подается , считываются программатором, перепрограммируются, верификация ОК!, но не работают. И таких доходит до 10%, от общего кол-ва.

Контроллер: PIC12F675
Конфигурация: __CONFIG(UNPROTECT & BOREN & MCLRDIS & PWRTEN & WDTEN & INTIO); (HT PICC)
Программатор: ChipProg+ , ПО версия V. 3.95.00 или V. 4.00.12 Beta
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Nov 13 2006, 18:15
Сообщение #2


Cундук
*****

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



Не знаю как PIC16F675, но PIC18F1320-I/P имеют определенный процент (~0,8%) "непрограммируемых" микросхем. Иногда помогает исключение защиты памяти.
Go to the top of the page
 
+Quote Post
xemul
сообщение Nov 13 2006, 18:33
Сообщение #3



*****

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



Скорее всего слетает байт калибровки (точнее, программатор неправильно его считал, а потом записал не думая, что получилось). Что живет в убитых кристаллах по адресу 0x3fe? Должно быть что-то вида 0x34xx (retlw xx), xx - и есть заводская калибровка.
Go to the top of the page
 
+Quote Post
Серёга_1
сообщение Nov 14 2006, 09:00
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 30-05-06
Из: Минск,Белорусия
Пользователь №: 17 572



Цитата(xemul @ Nov 13 2006, 22:33) *
Скорее всего слетает байт калибровки (точнее, программатор неправильно его считал, а потом записал не думая, что получилось). Что живет в убитых кристаллах по адресу 0x3fe? Должно быть что-то вида 0x34xx (retlw xx), xx - и есть заводская калибровка.



Может быть по адресу 0x3fff, по моему в этом адресе ложат кончтанту, + программатор ограничивает доступ к последнему элементу от 0 до 0x3fe.

Но согласен проверка не помешает

Есть вероятность что портятся байты конфигурации bandgap (неправильно читаются или еще как)

Буду проверять , программатор не разрешает эти биты произвольно править.
Go to the top of the page
 
+Quote Post
Alex B._
сообщение Nov 14 2006, 09:44
Сообщение #5


Знающий
****

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



Вам на microchip.ru уже все сказали - если вы нарушаете спецификацию программирования - никто вам не поможет. Используйте нормальный программатор и выкусите конденстатор 100 мкф по питанию. trt вам все подробно объяснил.
Go to the top of the page
 
+Quote Post
greg
сообщение Nov 14 2006, 09:56
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 44
Регистрация: 7-07-05
Из: МОСКВА
Пользователь №: 6 604



Проверьте в битах конфигурации правильно ли Вы выбрали режим ГЕНЕРАТОРА.
Вероятнее всего причина в этом. А программатор ChipProg+ - замечательный, пользуюсь им уже
более 4 лет и никогда не было вопросов. Кстати, уже на сайте Phyton.ru выложен 4.32, но это никак
не соотносится с Вашей проблемой !
Go to the top of the page
 
+Quote Post
upc2
сообщение Nov 14 2006, 10:31
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



Причина может быть и в низковольтовом программировании. В моей практике 3-5 раз и
контроллер перестает записываться.С 14 вольтами они не спорят.
Если верификация Ok, то вероятно контроллеры исправны.Прочитайте в них память и конфигурационное слово.
Go to the top of the page
 
+Quote Post
Серёга_1
сообщение Nov 14 2006, 12:57
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 30-05-06
Из: Минск,Белорусия
Пользователь №: 17 572



Цитата(Alex B._ @ Nov 14 2006, 13:44) *
Вам на microchip.ru уже все сказали - если вы нарушаете спецификацию программирования - никто вам не поможет. Используйте нормальный программатор и выкусите конденстатор 100 мкф по питанию. trt вам все подробно объяснил.



Я хочу уточнить. Нужен ответ: они будут программироваться, НО возможно работать НЕ будут.

Если я нарушаю спецификацию, программатор ( если он хороший) должен сообщить мне об этом, а на деле программаторникакого несоответствия не обнаруживает.

Я обязательно изменю конденсатор и проведу пробное программирование партии, но я хочу выяснить что именно выходит из строя(затирается в памяти), нужно узнать причину
Go to the top of the page
 
+Quote Post
xemul
сообщение Nov 14 2006, 15:13
Сообщение #9



*****

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



Цитата(Серёга_1 @ Nov 14 2006, 12:00) *
Цитата(xemul @ Nov 13 2006, 22:33) *

Скорее всего слетает байт калибровки (точнее, программатор неправильно его считал, а потом записал не думая, что получилось). Что живет в убитых кристаллах по адресу 0x3fe? Должно быть что-то вида 0x34xx (retlw xx), xx - и есть заводская калибровка.

Может быть по адресу 0x3fff, по моему в этом адресе ложат кончтанту, + программатор ограничивает доступ к последнему элементу от 0 до 0x3fe.
Но согласен проверка не помешает
Есть вероятность что портятся байты конфигурации bandgap (неправильно читаются или еще как)

Разрядность инструкции контроллера PIC12F675 составляет 14 бит. При просмотре дампа памяти программы удобно включать режим просмотра по 2-хбайтовым словам. Инструкция возврата калибровочного значения располагается по адресу 0x3fe, и там должно быть именно 0x34xx. Подробности в даташите.
Цитата
Буду проверять , программатор не разрешает эти биты произвольно править.

И это правильно (это я про то, что "не разрешает")smile.gif. Подробности в даташите.

У меня под рукой и ChipProg2, и ProMate2, и PICStart, так что есть с чем сравнивать.
Могу сказать, что ChipProg при внутрисхемном программировании спокойно справляется с емкостью 100 мкФ по питанию, но очень желательно при этом использовать соответствующий адаптер - буферы по PGD, PGC в программаторе слабоваты.
На ProMate было от души матов сложено за бесподобную конструкцию установки адаптеров - вместо разъемов две полоски токопроводящей резины - типа работаем с ЖК-индикаторомsad.gif. Дорогая малополезная игрушка.
PICStart - development programmer.
Еще одна возможная причина отвалов - плохой/мерцающий/зависящий от человеческого фактора контакт в используемом разъеме ICSP.
Go to the top of the page
 
+Quote Post
Серёга_1
сообщение Nov 15 2006, 08:50
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 30-05-06
Из: Минск,Белорусия
Пользователь №: 17 572



соответствующий адаптер истользую, сделанный самостоятельно по схеме предложенной производителем Chip Prog. Сделан качественно.

Конечный адрес в микросхеме установлен 0х3fe,

С асемблером общаюсь на ВЫ, программны на нем не писал (больше уважаю С ), но листинг в узких местах алгоритмов смотрю и оптимизирую(по возможности).

В одной из неработающих МС действительно удалена команда возврата и константа, каким образом - непонятно (может жертва экспериментов), с этим ясно.

вот код который загружает константу (стандартная директива ht-picc):

/*----- настройка генератора ----- */
365:
366: OSCCAL = _READ_OSCCAL_DATA();
BCF 0x3, 0x5
CALL 0x3ff
BSF 0x3, 0x5
MOVWF 0x10

практически, на мой взгляд, эдентично даташиту

Если не сложно обьясните почему CALL 0x3ff а не CALL 0x3fe

Контакт слотовый , может быть и мерцающим (но мне кажется программатор при верификации должен сообщить о несовпадении)

Сообщение отредактировал Серёга_1 - Nov 15 2006, 09:12
Go to the top of the page
 
+Quote Post
xemul
сообщение Nov 15 2006, 10:29
Сообщение #11



*****

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



Извините, утро вечера гораздо приятнееsmile.gif. 0x34xx в 675 живет по адресу 0x3ff. Был неправ.
Каким образом программаторы умудряются запороть калибровку, мне не понятно. Приключалось на всех помянутых мной программаторах. Тот же ProMate при верификации спокойно заявляет "Calibration bits invalid", хотя начало программирования предполагает, что предварительно было считано что-то вроде 0x34xx (иначе он сразу орет про калибровку и ничего не делает).
Самое гадство - ни ProMate, ни ChipProg не позволяют записать калибровку с потолка (например, 0x3480 как середину диапазона). Я восстанавливал калибровку на PICStart'e под MPLab 5.7, которые еще не были такими умными. Сейчас забил, и, т.к. число отвалившихся микросхем плавно приближается к 200 (на ~50000 запрограммированных), студент в фоновом режиме пишет прогу для восстановления калибровки.
Go to the top of the page
 
+Quote Post
vilte
сообщение Nov 18 2006, 16:26
Сообщение #12





Группа: Новичок
Сообщений: 4
Регистрация: 18-02-06
Пользователь №: 14 483



Давно пользуюсь для программирования программой WinPic и простым программатором на сом порте. Из 10000 ни одного прокола. Там кстати можно менять значение калибровки.
Go to the top of the page
 
+Quote Post
Ilya_z
сообщение Nov 20 2006, 10:38
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 119
Регистрация: 8-03-05
Из: Saratov
Пользователь №: 3 155



За ChipProg замечено - есть проблемы с ICSP, особенно с 18хх - с родной "шайбой" (icd2) проблем в тех же условиях нет
Go to the top of the page
 
+Quote Post
arizona
сообщение Nov 22 2006, 15:16
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 1-11-06
Пользователь №: 21 855



Цитата(xemul @ Nov 15 2006, 10:29) *
Самое гадство - ни ProMate, ни ChipProg не позволяют записать калибровку с потолка (например, 0x3480 как середину диапазона). Я восстанавливал калибровку на PICStart'e под MPLab 5.7, которые еще не были такими умными. Сейчас забил, и, т.к. число отвалившихся микросхем плавно приближается к 200 (на ~50000 запрограммированных), студент в фоновом режиме пишет прогу для восстановления калибровки.


PICkit2 умеет восстанавливать утерянную калибровку методом прошивки маленькой программы которая дергает ногой, PICkit2 измеряет частоту и восстанавливает калибровку. Так что если студент умный - посмотрит исходники PICkit2.
Go to the top of the page
 
+Quote Post
J.Bond
сообщение Nov 23 2006, 00:29
Сообщение #15


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 23-11-06
Пользователь №: 22 645



У меня похожая проблема, только пик 12f629 и он нехочет программироваться. Читается, вся память 3fff, конфигурация 3fff, ID - FFFF. Поидее распиновка ног таже что и 12с508(509), программатор JDM, и ICProg и WinPIC ставят один и тот же диагноз. Насколько я понимаю спецификация программирования закладывается в программе, но оба программатора поддерживают 12f629. Заметил однако одну особенность, когда вставляю 16f84a или 16f876a (с другими пока неработал, но с этими никаких таких проблем небыло) WinPIC распознает ее правильно, а когда вставляю 12-й - пишет "устройство нераспознано". Как я понимаю это проблема конкретной микросхемы, может кто сталкивался с подобным и лечится ли это или попробовать прошить другой экземпляр??
Go to the top of the page
 
+Quote Post

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

 


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


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