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

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
sx386
Потрогал лапой паяльник
Сообщения: 394
Зарегистрирован: Сб апр 28, 2012 16:04:14

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

Сообщение sx386 »

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);
}
Критикуешь - предлагай. Предлагаешь - делай. Делаешь - отвечай.
Реклама
Аватара пользователя
RusikOk
Нашел транзистор. Понюхал.
Сообщения: 197
Зарегистрирован: Пн янв 24, 2011 01:51:48
Откуда: Украина, Киев
Контактная информация:

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

Сообщение RusikOk »

что с кварцем? на 6pF стоит?
Реклама
Аватара пользователя
sx386
Потрогал лапой паяльник
Сообщения: 394
Зарегистрирован: Сб апр 28, 2012 16:04:14

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

Сообщение sx386 »

Изображение

Кварц выпаял с мобилы. Конденсаторы по 10 пФ.
Критикуешь - предлагай. Предлагаешь - делай. Делаешь - отвечай.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

sx386, не по теме. Откуда такая ужасная разводка?
Реклама
Эиком - электронные компоненты и радиодетали
Триод
Нашел транзистор. Понюхал.
Сообщения: 160
Зарегистрирован: Сб дек 08, 2012 16:40:40

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

Сообщение Триод »

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

Изображение
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

Не только. Блокирующих конденсаторов вблизи не вижу.Прямые углы.Не удивлюсь если и полигона нет...
Реклама
vladi552
Встал на лапы
Сообщения: 91
Зарегистрирован: Чт июл 19, 2012 22:54:44

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

Сообщение vladi552 »

Если в STM32 микроконтроллере нет вывода Vbat, часы на нем лучше не делать... имхо.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 720
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

[uquote="vladi552",url="/forum/viewtopic.php?p=4251441#p4251441"]часы на нем лучше не делать... имхо.[/uquote]Что сон плохой приснился? Теме 6 лет как.
vladi552
Встал на лапы
Сообщения: 91
Зарегистрирован: Чт июл 19, 2012 22:54:44

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

Сообщение vladi552 »

Сон не сон, но я со всего размаху сделал батарейное устройство на STM32L151CBT6... А вывода Vbat то нет! Никак не мог понять, почему RTC сбрасывается при откл VDD при подкл батарейке. Играться с режимами энергосбережения времени не было, поэтому просто заменил прямо в плате на STM32F072C8T6 и все заработало...
Up2805
Встал на лапы
Сообщения: 148
Зарегистрирован: Сб июн 04, 2022 05:21:07

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

Сообщение Up2805 »

STM32L151CB значится как NRND, то есть "не рекомендуемый для новых разработок". Заменен на STM32L151CB-A. Но в нем тоже нет VBAT. Что, впрочем, не мешает организовать батарейное питание через диоды и перевод в стоп-режим по внешнему детектору напряжения.
Вообще, такие вещи надо выяснять еще до припаивания на плату.
vladi552
Встал на лапы
Сообщения: 91
Зарегистрирован: Чт июл 19, 2012 22:54:44

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

Сообщение vladi552 »

[uquote="Up2805",url="/forum/viewtopic.php?p=4251495#p4251495"]не мешает организовать батарейное питание через диоды и перевод в стоп-режим .[/uquote] По сравнению с наличием вывода Vbat это решение ущербно... Вообще RTC без батарейки странное решение...
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

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

Сообщение COKPOWEHEU »

Ну так L серия и затачивалась под долгую работу от общей батарейки без извращений с ее выдергиванием - всякая носимая электроника и тому подобное. Это в какой-нибудь F1 отдельный вывод питания RTC нужен, раз с режимами сна плохо.
vladi552
Встал на лапы
Сообщения: 91
Зарегистрирован: Чт июл 19, 2012 22:54:44

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

Сообщение vladi552 »

[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4251592#p4251592"]Ну так L серия и затачивалась под долгую работу[/uquote] Не скажу за всю серию, но в 151 просто урезали Vbat в угоду LCD, вот и сделали Vlcd пин вместо Vbat. Так что это не выглядит тем сознательным фундаментальным решением, о котором вы говорите.
И чисто технически проще нацепить батарейку и получить АВТОМАТИЧЕСКИ минимальное автономное потребление, чем заморачиваться с режимами. Очень вероятно еще и проблем огрести с этим, если устройство в серию... Занимаюсь ремонтами портативной медтехники и таки всегда, даже при наличии здоровенной основной батареи производители ставят какую-нибудь CR2032 или ионистор. Короче, пин Vbat простое эффективное решение, уж могли бы на худой конец пожертвовать ногу какого нить порта...
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

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

Сообщение COKPOWEHEU »

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

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

Сообщение Up2805 »

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

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

Сообщение jcxz »

[uquote="vladi552",url="/forum/viewtopic.php?p=4251608#p4251608"]Занимаюсь ремонтами портативной медтехники и таки всегда, даже при наличии здоровенной основной батареи производители ставят какую-нибудь CR2032 или ионистор.[/uquote]Не надо говорить за всех - мы в своей медтехнике не ставили. МК нормально жил в режиме сверхнизкой тактовой.

Добавлено after 4 minutes 1 second:
[uquote="vladi552",url="/forum/viewtopic.php?p=4251608#p4251608"]И чисто технически проще нацепить батарейку[/uquote]"Чисто технически" это сложнее, а не проще. Так как в конструкции корпуса необходимо предусмотреть возможность замены этой батарейки. Что удорожает корпус и увеличивает его габариты. Это кроме прочих минусов...
vladi552
Встал на лапы
Сообщения: 91
Зарегистрирован: Чт июл 19, 2012 22:54:44

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

Сообщение vladi552 »

Учитывая что как раз в L151 этого LCD-то и нет.
Именно! А вот пин Vlcd есть! О том то и речь! Скорее всего STM прекрасно понимает, что часы без батарейки довольно... корявое решение, но кристалл 151/152 видимо один и заморачиваться неохота...
Так как в конструкции корпуса необходимо предусмотреть возможность замены этой батарейки.
Я конечно дико извиняюсь, но много ли вы видели таких корпусов? Я вот щас оглядываю технику по сторонам, много с автономным питанием, с корпусом с возможностью замены батарейки - ни одной! Потому что вполне понятно, что никто не будет удорожать процесс/себестоимость из-за операции раз в несколько лет...
Благодаря режимам Stop/Standby c RTC с током в единицы микроампер можно организовывать экономичную работу без дополнительной "часовой" батарейки.
Странность такого подхода воистину красноречива... Не нужно ничего "организовывать" - просто подсоединил и забыл.
Чисто технически проще обойтись ОДНОЙ батарейкой и не отключать ее совсем.
На одной чаше весов устройства со съемной батареей, на другой - с несъемной. И кто перевесит???

P.S. Что и говорить, у данного вопроса логически простое решение, но... количество мнений просто поражает...
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

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

Сообщение COKPOWEHEU »

Именно! А вот пин Vlcd есть! О том то и речь! Скорее всего STM прекрасно понимает, что часы без батарейки довольно... корявое решение, но кристалл 151/152 видимо один и заморачиваться неохота...
Читаем про сортировку и отбраковку, после чего станет понятно откуда берется vlcd и куда исчезает сам lcd.
Ну и да, часы с двумя разными батарейками это еще более корявое решение.
Потому что вполне понятно, что никто не будет удорожать процесс/себестоимость из-за операции раз в несколько лет...
Это вы про то что глупо ставить две разные батарейки там, где достаточно одной?
На одной чаше весов устройства со съемной батареей, на другой - с несъемной. И кто перевесит???
Ну, в телефонах, например, стали часто встречаться несъемные батареи. К сожалению...
Но одно дело возможность батарейку заменить, а другое - необходимость. Вы, как я понял, пропагандируете именно второй подход.
Up2805
Встал на лапы
Сообщения: 148
Зарегистрирован: Сб июн 04, 2022 05:21:07

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

Сообщение Up2805 »

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

И я уже писал, что такие вещи, как отсутствие нужной функции должны решаться еще ДО того, как микросхема будет припаяна. А еще лучше - до того, как микросхема воообще будет выбрана. Понимаю, что случаются досадные ошибки. Но вина в этом недосмотре - лично ваша, а не производителя.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

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

Сообщение jcxz »

[uquote="vladi552",url="/forum/viewtopic.php?p=4251773#p4251773"]Я конечно дико извиняюсь, но много ли вы видели таких корпусов? Я вот щас оглядываю технику по сторонам, много с автономным питанием, с корпусом с возможностью замены батарейки - ни одной! Потому что вполне понятно, что никто не будет удорожать процесс/себестоимость из-за операции раз в несколько лет...[/uquote]Видимо техника, которую оглядываете - самая дешёвая. Которая через эти несколько лет идёт в урну вместе с севшей батарейкой. Оглядите что-нить более достойное/дорогое. Которое служит годами и не идёт в мусорку по причине сдохшей батарейки.

[uquote="vladi552",url="/forum/viewtopic.php?p=4251773#p4251773"]Не нужно ничего "организовывать" - просто подсоединил и забыл.[/uquote]Это точка зрения ремонтника, который совершенно не разбирается в программировании микроконтроллеров. Когда попробуете написать какое-то ПО на МК, то узнаете что так просто оно не работает.

[uquote="vladi552",url="/forum/viewtopic.php?p=4251773#p4251773"]На одной чаше весов устройства со съемной батареей, на другой - с несъемной. И кто перевесит???[/uquote]Чем меньше в устройстве батарей - тем лучше конечному пользователю. Однозначно.
Ответить

Вернуться в «ARM»