Перейти к содержанию
    

STM32L051, пробудить МК по прерыванию от USART

USART тактирую от HSI. Заведу микроконтроллер в Stop состояние. Соображаю, как пробудить. Читаю RM0377.
 

Цитата

24.5.17  Wakeup from Stop mode using USART
The USART is able to wake up the MCU from Stopmode when the UESM bit is set and the 
USART clock is set to HSI or LSE (refer to Section Reset and clock control (RCC)).
• USART source clock is HSI
If during Stop mode the HSI clock is switched OFF, when a falling edge on the USART 
receive line is detected, the USART interface requests the HSI clock to be switched 
ON. The HSI clock is then used for the frame reception.
– If the wakeup event is verified, the MCU wakes up from low-power mode and data 
reception goes on normally.
– If the wakeup event is not verified, the HSI clock is switched OFF again, the MCU 
is not waken up and stays in low-power mode and the clock request is released.

Если HSI генератор выключен, то при срезе на USART RX (начало Start бита) генератор будет включен автоматически?
Там же пишут, если wakeup событие не верифицировалось, HSI выключается. То есть, автоматом. Start верифицировать - это когда в середине бита прочитался 0, логично?
Есть несколько вариантов, по какому событию пробуждать: по началу Start, по RXNE, по address match. Если по RXNE, тоже генератор HSI сам включится? А выключать самому, или выключится после приёма?

Кто-нибудь занимался подобными делами?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24.6  USART in low-power modes

The USART is able to wake up the MCU from Stop mode when the UESM 
bit is set and the USART clock is set to HSI16 or LSE.
Видимо, включает режим управления HSI

The MCU wakeup from Stop mode can be done using the standard RXNE interrupt.
Видимо, значит, такты HSI будут включены до получения всего слова.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще непонятно, когда проснётся MCU. Если задать по Start, то когда конкретно - в середине бита Start? Не в начале, по обнаружению среза Start? Если по RXNE - то в середине бита Stop?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если там даже HSI останавливается, то ему нужно при выходе из сна "набраться сил", прежде чем выйти на режим. А это время.

Тут другое интересно: а много ли точный тот самый HSI, чтобы кадры UART-а ловить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По документации при тактировании от HSI MCU просыпается за 5 - 11µs. Сам HSI начинает генерировать по обнаружению среза в RX (Start bit) еще быстрее. Времени не нашёл. У меня скорость USART медленная, стартовый бит захватит.

Еще один вопрос. При передаче я могу уйти в Stop, послав в TD байт? Здесь нужно оставить HSI работать.   

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...