sonycman 0 20 декабря, 2021 Опубликовано 20 декабря, 2021 · Жалоба Приветствую! Изучаю платку MYD-YA15XC-T на базе STM32MP151, 256MB DDR3, 256MB NAND. Я с такими большими процессорами дел не имел раньше, поэтому хочется задать интересующие вопросы более опытным коллегам. Под линуксом в покое плата потребляет около 180ма, при этом процессор молотит постоянно на 650мгц. Не знаю, почему он в покое не сбрасывает частоту, надо бы попробовать сменить говернор на более экономичный. Работает режим standby, в который плата входит командой: echo mem > /sys/power/state Потребления в нем практически нет - всего 3-4 ма, при этом выход в линукс из него быстрый - меньше секунды. Как достигается столь низкое потребление? Разве 256MB DDR3 в режиме self refresh достаточно всего пары ма? Но больше всего интересует, сколько кушать будет камень, когда ядро А7 спит, а ядро М4 работает на низкой частоте - кто нибудь может подсказать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 33 21 декабря, 2021 Опубликовано 21 декабря, 2021 · Жалоба 17 часов назад, sonycman сказал: Как достигается столь низкое потребление? Разве 256MB DDR3 в режиме self refresh достаточно всего пары ма? А что тут необычного? Частота просто регенерации на порядки ниже рабочей... В планшетах и телефонах работает аналогичный режим. 17 часов назад, sonycman сказал: а ядро М4 работает на низкой частоте - кто нибудь может подсказать? Будет примерно равно отдельному СТМ-овскому кортексу М4 на аналогичной частоте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 21 декабря, 2021 Опубликовано 21 декабря, 2021 · Жалоба 18 hours ago, sonycman said: ядро А7 спит, а ядро М4 работает на низкой частоте - кто нибудь может подсказать? "Под линуксом в покое" оно и так спит большую часть времени. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 21 декабря, 2021 Опубликовано 21 декабря, 2021 · Жалоба Just now, mantech said: А что тут необычного? Частота просто регенерации на порядки ниже рабочей... В планшетах и телефонах работает аналогичный режим. Не знал, что добились настолько эпичного снижения потребления. Впечатлило Just now, mantech said: Будет примерно равно отдельному СТМ-овскому кортексу М4 на аналогичной частоте. В идеале так и хотелось бы, но, думаю, так круто не получится. В standby отключается питание ядер, поэтому такой шикарный эффект. Но если М4 будет работать, то это будет другой режим низкого потребления, что-то типа Stop для A7... Just now, aaarrr said: "Под линуксом в покое" оно и так спит большую часть времени. Ну 180ма это не мало, сон такой себе получается. К примеру, IMX6ULL в такой ситуации потребляет 120ма всего (но там частота до 200МГц снижена). Вот и думаю, что будет эффективнее по потреблению - IMX6ULL плюс дополнительный мелкий контроллер для реал тайм + стандбай, или STM32MP151, где уже есть М4... Хотя плата с 6ULL не даёт такого эффективного standby - там не реализовано отключение питания, и после mem > /sys/power/state оно кушает 50ма. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 21 декабря, 2021 Опубликовано 21 декабря, 2021 · Жалоба 21 hours ago, sonycman said: Работает режим standby, в который плата входит командой: echo mem > /sys/power/state А как потом обратно из этого режима выйти ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 33 21 декабря, 2021 Опубликовано 21 декабря, 2021 (изменено) · Жалоба 2 часа назад, sonycman сказал: Вот и думаю, что будет эффективнее по потреблению - IMX6ULL плюс дополнительный мелкий контроллер для реал тайм + стандбай, или STM32MP151, где уже есть М4... Ну как бы сравнивать 2 ядра А7 + 1 слабое М4 с одним на все про все, как-то некорректно немного... 2 часа назад, sonycman сказал: Хотя плата с 6ULL не даёт такого эффективного standby Кстати не в курсе, сколь этот камень потребляет по линии часов при откл. питании? Та же контора неск. лет ранее измыслила убогий блок часов в IMX6S, который жрал аж до 100 мкА доходило... Изменено 21 декабря, 2021 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 21 декабря, 2021 Опубликовано 21 декабря, 2021 · Жалоба 3 hours ago, dimka76 said: А как потом обратно из этого режима выйти ? По умолчанию пробуждение настроено на кнопку ON/OFF. Можно выбирать другие источники - тот же UART или RTC и т.п. Сам пока не успел поиграться. 1 hour ago, mantech said: Ну как бы сравнивать 2 ядра А7 + 1 слабое М4 с одним на все про все, как-то некорректно немного... Кстати не в курсе, сколь этот камень потребляет по линии часов при откл. питании? Та же контора неск. лет ранее измыслила убогий блок часов в IMX6S, который жрал аж до 100 мкА доходило... Так в 151 только одно ядро А7. По даташиту по линии Vbat заявлено от пары мка при отключенных backup sram/retention sram, только rtc. А на IMX6 говорят, что да, батарейку выносит быстро, лучше ставить внешний чип. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aner 1 21 декабря, 2021 Опубликовано 21 декабря, 2021 · Жалоба Таки два. STM32MP151 microprocessors are based on the flexible architecture of a single Arm® Cortex®-A7 core running up to 800 MHz and Cortex®-M4 at 209 MHz. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 21 декабря, 2021 Опубликовано 21 декабря, 2021 (изменено) · Жалоба По даташиту... я не заметил при его чтении, что backup sram потребляет в сто раз больше, чем rtc... а зря. батарейку 1220 выедает за месяц...полтора Это в 157, в этом он не отличается. Изменено 21 декабря, 2021 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 21 декабря, 2021 Опубликовано 21 декабря, 2021 · Жалоба В сети так и не нашёл замеров потребления когда A7->CStop, M4->Run. Но в AN5284 ST приводят сравнительные замеры подобной ситуации, получается экономия около 70ма. То есть, если в моём случае 170ма - линукс в idle, то один М4 (А7 в стопе) будет жрать около 100ма... Надо пробовать на практике. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 33 22 декабря, 2021 Опубликовано 22 декабря, 2021 · Жалоба 12 часов назад, GenaSPB сказал: я не заметил при его чтении, что backup sram потребляет в сто раз больше, чем rtc... а зря. Ну видимо косячников, как в случае с IMX6, и у стмовцев хватает... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 22 декабря, 2021 Опубликовано 22 декабря, 2021 · Жалоба 9 minutes ago, mantech said: Ну видимо косячников, как в случае с IMX6, и у стмовцев хватает... Просто расчет был не на хилую батарейку типа CR1220, а на питание от "толстой" АКБ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 33 22 декабря, 2021 Опубликовано 22 декабря, 2021 · Жалоба 3 часа назад, aaarrr сказал: Просто расчет был не на хилую батарейку типа CR1220, а на питание от "толстой" АКБ. Да хоть какая толстая, если это узел микропотребления, то он и должен быть таким, а тут просто наплевали попросту... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 29 декабря, 2021 Опубликовано 29 декабря, 2021 · Жалоба Попробовал режимы энергосбережения STOP вместе со вторым ядром (СМ4). Получилось около 55 ма, когда А7 спит, а М4 работает на 64МГц. Если М4 тоже усыпить в стоп - кушают 35 ма. При этом пробуждение у М4 весьма быстрое, что радует. В общем-то получилось, как и говорил mantech, а я не верил тогда... Странно, что в стандартном линуксе от ST никто даже не заморачивается снижением частоты А7, тот всегда молотит на максимуме. Добавил в дерево опцию для снижения частоты до 325МГц (с 650), вроде стал снижать. Хотя толку мало, конечно. Ниже не снижает, на 216МГц не хочет работать, видимо что-то не даёт, но не понятно, что. В дебри лезть не стоит, думаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 29 декабря, 2021 Опубликовано 29 декабря, 2021 (изменено) · Жалоба В RCC MP1 есть специальный делитель в клоковом дереве... который позволяет практически одним битом переключаться между прямым или делённым тактовым сигналом MPU части.RCC_MPCKDIVR_MPUDIV RCC_MPCKSELR_MPUSRC // MPU frequency // mpuss_ck unsigned long stm32mp1_get_mpuss_freq(void) { // 0x0: The MPUDIV is disabled; i.e. no clock generated // 0x1: The mpuss_ck is equal to pll1_p_ck divided by 2 (default after reset) // 0x2: The mpuss_ck is equal to pll1_p_ck divided by 4 // 0x3: The mpuss_ck is equal to pll1_p_ck divided by 8 // others: The mpuss_ck is equal to pll1_p_ck divided by 16 const uint_fast32_t mpudiv = 1uL << ((RCC->MPCKDIVR & RCC_MPCKDIVR_MPUDIV_Msk) >> RCC_MPCKDIVR_MPUDIV_Pos); // 0x0: HSI selected as MPU sub-system clock (hsi_ck) (default after reset) // 0x1: HSE selected as MPU sub-system clock (hse_ck) // 0x2: PLL1 selected as MPU sub-system clock (pll1_p_ck) // 0x3: PLL1 via MPUDIV is selected as MPU sub-system clock (pll1_p_ck / (2 ^ MPUDIV)). switch ((RCC->MPCKSELR & RCC_MPCKSELR_MPUSRC_Msk) >> RCC_MPCKSELR_MPUSRC_Pos) { default: case 0x00: return stm32mp1_get_hsi_freq(); case 0x01: return stm32mp1_get_hse_freq(); case 0x02: return stm32mp1_get_pll1_p_freq(); case 0x03: return stm32mp1_get_pll1_p_freq() / mpudiv; } } Изменено 29 декабря, 2021 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться