|
|
  |
Возмущён до глубины души убогим управлением питанием в STM32F4xx, (пока только изучаю документацию) |
|
|
|
Jul 15 2014, 18:45
|
Профессионал
    
Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863

|
Цитата(kan35 @ Jul 15 2014, 22:26)  Вы наверное ожидаете от general purpose mcu каких то процессорных наворотов в плане управления питания. Это не тот продукт. Новые STM32F4 потребляют 100мкА/МГц, на 100МГц - 10мА, так что городить сложное питание не так уж критично важно. Как это вам удалось всё с ног на голову перевернуть.. В "процессорах" как раз обычно никаких наворотов и нет, всё это с однокристалок началось, а там уж поползло и в чипы посложнее. Неужто было трудно сделать один лишний пин WAKE, который, работая в батарейно-часовом повер-домене, включит питание других доменов? Ну хотя бы для того, чтобы в доке не было позорной сноски "When the microcontroller is supplied from VBAT, RTC alarm/events do not exit it from VBAT operation."Или вот этой: "The standby mode is not supported when the embedded voltage regulator is bypassed and the 1.2 V domain is controlled by an external power."А насчёт потребления.... Ну я же привёл данные из доки - от 50 до 100 мА на максимальной частоте, а далеко не 10. Цитата(adnega @ Jul 15 2014, 22:40)  Вроде, ноги PC13, PC14, PC15 и PI8 питаются от батарейки через ключ. PC14 и PC15 - ноги для часового кварца. На ногу PC13 можно вывести в том числе один из будильников. Думаю, на пине будет смена уровня при сработке будильника даже при отключенном основном питании. Вас такой вариант устроит? Нужно проверять в железе? Про это уже тут писали, насколько я понял, нужный пин называется TAMP_1 или RTC_AF1, но мне непонятно, кто включит питание после того как юзер к примеру заменит батарейку, ведь этот пин нужно сначала сконфигурировать, чтобы он что-то выдавал.
|
|
|
|
|
Jul 15 2014, 19:03
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(Dr.Alex @ Jul 15 2014, 22:45)  Про это уже тут писали, насколько я понял, нужный пин называется TAMP_1 или RTC_AF1, но мне непонятно, кто включит питание после того как юзер к примеру заменит батарейку, ведь этот пин нужно сначала сконфигурировать, чтобы он что-то выдавал. "Тампер" - это вход. Я говорю, про ALARM_A и ALARM_B это выходы. После замены батарейки подаем питание с кнопки. Софт может увидеть факт замены/сбоя конфигурации и все восстановить. Я в уважаемом вами процессоре как сделано (сбой после замены батарейки)?
|
|
|
|
|
Jul 15 2014, 19:10
|
Профессионал
    
Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863

|
Цитата(adnega @ Jul 15 2014, 23:03)  "Тампер" - это вход. Я говорю, про ALARM_A и ALARM_B это выходы. Да понятно, просто пин так в доке называется. По-разному в 417 и 439. Цитата(adnega @ Jul 15 2014, 23:03)  А в уважаемом вами процессоре как сделано (сбой после замены батарейки)? Элементарно. Там этот пин "железный", конфигурить его не надо. Он выдаёт единицу по сбросу (подаче питания) всегда, а там уж прога может навесить на него другие события типа алармов или внешних прерываний. Цитата(adnega @ Jul 15 2014, 23:03)  После замены батарейки подаем питание с кнопки. Софт может увидеть факт замены/сбоя конфигурации и все восстановить. Ну можно конечно жать технологическую кнопку после установки батареи, но это не очень хорошо, непонятно куда этафсё приведёт
|
|
|
|
|
Jul 15 2014, 19:27
|
Знающий
   
Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482

|
QUOTE (Dr.Alex @ Jul 16 2014, 00:21)  Не, ну чё тут сказать... Могу только повторить:: не научившись читать, не пишите. А лучше не пишите в мою тему вообще. а Вы яснее выражайте свои мысли, пока одни эмоции - "почему в 4хх не сделано как в блэкфине" и на каждый совет взаимоисключающие ответы. ну и последний пост, больше не буду  Вы идете от мк и его особенностей, а надо от задачи, может и потребление такое не надо, и LDO выше крыши, а может процессор в принципе эту задачу решить не может имхо надо считать от условий: прибор должен работать Х месяца от аккумулятора Y ач в режиме 1/N. отсюда видно потребление и выбор схемы питания и процессора. вариант задачи "как можно дольше" сводится к вышеуказанному добавлением формулировки "но не менее" Для примера: при потреблении 10мкА (STOP режим, даже не sleep) от аккумулятора емкостью 1000мАч (имхо для 4хх меньше смысла нет) прибор будет жить 10 лет. при соотношении времени 1/100 и 100мА в активном режиме - 40 дней. т.е потребление в спячке до 100мкА уменьшение срока работы на 4 дня вообще пофиг. разброс емкости от аккумуляторов будет больше. а импульсников с потреблением 100мкА в активном режиме выбор немаленький. при маленьком времени активной работы 1/1000 например - уже LDO рулит и уже можно забить на потребление в активном режиме. Соотношение оптимальности посчитаете сами. эксель поможет. и не забываем схему внешних потребителей, например кнопка/внешний сигнал с подтяжкой 100кОм будет есть 180мкА при питании 1.8В. это все решаемо, но учитывать тоже надо. на всякий случай - сейчас и ОУ есть с потреблением меньше мкА, только тормозные. учитываем что минимальная площадь LDO для собственного тока менее 1мкА - 4мм2, от 8мкА и выше есть 1мм2. ЗЫ: в 4хх RC13 доступен даже если использовать кварц, я забыл про него, и может включать внешний источник питания. хотя имхо бесполезный вариант по вышеуказанным причинам
|
|
|
|
|
Jul 15 2014, 19:41
|
Профессионал
    
Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863

|
Цитата(dac @ Jul 15 2014, 23:27)  имхо надо считать от условий: прибор должен работать Х месяца от аккумулятора Y Ну вот, хоть какое-то дело начинаете говорить. Я даже могу с этим согласиться. Но я сознательно поставил вопрос по-другому:: какого хрена ST потратили усилия, чтобы сделать спящий режим при работающих часах с потреблением 0.66 мкА, но сделали так, что это невозможно использовать?? Хотя как это сделать - совершенно понятно и давно сделано в ДРЕВНИХ блэкфинах например. (Справедливости для, блэкфин будет десятки мкА хавать при работающих часах.) А если так как вы рассуждать, то зачем вообще существует тот же линейник 0.5 мкА или часики 0.35 мкА? Кому-то нужно значит.
|
|
|
|
|
Jul 15 2014, 20:19
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
PS3. MASTECH MY62 показывает 0мкА при идущих часах и взведенном будильнике. При сработке будильника показывает 3мкА - при этом вывод PC13 нагружен на вход вольтметра MASTECH M-832. Цитата(Dr.Alex @ Jul 16 2014, 00:12)  Так то-то и оно, что батарейку вытащил и опа.. Или вы предлагаете подтянуть его резюком к единице? Вариантов масса, но мне кажется замена батарейки событие редкое, и запуск с ручника вполне допустим. Типа, заменил батарейку, подал питание с кнопки (т.е. кнопка заведена не только на проц, но и на включение DC-DC). Подержал кнопку, пока RTC не проинициализируется. Самый дешевый способ в плане мкА. Следующий этап для поднятия "юзерфрэндли" решить какую батарейку меньше жалко (часовую или аккумулятор) и следать подтяжку резистором.
|
|
|
|
|
Jul 15 2014, 20:24
|
Знающий
   
Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482

