To RoboClub по поводу выбора контроллеров. Я тут сочинил Вам целое послание. Высказываю лишь свое личное мнение, которое может не совпадать с мнением других.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Bill 28 июня 2003 г. 10:10

Раздумывая над Вашим вопросом я пришел к выводу, что Ваш вопрос на самом деле стоит так, как поется в старой
песне:
Как бы мне влюбится, чтоб не ошибиться,
Чтоб не пожалеть о том нигде и никогда,
Чтоб с пути не сбиться, как бы мне влюбиться,
Чтобы раз и навсегда.

Но это шутка, в которой есть доля шутки. А если говорить серьезно, то задача выбора контроллера
"чтобы раз и навсегда" вряд ли разрешима. Можно выбирать очень долго и как разборчивой невесте остаться в "старых деавх".
Далее, Вы хотите поставить контроллер на каждый двигатель. Значит одним из главных критериев при выборе
типа контроллера является его НИЗКАЯ СТОИМОСТЬ. Но при этом возникает другая проблема - для управления
всем роботом потребуется контроллер, имеющий ВЫСОКУЮ ПРОИЗВОДИТЕЛЬНОСТЬ. Получается противоречие,
контроллер более высокой производительности имеет и более высокую цену. Есть два выхода из этой ситуации.
Можно поставить либо один мощный контроллер, который будет управлять всем роботом в целом. А если выбрать вариант
с распределенным управлением, то в этом случае целесообразно использовать семейство контроллеров,
имеющих единую архитектуру и , в то же время, разную "энерговооруженность" и, соответственно, разную стоимость.
Если идти первым путем, то я обратил бы внимание, прежде всего, на 16-разрядные контроллеря MSP430 (TI) или
MB90Fxxx (Fujitsu). Можно также подумать и об использовании 32-разарядных МК семейства ARM.
В случае распределенного управления можно выбрать какое-нибудь семейство 8-разрядных МК. Имеется ряд таких семейств
МК. Это прежде всего AVR (Atmel), MCS51 (XXXXX) и PIC (Microchip).
Все дальнейшие рассуждения отражают лишь МОЕ СОБСТВЕННОЕ МНЕНИЕ и могут быть субъективными.
Участвуя в данной конфереренции второй год, я пришел к выводу, что наиболее используемыми МК являются следующие
(в алфавитном порядке):
1. AVR
2. MCS51
3. MSP430
4. PIC
Значительно меньше используются 16-разрядные МК семейства MB90Fxxx и 32-разрядные МК с ахитектурой ARM. Все
остальные контроллеры являются своего рода экзотикой. Далее кратко о семействах МК.
Если говорить о семействах МК в хронологическом порядке, первыми появились МК семейств MCS51 и PIC, которые
появились в середине 70-х годов прошлого века и являются на сегодняшний день одними из самых распространенных.
Семейство МК с архитектурой MCS-51 изначально было разработано и выпускалось фирмой Intel. Ныне различные
семейства МК с этой архитектурой выпускаются целым рядом фирм: Intel, Atmel, Philips, Dallas, Cygnal и др.
МК этого семейства различных фирм имеют различную производительность, различный набор периферии "на борту" и
различную стоимость. Для этого семейства создан целый ряд средств программирования (ассемблеры, компиляторы)
и масса прикладных программ. Опыта работы с МК этой архитектуры у меня нет.
МК семейства PIC выпускаются фирмой Microchip. Здесь имеется фактически 3 семейства МК различной производительности и стоимости.
Это PIC12xxx, PIC16xxx и PIC18xxx. Они имеют сходную архитектуру и, в то же время, различную "энерговооруженность".
Для МК этих семейств также разработано множество средств программирования. На сайте Microchip можно найти большое
множество Application Notes по самым различным вопросам и, в том числе, интереующих непосредственно Вас.
Достоинством (и одновременно недостатком) МК семейств PIC является простота их архитектуры. Они изначально были
ориентированы на управление различными периферийными устройствами и это является их сильной стороной. С другой
стороны, они мало пригодны для решения задач, связанных с различного рода вычислениями. Хотя лично мне и приходилось
решать такого рода задачи на PIC, но чувствовал я себя не очень комфортно. Постоянно приходилось преодолевать
ограничения, присущие архитектуре данных семейств. Семейство PIC18 появилось несколько позже других семейств
и имеет ряд усовершенствований, но тем не менее в целом имеет ту же самую архитектуру, со всеми вытекающими
отсюда последствиями.
Идем дальше. Семейство AVR стало выпускаться фирмой Atmel в середине 90-х годов, т.е. на 20 лет позже тех, о
которых было сказано. Это один из самых быстрых контроллеров. Он разрабатвался с учетом возможности его программирования
на яыках высокого уровня (прежде всего Си) и лучше походит для решения задач, связанных с интенсивными вычислениями.
Управление периферией хотя и не является его сильной стороной, но тем не менее он справляется с такими задачами
достаточно успешно. В настоящее время Atmel производит интенсивную модернизацию своего семейства, сосредатачиваясь
выпуске МК улучшенной модификации (ATmegaXXX). Для AVR также разработан рядом фирм необходимый набор средств
программирования. В то же время при всем при том AVR имеют достаточно низкую цену, зачастую ниже, чем PIC.
Благодаря своим характеристикам МК семейства AVR завоевали (и продолжают завоевывать) большое число сторонников
во всем мире, и в России в том числе. Думаю, что я не сильно ошибусь, если скажу, число пользователей AVR
примерно равно числу пользователей PIC. А если учесть, что AVR появились значительно позже PIC, то это внушает.
Лично я работаю с AVR 4-й год и МК этого семейства оставляют самые приятные впечатления. Я не испытываю того
дискомфорта, которое испытывал работая с PIC.
Семейство MSP430 было разработано фирмой TI одновеременно или чуть позже AVR. Отличительными их характеристиками
являются 16-разрядная архитектура, малая потребляемая мощность и цены, сопоставимые с 8-разрядными МК.
Имея 16-разрядную архитектуру они успешно справляются с задачами вычислительного харатера, а малое энергопотребление
делает их незаменимыми при разработке переносных устройств с батарейным питанием. Для MSP430 также имеются средства
программирования. Число пользователей МК этого типа тоже растет, но я в это число не вхожу.
Семейство MB90Fxxx фирмы Fujitsu имеет развитую 16-разрядную архитектуру с элементами поддержки обработки 32-разрядных
данных. Кроме этого, как правило, на кристаллах этих МК располагается множество периферийных устройств:
порты ВВ, таймеры, связные контроллеры, CAN, АЦП, ЦАП и др. Отличительной особенность этих МК является наличие
специальной системы ВВ (Expanded Intelligent I/O Service (EI2OS)), которая позволяет свести к минимуму программы,
непосредственно связанные с ВВ. Другой (и немаловажной) особенностью, является то, что фирма бесплатно распространяет
средства программирования (в том числе и компилятор). Кроме того, на сайте Fujitsu можно найти множество
различной документации, в том числе и на русском языке. Можно добавить, что имеются МК в корпусах с различным
количеством выводов: от 48 до 120. При этом они имеют достаточно низкие цены. Я лично хотя и не работал с МК
этого семейства, но давно к нему приглядываюсь и при первой возможности обязательно ими займусь.
Уфф, на это я пожалуй закончу. Надеюсь, что я прояснил Вам ситуацию. А может еще больше запутал?


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru