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

 
 
> STM32L + LIS3DH, Какой опыт с потреблением?
T800
сообщение Oct 27 2014, 09:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 2-12-13
Пользователь №: 79 453



Приветствую всех. Вопрос может быть не совсем по теме раздела, но думаю тут на него лучше ответят.
Очередной затык в разработке девайса. Который выпил у меня неожиданно много крови.
Суть дела такая.

На плате STM32L + LIS3DH соединены по SPI.

Потребление контроллера STM32L151С8. В stop mode с RTC (внешний кварц), питание 3V получается 14 uA. Замерял отрезав вообще все провода к LIS3DH. В даташите обещают до 4 uA. Искал что я мог сделать не так - не нашёл.
Все ножки сконфигурированы как аналоговый вход, кроме ножки прерывания от LIS3DH (по фронту на этой ноге контроллер просыпается). Если подать питание 2.5 V то потребление 3-4 uA.

Но это пол беды.
с включением в схему LIS3DH потребление получается минимум 70uA (при этом контроллер держит поднятым CS, как я понял при этом активный интерфейс акселерометра - I2C). На STшном форуме проблема упоминается, но решения нет. Писали что ногу SDO/SA0 надо притянуть к VDD, мне не помогло. Ток течёт через ножку Vdd_IO, если её отрезать то всё становится нормально.
Кто-нибудь сталкивался с подобными проблемами? Что можете посоветовать проверить? у меня мысли кончились уже.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 11)
dac
сообщение Oct 27 2014, 11:12
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482



уже 100 раз писали - выводы контроллера надо настраивать как выходы, а не аналоговые входы. по подключению LIS3DH - схему в студию, телепаты опять работать не хотят sm.gif
Go to the top of the page
 
+Quote Post
T800
сообщение Oct 27 2014, 12:08
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 2-12-13
Пользователь №: 79 453



Сделал на все ноги выходы и поставил в 0, результат - 98 uA было 14.

кусок схемы такой

http://saveimg.ru/show-image.php?id=bf958b...dbb27049e111878

Сообщение отредактировал T800 - Oct 27 2014, 12:09
Go to the top of the page
 
+Quote Post
Aleksandr Barano...
сообщение Oct 27 2014, 12:35
Сообщение #4


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

Группа: Участник
Сообщений: 169
Регистрация: 31-08-05
Из: New York
Пользователь №: 8 118



Цитата(T800 @ Oct 27 2014, 08:08) *
Сделал на все ноги выходы и поставил в 0, результат - 98 uA было 14.


А если сделать на все ноги выходы и поставить в 1?

Сообщение отредактировал Aleksandr Baranov - Oct 27 2014, 12:36


--------------------
ASB
Go to the top of the page
 
+Quote Post
dac
сообщение Oct 27 2014, 12:57
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482



QUOTE (T800 @ Oct 27 2014, 18:08) *
Сделал на все ноги выходы и поставил в 0, результат - 98 uA было 14.
резисторы/подтяжки, внешние соединения учли? в 0 тоже надо с умом ставить 10кОм дают ток 300мкА, внутренний PULL UP примерно 50мкА. недавно на форуме обсуждалось - человек ноги кварца не настроил, те же проблемы
касаясь LIS3DH - аналоговые входы на землю посадите.
В общем и целом для малопотребляющих режимов - висячих ног быть не должно, или настраивать на выход или вход с подтяжкой.
Go to the top of the page
 
+Quote Post
T800
сообщение Oct 27 2014, 13:08
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 2-12-13
Пользователь №: 79 453



Цитата(dac @ Oct 27 2014, 16:57) *
резисторы/подтяжки, внешние соединения учли? в 0 тоже надо с умом ставить 10кОм дают ток 300мкА, внутренний PULL UP примерно 50мкА. недавно на форуме обсуждалось - человек ноги кварца не настроил, те же проблемы
касаясь LIS3DH - аналоговые входы на землю посадите.
В общем и целом для малопотребляющих режимов - висячих ног быть не должно, или настраивать на выход или вход с подтяжкой.


спасибо за совет, про ADC на акселерометре я вообще забыл!
А вот насчёт кварца - у меня стоит только внешний часовой кварц, он работает нормально, настройка его ног ведь не нужна? С ногами HSE понятно, они не подключены, их настраиваем как все не используемые GPIO.
Go to the top of the page
 
+Quote Post
dac
сообщение Oct 27 2014, 13:15
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482



QUOTE (T800 @ Oct 27 2014, 19:08) *
у меня стоит только внешний часовой кварц, он работает нормально, настройка его ног ведь не нужна? С ногами HSE понятно, они не подключены, их настраиваем как все не используемые GPIO.
все верно, и еще надо учитывать подключенные выводы, например у той же LIS3DH может на SPICLK или другом выводе подтяжка висеть, а у Вас на выходе мк 0
Go to the top of the page
 
+Quote Post
T800
сообщение Oct 27 2014, 14:47
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 2-12-13
Пользователь №: 79 453



Что-то пока ничего не помогло. ADC к земле припаял, СS и SDO на выход в 1, в таком варианте наименьший ток. Но кардинально снизить не получается.
Go to the top of the page
 
+Quote Post
dac
сообщение Oct 28 2014, 12:58
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482



QUOTE (T800 @ Oct 27 2014, 20:47) *
Что-то пока ничего не помогло. ADC к земле припаял, СS и SDO на выход в 1, в таком варианте наименьший ток. Но кардинально снизить не получается.
ну дальше смотрите уже регистры, отключение периферии и т.д.
Go to the top of the page
 
+Quote Post
T800
сообщение Oct 28 2014, 13:07
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 2-12-13
Пользователь №: 79 453



Да нет, тут всё в порядке. Вы мне кое-что напомнили, за что спасибо, я пошаманил инициализацию ног - стало 2.5uA у контроллера. То что и нужно было.
А вот при подключении акселерометра нестабильно в районе 100 uA. Как ни меняй конфигурацию интерфейсных ног, результат примерно один. Кардинально помогает перерубание VDD_IO акселерометра.

Сообщение отредактировал T800 - Oct 28 2014, 13:16
Go to the top of the page
 
+Quote Post
John Silver
сообщение Oct 28 2014, 13:37
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 14-06-06
Из: Могилев
Пользователь №: 18 059



Таки расскажите, что Вы с инициализацтей нашаманили.
Go to the top of the page
 
+Quote Post
T800
сообщение Oct 28 2014, 14:30
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 2-12-13
Пользователь №: 79 453



Всё оказалось банально - два порта я ранее не инициализировал (в том числе H, который по совместительству вход HSE), поэтому они не тактировались и соответственно не конфигурировались как надо перед спячкой.
С акселерометром вроде тоже решился вопрос. Переводом в I2C, выставлении на SA0 логической "1" и самое интересное до чего я раньше не додумался - на SCL тоже "1". Я как то не думал что потребление будет зависеть от состояния интрефейса, т.е. если клока нет то типа и передачи нет и нечему потреблять.
Вот как то так. Пока не тестировал окончательно, но потребление всей этой компании стало в пределах 7 uA.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 18:56
Рейтинг@Mail.ru


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