Например TDA7294

Форум РадиоКот • Просмотр темы - Организация настроек для записи во внешную ЕЕПРОМ(AT24C32)
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Сб авг 15, 2020 22:58:40

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Организация настроек для записи во внешную ЕЕПРОМ(AT24C32)
СообщениеДобавлено: Пн сен 23, 2019 11:33:22 
Вымогатель припоя

Зарегистрирован: Вт ноя 02, 2010 17:46:37
Сообщений: 568
Рейтинг сообщения: 0
Для хранения настроек использовал внутреную flash процессора, но потом заметил что во время записи некоторые периферия работает не совсем адекватно, и могут быть пропущены внешние сигналы, решил перейти на внешнюю память, выбор пал на серию AT24**так как есть место куда её можно запаять. Почитал как с ней работают, в принципе понятно и на запись N количество байт проблем не должно быть. Вопрос встал как хранить настройки, что бы потом их можно было легко записать. Раньше когда использовал falsh все днастройки хранил в структуре,после модификации структуры, просто стирал всю страницу flash (все настройки) и записывал, новые настройки.
Такой подход к еепром считаю не правильным, надо записывать чисто изменения, если изменилось 4 байта в структре то их и надо записать, как это можно сделать по феншую?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Пн сен 23, 2019 11:44:19 
Электрический кот

Карма: 15
Рейтинг сообщений: 172
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 1057
Рейтинг сообщения: 0
Флеш во время записи блокируется, если хочешь в это время реагировать на события, то нужно переносить те же обработчики прерываний в RAM.


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Пн сен 23, 2019 11:55:36 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 37
Рейтинг сообщений: 302
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2226
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
pokk, вообще-то,в даташит at24c32 указано, что внутренняя организация памяти у нее страничная. 128 страниц по 32 байта.
Поэтому, если объем сохраняемых данных существенно меньше, чем 4 килобайта, а записываются они относительно часто, то лучше писать их по кругу, выравнивая по адресу кратному 32 и записывая страницами по 32 байта. Каждую запись конфигурации следует предварять одним дополнительным байтом инкрементируемом при каждой записи. Тогда при старте программы находим последнюю версию конфигурации, с учётом возможного перехода счётчика через ноль, и используем ее адрес и значение счётчика конфигураций для последующих записей.

Добавлено after 3 minutes 28 seconds:
Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C32)
pokk, неплохо так же дублировать значение счётчика и в конце конфигурации. Тогда будет дополнительный контроль, на случай если запись конфигурации была прервана до ее окончания.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Пн сен 23, 2019 13:01:51 
Сверлит текстолит когтями
Аватар пользователя

Карма: 10
Рейтинг сообщений: 149
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 1127
Рейтинг сообщения: 0
Что-то вы всё усложняете. pokk, вы ресурс eeprom экономить собрались? Пишите просто структуру с контрольной суммой да и всё. Если уж данные такие ценные, запишите в двух местах.

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


Вернуться наверх
 
Быстро и просто. Разработка бюджетного неизолированного источника питания на контроллере VIPer122

С помощью VIPer122 можно создавать как изолированные, так и неизолированные сетевые источники питания. Разберем самый простой и бюджетный вариант – разработку неизолированного понижающего источника питания с выходным током в несколько сотен миллиампер без трудоемких расчетов трансформаторов и компонентов обвязки.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Пн сен 23, 2019 13:16:46 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 37
Рейтинг сообщений: 302
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2226
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
VladislavS, в любом случае, счетчик и его дублирование в начале и конце данных предотвращают непредсказуемое поведение программы, если во время последней записи произошел сбой и записалась только часть данных.
Я в подобных случаях всегда предпочитаю использовать транзакционную запись данных, в целях контроля их целостности. Можно и контрольную сумму считать, но дублирование счетчика - проще.


Вернуться наверх
 
Микроконтроллеры STM32G4 полностью заменят STM32F3?

С начала выпуска микроконтроллеров STM32F3 прошло 8 лет. Изменились как технологии, так и потребности рынка. Понимая это, компания STMicroelectronics разработала новое семейство микроконтроллеров STM32G4 для систем со смешанными сигналами. Эти микроконтроллеры превосходят своих предшественников из семейства STM32F3 по уровню быстродействия, богатству периферии и при этом обеспечивают более низкий уровень потребления.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Пн сен 23, 2019 13:51:25 
Сверлит текстолит когтями
Аватар пользователя

Карма: 10
Рейтинг сообщений: 149
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 1127
Рейтинг сообщения: 0
Мы же про настройки говорим судя по сообщению ТС. Настройка это такая штука, которая считывается при старте, чтобы установить состояние устройства. Вот при старте мы их считываем, проверяем целостность по контрольной сумме (счётчик нам тут мало поможет) и применяем. Если контрольная сумма не сошлась, то устанавливаем дефолтное состояние. В особо запущенных случаях можно хранить несколько копий данных. Я не запрещаю вести счётчик, только пользы от него никакой. Данные либо целые, либо нет и это контрольной суммой проверяется.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Пн сен 23, 2019 14:21:47 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 37
Рейтинг сообщений: 302
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2226
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
VladislavS, как раз шансы на то, что совпадет контрольная сумма, есть всегда (что, впрочем, не отменяет полезность контрольной суммы). А одинаковое значение счетчика, записываемое перед данными и после них - однозначный признак того, что все данные записались. Плюс данного подхода еще в том, что если последняя конфигурация не валидна (значения счетчика в начале и в конце не совпадают), то можно использовать предыдущую конфигурацию. То есть, мы теряем только последнее изменение конфигурации устройства, а вовсе не всю целиком. Очень Вас порадует, когда устройство с конфигурацей по-умолчанию займет статический IP адрес 192.168.0.1, который в сети уже занят? )))


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Пн сен 23, 2019 14:28:59 
Мучитель микросхем

