Мигать светодиодом. ARM или не-ARM?

Флейм в чистом виде - все что угодно...
Но - в рамках закона :)
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение scorpi_0n »

Та не. Это уже все из области привычек и предпочтений. И на ЦМСИС можно написать все просто и понятно. Коменты ещё никто не отменял. А так можно ещё и спорить какая анотация православнее, обычная или венгерская.
Реклама
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение Reflector »

[uquote="scorpi_0n",url="/forum/viewtopic.php?p=3148819#p3148819"]Та не. Это уже все из области привычек и предпочтений. И на ЦМСИС можно написать все просто и понятно. Коменты ещё никто не отменял. А так можно ещё и спорить какая анотация православнее, обычная или венгерская.[/uquote]
Берем первую строку моего кода:

Код: Выделить всё

periphClockEnable(AHBPeriph::GpioA);
Совершенно ничего примечательного, но в тут же функцию я могу передать периферию висящую на другой шине:

Код: Выделить всё

periphClockEnable(APB1Periph::DAC | APB1Periph::SPI2);
Если этот код компилируется, значит он работает. А на SPL можно сделать так:

Код: Выделить всё

RCC_APB2PeriphClockCmd(RCC_APB1Periph_USB, ENABLE);
Тут две ошибки: у этого мк нет USB и и в функцию работающую с APB2 я передал периферию с APB1. Компилируется замечательно, хотя внутри там есть пара assert_param и если они включены, то может быть я получу ошибку во время исполнения. Естественно эти assert_param в таком случае еще и сгенерят лишний код. Это реальные ошибки, на форумах постоянно появляются люди которые именно такие ошибки и допускают. Если вместо вызова функции работать с регистрами напрямую, то вероятность ошибиться еще больше, особенно если внутри скрыта работы с многими регистрами в которых придется выставить множество битов. Но я с тобой согласен, люди пишут менее понятный и более подверженный ошибкам код вследствии тех же привычек и предпочтений из-за которых они не могут отказаться от AVR :)
Реклама
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение oleg110592 »

Пойдем дальше сравнивать.
Одной из главных задач экономики, является задача экономии электроэнергии. Если взять одно мигающее светодиодом устройство, то вроде ничего страшного в потреблении как бы и нет. Но если таких устройств 100... 100500... 10000005000000... а в галактических масштабах? В периодах между зажиганием/гашением светодиода микроконтроллер может находится в режиме sleep, таким образом можно экономить электроэнергию.

Будем рассматривать самый лучший режим экономии, например для AVR Mega это спящий режим Power-down, ток потребления около 0.2uA если Watchdog Timer Disabled и около 6uA если Watchdog Timer Enabled. Но выйти из этого режима можно практически только по External Interrupts или Watchdog continue operating (if enabled). External Interrupts не понятно как можно использовать для пробуждения чтоб мигнуть, а Watchdog только фиксированные временные интервалы (Selectable Time-out period from 16ms to 8s), что не всегда приемлемо.

Теперь STM32F030, рядовой микроконтроллер, не для микропотребляющих применений - Supply current in Standby mode LSI ON and IWDG ON: 2uA. Просыпаться в режиме Standby он может от: WKUP pin rising edge, RTC alarm, external reset in NRST pin, IWDG reset. Independent watchdog регулируется несколько гибчее - есть Prescaler register 3 разряда и Reload register 12 разрядов. С помощью RTC alarm, работающего от LSI можно получить достаточно гибкий и широкий диапазон периода мигания светодиодом, т.е. практически годится для любых применений.
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение Reflector »

[uquote="oleg110592",url="/forum/viewtopic.php?p=3148888#p3148888"]В периодах между зажиганием/гашением светодиода микроконтроллер может находится в режиме sleep, таким образом можно экономить электроэнергию.[/uquote]
Так в моем примере выше можно вместо бесконечного цикла усыплять мк и при этом он может мигать светодиодами хоть на всех пинах всех портов. ARV показывал свою бегущую строку, на STM32 можно сделать ее полностью аппаратной, главное сгенерить подходящую таблицу. Еще мк часто загоняют в сон когда наоборот читают данные с тех же внешних ADC, чтобы понизить уровень помех.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение oleg110592 »

там вроде в Standby mode, чтоб войти, надо периферию всю повыключать. В другом микропотребляющем режиме таки да - солдат (ядро) спит, а служба идет.
Реклама
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение АСУ »

[uquote="Reflector",url="/forum/viewtopic.php?p=3148774#p3148774"]В массиве фактически находятся 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, т.е. 200ms светодиод не горит, 200 горит, 400 не горит, 400 горит, 600 не горит, 600 горит и зацикливается.[/uquote]
На билдере для одного светодиода похожий алгоритм будет выглядеть так:
3.png
(5.34 КБ) 444 скачивания
Реклама
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение Reflector »

[uquote="oleg110592",url="/forum/viewtopic.php?p=3148899#p3148899"]там вроде в Standby mode, чтоб войти, надо периферию всю повыключать[/uquote]
Да, ты прав, для Standby такое не прокатит.
На билдере для одного светодиода похожий алгоритм будет выглядеть так:
Реализовать то можно, но на проце и задействуя таймер, возможно единственный. А потом появляются темы как использовать на AVR в качестве обычного таймера WatchDog :)
И я ведь правильно понял, что последняя версия Algorithm Builder вышла 7 лет назад?
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение АСУ »

[uquote="Reflector",url="/forum/viewtopic.php?p=3148916#p3148916"]И я ведь правильно понял, что последняя версия Algorithm Builder вышла 7 лет назад?[/uquote]
Правильно. :)
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение scorpi_0n »

ДинозАВРы! :facepalm: :))) :)))
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение Reflector »

[uquote="АСУ",url="/forum/viewtopic.php?p=3148935#p3148935"]Правильно. :)[/uquote]
Значит с новыми модными тиньками, типа tiny417, работать уже не будет.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение oleg110592 »

эх была у Atmelа хорошая, недорогая тинька tiny15, STM8ым не совсем просто заменить, так Atmel взял и убил ее.
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение АСУ »

[uquote="Reflector",url="/forum/viewtopic.php?p=3148942#p3148942"]Значит с новыми модными тиньками, типа tiny417, работать уже не будет.[/uquote]
При большом желании будет. :)
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение Reflector »

[uquote="АСУ",url="/forum/viewtopic.php?p=3148969#p3148969"]При большом желании будет. :)[/uquote]
Конечно, можно проспонсировать написание нового билдера, а потом купить пару тинек чуть дешевле STM32 :)
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение АСУ »

[uquote="Reflector",url="/forum/viewtopic.php?p=3148970#p3148970"]Конечно, можно проспонсировать написание нового билдера, а потом купить пару тинек чуть дешевле STM32 :)[/uquote]
Опять 25… Вы специально подкрадывались огородами, чтобы выдать данный тезис?! :))) С чего Вы решили, что у меня нет СТМ? :roll: Хотите померяться письками? Это не ко мне, я давно не в этом возрасте… как пишет скорпиоша – я древний… так что Вам к детишкам типа scorpi_0n:wink:
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение Reflector »

[uquote="АСУ",url="/forum/viewtopic.php?p=3149043#p3149043"]Опять 25… Вы специально подкрадывались огородами, чтобы выдать данный тезис?! :)))[/uquote]
Данный тезис означает, что раз билдер уже 7 лет не обновляли, то из-за нескольких тинек никто его обновлять и не будет. Ну да, согласен, несколько погарячился, вероятность того что в обозримом будущем эти тиньки будут немного дешевле STM32 крайне мала :)
С чего Вы решили, что у меня нет СТМ?
Не из чего, я такого и не говорил.
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение АСУ »

[uquote="Reflector",url="/forum/viewtopic.php?p=3149075#p3149075"]
С чего Вы решили, что у меня нет СТМ?
Не из чего, я такого и не говорил.[/uquote]
Да, прямо не говорили… но вот намёк на это был… :wink:
а потом купить пару тинек чуть дешевле STM32
Ладно, глупости всё это… меня ни чуть не задевает упрёки в мой адрес по использованию древних продуктов… мне не важно общественное мнение, для меня на первом месте – нравится ли он мне (данный продукт). :)
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение scorpi_0n »

Значит с новыми модными тиньками, типа tiny417, работать уже не будет.
Конечно не будет! tiny417 не кошерная тини, она трёхзначная, бесовская, как 666, и её коснулась грязная рука неверного Микрочипа. :)))
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение Reflector »

[uquote="АСУ",url="/forum/viewtopic.php?p=3149087#p3149087"]Да, прямо не говорили… но вот намёк на это был… :wink:
а потом купить пару тинек чуть дешевле STM32
[/uquote]
И это должно было означать, что даже экономя потом на тиньках все равно не окупишь затраты на переписывание билдера.

Кстати, никого не удивляет почему автор сделал алгоритм билдер бесплатным и давно забросил? Вот его ответ:
Некоторое время продукт находился в некоторой неопределенности, поскольку дальнейшая поддержка AVR уже не имела смысла.
В данное время активно разрабатывается подобная среда для ARM Cotrex-M3. Для начала это будет STM32.
Но эта среда похоже так и не появилась, глупо состязаться с современными компиляторами, наверняка автор это понял вскоре после того, как осознал бесперспективность AVR.
Аватара пользователя
abc
Друг Кота
Сообщения: 3685
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение abc »

[uquote="oleg110592",url="/forum/viewtopic.php?p=3148480#p3148480"]Жителям, перешедшим на новое решение, больше не придётся снимать показания вручную, кроме этого, за расходом электроэнергии, воды и газа можно будет следить через удобное приложение и выгружать статистику за определённый период.[/uquote]Сомнительное преимущество.
Сами чипы в этом, конечно же, не виноваты, но как только счетчики воды и газа поимеют электронные мозги, у водяных, газовщиков и разных управляющих компаний появится реальная возможность (сорри) на*бывать потребителей.
У нас такое было в самом начале появления электронных счетчиков э/энергии :
https://forum.sevastopol.info/viewtopic ... 1&t=215339
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Мигать светодиодом. ARM или не-ARM?

Сообщение oleg110592 »

копипаста всего лишь, спорить с копипастой смысла нет. Меня более заинтересовало:
ресурс аккумулятора до 10 лет, а также коэффициент усиления 20 дБ по сравнению с традиционными GSM-сетями и поддержку более чем 100 тыс. соединений в рамках одной соты.
железку разобрать было бы интересно (имхо)
Ответить

Вернуться в «МЯЯЯУ!»