|
QUOTE (Dr.Alex @ Jul 16 2014, 01:41)  Ну вот, хоть какое-то дело начинаете говорить. Я даже могу с этим согласиться. Но я сознательно поставил вопрос по-другому:: какого хрена ST потратили усилия, чтобы сделать спящий режим при работающих часах с потреблением 0.66 мкА, но сделали так, что это невозможно использовать?? Хотя как это сделать - совершенно понятно и давно сделано в ДРЕВНИХ блэкфинах например. (Справедливости для, блэкфин будет десятки мкА хавать при работающих часах.) да можете даже не соглашаться и дальше натягивать концепцию применения ДРЕВНИХ блэкфинов на совершенно другие 4хх. им это просто не надо, БФ поди пол-ампера в активном режиме жрет. смените образ мышления и все станет на свои места, от Вас чесно говоря не ожидал такого, опытный же человек QUOTE (Dr.Alex @ Jul 16 2014, 01:41)  А если так как вы рассуждать, то зачем вообще существует тот же линейник 0.5 мкА или часики 0.35 мкА? Кому-то нужно значит. ну TI только и думает о том, как будут их LDO прикручивать к STM32F4xx, а у меня они вполне неплохо смотрятся в комплект с STM32L с потреблением в 150мкА в активном режиме от батареи и 3мкА в спячке. да и MSP430 вроде им рады.
|
|
|
|
|
Jul 15 2014, 20:38
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Господа, не устраивайте войну)) меж собой и процессорами)) Цитата Как должно быть: Проц запитан только от Vbat, работает RTС. По аларму от часов на некоем пине появляется "1", которая включает импульсные источники 1.2В (ядро) и 1.8В (ИО). Так, например, сделано в блэкфинах. В F4xx есть такой пин - PC13. Работает в точном соответствии с вышеозвученным ТЗ. Я не понял: ТЗ по ходу изменилось? Как рулить источниками питания - тема аналоговая и к f4xx отношение имеет паралельное. Ровно как и процесс обслуживания изделий (замена батарейки). Или я не прав, и действительно есть основания "возмущаться кривым дизайном" самых свежих процов от ST ?
|
|
|
|
|
Jul 15 2014, 20:47
|
Профессионал
    
Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863

|
Цитата(adnega @ Jul 16 2014, 00:38)  Господа, не устраивайте войну)) меж собой и процессорами))
В F4xx есть такой пин - PC13. Работает в точном соответствии с вышеозвученным ТЗ. Я не понял: ТЗ по ходу изменилось? Как рулить источниками питания - тема аналоговая и к f4xx отношение имеет паралельное. Ровно как и процесс обслуживания изделий (замена батарейки). Или я не прав, и действительно есть основания "возмущаться кривым дизайном" самых свежих процов от ST ? Пока не ясно. ТЗ не менялось. Но "в точном соответствии" это громко сказано, ведь в доке ничего не сказано о возможности управлять питанием. Надо ещё попробовать реально это делать, вдруг вылезет что-то. Например, в режиме внешнего питания ядра там вроде супервизор не работает, придётся внешний ставить что ли..
|
|
|
|
|
Jul 15 2014, 21:23
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата Пока не ясно. ТЗ не менялось. Но "в точном соответствии" это громко сказано, ведь в доке ничего не сказано о возможности управлять питанием. И не будет. Вы на свое усмотрение можете использовать доступный функционал. Цитата Надо ещё попробовать реально это делать, вдруг вылезет что-то. Например, в режиме внешнего питания ядра там вроде супервизор не работает, придётся внешний ставить что ли.. Я вас огорчу: errata у F42x/43x не самая приятная. Хотя под определение f4xx много чего попадает. Вы конкретно к какому камушку пригляделись? Примеры из файла косяков: - нельзя подключать ногу PA12 иначе при некоторых условиях плохо читается flash. Цитата When PA12 is used as GPIO or alternate function in input or output mode, the data read from Flash memory can be corrupted. - доступ к внешней памяти через FMC можно делать только через DMA. При обращениях со стороны CPU возможны сбои в данных и hard fault)) Цитата When the FMC is used as stack, heap or variable data, an interrupt occurring during a CPU read access to the FMC may results in read data corruption or hard fault exception. This problem does not occur when read accesses are performed by another master or when FMC accesses are done when the interrupts are disabled. Это мои любимые)) Впечатляет? ... а вы про настройку пинов...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|