С Новым годом! Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/43: Рейтинг темы: голосов - 43, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 49
1

Большое потребление STM8S-discovery.

27.10.2013, 17:17. Показов 8534. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуй, сообщество.
Пытался сейчас замерить потребление платы STM8S-DISCOVERY в Halt режиме и обнаружил какие-то странности. Платка кушает 24 мА в этом режиме, что просто очень много.
Сейчас смотрю схему, в частности часть сенсорной кнопки, но не вижу, что могло бы в ней столько потреблять.
https://www.dropbox.com/s/0szh... urrent.png - сама схема

Если важно, то вот код вхождения в режим "сна"
Код
#include "iostm8s105c6.h"
#define halt() {asm("halt");}
#define RIM()   {asm("RIM");}
void SomeDelay()
{
for (unsykned long delay_count=0; delay_count<10000; delay_count++);
};

int main( void )
{
PD_DDR_bit.DDR0 = 1;
PD_CR1_bit.C10 = 1;
PD_ODR_bit.ODR0 = 1; Настройка пина светика

int i;
for (i=0;i<10;i++)
{
PD_ODR_bit.ODR0 ^= 1;
SomeDelay();
}
halt();
while(1)
{
PD_ODR_bit.ODR0 ^= 1;
SomeDelay();
}

//return 0; Не нравится мне варнинг от этого return, вот и закоментил
}
За код не пинайте, если что, пишу на С второй раз в жизни, до этого всё асмом баловался.

0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.10.2013, 17:17
Ответы с готовыми решениями:

STM8S-Discovery
Здравствуйте, товарищи STM исследователи). Занялся изучением STM8S-Dyscovery. Установил IAR,...

stm8s-discovery + stm8s207cb(c8)
Всем привет. Благополучно препарировал discovery, с пересадкой мозга. Цена вопроса 400 рублей все...

ST-LiNK от stm8s-discovery
ни как не могу понять. Возможно ли зашить в st-link от stm8s-discovery какую нибудь другую прошивку...

Stm8S-Discovery + Rfm22
Возникла проблема с посылкой байта с помощью трансивера rfm22. Отправка происходит в цикле. После...

12
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
27.10.2013, 17:40 2
Светодиод, случайно, не включен во время нахождения в состоянии HALT?
Почему под подозрением сенсорная кнопка?
Картинка по ссылке не доступна.

return в конце функции main() смело удаляйте. В микроконтроллерных проектах main() кончается вечным циклом, а return не ставят.
0
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 701
27.10.2013, 19:08 3
Цитата Сообщение от OtyxPM
В микроконтроллерных проектах main() кончается вечным циклом
А вот и не всегда! ))
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
27.10.2013, 19:44 4
Цитата Сообщение от dork_usir
Цитата Сообщение от OtyxPM
В микроконтроллерных проектах main() кончается вечным циклом
А вот и не всегда! ))Нет, я понимаю, что можно и из mainа выйти в стартап, Riset homdler... Можно адреса на стеке подменить, да мало ли трюков можно придумать.
Но стОит ли смущать ТСа такими неакадемическими хитростями? ;-)
0
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 49
27.10.2013, 22:22 5
Цикл со сменой светодиода проходит 10 раз, изначально он выключен, по расчетам при входе в halt он не горит, в реальности - тоже. Во время светика потребление вообще 70 мА.
На кнопку грешил, так как думал, что потребление идёт от самой платы, а не от контроллера, резисторный делитель, например для кнопки, но такого всё-таки там нет.
Есть ещё подозрение на измеритель - китайский мультиметр, но как показометр то он хотя бы должен правильно отображать, по крайней мере порядок цифр. Проверю это чуть позже, с другим мультиметром.
0
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
27.10.2013, 23:34 6
Какое напряжение у таргета? 3.3В или 5В?
SWIM дебагер физически отключён от мк? Что с делителем мониторинга напряжения - по схеме R19-R20?

ЗЫ неиспользуемые выводы надо бы подтянуть, болтание их в High-Z повышает потребление.
0
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 49
28.10.2013, 12:34 7
Напряжение 5 вольт. Дебиггер оторван от основной платы, но плата питается от отладчика, чтобы не плодить провода, при этом измерение идет в разрез провода +5 В от отладчика, то есть потребление отладчика не учитывается.
По поводу делителя: как я понял, вход этого делителя подключен к среднему перемычковому контакту (средний из трёх штырьков). К нему подключается нужное напряжение с помощью перемычки, которое питает схему, ну и идет на этот делитель. Я завел 5 вольт от USB сразу на вход делителя, а амперметр подключается уже после него, таким образом отладчик знает, на каком напряжении работает плата (я так понял для согласования), при этом никак не влияя на измерение. Напряжение питание захочу сменить - придется перепаивать, но пока нет необходимости.
По поводу подтягивания: попробую, но что-то сомневаюсь, hatl на то и halt, что всё выключено.
0
omx
28.10.2013, 12:40 8
Цитата Сообщение от itsydoy
Напряжение 5 вольт. Дебиггер оторван от основной платы, но плата питается от отладчика, чтобы не плодить провода, при этом измерение идет в разрез провода +5 В от отладчика, то есть потребление отладчика не учитывается.
Попробуйте отключить провода ST_LINK_SWIM и RESIT.
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 49
28.10.2013, 14:12 9
Попробуйте отключить провода ST_LINK_SWIM и RESIT.
Запитал от USB. Потребление не изменилось, 24 мА.
Нагрузка на резистор с измерением тока показала, что мультиметр измеряет всё верно.

Перед входом в halt добавил следующее.
Код
  PA_DDR = 0;
PA_CR1 = 255;

PB_DDR = 0;
PB_CR1 = 255;

PC_DDR = 0;
PC_CR1 = 255;

PD_DDR = 0;
PD_CR1 = 255;

PE_DDR = 0;
PE_CR1 = 255;

PG_DDR = 0;
PG_CR1 = 255;
Может быть есть у кого-то 8S-Dyscovery и он сможет измерить ток потребления в каком либо (желательно Active-Halt) режиме? Если запустите мой код (написан для IAR), то будет совсем чистота эксперимента. Паять ничего не придется, достаточно заменить перемычку выбора напряжения питания щупами амперметра-мультиметра.
0
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
28.10.2013, 15:01 10
600мкА при 5В и 350мкА при 3.3В, SWIM, RESIT и делитель R19-R20 не отключал, питание от USB, дебаг выключен, stm8s.h из SPL.
Код
#include "stm8s.h"
int main( void )
{
GPIOA->DDR = 0;
GPIOA->CR1 = 0xFF;
GPIOB->DDR = 0;
GPIOB->CR1 = 0xFF;
GPIOC->DDR = 0;
GPIOC->CR1 = 0xFF;
GPIOD->DDR = 0;
GPIOD->CR1 = 0xFF;
GPIOE->DDR = 0;
GPIOE->CR1 = 0xFF;
GPIOF->DDR = 0;
GPIOF->CR1 = 0xFF;
GPIOG->DDR = 0;
GPIOG->CR1 = 0xFF;
while(1)
{
halt();
}
}
Дебигер всё же был включен (горела красная лампочка), сейчас полностью отключил, цифры проапдейтил.
PS похоже при 3.3В кушает только делитель, при 5В немного тока еще уплывает через risit и swym.
Вечером попробую на отдельном STM8S903F3P6
0
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
29.10.2013, 01:56 11
У STM8S903F3P6 получилось 34 и 65мкА для 3.3 и 5В соответственно
0
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 49
29.10.2013, 09:40 12
Спасибо, буду разбираться, что у мен так много жрет ток.
0
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 49
29.10.2013, 17:47 13
Видимо, был брак самой платы. Только что купил новую Dyscovery - всё в норме, потребление близко к цифрам из документации.
0
29.10.2013, 17:47
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2013, 17:47
Помогаю со студенческими работами здесь

Подключение к STM8S-Discovery и IAR
Уже несколько недель пытаюсь разобраться с данным микроконтроллером, но пока что всё безуспешно....

st-link встроенный в stm8s discovery
вопрос в том шьет ли этот прогер только с серию или льки 8битные тоже шьет?слухи не...

Проблемы с I2C - STM8S Discovery
Не могу понять, как запустить I2C на STM8S - Dyscovery. I2C поднимаю впринципе впервые. Компилятор...

Управление STM8S-Discovery программой на C++ Builder
В общем за время своего ознакомления с отладочным набором Stm8s-Dyscovery возник такой вопрос... А...

STM8S discovery как программатор STM8L
Сделал сегодня приятное открытие в документации к дискавери: Вот такая засада. А пробовал...

Не шьются внешние контроллеры STM8S-Discovery
Товарищи, помогите советом! 2ю ночь с помощью ST-Link от STM8S-Dyscovery пытаюсь прошить хоть 1...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru