реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Прошу совета по питанию STM32F407 от суперконденсатора
AlanDrakes
сообщение Apr 24 2018, 13:11
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 101
Регистрация: 2-05-15
Из: Россия, Омск
Пользователь №: 86 474



Цитата(AVI-crak @ Apr 23 2018, 22:55) *
Размер BKRAM 4к. Размер сектора флеша может быть 32к-128к-256к-512к-1м - зависит от жирности и параллельности архитектуры чипа. Оно туда не влезет.
Хотя для внешней памяти 25-той серии - весь сектор стирать не обязательно, и такой вариант защиты вполне приемлем.


Согласен, но хотя бы иметь буфер для тех данных, которые собираемся записывать. Как вариант подобной структуры:
typedef struct {
uint64_t StartAddress;
uint8_t WriteStarted;
uint8_t WriteDone;
uint8_t WerifyOK;
uint16_t DataSize;
uint8_t DataArray[512];
} WriteBuffer;
Про размеры сектора - согласен, но я имел в виду хранение сектора перед записью.
Вроди бы, большинство чипов позволяет записывать иногда даже по байту в сектор (хотя и не все), подавляющее большинство - пол килобайта.

Хотя, могу быть неправ. Очень большие микросхемы пока не трогал - не приходилось.
Go to the top of the page
 
+Quote Post
vldmr86
сообщение Apr 24 2018, 13:48
Сообщение #17


Частый гость
**

Группа: Участник
Сообщений: 77
Регистрация: 12-12-16
Пользователь №: 94 599



На всякий случай скажу что проблема с записью у нас в MX25L6406EM2I-12G. Но программные способы решения я не рассматриваю - это не мое. Я аппаратное решение должен предложить подешевле.

Цитата(amiller @ Apr 22 2018, 08:49) *
Предлагаю использовать обычный электролит емкостью в несколько миллифарад.


Так и решили поступить. То что предложили сделать во втором сообщении, сделают программисты. Электролит такого номинала сопоставим по размерам с суперкапом например на 3 фарада. Цена суперкапа конечно повыше, но не фатально http://amsi.ru/catalog/index.php?categoryI...productID=24360. Решили оставить возможность -вдруг пригодится для чего.

Решил сделать отдельную цепь питания процессора - 3.3 вольт - отдельно от периферии. Сначала с 5 вольт понижаю до 2.7 с помощью LD1117STR а потом с помощью TPS61070 буду поднимать до 3.3 пока емкость не разрядится до 0.9. Если действительно хватит миллифарадной емкости вместо суперкапа то просто выкинем LD1117STR
Go to the top of the page
 
+Quote Post
AlanDrakes
сообщение Apr 24 2018, 15:07
Сообщение #18


Частый гость
**

Группа: Участник
Сообщений: 101
Регистрация: 2-05-15
Из: Россия, Омск
Пользователь №: 86 474



Кстати, у меня в одном типе плат стоит контроллер (STM32F103). В цепи питания стоит обычный электролит на, кажется, 4700uF. Настроен PVD на уровень 2.9V (номинальное - около 3.2). Когда внешнее питание пропадает - контроллер ловит прерывание от PWD и быстро отправляет в консоль ругань, что его обесточили.
Согласен, не Ваш вариант. Но в это же время можно отключить всю мощную нагрузку (хотя велик риск не успеть) и быстро доделать какие-то вещи, пока ёмкость не истощилась.
Могу ещё предложить контролировать входное напряжение и при его пропадании - так же всё отключать, пока не разрядились ёмкости.
Но две секунды на запись - это минимум сам контроллер + память... память - не более 25мА, судя по даташиту.
Контроллер, если сбросить частоту - можно получить около 10-20мА.
Берём наихудшие значения (20+25), накидываем разные утечки и всё, что нельзя обесточить (+50мА).
Необходимо: 45+50 = 95мА суммарно на 2 секунды.
При этом нельзя ронять напряжение ниже 2.7V для памяти.
При начальном питании в 3.3 получаем разницу в (3.3 - 2.7) = 0.6V. Негусто.
Теперь считаем заряд 2.7 * 0.095 * 4(с) (снова берём худший вариант и накидываем ещё резерв времени) = 1.026J
Неслабо так.
Минимум, который у меня получается, без использования преобразователей, просто на шине питания - 0.6F
Это при токе почти в 100мА. После разряда от 3.3 до 2.7, в конденсаторе останется ещё ~1.8J. Если использовать дополнительный преобразователь:
IN -> BoostCap -> Main_3.3, то можно вытянуть из него порядка 2.5J, а это около 8-10 секунд работы. Естественно, минимум потребителей и высокий КПД.
Ёмкость на 3F можно просто оставить на питании и мониторить вход.
Начальная энергия - 16J, Конечная - 11J (3.3 -> 2.7).

А вот запуск с таким конденсатором будет довольно тяжёлым.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 24 2018, 18:37
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(AlexandrY @ Apr 20 2018, 23:40) *
Несколько секунд?
Что-то подозрительно долго. С этим надо разбираться.

Сейчас отлаживаю проект на отладке. Пара отладочных плат соединённых вместе + ещё кой-какие мелочи на проводах -
всё это питалось от батареи кондёров 5 шт. * 10000мкФ * 24В (после коих - DC-DC понижающий).
Так мне надоело то, что после нажатия тумблера на БП, до останова работы программы надо ждать примерно 15 секунд. Убрал 4 кондёра, оставил один.
И это при том, что никаких действий по энергосбережению в программе нет. и работает CPU на 120МГц.

Цитата(segment @ Apr 23 2018, 18:43) *
Вы используете только свои собственные форматы или уже есть вменяемые библиотеки?

Зачем тут опять какие-то "библиотеки"? Достаточно только следовать правилу "Никогда не писать поверх старого" - и будет гарантия от сбоев питания в любой момент.

Цитата(segment @ Apr 23 2018, 18:43) *
Вы разрабатывали дополнительные прослойки для использования, скажем, FAT?

Если уж очень хочется FAT или ещё какую систему хранения с готовым драйвером (типа FatFS Chan-а), то ставим дополнительный чип FRAM (или подобной памяти) и пишем низкоуровневый доступ к FLASH через журналирующую запись во FRAM. С фиксацией всех манипуляций с FLASH. А Chan-а пускаем через API этого драйвера.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 9th August 2025 - 06:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016