Отговори на тема  [ 41 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща
Въпрос относно W25Q80 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2581
Местоположение: Велико Търново / София
Мнение Re: Въпрос относно W25Q80
Ами направи го със два сектора. Четен и нечетен (текущ / алтернативен).
Прочиташ текущия сектор, модифицираш данните, триеш алтернативния сектор, пишеш в алтернативния.
Така ще имаш по 2 сектора (блока) с настройки. За да знаеш кои са текущите трябва в края на блока трябва да имаш номер на настройките char nomer_nastroika всяка следваща настройка инкрементира тази стойност.
Като прочетеш 2та блока, в края ще прочетеш номера на настройките (сесията настройки). Който блок е с по-голям номер, той е последния. Ако случайно не се запише новият блок докрай, ще остане с по-малък номер. И така няма да е валиден блока после при проверка.
Схемата е следната валидираш данните с по-голям nomer_nastroika, модифицираш и пишеш в блока с по-малък номер....
и накрая не забравяй 0 > 255.

_________________
https://github.com/slav4ocom/


Пон Яну 06, 2020 9:25 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3074
Мнение Re: Въпрос относно W25Q80
Сектор Б се презаписва 200 мс след сектор А.
При ресет се търси коректен сектор, ако и двата са коректни -А се избира за валиден и ако трябва - се копира върху Б. Ако само Б е коректен - копира се върху А.


Пон Яну 06, 2020 9:32 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2581
Местоположение: Велико Търново / София
Мнение Re: Въпрос относно W25Q80
Вариант Б:
захранването на процесора през диод и след него електролитен кондензатор. Със пин следиш захранването преди диода. Ако то е отпаднало се забранява ъпдейта на настройки. Електролита трябва да осигурява ток за времето на един ъпдейт. Така ще минеш само с един сектор.

_________________
https://github.com/slav4ocom/


Пон Яну 06, 2020 9:44 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 12:48 pm
Мнения: 4393
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: Въпрос относно W25Q80
Вариянт С.
Слагаш феропамет и си спестяваш проблемите

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Пон Яну 06, 2020 11:19 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 06, 2018 4:18 pm
Мнения: 1188
Мнение Re: Въпрос относно W25Q80
MYXATA написа:
Вариянт С.
Слагаш феропамет и си спестяваш проблемите

F-RAM-a става голям хит напоследък в аероспейс индустрията.


Вто Яну 07, 2020 7:01 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 12:48 pm
Мнения: 4393
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: Въпрос относно W25Q80
Bai Ui написа:
MYXATA написа:
Вариянт С.
Слагаш феропамет и си спестяваш проблемите

F-RAM-a става голям хит напоследък в аероспейс индустрията.

Ми незнам за напоследъка, аз слагах феропамети в един дизайн още 1999-2000.
Може би чак сега има сертифицирани за аероспейс...

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Вто Яну 07, 2020 11:44 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 3:11 pm
Мнения: 3742
Местоположение: София
Мнение Re: Въпрос относно W25Q80
Не модифицираш. Записваш веднъж и ако се наложи да променяш ( нали е малко по обем ), направо добавяш нов запис на всичките си данни. И така, докато свърши мястото. След това триеш ...


Вто Яну 07, 2020 5:09 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Мар 31, 2009 9:25 am
Мнения: 1391
Мнение Re: Въпрос относно W25Q80
bateAz написа:
Не модифицираш. Записваш веднъж и ако се наложи да променяш ( нали е малко по обем ), направо добавяш нов запис на всичките си данни. И така, докато свърши мястото. След това триеш ...

А как разбира после от къде трябва чете?


Вто Яну 07, 2020 5:45 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2581
Местоположение: Велико Търново / София
Мнение Re: Въпрос относно W25Q80
Ами нали това е моята идея, четни и нечетни записи. Този на който последният байт му е по-голяма стойността, той е последният валиден запис.
Аз предложих да ги върти 0 до 255 но 255 е 0xFF което е невалиден запис - изтрит блок и спрял ток по време на записа... Всъщност може да ги върти от 0 до 2 числата. Ако имаш 2 записа с последен байт 0x00 и последен 0x01 този който е 0х01 е валидния. Ако правиш модификация, записваш на мястото на блока със 0х00 и го правиш 0х02. След тази интервенция имаш блокове 0х01 и 0х02 валидният е 0х02, защото е с по-голям номер. Фактически номера на модификацията е последният байт от блока. Този байт би трябвало да се записва атомично, или се записва на една стъпка или не .
Ако се направи нова модификация на настройките, новият блок ще е 0х00 и ще бъде записан на мястото на 0х01 . Важното уточннение е че ако имаш:
0х02 и 0х00 валидният е 0х00
ако имаш 0х00 и 0х01 валидният е 0х01
ако имаш 0х01 и 0х02 валидният 0х02
ако единият от блоковете е 0xFF валиден е другият
ако и двата са 0xFF - нещо си омазал яко :D, но не би трябвало да се стига до тази ситуация...
идеята е да се пише винаги в алтернативен блок, защото ако не завърши записа, остава текущият блок. Достатъчни са 2 блока (сектора)

_________________
https://github.com/slav4ocom/


Вто Яну 07, 2020 6:05 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 06, 2018 4:18 pm
Мнения: 1188
Мнение Re: Въпрос относно W25Q80
MYXATA написа:
Bai Ui написа:
MYXATA написа:
Вариянт С.
Слагаш феропамет и си спестяваш проблемите

F-RAM-a става голям хит напоследък в аероспейс индустрията.

Ми незнам за напоследъка, аз слагах феропамети в един дизайн още 1999-2000.
Може би чак сега има сертифицирани за аероспейс...

Не само, всяка компания си има approved components database, тя се гради с години на база на успешно и безпроблемно използване в предишни проекти, освен това тая индустрия кара малко по инерция, трудно усвоява нови технологии и често нови проекти се базират на стари схемни решения, в някои компании пък използват готови блокове - common circuit blocks и само ги редят по платката като блокчета лего.
p.s. феропаметите не са били винаги толкова успешни, ранните памети са се износвали дори само от четенe


Вто Яну 07, 2020 7:30 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 3:11 pm
Мнения: 3742
Местоположение: София
Мнение Re: Въпрос относно W25Q80
ilkor написа:
...
А как разбира после от къде трябва чете?


При стартиране чете наред докато стигне до еф-ове. Там е следпоследният запис. :D


Вто Яну 07, 2020 7:51 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: Въпрос относно W25Q80
The Page Program instruction allows from one byte to 256 bytes (a page) of data to be programmed at
previously erased (FFh) memory locations.

демек пишеш си инкрементално записи стил: запис в еепром
и кат стигнеш края на сектора триеш алтернативния ( стария ) сектор ( 4к ) и пак така...
зора ти е да си намериш последния валиден запис при старт ... нящо CRC и си в джаза :)

_________________
main[-1u]={1};


Вто Яну 07, 2020 8:09 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Мар 31, 2009 9:25 am
Мнения: 1391
Мнение Re: Въпрос относно W25Q80
bateAz написа:
При стартиране чете наред докато стигне до еф-ове. Там е следпоследният запис. :D

Ииии това ще трябва да е голямо четене ...

Срещу един допълнително опроводен CS и запоен EEPROM директно върху флаша проблема се решава най-елегантно за въпросните 10 броя устройства.


Вто Яну 07, 2020 8:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 3:11 pm
Мнения: 3742
Местоположение: София
Мнение Re: Въпрос относно W25Q80
ilkor написа:
...
Ииии това ще трябва да е голямо четене ...


Някои сричат, други четат умно и затова бързо. Няма да спорим.


Вто Яну 07, 2020 9:50 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2201
Мнение Re: Въпрос относно W25Q80
Благодаря за коментарите! Всичко е наред! Просто използвам цял блок данни. Чете се направо целия блок(на практика може, само колкото е необходмо), промените се правят директно в масива като се използват същите адреси като в паметта(адресът сочи клетка от масива), после се трие блока и се записват промените. Доста проста и за сега работеща е промяната. Става да се работи със страници, но няма команда за триене на страница - пак се трие блок. Само малко нерви дето потроших, докато схвана какво всъщност става...
ПП: И да, интегралата е доста бавна. Мога да опитам утре да вдигна още скоростта на spi, ама като гледам то си има закъснения в кода и едва ли ще е има голям ефект.

_________________
www.elkran.com


Вто Яну 07, 2020 10:11 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 41 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни