vldmr86 0 20 апреля, 2018 Опубликовано 20 апреля, 2018 · Жалоба Есть устройство на том самом STM32F407VGT6. К устройству подключены: USB порт для FLASH накопителя, Ethernet PHY, SPI память, SPI дисплей, SPI АЦП, изолированные интерфейсы (с изоляторами типа ISO7721), часовая батарейка 2032 и прочая мелочь. Замечено что неожиданное выключение питания приводит к сбою записи в SPI память. Кроме лога там телеметрия и для ее нормальной записи нужны несколько секунд. Еще одну батарейку ставить категорически не хочется по нескольким причинам. Нравится суперконденсатор. Вопросов два. Первый - что нужно сделать на аппаратном уровне чтобы при минимальном номинале суперконденсатора продержаться максимальное время. Есть опасения что через подключенных к портам потребителей энергия суперконденсатора будет утекать бесполезно. Пока на ум пришло увеличить номиналы подтяжек на землю и питание с обычных 10 к до например 47...100 к руководствуясь конечно по каждому пункту здравым смыслом. Понятно что надо тушить дисплей, или завести его в RESETное состояние, как-то программно потушить USB и Ethernet PHY (LAN8720 если он это позволяет?) . Что еще не забыть? Второй вопрос по типу суперконденсатора. Мне встретились 2 типа (а может их и больше в природе) отличающиеся отдаваемой мощностью. Первый тип в нашей литературе называют ионистором. Он может отдавать небольшой ток но длительное время. Например такой экземпляр от Panasonic емкостью 1 фарад стоит около 3...4 баксов. Выглядит как литиевая батарейка таблетка. Этого можно зарядить до трех вольт и уверенно рассасывать энергию до 1.8 вольта Второй тип может отдавать большой ток но недолго. Его обычно зовут EDLC. Он выглядит как электролитический конденсатор вроде отечественных K50-6. Их много кто делает. По разумным ценам в России можно купить Nesscap, Samwha и пр. Например 3 фарада за 60 центов. Этот вариант мне нравится больше, потому что дешевле. Этого можно зарядить максимум до 2.7 а лучше не больше 2.5 ну и как-то дотянуть до тех же 1.8. Поискал но сходу не нашел готовых апнот по этой тематике. Наверное плохо искал. Очень надеюсь на помощь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 63 20 апреля, 2018 Опубликовано 20 апреля, 2018 · Жалоба Вначале замерить ток потребления при записи и рассчитать время которое можно получить с ионистором. У STM32 повыключать тактирование всех блоков, кроме необходимых для записи флэш, а также все лишние выходы перевести во входы. Можно поставить power switch на питание всех микросхем не нужных для записи и просто выключать им питание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 2 20 апреля, 2018 Опубликовано 20 апреля, 2018 · Жалоба Кроме лога там телеметрия и для ее нормальной записи нужны несколько секунд. Несколько секунд? Что-то подозрительно долго. С этим надо разбираться. А работать от ионистора на границе brownout-а дело довольно рискованное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amiller 2 22 апреля, 2018 Опубликовано 22 апреля, 2018 · Жалоба Ионисторы, батарейки и т.п. обычно используют, чтобы длительное время поддерживать работоспособность в дежурном режиме, т.е. с малым потреблением. Вам же нужно обеспечить несколько секунд в активном режиме. Предлагаю использовать обычный электролит емкостью в несколько миллифарад. Обычно этого вполне достаточно. Только конденсатор надо перенести подальше от питания контроллера. Напоминаю, что накопленная энергия равна С * U * U. Чем больше напряжение, тем больше энергия. При понижении напряжения ниже порога - прерывание - безопасное завершение. А вообще конечно, несколько секунд - это много. Оптимизируйте и будет достаточно вполне себе маленького конденсатора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Егоров 0 22 апреля, 2018 Опубликовано 22 апреля, 2018 · Жалоба К устройству подключены: USB порт для FLASH накопителя, Ethernet PHY, SPI память, SPI дисплей, SPI АЦП, изолированные интерфейсы (с изоляторами типа ISO7721), часовая батарейка 2032 и прочая мелочь. Вот вы просчитайте все это, "мелочь" тоже не забудьте и огласите в виде миллиамперов или милливатт. А также внятно назовите время автономной работы. Чтобы можно было вести какие-то расчеты потребной запасаемой энергии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladec 7 23 апреля, 2018 Опубликовано 23 апреля, 2018 · Жалоба Использую такой режим аварийной запитки по 5В, суперконденсаторы -- 5Ф - 10Ф на 2,7В пара последовательно включенных, заряд через одноватный резистор 24 Ом, разряд (на цепь +5В) через большой, "медленный" диод Шоттке (либо какой нибудь идеальный SBR диод) параллельно резистору. Питает в том числе GSM модем. В зависимости от потребления работает от нескольких секунд до пяти минут. Если с 5В на 3,3В или другое используется импульсный, а не линейный источник аккуратно выбирайте микросхему преобразователя в плане ее выживания на низких напряжениях в процессе разряда -- приходилось сталкиваться с проблемами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlanDrakes 1 23 апреля, 2018 Опубликовано 23 апреля, 2018 · Жалоба Наверное, у меня странный вариант решения вопроса, но.... Если сделать свой буфер записи в BackUP домене? Выделяется блок памяти, скажем, чуть больше сектора. В него пишется будущий сектор, добавляется пара флагов типа "Запись пошла", "Запись прошла", "Проверка успешна", ну и адрес записи. Соответственно, перед записью - взводим первый флаг. Обязательно БАЙТ-флаг. После записи - сразу же взводим второй флаг. После этого ПРОВЕРЯЕМ записаные данные. Если успешно - обнуляем адрес и очищаем память. В случае потери питания и после перезапуска кристалла, нужно проверить: 1. Ненулевой адрес записываемого блока данных. 2. Соответствие флагов - "Начали писать", "Закончили писать", "Проверили". 3. Выполнить соответствующие действия - стереть сектор, повторить запись. Понимаю, это не решает вопрос отказоустойчивости самого Flash накопителя, но хотя бы снижает потерю данных во время работы. Ну и разбиение данных на блоки для удобства. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 23 апреля, 2018 Опубликовано 23 апреля, 2018 · Жалоба Всю жизнь проектировал формат дынных, пишущихся во флеш, так, чтобы он был устойчивым к отключениям питания. Да, это гораздо сложнее, чем тупо записать открытым текстом и надеяться, что никто ничего отключать не будет. Зато работает без всяких конденсаторов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 23 апреля, 2018 Опубликовано 23 апреля, 2018 · Жалоба Всю жизнь проектировал формат дынных, пишущихся во флеш, так, чтобы он был устойчивым к отключениям питания. Да, это гораздо сложнее, чем тупо записать открытым текстом и надеяться, что никто ничего отключать не будет. Зато работает без всяких конденсаторов. Вы используете только свои собственные форматы или уже есть вменяемые библиотеки? Вы разрабатывали дополнительные прослойки для использования, скажем, FAT? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AVI-crak 0 23 апреля, 2018 Опубликовано 23 апреля, 2018 · Жалоба Наверное, у меня странный вариант решения вопроса, но.... Если сделать свой буфер записи в BackUP домене? Размер BKRAM 4к. Размер сектора флеша может быть 32к-128к-256к-512к-1м - зависит от жирности и параллельности архитектуры чипа. Оно туда не влезет. Хотя для внешней памяти 25-той серии - весь сектор стирать не обязательно, и такой вариант защиты вполне приемлем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
twix 0 24 апреля, 2018 Опубликовано 24 апреля, 2018 · Жалоба У меня вопрос немного не в тему, ионисторы у них же большой ток саморазряда, как на нем строить ждущий режим, если он сам себя без нагрузки посадит максимум неделя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 24 апреля, 2018 Опубликовано 24 апреля, 2018 · Жалоба Вы используете только свои собственные форматы или уже есть вменяемые библиотеки? Вы разрабатывали дополнительные прослойки для использования, скажем, FAT? Изобретал свой велосипед. Файловая система никогда не была нужна, тем более FAT. Доморощенный велосипед чреват доморощенными глюками, конечно. Впрочем, в чужом - чужие глюки. Что касается логов, есть вот такой велосипед: тут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 63 24 апреля, 2018 Опубликовано 24 апреля, 2018 · Жалоба У меня вопрос немного не в тему, ионисторы у них же большой ток саморазряда, как на нем строить ждущий режим, если он сам себя без нагрузки посадит максимум неделя. Никак. Что касается логов, есть вот такой велосипед: тут. Forbidden You don't have permission to access /fwlib/group___l_o_g___f_s.html on this server. наверное имелась ввиду вот эта ссылка: https://piconomix.com/fwlib/#EXAMPLE_DATA_LOGGING Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arhiv6 14 24 апреля, 2018 Опубликовано 24 апреля, 2018 · Жалоба HardEgor, у Вас тоже Forbidden 403. Обе ссылки нужно открывать без https: http://piconomix.com/fwlib/group___l_o_g___f_s.html http://piconomix.com/fwlib/#EXAMPLE_DATA_LOGGING Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 24 апреля, 2018 Опубликовано 24 апреля, 2018 · Жалоба Forbidden You don't have permission to access /fwlib/group___l_o_g___f_s.html on this server. наверное имелась ввиду вот эта ссылка: https://piconomix.com/fwlib/#EXAMPLE_DATA_LOGGING HardEgor, у Вас тоже Forbidden 403. Обе ссылки нужно открывать без https: http://piconomix.com/fwlib/group___l_o_g___f_s.html http://piconomix.com/fwlib/#EXAMPLE_DATA_LOGGING Все ссылки приблизительно одинаковой степени несвежести. Они как-то интересно настроили свой веб сервер, снаружи ссылаться не очень получается. В любом случае, кто ищет, тот всегда найдёт :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться