PIC18F24K20 EEPROM trouble

Nov 04, 2009 6 Replies

Hello, All!



После изготовления небольшой пилотной партии устройств, прототип которых работал нормально, вылезла принепреятнейшая проблема. Hа некоторых экземплярах при первом включении, на некоторых иногда после включения из EEPROM (прожигается при программировании) читаются нули, записать программа туда тоже ничего не может. Hа некоторых экземплярах выключение с ожиданием полного разряда всех конденсаторов и последующее включение восстанавливает нормальную работу, на некоторых - нет. При этом программатор содержимое EEPROM читает нормально. Задержки, различные варианты настройки BOR, различные варианты настройки MCLEAR картину не меняют. Кристалл работает от внутреннего осциллятора на 64М (16MHz и PLL x 4) и собственно кроме EEPROM все работает, во всяком случае первое время. Есть вероятность того, что на ножках напряжения появляются до того, как Vcc достигнет 3.3В (я это еще не успел проверить), но во всех случаях токи ограничены резисторами от 10к и выше, да и что тут такого, ну откроется встроенный диод, раньше в подобном же включении с PIC16F886 ничего подобного не происходило.



Есть какие-нибудь идеи?



dima

formatting link


úÄÁÒÏ×Á Dmitry!

DO> HÁ ÎÅËÏÔÏÒÙÈ ÜËÚÅÍÐÌÑÒÁÈ ÐÒÉ ÐÅÒ×ÏÍ ×ËÌÀÞÅÎÉÉ, ÎÁ ÎÅËÏÔÏÒÙÈ ÉÎÏÇÄÁ DO> ÐÏÓÌÅ ×ËÌÀÞÅÎÉÑ ÉÚ EEPROM (ÐÒÏÖÉÇÁÅÔÓÑ ÐÒÉ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÉ) ÞÉÔÁÀÔÓÑ DO> ÎÕÌÉ, ÚÁÐÉÓÁÔØ ÐÒÏÇÒÁÍÍÁ ÔÕÄÁ ÔÏÖÅ ÎÉÞÅÇÏ ÎÅ ÍÏÖÅÔ. HÁ ÎÅËÏÔÏÒÙÈ DO> ÜËÚÅÍÐÌÑÒÁÈ ×ÙËÌÀÞÅÎÉÅ Ó ÏÖÉÄÁÎÉÅÍ ÐÏÌÎÏÇÏ ÒÁÚÒÑÄÁ ×ÓÅÈ ËÏÎÄÅÎÓÁÔÏÒÏ× DO> É ÐÏÓÌÅÄÕÀÝÅÅ ×ËÌÀÞÅÎÉÅ ×ÏÓÓÔÁÎÁ×ÌÉ×ÁÅÔ ÎÏÒÍÁÌØÎÕÀ ÒÁÂÏÔÕ, ÎÁ DO> ÎÅËÏÔÏÒÙÈ - ÎÅÔ. ðÒÉ ÜÔÏÍ ÐÒÏÇÒÁÍÍÁÔÏÒ ÓÏÄÅÒÖÉÍÏÅ EEPROM ÞÉÔÁÅÔ DO> ÎÏÒÍÁÌØÎÏ. úÁÄÅÒÖËÉ, ÒÁÚÌÉÞÎÙÅ ×ÁÒÉÁÎÔÙ ÎÁÓÔÒÏÊËÉ BOR, ÒÁÚÌÉÞÎÙÅ DO> ×ÁÒÉÁÎÔÙ ÎÁÓÔÒÏÊËÉ MCLEAR ËÁÒÔÉÎÕ ÎÅ ÍÅÎÑÀÔ. ëÒÉÓÔÁÌÌ ÒÁÂÏÔÁÅÔ ÏÔ DO> ×ÎÕÔÒÅÎÎÅÇÏ ÏÓÃÉÌÌÑÔÏÒÁ ÎÁ 64í (16MHz É PLL x 4) É ÓÏÂÓÔ×ÅÎÎÏ ËÒÏÍÅ DO> EEPROM ×ÓÅ ÒÁÂÏÔÁÅÔ, ×Ï ×ÓÑËÏÍ ÓÌÕÞÁÅ ÐÅÒ×ÏÅ ×ÒÅÍÑ. åÓÔØ ×ÅÒÏÑÔÎÏÓÔØ DO> ÔÏÇÏ, ÞÔÏ ÎÁ ÎÏÖËÁÈ ÎÁÐÒÑÖÅÎÉÑ ÐÏÑ×ÌÑÀÔÓÑ ÄÏ ÔÏÇÏ, ËÁË Vcc ÄÏÓÔÉÇÎÅÔ DO> 3.3÷ (Ñ ÜÔÏ ÅÝÅ ÎÅ ÕÓÐÅÌ ÐÒÏ×ÅÒÉÔØ), ÎÏ ×Ï ×ÓÅÈ ÓÌÕÞÁÑÈ ÔÏËÉ DO> ÏÇÒÁÎÉÞÅÎÙ ÒÅÚÉÓÔÏÒÁÍÉ ÏÔ 10Ë É ×ÙÛÅ, ÄÁ É ÞÔÏ ÔÕÔ ÔÁËÏÇÏ, ÎÕ DO> ÏÔËÒÏÅÔÓÑ ×ÓÔÒÏÅÎÎÙÊ ÄÉÏÄ, ÒÁÎØÛÅ × ÐÏÄÏÂÎÏÍ ÖÅ ×ËÌÀÞÅÎÉÉ Ó PIC16F886 DO> ÎÉÞÅÇÏ ÐÏÄÏÂÎÏÇÏ ÎÅ ÐÒÏÉÓÈÏÄÉÌÏ.

DO> åÓÔØ ËÁËÉÅ-ÎÉÂÕÄØ ÉÄÅÉ?

HÕ ÒÁÚ×Å ÓÏÆÔÏ×ÙÅ. òÅÂÕÔÉÔØ ËÒÉÓÔÁÌ ÓÔÏÒÏÖÅ×ÙÍ ÐÓÏÍ, ÅÓÌÉ ×ÙÞÉÔÁÌÉÓØ ÎÕÌÉ Ó ÅÅÐÒÏÍÁ.

WBR Igan.

2:4600/666.35 e-mail: igan<>mail.ru icq: 14670672

Hello, Igor V Shanaurin! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 04 Nov

2009 22:37:15 +0300:

IVS> Здарова Dmitry!

DO>> Hа некоторых экземплярах при первом включении, на некоторых иногда DO>> после включения из EEPROM (прожигается при программировании) DO>> читаются нули, записать программа туда тоже ничего не может. Hа DO>> некоторых экземплярах выключение с ожиданием полного разряда всех DO>> конденсаторов и последующее включение восстанавливает нормальную DO>> работу, на некоторых - нет. При этом программатор содержимое EEPROM DO>> читает нормально. Задержки, различные варианты настройки BOR, DO>> различные варианты настройки MCLEAR картину не меняют. Кристалл DO>> работает от внутреннего осциллятора на 64М (16MHz и PLL x 4) и DO>> собственно кроме DO>> EEPROM все работает, во всяком случае первое время. Есть DO>> вероятность того, что на ножках напряжения появляются до того, как DO>> Vcc достигнет DO>> 3.3В (я это еще не успел проверить), но во всех случаях токи DO>> ограничены резисторами от 10к и выше, да и что тут такого, ну DO>> откроется встроенный диод, раньше в подобном же включении с DO>> PIC16F886 ничего подобного не происходило.

DO>> Есть какие-нибудь идеи?

IVS> Hу разве софтовые. Ребутить кристал сторожевым псом, если IVS> вычитались нули с еепрома.

Hе помогает, так нули и продолжают читаться. Помогает только полное отключение устройства где-то на минуту, и то не на всех кристаллах.

dima

formatting link

ðÏÓÍÏÔÒÅÌ errata ÎÁ ÜÔÉ ËÁÍÎÉ. íÎÏÇÏ ÄÕÍÁÌ :) ðÒÏ ÎÉÈ ÎÁÐÉÓÁÎÏ, ÞÔÏ ÅÓÔØ ÂÅÄÁ Ó ÐÁÍÑÔØÀ ÐÒÏÇÒÁÍÍ (ÞÉÓÌÏ ÃÉËÌÏ× ÐÅÒÅÚÁÐÉÓÉ ÎÅ ÂÏÌÅÅ 1000), É Ó ×ÓÔÒÏÅÎÎÙÍ EEPROM - ÎÅ ÂÏÌÅÅ 10000 ÃÉËÌÏ×. íÏÖÅÔ, Õ ÜÔÏÊ ÓÅÒÉÉ ×ÏÏÂÝÅ ÂÅÄÁ Ó EEPROM? á ÅÓÌÉ ÐÏÎÉÚÉÔØ ÎÁÐÒÑÖÅÎÉÅ ÐÉÔÁÎÉÑ ÄÏ 2 ×ÏÌØÔ?

Thu Nov 05 2009 08:54, Dmitry Orlov wrote to Igor V Shanaurin:

DO> Hе помогает, так нули и продолжают читаться. Помогает только полное DO> отключение устройства где-то на минуту, и то не на всех кристаллах.

А... "профессиональные контроллеры с профессиональными багами" (Ц)

[ZX]

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Thu, 5 Nov 2009

12:10:30 +0000 (UTC):

DO>> Hе помогает, так нули и продолжают читаться. Помогает только полное DO>> отключение устройства где-то на минуту, и то не на всех кристаллах.

KF> А... "профессиональные контроллеры с профессиональными багами" (Ц)

Есть любительские контроллеры без багов?

dima

formatting link

Hello, Vladimir Zaitsev! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Thu, 05 Nov

2009 09:10:54 +0300:

Уже проверил, нет никаких превышений или отрицательных напряжений.

VZ> Посмотрел errata на эти камни. Много думал :) Про них написано, VZ> что есть беда с памятью программ (число циклов перезаписи не более VZ> 1000), и с встроенным EEPROM - не более 10000 циклов.

Да написано такое, но это для моих целей не поблема.

VZ> Может, у этой серии вообще беда с EEPROM?

Похоже на то :(

VZ> А если понизить напряжение питания до 2 вольт?

Сложно даже попробовать. Пока что собираюсь продублировать EEPROM программной памятью, исключив относительно часто меняющиеся данные.

dima

formatting link

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required