Карма: -14
Рейтинг сообщений: 1
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 465
Рейтинг сообщения: 0
Я также всегда использую в таких случаях маркер начала и конца записи. Так чтобы они были равны другу другу и не равны стёртому состоянию флешь и не равны полностью записанному состоянию флешь.
Т.е. - если стёртое состояние флешь (все биты) = 0xFF, а записанное = 0x00, то допустимое значение маркера в пределах 0x01...0xFE. Если страница имела начальное (стёртое) состояние == 0xFF, то наличие валидных и одинаковых маркеров со значением 0x01...0xFE в начале и конце записи означает что запись была выполнена полностью успешно.
CRC в записи у меня тоже есть, но это уже - для дополнительной защиты. По уму построенный алгоритм должен и без CRC корректно работать.


Вернуться наверх
 
Бытовой пирометр АКИП-9312 – просто удобно!

Диапазон 35 °С ...42°С (температура тела) погрешность 0,3 °С
Диапазон 0 °С ...100°С (бытовая сфера) погрешность 1,0 °С
Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Пн сен 23, 2019 14:58:19 
Сверлит текстолит когтями
Аватар пользователя

Карма: 10
Рейтинг сообщений: 149
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 1127
Рейтинг сообщения: 0
Очень Вас порадует, когда устройство с конфигурацей по-умолчанию займет статический IP адрес 192.168.0.1, который в сети уже занят? )))
Ещё меньше меня порадует адрес 192.ххх.0.1 после "успешных" записи и чтении, но сбойном одном байте.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Пн сен 23, 2019 15:06:50 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 37
Рейтинг сообщений: 302
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2226
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
VladislavS, читать умеете?
ПростоНуб писал(а):
что, впрочем, не отменяет полезность контрольной суммы

Контрольная сумма и маркеры начала/конца записи выполняют несколько схожие, но все же разные функции.
При этом повреждения данных в EEPROM - очень редки. А сбой во время записи в EEPROM - вполне распостраненное явление.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Пн сен 23, 2019 15:16:37 
Сверлит текстолит когтями
Аватар пользователя

Карма: 10
Рейтинг сообщений: 149
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 1127
Рейтинг сообщения: 0
Надеюсь, термины чисто "инженерные" термины "очень редки" и "частое явления" подтверждены конкретными цифрами а не высосаны из пальца?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Пн сен 23, 2019 15:24:02 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 37
Рейтинг сообщений: 302
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2226
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
VladislavS, читать умеете? Где я употребил слово "частое"? Я могу только утверждать, что с повреждениями информации в EEPROM я не только не сталкивался ни разу, но даже не слышал о таком. А вот о зависании МК при записи во внешний чип, который при этом еще и потребляет в 3-4 раза больше энергии, чем в холостом режиме, не только слышал, но и сталкивался с этим сам.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Пн сен 23, 2019 16:09:58 
Мучитель микросхем

Карма: -14
Рейтинг сообщений: 1
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 465
Рейтинг сообщения: 0
Меня вот при записи во внешнюю флешь всегда тревожила мысль: "А что будет если питание флешь-чипа отключится во время записи?" Будет там исходное значение, или целевое? И насколько оно будет стабильным? Возможны ли случаи, когда сбой питания во время записи какого-то байта, может привести к тому, что потом этот байт будет читаться неустойчиво: иногда одно значение, иногда - другое? В мануалах на flash не видел упоминаний такой ситуации.
Или в его составе есть ёмкость, гарантирующая завершение записи в любом случае? Или за счёт внешней ёмкости?...
То же самое касается и операции стирания. Но здесь ещё сложнее, так как это - длительная процедура. Может ли быть такое что если после старта стирания страницы сбойнуло питание, и после этого в странице уже и не начальное содержимое и не стёртое?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Пн сен 23, 2019 16:15:26 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 37
Рейтинг сообщений: 302
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2226
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
jcxz, неустойчивого не встречал, а вот чтобы после прошивки верификация не прошла - да сколько угодно. А там уже или со второго-третьего раза прошьется, или вообще не прошиватся правильно. EEPROM в этом смысле всяко надежней. Но дороже.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Организация настроек для записи во внешную ЕЕПРОМ(AT24C3
СообщениеДобавлено: Вт сен 24, 2019 05:49:51 
Опытный кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 89
Зарегистрирован: Сб мар 09, 2013 11:29:22
Сообщений: 764
Откуда: 40RUS, Жуков
Рейтинг сообщения: 0
Что то я не пойму , при чем здесь тема АРМ. Вроде как Периферия.

_________________
IVL ex UA6PJ OSC_F303&F103


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y