Eeprom

Дрбанана
Ср. 07 сентября 2016 г. 14:33
У меня мало байтов (около 20) для хранения в eeprom. Я видел пример эмуляции EEPROM, который кажется потрясающим. Но у меня есть несколько вопросов.
  • Безопасно ли использовать ? Это уменьшит срок службы UC ?
    Есть ли недостаток этого ?
    Будет ли он все еще работать, если я включу защиту чтения вспышки UC ?

Мадиас
Ср. 07 сентября 2016 г., 15:08
Наверняка это уменьшит время жизни UC, если вы пишете очень часто. (С плохим программированием вы можете испортить его в течение нескольких минут)
См. Примечание ST Страница 5/10 (циклы записи/стирания)
http: // www.ул.com/content/ccc/resource/ ... 165693.PDF

Rogerclark
Ср. 07 сентября 2016 г. 22:04
Существует также еще одна небольшая область хранения, но я не могу вспомнить, хранит ли они данные после цикла питания или насколько он большой.

Martinayotte
Ср. 07 сентября 2016 г., 22:12
Если STM Flash Endurance является проблемой, почему бы просто не использовать i2c eeprom, они дешевы на eBay, даже для больших.

Мадиас
Ср. 07 сентября 2016 г. 22:29
Martinayotte написал:Если STM Flash Endurance является проблемой, почему бы просто не использовать i2c eeprom, они дешевы на eBay, даже для больших.

Rogerclark
Ср. 07 сентября 2016 11:38
Я думал, что выносливость была > 10000 циклов стирания.

Кроме того.

Но если вы хотите использовать разные страницы флэш -сайта, вам нужно написать код, чтобы управлять сколько раз вы используете каждую страницу Flash E.глин. Храните количество использования на этой странице с вашими данными.

Ахулл
Ср. 07 сентября 2016 11:54
У RTC также есть несколько резервных регистров аккумулятора (80 байтов, насколько я повторяю)... Но вам, очевидно, нужна аккумуляторная батарея, чтобы удержать их после питания. Хорошо, если вы планируете использовать RTC в своем проекте, так как вы все равно установите батарею.

http: // www.ул.com/content/ccc/resource/ ... 025071.PDF

Раздел 1.9

Rogerclark
Чт, 08 сентября 2016 г. 1:13
Спасибо, Энди. Я думаю, что это была область хранения данных, которую я вспомнил.

Он также переживает сброс, если вы сохраняете нормальную силу на.

Дрбанана
Чт, 08 сентября 2016 г. 1:17
Спасибо всем, я думаю, что должен избегать эмулированного eeprom.

Эдогальдо
Чт, 08 сентября 2016 г., 13:11
Martinayotte написал:Если STM Flash Endurance является проблемой, почему бы просто не использовать i2c eeprom, они дешевы на eBay, даже для больших.

Мадиас
Чт, 08 сентября 2016 г., 14:02
...Для W25QXXX я адаптировал драйвер/библиотеку в прошлом --> ViewTopic.PHP?f = 13&t = 9
Они ультра дешевые, я сама посылал простые чипсы с помощью доски Adapter SMD. Недостаток: вы должны удалить целый сектор (16 страниц) перед перезаписью, поэтому вам нужен по меньшей мере буфер 4 КБ (для страницы) или использование буферного сектора на чипе (читая перезапись сектор, выдвигая его к буферному сектору и и Напишите различия в секторе перезаписи).

Я вижу, есть более новая библиотека для Arduino Out: https: // форум.Ардуино.CC/INDEX.PHP?Тема = 324009.0
Не заглянул внутрь, но я предполагаю, что преобразование его простое (только процедуры SPI)

Саймонф
Чт, 08 сентября 2016 г., 14:26
Ахулл написал:У RTC также есть несколько резервных регистров аккумулятора (80 байтов, насколько я повторяю)... Но вам, очевидно, нужна аккумуляторная батарея, чтобы удержать их после питания. Хорошо, если вы планируете использовать RTC в своем проекте, так как вы все равно установите батарею.

http: // www.ул.com/content/ccc/resource/ ... 025071.PDF

Раздел 1.9

Ахулл
Чт, 08 сентября 2016 г., 15:43
Саймонф написал:Ахулл написал:У RTC также есть несколько резервных регистров аккумулятора (80 байтов, насколько я повторяю)... Но вам, очевидно, нужна аккумуляторная батарея, чтобы удержать их после питания. Хорошо, если вы планируете использовать RTC в своем проекте, так как вы все равно установите батарею.

http: // www.ул.com/content/ccc/resource/ ... 025071.PDF

Раздел 1.9

Эдогальдо
Чт, 08 сентября 2016 г., 16:28
Я никогда не общался, чтобы проверить, на самом деле есть STM32F103C8XX *. CB также является средней плотностью, так что он также не оценен для 84 байтов..
В любом случае, кто знает, что как C8, так и CB - это на самом деле устройства высокой плотности.. : o : o : mrgreen: : mrgreen:

Ахулл
Чт, 08 сентября 2016 г., 8:14 вечера
Эдогальдо написал:Я никогда не общался, чтобы проверить, на самом деле есть STM32F103C8XX *. CB также является средней плотностью, так что он также не оценен для 84 байтов..
В любом случае, кто знает, что как C8, так и CB - это на самом деле устройства высокой плотности.. : o : o : mrgreen: : mrgreen:

Mrburnette
Солнце 11 сентября 2016 г. 16:42
ИМО,
Фрам имеет больше смысла.

У меня есть несколько образцов, но я никогда не попадал в лабораторный тест. Пенсия - это занятая фаза жизни.


Луча

Ореховый
Пт. 16 сентября 2016 г., 19:54
Ох, рад, что я прочитал эту страницу.

Смотрите, я думал, что не будет никаких проблем с регулярной сохранением данных.

В моем проекте Speedo будет страница конфигурации на дисплее. Здесь вы можете установить некоторые глобальные переменные. Я предположил, что переменные будут храниться на вспышке.

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

Так что от прочтения этой ветки, хранение в EEPROM или на бортовой вспышке - действительно плохая идея...

Какая лучшая альтернатива?

Ахулл
Пт. 16 сентября 2016 г. 11:08
Черная писала: Так что от прочтения этой ветки, хранение в EEPROM или на бортовой вспышке - действительно плохая идея...

Какая лучшая альтернатива?

Rogerclark
Сб 17 сентября 2016 г. 12:53
В дополнение к тому, что сказал Энди

Хранение настройки во вспышке в порядке, так как я подозреваю, что они не обновляются так часто

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

Вам нужно проверить руководство, но я подумал, что это количество циклов стирания, которое ограничено.
Таким образом, вы можете, например, использовать 2x 1K -банки Flash и изначально стереть Active Bank, а затем записать данные в локации последовательно, не стирать весь банк каждый раз.

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

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

Так что ваши 2 банка вспышки выполняют круговой магазин

Martinayotte
Сб 17 сентября 2016 12:25
Или, как сказал Рэй, вы можете использовать Fram, хотя и дороже:

- Высокоэнергетические 100 триллионов (10^14) Читать/записывает

Mrburnette
Сб 17 сентября 2016 г. 15:05
Martinayotte написал:Или, как сказал Рэй, вы можете использовать Fram, хотя и дороже:

- Высокоэнергетические 100 триллионов (10^14) Читать/записывает

Пито
Сб 17 сентября 2016 г. 15:14
Или Mrams, неограниченная выносливость :) (Everspin.com)

Zoomx
Сб 17 сентября 2016 г. 16:05
У некоторых Ti MCU есть Fram, а также есть некоторые доски для запуска. У меня есть один из них с Fram и Supercap, но я использовал только с примером DataLogger.

Martinayotte
Солнце 18 сентября 2016 г. 13:55
Fram не нуждается в Supercap, поэтому она должна потребоваться для некоторых RTC.

Martinayotte
Вторник 20 сентября 2016 12:47
Для тех, кто заинтересован, так как SPI Fram довольно дорогая, я ищу и обнаружил, что на eBay немного дешевле на eBay: FM24C256

Ахулл
Вторник 20 сентября 2016 г. 13:47
Martinayotte написал:Для тех, кто заинтересован, так как SPI Fram довольно дорогая, я ищу и обнаружил, что на eBay немного дешевле на eBay: FM24C256

Rogerclark
Вторник 20 сентября 2016 г., 8:59 вечера
Фрама хороша, но я сомневаюсь, что это действительно необходимо. Умное использование вспышки почти наверняка сможет сделать это с достаточно длительным сроком службы.

Если OP может почувствовать, когда питание уходит, а затем будет время, чтобы сохранить значение для вспышки, это будет один из вариантов e.g Иметь конденсатор, достаточно большой, чтобы держать процессор за миллисекунд, должен быть достаточно, если предположить, что банк флеш уже стерт и готов к запрограммированию.

Ахулл
Вторник 20 сентября 2016 г., 21:13
Rogerclark написал:Фрама хороша, но я сомневаюсь, что это действительно необходимо. Умное использование вспышки почти наверняка сможет сделать это с достаточно длительным сроком службы.

Если OP может почувствовать, когда питание уходит, а затем будет время, чтобы сохранить значение для вспышки, это будет один вариант e.g Иметь конденсатор, достаточно большой, чтобы держать процессор за миллисекунд, должен быть достаточно, если предположить, что банк флеш уже стерт и готов к запрограммированию.

Rogerclark
Вторник 20 сентября 2016 г., 21:23
Или добавить небольшую батарею, чтобы поддерживать VNRAM

Tftlcdcyg
Солнце 25 сентября 2016 г. 11:44
Мы можем использовать EEPROM из DS3231 RTC через библиотеку проводов:
.weak __exc_nmi .globl __exc_nmi .weakref __exc_nmi, __default_handler

Мэнни
Солнце 25 сентября 2016 г. 16:08
Мадиас написал:
Я вижу, есть более новая библиотека для Arduino Out: https: // форум.Ардуино.CC/INDEX.PHP?Тема = 324009.0
Не заглянул внутрь, но я предполагаю, что преобразование его простое (только процедуры SPI)