реклама на сайте
подробности

 
 
> Вопрос разработчикам., Какой 8-битный МК выпускать?
Sobol'
сообщение Jan 12 2015, 08:00
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 31-07-14
Пользователь №: 82 421



Приветствую всех заглянувших.

Вот думаем на своем заводе наладить выпуск новых МК - функциональных аналогов AVR, но в керамическом корпусе - для военных, космотавтов, военных космонавтов и иже с ними. Собственно, наладить выпуск не проблема, но хотелось бы что бы изделие пользовалось спросом. Сейчас выпускаются и продаются аналоги ATmega8535 и ATmega128.
Есть соображение взяться за AT90USB или AT90PWM. Также рассматриваются варианты выпуска чего-нибудь из серии Tiny или Xmega.

В общем, хотелось бы выслушать мнения разработчиков. Какой МК будет востребован?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Jan 14 2015, 02:00
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Sobol' @ Jan 13 2015, 13:23) *
мега88а пользуется такой популярностью только из-за пикопауэра? Или в ней есть еще какие-то вкусности?


Начну с того, что эта популярность возникла не из-за "пикопауэра", а гораздо раньше, где-то в 2005-2005 годах, когда "пикопауэра" еще и в помине не было. Именно к этому времени относится рождение Меги-88 и документа "Replacing ATmega8 by ATmega88, подробно объясняющего, почему " ATmega88 is not designed to be a replacement for ATmega8, but is pin compatible and has a very similar feature set." Поэтому можно уверенно заявить, что не "пикопауэр" придал Меге-88 популярность, а, напротив, уже имеющаяся популярность Меги-88 явилась поводом, чтобы наградить ее "пикопауэром".

Теперь об истинных причинах популярности Меги-88. Здесь, полагаю, дело в том, что при масштабировании в сторону расширения объемов памяти FLASH и SRAM (это гарвардская архитектура, а потому это разные пространства) приходится проходить через уровни, на которых архитектура AVR постепенно теряет преимущества и обретает недостатки. Оно и понятно, т.к. это все-таки 8-битная архитектура, эффективность которой неизбежно упадет, когда адреса памяти станут длинными. Однако это происходит не постепенно, а скачком при переходе через определенные границы.

Первый барьер - это увеличение SRAM (ОЗУ) за границу 256 байт. С этого момента для обращения к памяти требуется заполнять уже не один регистр адреса, а два. Стало быть, заметно падает скорость обращения к памяти, т.к. формирование адреса следует отнести к накладным расходам. Здесь же приходится учитывать, что регистры управления периферией также находятся в этом же 256-битном объеме, а потому реальный размер SRAM, будет еще меньше. Поэтому чемпионом в легком весе у нас будет ATtiny2313 (или ее близкие по параметрам аналоги). Этот МК подошел вплотную к первому барьеру, но не перешагнул его. Регистры периферии занимают у него 96 байт, а SRAM - 128 байт.

Второй барьер - это увеличение FLASH (ПЗУ) за границу 8 Кбайт. За переделы области 8 Кб не достают команды безусловного перехода (IJMP) и вызова подпрограммы/функции (ICALL). Ведь команды в архитектуре AVR 16-разрядные, где на адрес выделено 12 бит (остальные 4 - код операции), а 12 бит - это 4096 слов кода или 8 Кб. Здесь еще крайне неприятным моментом становится то, что замедляется вызов обработчиков прерываний, т.к. таблица адресов прерываний состоит из команд перехода. За границей 8 Кб FLASH переход придется делать длинными джампами, что не только увеличит таблицу прерываний, но и замедлит выполнение самих переходов. Однако пока границу 8 Кб мы не перешли, имеем чемпиона в среднем весе - это место разделяют ATmega8 и ATmega88. У второго из них оптимизирована система регистров управления периферией, а потому он в этой паре чуточку предпочтительней.

