Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

STM32L часы реального времени

Ср мар 02, 2016 15:30:31

1.
Перехожу в режим "СТОП"
Потребление 3 мкА

2.
Инициализирую часы.
Деинициализирую часы.
Перехожу в режим "СТОП"
Потребление 6 мкА

Почему после использования часов потребление больше ? Я же их отключаю.

Код:
/* инициализация часов реального времени
   ---------- */

void RTC_initialization (void) {
 
  // разрешаем доступ к области резервных данных
     PWR_RTCAccessCmd (ENABLE);
     
  // включаем генератор на внешнем кварце 32 кГц.
     RCC_LSEConfig (RCC_LSE_ON);
 
  // ожидаем стабилизации
     while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) {}
 
  // устанавливаем как источник тактирования для часов
     RCC_RTCCLKConfig (RCC_RTCCLKSource_LSE);
   
  // разрешаем тактирование
     RCC_RTCCLKCmd (ENABLE);
 
  // ожидаем синхронизации
     RTC_WaitForSynchro ();
     
   // configure the RTC data register and RTC prescaler
     RTC_InitTypeDef RTC_InitStructure;
     RTC_InitStructure.RTC_AsynchPrediv = 0x7f;
     RTC_InitStructure.RTC_SynchPrediv = 0xff;
     RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24;
     RTC_Init (&RTC_InitStructure);
     
  // EXTI configuration
     EXTI_InitTypeDef EXTI_InitStructure;
     EXTI_ClearITPendingBit (EXTI_Line20);
     EXTI_InitStructure.EXTI_Line = EXTI_Line20;
     EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
     EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
     EXTI_InitStructure.EXTI_LineCmd = ENABLE;
     EXTI_Init(&EXTI_InitStructure);
 
  // enable the RTC wakeup interrupt
     NVIC_InitTypeDef NVIC_InitStructure;
     NVIC_InitStructure.NVIC_IRQChannel = RTC_WKUP_IRQn;
     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
     NVIC_Init (&NVIC_InitStructure);
     
   // configure the RTC wakeup clock source: CK_SPRE (1Hz)
     RTC_WakeUpClockConfig (RTC_WakeUpClock_RTCCLK_Div16);
     RTC_SetWakeUpCounter (1024);
 
  // enable the RTC wakeup interrupt
     RTC_ITConfig (RTC_IT_WUT, ENABLE);

  /* Enable Wakeup Counter */
     RTC_WakeUpCmd (ENABLE);
}


/* деинициализация часов реального времени
   ---------- */

void RTC_deinitialization (void) {
 
  // разрешаем доступ к области резервных данных
     PWR_RTCAccessCmd (ENABLE);
     
  // Disable the RTC wakeup interrupt
     RTC_ITConfig (RTC_IT_WUT, DISABLE);
 
  /* Disable Wakeup Counter */
     RTC_WakeUpCmd (DISABLE);   
         
  // запрещаем тактирование
     RCC_RTCCLKCmd (DISABLE);
     
  // выключаем генератор на внешнем кварце 32 кГц.
     RCC_LSEConfig (RCC_LSE_OFF);
}

Re: STM32L часы реального времени

Вс сен 11, 2016 04:25:40

что с кварцем? на 6pF стоит?

Re: STM32L часы реального времени

Чт сен 22, 2016 19:01:13

Изображение

Кварц выпаял с мобилы. Конденсаторы по 10 пФ.

Re: STM32L часы реального времени

Чт сен 22, 2016 19:43:56

sx386, не по теме. Откуда такая ужасная разводка?

Re: STM32L часы реального времени

Пт сен 23, 2016 04:59:33

dosikus писал(а):sx386, не по теме. Откуда такая ужасная разводка?

Ты про это?

Изображение

Re: STM32L часы реального времени

Пт сен 23, 2016 06:09:52

Не только. Блокирующих конденсаторов вблизи не вижу.Прямые углы.Не удивлюсь если и полигона нет...

Re: STM32L часы реального времени

Вс июн 26, 2022 23:04:00

Если в STM32 микроконтроллере нет вывода Vbat, часы на нем лучше не делать... имхо.

Re: STM32L часы реального времени

Вс июн 26, 2022 23:54:49

часы на нем лучше не делать... имхо.
Что сон плохой приснился? Теме 6 лет как.

Re: STM32L часы реального времени

Пн июн 27, 2022 01:41:31

Сон не сон, но я со всего размаху сделал батарейное устройство на STM32L151CBT6... А вывода Vbat то нет! Никак не мог понять, почему RTC сбрасывается при откл VDD при подкл батарейке. Играться с режимами энергосбережения времени не было, поэтому просто заменил прямо в плате на STM32F072C8T6 и все заработало...

Re: STM32L часы реального времени

Пн июн 27, 2022 06:53:15

STM32L151CB значится как NRND, то есть "не рекомендуемый для новых разработок". Заменен на STM32L151CB-A. Но в нем тоже нет VBAT. Что, впрочем, не мешает организовать батарейное питание через диоды и перевод в стоп-режим по внешнему детектору напряжения.
Вообще, такие вещи надо выяснять еще до припаивания на плату.

Re: STM32L часы реального времени

Пн июн 27, 2022 08:35:45

не мешает организовать батарейное питание через диоды и перевод в стоп-режим .
По сравнению с наличием вывода Vbat это решение ущербно... Вообще RTC без батарейки странное решение...

Re: STM32L часы реального времени

Пн июн 27, 2022 11:33:06

Ну так L серия и затачивалась под долгую работу от общей батарейки без извращений с ее выдергиванием - всякая носимая электроника и тому подобное. Это в какой-нибудь F1 отдельный вывод питания RTC нужен, раз с режимами сна плохо.

Re: STM32L часы реального времени

Пн июн 27, 2022 12:56:25

Ну так L серия и затачивалась под долгую работу
Не скажу за всю серию, но в 151 просто урезали Vbat в угоду LCD, вот и сделали Vlcd пин вместо Vbat. Так что это не выглядит тем сознательным фундаментальным решением, о котором вы говорите.
И чисто технически проще нацепить батарейку и получить АВТОМАТИЧЕСКИ минимальное автономное потребление, чем заморачиваться с режимами. Очень вероятно еще и проблем огрести с этим, если устройство в серию... Занимаюсь ремонтами портативной медтехники и таки всегда, даже при наличии здоровенной основной батареи производители ставят какую-нибудь CR2032 или ионистор. Короче, пин Vbat простое эффективное решение, уж могли бы на худой конец пожертвовать ногу какого нить порта...

Re: STM32L часы реального времени

Пн июн 27, 2022 13:41:51

Не скажу за всю серию, но в 151 просто урезали Vbat в угоду LCD
Учитывая что как раз в L151 этого LCD-то и нет.
А так, вроде в многоногих корпусах Vbat оставили, как и питания АЦП.
То есть учитывая, что они решили, что им можно пожертвовать, ST не считали его чем-то особо важным.
И чисто технически проще нацепить батарейку и получить АВТОМАТИЧЕСКИ минимальное автономное потребление, чем заморачиваться с режимами.
Чисто технически проще обойтись ОДНОЙ батарейкой и не отключать ее совсем.
Короче, пин Vbat простое эффективное решение, уж могли бы на худой конец пожертвовать ногу какого нить порта...
Ну вот видите, они считают, что польза от Vbat меньше, чем от обычного порта.
Хотя учитывая другие странные решения ST, это не очень-то сильный аргумент...

Re: STM32L часы реального времени

Пн июн 27, 2022 15:29:02

L-серия в принципе то и предназначена для батарейного питания, ток потребления у нее меньше, чем у F-серии, а режимов энергосбережения больше. Вообще, вся линейка L1 не имеет Vbat. Там несколько иная концепция подразумевается. Благодаря режимам Stop/Standby c RTC с током в единицы микроампер можно организовывать экономичную работу без дополнительной "часовой" батарейки. Vbat ставится только начиная от L4.

Re: STM32L часы реального времени

Пн июн 27, 2022 16:23:19

Занимаюсь ремонтами портативной медтехники и таки всегда, даже при наличии здоровенной основной батареи производители ставят какую-нибудь CR2032 или ионистор.
Не надо говорить за всех - мы в своей медтехнике не ставили. МК нормально жил в режиме сверхнизкой тактовой.

Добавлено after 4 minutes 1 second:
И чисто технически проще нацепить батарейку
"Чисто технически" это сложнее, а не проще. Так как в конструкции корпуса необходимо предусмотреть возможность замены этой батарейки. Что удорожает корпус и увеличивает его габариты. Это кроме прочих минусов...

Re: STM32L часы реального времени

Пн июн 27, 2022 18:51:24

Учитывая что как раз в L151 этого LCD-то и нет.

Именно! А вот пин Vlcd есть! О том то и речь! Скорее всего STM прекрасно понимает, что часы без батарейки довольно... корявое решение, но кристалл 151/152 видимо один и заморачиваться неохота...
Так как в конструкции корпуса необходимо предусмотреть возможность замены этой батарейки.

Я конечно дико извиняюсь, но много ли вы видели таких корпусов? Я вот щас оглядываю технику по сторонам, много с автономным питанием, с корпусом с возможностью замены батарейки - ни одной! Потому что вполне понятно, что никто не будет удорожать процесс/себестоимость из-за операции раз в несколько лет...
Благодаря режимам Stop/Standby c RTC с током в единицы микроампер можно организовывать экономичную работу без дополнительной "часовой" батарейки.

Странность такого подхода воистину красноречива... Не нужно ничего "организовывать" - просто подсоединил и забыл.
Чисто технически проще обойтись ОДНОЙ батарейкой и не отключать ее совсем.

На одной чаше весов устройства со съемной батареей, на другой - с несъемной. И кто перевесит???

P.S. Что и говорить, у данного вопроса логически простое решение, но... количество мнений просто поражает...

Re: STM32L часы реального времени

Пн июн 27, 2022 19:04:56

Именно! А вот пин Vlcd есть! О том то и речь! Скорее всего STM прекрасно понимает, что часы без батарейки довольно... корявое решение, но кристалл 151/152 видимо один и заморачиваться неохота...
Читаем про сортировку и отбраковку, после чего станет понятно откуда берется vlcd и куда исчезает сам lcd.
Ну и да, часы с двумя разными батарейками это еще более корявое решение.
Потому что вполне понятно, что никто не будет удорожать процесс/себестоимость из-за операции раз в несколько лет...
Это вы про то что глупо ставить две разные батарейки там, где достаточно одной?
На одной чаше весов устройства со съемной батареей, на другой - с несъемной. И кто перевесит???

Ну, в телефонах, например, стали часто встречаться несъемные батареи. К сожалению...
Но одно дело возможность батарейку заменить, а другое - необходимость. Вы, как я понял, пропагандируете именно второй подход.

Re: STM32L часы реального времени

Пн июн 27, 2022 19:19:12

Не вижу ничего странного в том, чтобы обходиться режимами Stop/Standby+RTC вне активности устройства.
А коль хотите полный фарш, возьмите L4xx - и будет вам и Vbat, и все прелести экономичности L-серии. Или если не нужна экономичность в рабочем режиме, тогда и незачем было париться относительно L-серии.

И я уже писал, что такие вещи, как отсутствие нужной функции должны решаться еще ДО того, как микросхема будет припаяна. А еще лучше - до того, как микросхема воообще будет выбрана. Понимаю, что случаются досадные ошибки. Но вина в этом недосмотре - лично ваша, а не производителя.

Re: STM32L часы реального времени

Вт июн 28, 2022 11:36:16

Я конечно дико извиняюсь, но много ли вы видели таких корпусов? Я вот щас оглядываю технику по сторонам, много с автономным питанием, с корпусом с возможностью замены батарейки - ни одной! Потому что вполне понятно, что никто не будет удорожать процесс/себестоимость из-за операции раз в несколько лет...
Видимо техника, которую оглядываете - самая дешёвая. Которая через эти несколько лет идёт в урну вместе с севшей батарейкой. Оглядите что-нить более достойное/дорогое. Которое служит годами и не идёт в мусорку по причине сдохшей батарейки.

Не нужно ничего "организовывать" - просто подсоединил и забыл.
Это точка зрения ремонтника, который совершенно не разбирается в программировании микроконтроллеров. Когда попробуете написать какое-то ПО на МК, то узнаете что так просто оно не работает.

На одной чаше весов устройства со съемной батареей, на другой - с несъемной. И кто перевесит???
Чем меньше в устройстве батарей - тем лучше конечному пользователю. Однозначно.
Ответить