Глюк еепром атмега328р

neoblack2
Offline
Зарегистрирован: 15.04.2017

Добрый, никто не сталкивался с глюками еепром атмега328р?

Есть прошивка, читаются - записываются данные (изредка). Вот я выставил себе там в ячейке памяти там значение температуры пусть 10 градусов. И при включении ее читаю стандартно EEPROM.read

Потом в какой-то момент включил. И бац уже там 40 градусов взялось. (я ничего не меняю, не делаю) - просто тупо вкл. выкл. изредка. - заметил в  принципе такое при вкл.

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

Может быть еепром внутри кристалла глючит? или может кварц примешан? фьюзы стандартные от ардуино уно, еепром сейв понятно не стоит.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

нам все хрустальные шары переколотили. слепые мы. 

neoblack2
Offline
Зарегистрирован: 15.04.2017

Железо atmega328p - кварц на 16, стандартная обвязка - блоки питания 5в (норм. с фильтрами), + lcd 2004

Представим прошивка  в loop чисто eeprom.read(0). И там было значение 10. И выводиться на экран.

Вот вкл- выкл. устройство. И там на какой-то раз уже читается значение 40. Вот, все стало читаться, там уже такое. Бывали ли у когото глюки еепром или может что-то влиять на такое. Например кварц. или фьюзы - ну например.

b707
Offline
Зарегистрирован: 26.05.2017

neoblack2 пишет:

Бывали ли у когото глюки еепром или может что-то влиять на такое. Например кварц. или фьюзы - ну например.

Бывали. Обычно на такое влияют либо кривой код на запись, либо проблемы с питанием. Но так как вы не приводите ни кода, ни схемы - я думаю вам тут не помогут. Идите ищите экстрасенсов в другом месте.

Странные люди... Зачем писать на форум и что-то спрашивать, если не готов предоставить полную информацию о проблеме?

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

neoblack2 пишет:

Может быть еепром внутри кристалла глючит? или может кварц примешан? 

Вкл/выкл всему виной, к гадалке не ходи.

neoblack2
Offline
Зарегистрирован: 15.04.2017

Представим прошивка  в loop чисто eeprom.read(0). И там было значение 10. И выводиться на экран.

Разве тут где-то я указал что есть где-то код записи? Вот весь код. eeprom.read(0) и lcd.print();

По поводу схемы написал минимальную инфу, так как устройство изготовлено одинаково во многих экземплярах, на печатных заводских платах и работает нормально.  А задал вопрос в аппаратных темам те, кто собирает десятками и сотнями устройства на атмегах - не наблюдалось ли такое? Что вот рабочее устройство, изготовляется на одной прошивке и т.д. но вот есть проблемы с памятью. Может кто-то в Китае брал и были браки с еепромом (или вообще такое бывает), а может есть специфика во фьюзах. Заметил единое отличие что случайно при прошивке вот бод левел отключил (как бы должно вообще работать лучше тогда без контроля питания).

Может бод левел влияет (был 2.7), может у кого то было что вот кварц не 16, а 15.9 и аут (ну вдруг).

Железо - блоки питания идентичны, разводка, запчасти (замена на другие не помогает) - самое стандартное включение атмеги. Это не собрано устройство на коленке один раз с самым дешевым бп и деталями и мне нужна помощь в разводке схемы.

 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Включи bod, конечно же он влияет.

ЗЫ: Значение в ячейке eeprom меняется или только вычитывается неверно?

neoblack2
Offline
Зарегистрирован: 15.04.2017

Меняеться.

bod влияет на еепром?

b707
Offline
Зарегистрирован: 26.05.2017

neoblack2 пишет:

Разве тут где-то я указал что есть где-то код записи? Вот весь код. eeprom.read(0) и lcd.print();

ну что вы дурачков-то из нас строите?

если нет кода записи - откуда в нулевой ячейке какие-то данные?

neoblack2 пишет:

Заметил единое отличие что случайно при прошивке вот бод левел отключил (как бы должно вообще работать лучше тогда без контроля питания).

если у вас схема при отключенном контроле питания работает ЛУЧШЕ - это значит что напряжение очень нестабильное и часто уходит ниже уровня BOD. Провалы напряжения - прямой путь к ошибкам ЕЕПРОМ, но, как правило, проявляется это при записи в ЕЕПРОМ, а не при чтении. Хотя, если у вас напряжение все время прыгает - то и читаться может неправильно, но менятся значения в ЕЕПРОМ не должны.

Поэтому-то я и спрашиваю - откуда в ЕЕПРОМ берется это значение 10 и обновляете ли вы его, меняете ли это число или оно записано туда один раз и не меняется никогда, ни при каких обстоятельствах?

-NMi-
Offline
Зарегистрирован: 20.08.2018

Как вариант сделать некий шаблон, допустим было 10_10 а записал 12_12. Итого четыре байта + контрольную сумму прилепить. Всего пять байт и в четыре раза меньше вероятность отказа системы.

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Ну не, чудо однозначно, годами работают устройства, например у меня автополив огурцов летом, как поставил время полива 20:30 пару лет назад, так оно и стоит.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

neoblack2 пишет:

Железо atmega328p - кварц на 16, стандартная обвязка - блоки питания 5в (норм. с фильтрами), + lcd 2004

Представим прошивка  в loop чисто eeprom.read(0). И там было значение 10. И выводиться на экран.

Вот вкл- выкл. устройство. И там на какой-то раз уже читается значение 40. Вот, все стало читаться, там уже такое. Бывали ли у когото глюки еепром или может что-то влиять на такое. Например кварц. или фьюзы - ну например.

Стопицот раз писано, хоть атмел и клянется, что исправил, но, на всякий случай, начинай EEPROM писать не с 0-го адреса, а с 0х10. 

толстый
Offline
Зарегистрирован: 10.02.2020

andycat пишет:
Ну не, чудо однозначно, годами работают устройства, например у меня автополив огурцов летом, как поставил время полива 20:30 пару лет назад, так оно и стоит.

Кому чудо, а кому "фак"товый факт:) Вопрос выборки. На годами проверенной схеме и настройках фюзов работающий без нареканий, проблемы начались с EEPROM после закупки микроконтроллеров из Китая. Не смотря на то, что они были в ленте, в некоторые там явно был уже зашит код. В итоге около 5% из этой партии вернулось с диагнозом "теряются настройки". Если прошить EEPROM и включить на постоянку или положить на полку, то всё хорошо. А вот если постоянно дёргать питание, то, в худшем случае, уже через десяток включений EEPROM "бился"

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

я конечно лентами такое количество не беру, но заказчики последние, до 22 года брали большие объемы у прямых дистрибьюторов, ни о каких Китайцах разговор и не идет. В вашем значит случае не форум надо насиловать, а поставщиков кривых чипов. И да, как выше уже писалось - писать выше нулевого адреса, да и код мы не видели, хз что у вас за эксперименты.

толстый
Offline
Зарегистрирован: 10.02.2020

Вы бы читали кому отвечаете :)  И моя описанная ситуация была более 10 лет назад

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

толстый пишет:

И моя описанная ситуация была более 10 лет назад

Вам продали партию бушных камней со стертой до дыр EEPROM - то же мне, бином Ньютона )))

толстый
Offline
Зарегистрирован: 10.02.2020

Да мне, как бы, и всё равно:)  Я написал про этот случай, потому, что TS задал вопрос - а может ли портится содержимое памяти, а andycat утверждает, что нет, это чудо и такого быть не может. Я написал - да, может. 

neoblack2
Offline
Зарегистрирован: 15.04.2017

Спасибо за ответы)

У меня схема при отключенном контроле питания работает ХУЖЕ - вот в чем странно.

Один раз записано значение. Меняется когда я его изменяю кнопками, но специально не нажимаю, не меняю. Это когда готовая прошивка.

И так же просто читать - когда в прошивке только еепром.read()  и lcd.print. Было 10, вкл-выкл. какое-то количество раз, стало 40.

SLKH
Offline
Зарегистрирован: 17.08.2015

neoblack2 пишет:

Спасибо за ответы)

У меня схема при отключенном контроле питания работает ХУЖЕ - вот в чем странно.

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

goto №8.