Третий барьер - это увеличение FLASH (ПЗУ) за границу 128 Кбайт. Теперь за эту границу не достает даже длинный JMP, и более того - адрес не помещается в регистровую пару, для этого предназначенную. Как жить в этой ситуации рассказывать не стану, а выскажу лишь рекомендацию, что в этом случае надо перестать мучать AVR и переходить на 32-разрядные МК. Т.е. здесь не архитектура AVR виновата, а ваши запросы явно выросли из возможностей ее дальнейшего масштабирования вширь. Но на краю 128 Кб мы имеем чемпиона в тяжелом весе - это ATmega128 или ATxmega128.
Вот эти три чемпиона и будут награждены золотыми медалями и окажутся наиболее популярными среди потребителей. Все это очень хорошо ложится на статистику, ранее приведенную halfdoom'ом:
Цитата(halfdoom @ Jan 13 2015, 11:18) *
Статистика одной конторы по промконтроллерам за определенный период:
ATMega88A(P) - 2335
ATMega8(A) - 823
ATTiny2313 - 704
ATMega328P - 311
ATMega128 - 302 (изъят из перечня по различным соображениям)
Здесь, помимо ожидаемых, в призерах оказался ATMega328P, но это произошло, скорее всего, потому, что задачи той конторы оказались таковы, что услуги тяжеловеса в каких-то задачах показались им избыточными и слишком дорогостоящими, вот и они выбрали исполнителя рангом поменьше.

Возможно, своим признанием я и подмочу свою репутацию sm.gif, однако расскажу, что когда я решила "по-быстрому" заменить Мегу-8 на Мегу-88 (а она у меня в ту же панельку DIP28 влезала и по цоколевке подходила), и с этой целью полезла в ее датаашит, чтобы "чуть-чуть подправить" программу, то у меня глазища из орбит вылезли и я от этой идеи сразу же отказалась. Отказалась потому, что поняла, что тут не "чуть-чуть", а под 88-ю всю программу надо переписывать заново. Вот настолько велики отличия!

И хотя 88-я Мега меня и победила sm.gif, я все равно скажу, что она хороша. Просто мне надо было сразу с 88-ой начинать, а она в то время была труднее доставаема (особенно в DIP-корпусе) и заметно дороже. Ну, а после того, как я успела к Меге-8 привыкнуть, переход на Мегу-88 показался не стоящим усилий по ее освоению, т.к. все, что мне требовалось, я к тому времени уже реализовала на Меге-8. Нынче же я даже Х-Мегу программировать умею, но 88-ю так и не освоила - перепрыгнула через нее sm.gif.

Тем не менее, я вполне могу объяснить причины своего испуга от столкновения с Мегой-88. Однако рассказ придется начинать издалека, т.к. причины глубоко зарыты в прошлом. Надеюсь, что мой рассказ окажется для вас не только интересным, но и полезным.

Дело в том, что архитектура МК это не только система его инструкций, но и множество регистров, управляющих периферией. Если мы сравним AVR-ки сегодняшнего дня с первыми AVR-ками, то обнаружим, что их система инструкций практически не претерпела изменений, фактически сохранившись такой же, какой было задумана изначально. Между тем, развитие самих контроллеров, построенных на AVR-архитектуре, впечатляет своим размахом! Т.е. здесь эволюционные изменения в минимальной степени затронули систему команд/инструкций, а сосредоточились почти исключительно на регистрах управления периферией, которые за это время множились, пропорционально развитию периферии и ее усложнению.

Например, если МК снабдили вторым, дополнительным, UART-интефейсом, то система инструкций у него от этого не изменится, однако потребуются дополнительные регистры для доступа к приемнику, передатчику нового UART'а, к его статусу, флагам готовности, масками прерывания, установки скорости и прочих параметров передачи. А старшие модели сегодняшнего дня имеют порой так много периферии, что от числа регистров рябит в глазах, и даже программисты не знают, сколько их там всего.

Но хуже всего, что в процессе этой эволюции дополнительную периферию пристраивали в тому, что было в предшествующей модели, стараясь обеспечить максимальную совместимость кода. Из-за этого старые регистры с места не сдвигали, а новые рассовывали по пустым местам или в конец списка. А порой отдельные биты контроля/управления новой периферией вставляли в незанятые места старых регистров. В результате такой практики получалась куча-мала, когда, скажем, программированию каждым таймером приходилось учиться заново.

Скажем, когда-то на заре AVR-архитектуры (AT90S1200) таймер был только один, 8-разрядный (Timer 0). Со временем у МК появился еще один таймер, на этот раз 16-разрядный (Timer 1). В управлении эти таймеры отличались, как небо и земля. Потом у каких-то МК стали появляться третий (Timer 2), а то и четвертый таймер (Timer 3), из-за чего порой получался целый зоопарк, т.к. по каким-то причинам было невозможно придать дополнительным таймерам все без исключения функции, которыми обладал Timer 1. То ног в корпусе не хватало, чтобы ввести счетный вход, то выходов, чтобы вывести наружу PWM. Вот и получалось "сборная солянка", отражающая исторический путь прилаживания всевозможных пристроек.

Так вот появление Меги-88 ознаменовался тем значительным событием, что в регистрах попытались навести порядок, даже ценой отказа от совместимости. Впрочем, не сложно догадаться, что и в прошлом эта совместимость сильно хромала. И тут просто дошли до ручки и на эту совместимость решили наплевать. В результате этой революции число регистров увеличилось, т.к. от совмещения функций отказались. Впрочем, я думаю, что эту революцию стоило провести еще решительнее - например, отказаться от атавизма 8-разрядности Timer 0. Но почему-то это сделать не решились. Тем не менее, подвижка была весьма значительной.

Именно по этим причинам, проектируя МК с архитектурой AVR в наше время, совершенно не стоит повторять атавистические функции регистров, свойственные предшественникам Меги-88. И если Atmel решился-таки на революцию в этом деле и ее поддержали разработчики компиляторов, то возвращаться к прошлому нет никакого резона.

Цитата(Sobol' @ Jan 13 2015, 11:12) *
Есть идея добавить команду 1/x, нннада? Какие еще полезные команды не реализованы у атмелек?

А вот этого делать ни в коем случае не надо! Т.к. любой отход от системы команд повлечет гораздо более болезненные последствия, нежели польза от новой команды/инструкции. Основной вред от такой самодеятельности состоит в том, что разработчики компиляторов едва ли подержат вашу новую инструкцию, а потому ее можно будет использовать только на ассемблере, на котором большинство электронщиков либо успели разучиться работать, либо никогда этого не умели sm.gif. А вот вводить новые регистры вы можете (если найдете для них место sm.gif) - это совместимость с компиляторами не нарушит.

Поэтому мой совет "выпендриться" будет таков - лучше увеличьте объем SRAM у вашего клона Меги-88 вдвое (до 2 Кб против оригинальных 1 Кб) и этой фичей вы, возможно, переплюните китайский клон в популярности sm.gif. А надежды на "пикопауэр" бросьте, вам по этому параметру не Atmel, ни китайцев, никогда не превзойти.
Go to the top of the page
 
+Quote Post
Егоров
сообщение Jan 14 2015, 04:34
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 3 868
Регистрация: 15-03-13
Пользователь №: 76 048



Цитата(Xenia @ Jan 14 2015, 06:00) *
а потому ее можно будет использовать только на ассемблере, на котором большинство электронщиков либо успели разучиться работать, либо никогда этого не умели sm.gif.

Такое впечатление, что только на ассемблерах они и работали.
Разучились компактно программировать как раз чистые программисты.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sobol'   Вопрос разработчикам.   Jan 12 2015, 08:00
- - Aner   Востребованы STM8 поскольку хорошо поддержаны софт...   Jan 12 2015, 08:32
- - yes   думаете корпусировать обычные AVR в керамику или в...   Jan 12 2015, 09:08
|- - Lmx2315   QUOTE (yes @ Jan 12 2015, 13:08) впринцип...   Jan 12 2015, 10:23
- - Xenia   Сделайте 5-вольтовую XMega и будет вам счастье и с...   Jan 12 2015, 10:55
|- - SM   Цитата(Xenia @ Jan 12 2015, 13:55) Понятн...   Jan 12 2015, 13:59
|- - hdl_student   По поводу лицензии, судов и громких дел с Atmel-ом...   Jan 13 2015, 13:11
- - Sobol'   Так, давайте по порядку. ЦитатаВостребованы STM8 ...   Jan 12 2015, 11:17
|- - Lmx2315   QUOTE (Sobol' @ Jan 12 2015, 15:17) Н...   Jan 12 2015, 11:29
|- - Xenia   Цитата(Sobol' @ Jan 12 2015, 14:17) Н...   Jan 12 2015, 11:59
|- - ViKo   Цитата(Sobol' @ Jan 12 2015, 14:17) Э...   Jan 14 2015, 06:11
|- - SM   Цитата(ViKo @ Jan 14 2015, 09:11) А вы пы...   Jan 14 2015, 07:23
|- - ASN   Xenia Время 8-ми битников как микроконтроллеров уп...   Jan 14 2015, 07:54
||- - -=Sergei=-   Цитата(ASN @ Jan 14 2015, 10:54) Xenia Вр...   Jan 14 2015, 08:23
||- - stells   Цитата(-=Sergei=- @ Jan 14 2015, 11...   Jan 14 2015, 08:43
||- - ASN   stells Микроконтроллер используют не только в косм...   Jan 14 2015, 10:06
||- - stells   Цитата(ASN @ Jan 14 2015, 13:06) stells М...   Jan 14 2015, 10:31
||- - ASN   stells О том и речь! Есть уже готовые изделия...   Jan 14 2015, 11:08
|- - ViKo   Цитата(SM @ Jan 14 2015, 10:23) Если, как...   Jan 14 2015, 08:12
- - Егоров   Делать можно что угодно, но только - дешевое ( в с...   Jan 12 2015, 12:20
- - Sobol'   ЦитатаМК уровня AT90USB82/162 никому не нужны в си...   Jan 12 2015, 13:18
- - yes   ок. понятно. на всякий случай обращу еще внимание,...   Jan 12 2015, 13:51
- - Sobol'   В вопросе дешевизны с буржуями конкурировать трудн...   Jan 12 2015, 14:15
|- - SM   Цитата(Sobol' @ Jan 12 2015, 17:15) И...   Jan 12 2015, 14:28
|- - Lmx2315   А что у вас за предприятие? НИИЭТ? Если да , то сл...   Jan 12 2015, 15:43
- - Torpeda   Цитата(Sobol' @ Jan 12 2015, 11:00) П...   Jan 12 2015, 15:36
|- - SM   Цитата(Torpeda @ Jan 12 2015, 18:36) 2) Е...   Jan 12 2015, 15:43
- - Sobol'   Ни кто ни чего ни у кого не спер и не купил. Созда...   Jan 12 2015, 15:46
|- - Torpeda   Цитата(Sobol' @ Jan 12 2015, 18:46) Н...   Jan 12 2015, 15:53
||- - Lmx2315   ..как кто-то ранее на форуме правильно заметил : ...   Jan 12 2015, 15:56
|- - des00   Цитата(Sobol' @ Jan 12 2015, 23:46) Н...   Jan 12 2015, 15:54
|- - SM   Цитата(des00 @ Jan 12 2015, 18:54) Законч...   Jan 12 2015, 15:56
||- - Torpeda   Цитата(SM @ Jan 12 2015, 18:56) Было бы и...   Jan 12 2015, 16:01
||- - SM   Цитата(Torpeda @ Jan 12 2015, 19:01) Если...   Jan 12 2015, 16:07
|||- - Torpeda   Цитата(SM @ Jan 12 2015, 19:07) Если этот...   Jan 12 2015, 16:21
|||- - SM   Цитата(Torpeda @ Jan 12 2015, 19:21) или ...   Jan 12 2015, 16:27
||||- - Torpeda   Цитата(SM @ Jan 12 2015, 19:27) А как это...   Jan 12 2015, 16:29
|||- - SM   Цитата(Torpeda @ Jan 12 2015, 19:21) т.е....   Jan 12 2015, 16:31
|||- - Torpeda   Цитата(SM @ Jan 12 2015, 19:31) Он был вп...   Jan 12 2015, 16:44
|||- - SM   Цитата(Torpeda @ Jan 12 2015, 19:44) Кто ...   Jan 12 2015, 16:48
|||- - Torpeda   Цитата(SM @ Jan 12 2015, 19:48) Если речь...   Jan 12 2015, 16:53
|||- - SM   Цитата(Torpeda @ Jan 12 2015, 19:53) а ка...   Jan 12 2015, 17:04
|||- - Torpeda   Цитата(SM @ Jan 12 2015, 20:04) Вот поэто...   Jan 12 2015, 17:16
||- - yes   Цитата(Torpeda @ Jan 12 2015, 20:01) А сп...   Jan 12 2015, 16:17
|- - Torpeda   Цитата(des00 @ Jan 12 2015, 18:54) Вопрос...   Jan 12 2015, 15:56
|- - des00   Цитата(Torpeda @ Jan 12 2015, 22:56) есть...   Jan 12 2015, 16:00
- - Xenia   Цитата(Sobol' @ Jan 12 2015, 16:18) П...   Jan 12 2015, 16:07
|- - des00   Цитата(Xenia @ Jan 13 2015, 00:07) Они в ...   Jan 12 2015, 16:31
- - Sobol'   Развели тут демагогии. Патенты, лицензии, санкции ...   Jan 13 2015, 05:17
|- - Serhiy_UA   Sobol', добавьте несколько новых команд, и это...   Jan 13 2015, 06:23
|- - ASN   Sobol Сейчас практически нет отечественных 8-ми би...   Jan 13 2015, 07:07
- - Sobol'   Цитатадобавьте несколько новых команд Есть идея до...   Jan 13 2015, 08:12
|- - Serhiy_UA   Цитата(Sobol' @ Jan 13 2015, 11:12) Е...   Jan 13 2015, 08:37
|- - zzzzzzzz   Sobol', первое, что вам нужно - найти потенциа...   Jan 13 2015, 09:59
||- - SM   Цитата(zzzzzzzz @ Jan 13 2015, 12:59) и в...   Jan 13 2015, 10:06
||- - Егоров   Цитата(zzzzzzzz @ Jan 13 2015, 12:59) Sob...   Jan 13 2015, 15:19
||- - zzzzzzzz   Цитата(Егоров @ Jan 13 2015, 18:19) Это з...   Jan 13 2015, 15:42
||- - Егоров   Цитата(zzzzzzzz @ Jan 13 2015, 19:42) Вы,...   Jan 13 2015, 17:09
|- - ASN   Sobol IMHO, сверхнизкое энергопотребление - это да...   Jan 13 2015, 15:53
|- - zzzzzzzz   Цитата(ASN @ Jan 13 2015, 18:53) zzzzzzzz...   Jan 13 2015, 16:03
- - halfdoom   Статистика одной конторы по промконтроллерам за оп...   Jan 13 2015, 08:18
- - SM   Учитывая назначение, необходимо сделать контроллер...   Jan 13 2015, 08:50
- - Sobol'   мега88а пользуется такой популярностью только из-з...   Jan 13 2015, 10:23
|- - halfdoom   Цитата(Sobol' @ Jan 13 2015, 13:23) м...   Jan 13 2015, 16:47
- - psL   начинать нужно с ардуин в виде модулей с 5 и 9, в ...   Jan 13 2015, 22:24
|- - SM   Цитата(Xenia @ Jan 14 2015, 05:00) Основн...   Jan 14 2015, 05:51
- - ViKo   Теперь надо делать микросхемы, свободные от Интерн...   Jan 14 2015, 11:39
- - aleksandr-zh   Цитата(Sobol' @ Jan 12 2015, 11:00) П...   Jan 15 2015, 18:25
|- - Lmx2315   QUOTE (aleksandr-zh @ Jan 15 2015, 21...   Jan 15 2015, 19:46
- - Михась   Посмотрел на их клон 8535. Мда, тащемта молодцы. Н...   Jan 24 2015, 17:17
|- - Lmx2315   QUOTE (Михась @ Jan 24 2015, 20:17) И осо...   Jan 24 2015, 17:47
|- - Михась   Цитата(Lmx2315 @ Jan 24 2015, 23:47) ..ми...   Jan 24 2015, 17:54
|- - Xenia   Цитата(Lmx2315 @ Jan 24 2015, 20:47) ..ми...   Jan 24 2015, 18:39
|- - SM   Цитата(Xenia @ Jan 24 2015, 21:39) на фон...   Jan 24 2015, 20:29
- - Михась   Кстати, зеленым человечкам может быть полезным апп...   Jan 25 2015, 08:48
- - saab   Цитата(Sobol' @ Jan 12 2015, 16:00) Т...   Jan 25 2015, 12:32
|- - Михась   Цитата(saab @ Jan 25 2015, 18:32) Это же ...   Jan 25 2015, 16:46
- - Shivers   8 битники актуальны для экстремальных применений, ...   Jan 26 2015, 06:07
|- - SM   Цитата(Shivers @ Jan 26 2015, 09:07) и 32...   Jan 26 2015, 07:39
||- - ViKo   Цитата(SM @ Jan 26 2015, 10:39) Так что, ...   Jan 26 2015, 09:01
||- - stells   Цитата(ViKo @ Jan 26 2015, 12:01) Я тоже ...   Jan 26 2015, 09:31
|- - stells   Цитата(Shivers @ Jan 26 2015, 09:07) 8 би...   Jan 26 2015, 08:40
|- - Shivers   Цитата(stells @ Jan 26 2015, 12:40) 16 би...   Jan 26 2015, 09:00
- - smalcom   ЦитатаЭто же стремительно уходит, 20 летней давнос...   Jan 26 2015, 08:23
- - AlexKit   без конечной продукции, никакой МК не нужен, потом...   Jan 26 2015, 11:43
- - Pavel_Su   Если не поздно еще, вставлю свои пять копеек. Мега...   Jan 26 2015, 14:14
- - Михась   Есть еще интересный вариант - накристальный модем....   Jan 27 2015, 06:31
- - www...   Коль тут пошел холивар ARM/8-бит. Позвольте вырази...   Jan 29 2015, 09:03
|- - Lmx2315   QUOTE (www... @ Jan 29 2015, 12:03) Короч...   Jan 29 2015, 09:32
||- - SM   Цитата(Lmx2315 @ Jan 29 2015, 12:32) ..а ...   Jan 29 2015, 09:41
||- - Lmx2315   QUOTE (SM @ Jan 29 2015, 12:41) А никто и...   Jan 29 2015, 11:23
|- - kolobok0   Цитата(www... @ Jan 29 2015, 12:03) ...Ко...   Jan 29 2015, 10:25
- - Mahagam   у www... походу, задачи только на уровне "авт...   Jan 29 2015, 09:46
- - sanya221   Крик души!!!! Хотите, чтобы ваш МК...   Jan 29 2015, 10:25
|- - Xenia   Цитата(sanya221 @ Jan 29 2015, 13:25) У н...   Jan 29 2015, 10:52
|- - ViKo   Цитата(sanya221 @ Jan 29 2015, 13:25) У н...   Jan 29 2015, 10:57
- - www...   Цитата(Mahagam @ Jan 29 2015, 14:46) у ww...   Jan 29 2015, 11:08
- - ViKo   Собираюсь переделать панель управления с 20 кнопка...   Jan 29 2015, 11:19
2 страниц V   1 2 >


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 06:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01522 секунд с 7
ELECTRONIX ©2004-2016