Почему не популярен ARM среди радиолюбителей?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Леонид Иванович »

Я тоже за гармонию. Использование AVR там, где он справляется по производительности, но просто устарел, дисгармонией не считаю. Зато считаю дисгармонией тратить столько времени и слов на метание между платформами микроконтроллеров. Давайте лучше обсудим реальные задачи. Вот у меня сейчас возник вопрос с выбором микроконтроллера для модулятора DDS. Нужно, чтобы он умел оцифровывать сигнал внешней модуляции с частотй дискретизации минимум 40 - 50 кГц, разрядность минимум 12 бит, мог бы выдавать аналоговый образ внутреннего сигнала модуляции с помощью ЦАП не хуже 12 бит и с той же частотой, внутри реализовывал программный DDS для генерации сигнала модуляции (а лучше два или три DDS для формирования многочастотного сигнала, как DTMF, например), причем этот DDS должен работать с большой передискретизацией, так как никакой фильтрации дальше нет, т.е на частоте порядка 200 кГц. С такой частотой он должен выходные отсчеты программного DDS умножать на девиацию, суммировать с кодом несущей частоты и по SPI грузить в DDS. Анализ задачи показывает, что это всё мог бы сделать AVR при написании программы на ассемблере, но у него нет 12-разрядных ЦАП и АЦП. Младший ARM, запрограммированный на Си, не справится. Брать старший - дорого, программировать младший на ассемблере - сложно. Выбор пока пал на ATxmega.
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

Леонид Иванович писал(а):Анализ задачи показывает, что это всё мог бы сделать AVR при написании программы на ассемблере, но у него нет 12-разрядных ЦАП и АЦП. Младший ARM, запрограммированный на Си, не справится. Брать старший - дорого, программировать младший на ассемблере - сложно. Выбор пока пал на ATxmega.
Тоже не так чтоб очевидно.
Не младший АРМ дорого, а атхмега, стало быть, нет ?
На AVR на асме в путь, а на АРМе резко сложнее ?
Нету ли тут, так сказать, двойных стандартов ? :))

Если уж посматривать в сторону STM32, то F1xx пролетает, а F2 надо думать. ADC и DAC там 12 битные. Но ADC до 6MSPS. А DAC в теории до 1MSPS (не полный размах) и от 3мкс (~320кГц) полный размах но для 10 бит. Для 12 поменьше и надо внимательно оценивать задачу и то, что написано в даташите.

С F1xx Я погорячитлся, по DAC тоже самое, ADC слабее, но он и тут с запасом.

На арме может непривычный набор комманд, что озадачит на вечер/пол дня, далее тут 32х битная арифметика, а по существу задачи какая нужна ? Кажется мне, что врядли 8битная. Итого на 8 битном "много букв".

А мелких DSP с ADC/DAC поприличней на борту нет ?
Реклама
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Леонид Иванович »

Satyr писал(а):Нету ли тут, так сказать, двойных стандартов ? :))
Возможно, я ошибаюсь, но на ARM, даже работая на ASM-е, нельзя посчитать такты. Если так, то он не годится. Арифметика мне нужна частично 16-битная, частично 32-битная. На AVR, конечно, букв много, но успеет. Хорошо то, что это не аккумуляторная архитектура, наращивать разрядность операндов получается довольно легко.
Satyr писал(а):А мелких DSP с ADC/DAC поприличней на борту нет ?
К DSP отношусь примерно так же, как и к ARM (ну может чуть получше). Их же изучать надо, а это адъ.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

Леонид Иванович писал(а): Возможно, я ошибаюсь, но на ARM, даже работая на ASM-е, нельзя посчитать такты. Если так, то он не годится.
Можно. Но надо быть внимательнее. Между ядром и флешом стоит "ускоритель". Это скорее ФИФО с предвыборкой, не кеш.
Ну и конвеер - для некоторых операций число тактов зависит от того, что шло по конвееру до нее.
Звучит может страшновато, но таких тонкостей буквально пара и их логика совсем незамысловата.

Ну и собсно необходимость асма не очевидна. Даже на забаксовый 24Мгц Cortex-M3 будет фигарить 32бит арифметику в разы шустрее 32Мгц АВРа. Хотя по цене хмеги ты купишь СТМ мегагерц на 72, а может и 120.

Насчет, мол, нет в деревне... китай поможет - 150р и он у тебя дома http://www.ebay.com/itm/170778562159
72Мхз, 64кб флеша, 20кб срама

Там и хмеги есть. http://www.ebay.com/itm/110867314236
Но как и в москве - это для мажоров адептов 8битности -)))

Скорее всего и на сях пойдет. Либо ручное переписывание мелких сильно критичных фрагментов.
Далее, насколько помню, в CMSIS есть всякие околоDSPшные заготовки вылизанные конкретно под ядро.

Возвращаясь к освоению нового и затрачиваемому времени... Для тебя МК постольку-поскольку, не главный пункт в самовыражении в твоем творчестве ? так зачем тогда изголяться, тратить время на написание на асме и выверку по тактам, когда можешь раз освоить другую архитектуру и дальше с пол пинка КАЖДЫЙ РАЗ на мощном камне с готовыми библиотеками фигарить за вечер то, что раньше делал неделю ? И посвятить освободившееся время аналоговой схемотехнике -)))
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Леонид Иванович »

Satyr писал(а):Ну и собсно необходимость асма не очевидна.
Кто его знает. В AVR там всё оптимизировано до нельзя, за обработчиком прерывания закреплено 26 регистров из 32, при входе в обработчик никакой контекст сохранять не надо, только SREG, в обработчике оптимизирована каждая строчка, и то на основную программу остается всего 5% процессорного времени. Попытка написать то же самое на Си для AVR дало снижение производительности почти в 100 раз. Вряд ли разрядность ARM это скомпенсирует.
Satyr писал(а):Хотя по цене хмеги ты купишь СТМ мегагерц на 72, а может и 120.
Пару штук xmega мне подарили. Иначе я бы про них не говорил. Впрочем, несколько штук STM32 у меня тоже есть, их мне подарил Александр Редчук aka ReAl. Но я пока вижу в этом направлении полную безысходность. Вопрос лежит больше в психологической области. Когда краем глаза вижу сообщения на форумах о проблемах с STM32, страшно становится. Ответ на простейший вопрос - страница каких-то структур с множеством полей. Зачем всё это? Нет изящества.
Satyr писал(а):Насчет, мол, нет в деревне... китай поможет - 150р и он у тебя дома
В Беларуси нет никаких законных способов оплатить покупку на e-bay.
Satyr писал(а):зачем тогда изголяться, тратить время на написание на асме и выверку по тактам, когда можешь раз освоить другую архитектуру и дальше с пол пинка КАЖДЫЙ РАЗ на мощном камне с готовыми библиотеками фигарить за вечер то, что раньше делал неделю ?
Есть сомнение, что мощный камень решит все проблемы. Например, мы обсуждали с уважаемым Koyodza возможность построения на STM32 платы управления лабораторным БП. Применить встроенную периферию можно далеко не всю из-за ограничений ремэпа и требования простой разводки. А с программной реализацией обмена с внешними устройствами скорость работы платы на STM32 на 24 МГц была оценена как чуть меньшая, чем для AVR на 20 МГц.

Что касается проекта ВЧ-генератора, то модулятор, конечно, беспроблемно строится ан ПЛИС. Но необходимость умножений не дает возможности применить дешевую CPLD, поэтому AVR с посчитанными тактами кажется самым изящным решением задачи.
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

Леонид Иванович писал(а): Кто его знает. В AVR там всё оптимизировано до нельзя, за обработчиком прерывания закреплено 26 регистров из 32, при входе в обработчик никакой контекст сохранять не надо, только SREG, в обработчике оптимизирована каждая строчка, и то на основную программу остается всего 5% процессорного времени. Попытка написать то же самое на Си для AVR дало снижение производительности почти в 100 раз. Вряд ли разрядность ARM это скомпенсирует.
Не надо грести все под одну гребенку.
Какая латентность прерывания в AVR ? и в циклах, и в микросекундах на макс частоте ?
На каком Си ? Какой компилятор ? И откуда гипотеза, что на АРМах при переходе к Си тоже производительнось упадет в 100 раз ?

Опять же, все это, скорее, психологическое.

Далее, что там делается в прерываниях, что оно берет 95% процессорного времени ? Многое можно на ДМА навесить и отчасти забыть. Если прерывания фигарят сплошняком - в М3 есть тейлчейнинг - т.е. если одно прерывание вызывается следом за другим нет бесполезного выгруза и тут же снова загруза состояния в стек.
И т.д. и т.п.

В том же АРМ7ТДМИ перед обработкой прерываний был тупеж на 20-45 тактов. в М3 полная детерменированность и экономичность.

Изображение
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

Леонид Иванович писал(а): Когда краем глаза вижу сообщения на форумах о проблемах с STM32, страшно становится. Ответ на простейший вопрос - страница каких-то структур с множеством полей. Зачем всё это? Нет изящества.
Нет изящества - это когда слепой код с непосредственными константами расчитанными заранее и забивающимся россыпью по коду в регистры используется для иницаилизации.
Если тут все параметры инициализации читаешь легко и непринужденно, как детскую книжку - куда уж изящнее ?
Размер изящества при этом с размером финального кода напрямую не связан. То, что ты наделаешь пол странички нечитаемого одноразвого кода требуемый объем флеша не уменьшит.
Хочешь работать олдскульно ? Пожалуйста - никто не запрещает. Хеадеры с дефайнами адресов всех регистров и битиков прилагаются.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

Леонид Иванович писал(а): Есть сомнение, что мощный камень решит все проблемы. Например, мы обсуждали с уважаемым Koyodza возможность построения на STM32 платы управления лабораторным БП. Применить встроенную периферию можно далеко не всю из-за ограничений ремэпа и требования простой разводки.
Опять же - было б желание и хоть какой опыт. А уж вокруг 48 ногого чипа заблудиться - воздержусь от комментариев -))
Леонид Иванович писал(а):
Satyr писал(а):Насчет, мол, нет в деревне... китай поможет - 150р и он у тебя дома
В Беларуси нет никаких законных способов оплатить покупку на e-bay.
Ичо, сразу к стенке и расстрел ? :))
Это мы уж обсуждали http://i1st.ru/ebay/ebay-v-belarusi . Могу только сделать вывод, что кто реально хочет, возможности находит. Тот же hybroid уже и пальцам показал, где непосредственно в Минске отовариться.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение ploop »

Размер изящества при этом с размером финального кода напрямую не связан. То, что ты наделаешь пол странички нечитаемого одноразвого кода требуемый объем флеша не уменьшит.
Кстати, я заметил, бОльшая часть библиотек выполнена на макросах. В код, в итоге, попадают голые константы.
Аватара пользователя
O-LED
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение O-LED »

Satyr писал(а):Ичо, сразу к стенке и расстрел ? :))
Почти. Действует презумпция виновности.
KIT
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

Есть там небольшой процент излишества в генерируемом коде. Но он таков, что волновать это должно только когда в остально состояние полугуру уже достигнуто.

Как тут отдельные личности заявляют, мол, ламеры библиотек понаделали бестолковых, ща я тут голыми руками и в 20 раз эффективней напишу - это, мягко говоря, наивно.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

O-LED писал(а):
Satyr писал(а):Ичо, сразу к стенке и расстрел ? :))
Почти. Действует презумпция виновности.
Ну а будет то что ? Просто расстреляют, или сначала конфискация, а потом расстрел ? :))
И кто и как за руку поймает ?

Допустим если я шутки ради чтото на ебее куплю и на твой адрес пошлют - тебя расстреляют ? :))) Если ты ли тебе ктото в России заведешь ту же виртуальную платежную карточку (киви там вские и т.п.), кто как докажет, что это ты сам, а не я тебе в подарок ?
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Леонид Иванович »

Satyr писал(а):кто как докажет, что это ты сам, а не я тебе в подарок ?
Если Вы в подарок мне пришлете деньги, меня тут же дёрнет налоговая.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

Ну а если тебе какбе ниоткуда придет посылка, которая задекларированная как gift, commercial sample, engineering sample, hobby part и т.д. ?
Аватара пользователя
O-LED
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение O-LED »

Леонид Иванович писал(а):
Satyr писал(а):кто как докажет, что это ты сам, а не я тебе в подарок ?
Если Вы в подарок мне пришлете деньги, меня тут же дёрнет налоговая.
маскалям нас не понять :)) Satyr Если на кого из РБ имеете зуб, пошлите ему 10 баксов через какую нибудь систему денежных переводов 8)
Satyr писал(а):Ну а если тебе какбе ниоткуда придет посылка, которая задекларированная как gift, commercial sample, engineering sample, hobby part и т.д. ?
По разному. Если будет десяток однотипных товаров могут и назад отправителю завернуть.

Правда это всё тут оффтоп. И совсем не значит что нельзя что то приобрести. Прозрачная граница с россией и российские инетмагазины всегда помогут.
KIT
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

O-LED писал(а): Правда это всё тут оффтоп. И совсем не значит что нельзя что то приобрести. Прозрачная граница с россией и российские инетмагазины всегда помогут.
Мне тоже так кажется. Но вот не все белорусы с этим согласны.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

O-LED писал(а): По разному. Если будет десяток однотипных товаров могут и назад отправителю завернуть.
Последний оффтоп:

Мне сегодня пришел пакетик с 100 пластиковыми болтами M3x25 и 100 такими же гайками. 4$ заплатил.
С вашей таможней возникли бы трудности ? :))) :))) :)))
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Леонид Иванович »

Satyr писал(а):Какая латентность прерывания в AVR ?
По-разному бывает, для ATmega88 от 4 до 7 тактов.
Satyr писал(а):На каком Си ? Какой компилятор ? И откуда гипотеза, что на АРМах при переходе к Си тоже производительнось упадет в 100 раз ?
Потому что если не зарезервировать для обработчика кучу ресурсов, ничего не выйдет. Ни один компилятор не отдаст столько регистров, особенно это касается регистров-указателей.
Satyr писал(а):Далее, что там делается в прерываниях, что оно берет 95% процессорного времени ? Многое можно на ДМА навесить и отчасти забыть.
Боюсь, будет еще медленней. Там не данные надо передавать, а делать вычисления на лету.

Я не спорю, на ARM, скорее всего, эта задача тоже решится. Да и ЦАП с АЦП там нужные есть на борту. Но знать его нужно глубоко. Я пока не решил, стоит ли с ними связываться на закате жизни.

Что касается покупок через Москву, то я там никогда не бываю (последний раз был в 1988 году), никаких знакомых там нет. Посылку я получить, конечно, могу, но заплатить - никак.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

Вобщем толочь воду в ступе и меряться тактами можно бесконечно :)))
Лишь еще раз скажу: потратив для начала вечера 1-2 недель на некое начальное вникание и первые эксперименты, далее перейдешь на новый уровень развития и сможешь решать при том же бюджете задачи шустрее, комфортней, гибче. Оно того стоит.

Ну и так, еще вброс для интереса. В свое время заимелся искать этот документ, потом потерял, и опять имел большие пробелмы его нагуглить. Так - чтаа
ARM_Cortex_m3_timing.pdf
(222.46 КБ) 1027 скачиваний
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение HHIMERA »

Satyr писал(а):Как тут отдельные личности заявляют, мол, ламеры библиотек понаделали бестолковых, ща я тут голыми руками и в 20 раз эффективней напишу - это, мягко говоря, наивно.
Наивно, не наивно... зайди на элх... из гуру практически никто библами не пользуется... :)))
Да и что-то у NXP это срани не наблюдается...
"Я не даю готовых решений, я заставляю думать!"(С)
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»