0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 49
|
|
1 | |
Большое потребление STM8S-discovery.27.10.2013, 17:17. Показов 8534. Ответов 12
Метки нет (Все метки)
Здравствуй, сообщество.
Пытался сейчас замерить потребление платы 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
|
27.10.2013, 17:17 | |
Ответы с готовыми решениями:
12
STM8S-Discovery stm8s-discovery + stm8s207cb(c8) ST-LiNK от stm8s-discovery Stm8S-Discovery + Rfm22 |
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
0
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
27.10.2013, 19:44 | 4 |
Сообщение от dork_usir
Но стОит ли смущать ТСа такими неакадемическими хитростями? ;-)
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
|
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 49
|
|
28.10.2013, 14:12 | 9 |
Нагрузка на резистор с измерением тока показала, что мультиметр измеряет всё верно. Перед входом в 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;
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 | |
29.10.2013, 17:47 | |
Помогаю со студенческими работами здесь
13
Подключение к STM8S-Discovery и IAR st-link встроенный в stm8s discovery Проблемы с I2C - STM8S Discovery Управление STM8S-Discovery программой на C++ Builder STM8S discovery как программатор STM8L Не шьются внешние контроллеры STM8S-Discovery Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
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-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|