Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: Как записать в EEPROM перед отключением питания

Пн янв 23, 2012 16:31:03

SmarTrunk писал(а):От момента окончания записи в EEPROM (при еще нормальном напряжении питания) до момента уменьшения напряжения питания до нуля, что надо делать


Если была запущена запись в EEPROM, значит питание на входе стабилизатора опустилось. Всё выключаем, записываем данные и ждем восстановления сигнала детектора питания. Если не дождались (сбросились BOD-ом), то стартуем, как обычно. Если же питание восстановилось, и BOD не срабатывал, включаем, что надо, и продолжаем работать.

SmarTrunk писал(а):к сожалению, встроенной системы BOD не достаточно


Не было достаточно внутренней схемы сброса у ранних кристаллов, которые не имели BOD (например, AT90S2313). Хоть там тоже имелся некий порог для формирование сигнала RESET, но он был неправильным. В новых кристаллах, где есть BOD, его вполне достаточно. По крайней мере, в моей практике не был ослучаев порчи EEPROM у AVR, работающих с внутренним BOD. Скажу больше, внешний BOD может быть даже вреден. Сталкивался со следующим: внешний BOD был неудачно разведен на плате (далеко от процессора). При коммутации мощной нагрузки помехи попадали на линию RESET, что иногда приводило к порче FLASH (памяти программ). Вероятно, процессор входил в режим последовательного программирования. Проблема решилась установкой внешнего BOD рядом с корпусом процессора. Были и другие проблемы с внешним BOD, когда он чувствовал короткие помехи на линии питания, решилось установкой конденсатора 0.1 мкФ прямо на выводы питания внешнего BOD. Скорее, надежность хранения данных в EEPROM связана с правильной разводкой платы, особенно в части тактового генератора и блокировки и фильтрации питания.

Re: Как записать в EEPROM перед отключением питания

Пн янв 23, 2012 17:26:32

давайте по порядку:
1) есть мега 8-16-32 в которой при включении ЧИТАЕТСЯ 4 интовые переменные(контрастность дисплея) и выплевывается в SPI, ВСЁ...больше никогда нигде в программе ни записи ни чтения еепрома нету!!! BOD на 4.3 вольта...16 мегагерц внешний кварц
результат - при 10-20 включениях выключениях - хоп и на экране ничего нет....именно нет контраста ибо если под углом посветить - появляется...перешиваеш еепром и вуаля

2) я на этой сборке вешал и техасские супервизоры на 2.7 3.3 3.8 4.1 4.5 вольт.....НИКАКОЙ РАЗНИЦЫ!

3) если встроенный бод выключить то с вероятностью 99% второе включение будет убитой ячейкой!!!

я всегда делаю первую ячейку просто переменной которую вконце любого обращения к еепрому инкрементирую .... так безопаснее...потомучто в регистрах управления еепромом остаётся адрес последней работавшей ячейки..и что там тому контроллеру в голову прийдёт никто не знает....скорее всего - начинается цикл стирания...я не знаю...я знаю только факты :)

Re: Как записать в EEPROM перед отключением питания

Пн янв 23, 2012 18:21:11

Вы приводите факты тестирования REFdesign-a, сделанного грамотными спецами или непонятно каким боком напаянного устройства с кучей косяков?
К чему приводить "факты", если мы не знаем насколько идеально все сделано- питание, цепи тактирования, развязки?

Могу сказать одно - в правильно спроектированном устройстве никаких проблем с содержимым EEPROM не встречалось.
BOD надежно предотвращает хаотичное выполнение программного кода ядром при понижении напряжения питания ниже определенного уровня.

Re: Как записать в EEPROM перед отключением питания

Пн янв 23, 2012 18:27:27

Ни разу ни чтение, ни запись не глючили. Даже при пониженном питании (2.8 вольта).

Re: Как записать в EEPROM перед отключением питания

Пн янв 23, 2012 18:58:10

Пониженное, это ниже уровня нормальной работы ядра. На 90s2313 можно было в полной мере прочувствовать...

Re: Как записать в EEPROM перед отключением питания

Пн янв 23, 2012 19:03:44

clawham писал(а):..и что там тому контроллеру в голову прийдёт никто не знает....скорее всего - начинается цикл стирания...я не знаю...я знаю только факты :)

Вообще-то стирание/запись ячейки запускаются подачей 2х правильных идущих непосредственно одна за другой команд. Если команды не те, или между ними пауза - ничего не произойдёт.

Re: Как записать в EEPROM перед отключением питания

Пн янв 23, 2012 19:17:30

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

Re: Как записать в EEPROM перед отключением питания

Пн янв 23, 2012 19:28:14

Вы приводите факты тестирования REFdesign-a, сделанного грамотными спецами или непонятно каким боком напаянного устройства с кучей косяков?


ну я же говорил...1000 vra до кренки , 100000 после - питание АККУМУЛЯТОР 12 вольт

регулярно снимаю и ставлю назад этот аккум(меняю) устройство выносной...
кроме меги ещё SPI флешка и 10-ток 18б20

всё...
куча керамики, полигоны, двусторонка без метализации

это один пример

второй пример - тема ваттметра....там и печатка есть и схема и прошивка....я пробывал как только угодно....работоспособной схемой стала именно компараторная с переменником...именно так оно и пошло в мелкую серию...некогда было мне подбирать под каждый бп монтера/инспектора делитель - не сохраняет - вот "подкрутиш" и всё!

далее с переменной...ну....я даже не знаю почему это так но есть два абсолютно аналогичных друг другу устройства с экраном нокии 3310 и вот в них регулярно слетала контрастность...именно слетала ибо перезапуск устройства и результат тот же
взял одно и сделал вот такой вот финт ушами....инкремент ненужной переменной находяшейса в первой ячейке eeprom .... хоп....и нет больше такой проблемы :)

сичас вот с мегой 103 вожусь....у неё тоже нету БОДа .... вот это ЖЕСТЬ....... просто реально жесть ... иногда при включении устройства(кренка пара кондеров и 44780 , питание кренки от транса с диодным мостиком) оно вообще как-то непонятно зависает и даже вачдог не сбрасывает её.... поставил внешний супервизор и вуаля...вторая неделя полёт нормальный...

Re: Как записать в EEPROM перед отключением питания

Пн янв 23, 2012 19:51:21

Flasher писал(а):Так-то оно так, но это если безупречно работает логика ядра, а при понижении напряжения она такую херню может вытворять...
Да, но вероятность совпадения такой херни 1/65536, что на "ограниченном времени жизни" есьмь мизеръ.
clawham писал(а):
... оно вообще как-то непонятно зависает и даже вачдог не сбрасывает её.... поставил внешний супервизор и вуаля...вторая неделя полёт нормальный...
Дык может это атмега уже ... таво? :))

Re: Как записать в EEPROM перед отключением питания

Пн янв 23, 2012 20:23:03

ватчдогом еще нужно уметь пользоваться.

А вероятность выполнения мусора- 100 процентов при каждом выключении питания процессора без бода(касается 90s2313,старых мег)

Re: Как записать в EEPROM перед отключением питания

Пн янв 23, 2012 20:27:29

clawham писал(а):ну я же говорил...1000 vra до кренки , 100000 после
вы бы еще пару фарад впендюрили ПОСЛЕ кренки! при такой емкости напряжение нарастает у вас в час по чайной ложке - без BOD вообще нереально! при такой подаче питания МК вообще может не стартануть свой генератор! сколько себя помню - после кренки НИКОГДА больше 470 мкФ не ставил, и не видел, чтобы кто-то ставил. а вообще достаточно и 47 мкФ - на то и КРЕНка...

Re: Как записать в EEPROM перед отключением питания

Пн янв 23, 2012 20:53:58

это для девайса с перезаписью половины еепрома.... 1 килобайт!!!
попробуйте на тестовой прошивке и поймёте как это быстро....

Re: Как записать в EEPROM перед отключением питания

Пн янв 23, 2012 21:15:46

Блин, готовую же формулу для ёмкости дал, поделился примером и... всё впустую :roll:

Мастер Ломастер писал(а):
clawham писал(а):ну я же говорил...1000 vra до кренки , 100000 после
вы бы еще пару фарад впендюрили ПОСЛЕ кренки! при такой емкости напряжение нарастает у вас в час по чайной ложке - без BOD вообще нереально! при такой подаче питания МК вообще может не стартануть свой генератор! сколько себя помню - после кренки НИКОГДА больше 470 мкФ не ставил, и не видел, чтобы кто-то ставил. а вообще достаточно и 47 мкФ - на то и КРЕНка...
Ну когда горсть битых КРЕНок и атмелок получат, нафлудят тут ещё с десяток страниц, тогда поймут :))

Re: Как записать в EEPROM перед отключением питания

Вт янв 24, 2012 17:26:58

извольте...почему кренте помирать?
100 000 мкф мерез 5 омный резюк к выходу подключен...это именно резервный источник а не керамический кондер :)

да и без ограничительного девайсы есть - работают уже по пол года в день по 10 выключений...РАБОТАЮТ!!!

а по поводу нарастания питания...ну.. с точки зрения 16 мегагерц и 10 миллисекунд это час для нас с Вами :) не вижу никакой проблемы в этом...просто без БОДа МК зависает даже от неравномерности нарастания этого самого питающего напряжения.....низнаю ... чтобы там нибыло но на 1 переменную запросто хватит и 100 мкф а когда там куча всего и не просто так а с вычислениями и подготовкой перед записью...то становится критично и время с выключения питания до детектинга его пропадания, и ёмкость до или после, и компаратор или просто PIO ...

кстати у тех же техасцев есть отличная внешняя 70нс паралельная SRAM на 512 килобайт 3.3 вольта с внутренним ионистором до 5 лет !!! хранения без питания!!!
и они её в ДИПЕ рассылают всем кто сможет обьяснить зачем она нужна!

легко цепляется внешней рамой к аврке и пиши хоть 16 мегагерц в неё :)))

Re: Как записать в EEPROM перед отключением питания

Вт янв 24, 2012 18:23:10

clawham писал(а):кстати у тех же техасцев есть отличная внешняя 70нс паралельная SRAM на 512 килобайт 3.3 вольта с внутренним ионистором до 5 лет !!! хранения без питания!!!


Где такое у TI есть, ссылку можно?

У DALLAS (MAXIM) есть, но там литиевая батарейка.

Re: Как записать в EEPROM перед отключением питания

Вт янв 24, 2012 19:48:08

Как я уже писал, в одном моём устройстве атмелка живёт припеваючи целых 7 секунд от 4700мкФ конденсатора, кроме неё от этого же кондёра все семь секунд транзистор ШИМом 5кГц симистор долбит. Атмелка при этом не спит, живёт активной жизнью от встроенного RC генератора на 9,6МГц с включённым предделителем на 8. При этом за 7 секунд напряжение на кондёре спадает с 5,5В до 2,7В, а потом срабатывает BOD.

Re: Как записать в EEPROM перед отключением питания

Вт янв 24, 2012 22:44:13

clawham писал(а):извольте...почему кренте помирать?

Да потому, что даташиты НУЖНО ИНОГДА ЧИТАТЬ!
Для защиты от обратного напряжения необходимо ставить диод. А Вы его не поставили(потому что: 1. Даташит в глаза не видели. 2. Иначе конденсатор разрядится во входную цепь кренки). Тут необходимо полностью схемотехнику менять- ключ транзисторный ставить или диодами шоттки развязывать выход кренки и конденсатор.

Re: Как записать в EEPROM перед отключением питания

Вт янв 24, 2012 23:33:55

значить 50 кренок из одной ленты купленных для этой мелкой серии тоже тадашита совего не читали....кстати...а кто сказал что ДО кренки нету диода?
после это уже капец с контрастностью экрана и потеря пол вольта вникуда...
кстати собственно и кренка-то не кренка а техасская UA7805 из автомобильного каталога с расширенным диапазоном температур и нечувствительностью к перегрузкам...

собственно если бы всегда все было бы в реальной микросхеме так же как и в даташите то возникает вопрос о потребности в прототипировании и прочих испытаниях...в практической составляющей знаний и так далее и тому подобное...и я на эту тему спорить не буду ... троллей в этой теме предостаточно....моё мнение не изменно и подтверждено не даташитом а довольно большим кол-вом приборов которые носят монтеры в руках и не одну сотню раз за день туда-сюда дёргают...в первых версиях с ногой и резюками было много жалоб....потом компаратор и хоп до 90% уменьшение летальной порчи еепром, потом кондеры и диоды и вуаля...пол года и ни одной жалобы

что есть лучшим доказательством правильной схемотехники?

Re: Как записать в EEPROM перед отключением питания

Ср янв 25, 2012 06:35:21

может, пора закончить это бесполезное переливание из пустого в порожнее? все важные рекомендации были даны буквально на первой-второй странице, остальное - битье в бубен: кроме звука 0 эффекта.

Re: Как записать в EEPROM перед отключением питания

Ср янв 25, 2012 09:07:03

это из даташита на Вашу супер-пупер микросхему.Изображение
Вложения
protection.gif
(17.62 KiB) Скачиваний: 2329
Ответить