Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: arm vs 166
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
DimaM
у нас задача управление схемой, довольно сложной
сейчас стоит 8051F124 + cyclon II fpga, ресурсы исчерпаны и хочется перейти на новый микроконтроллер и fpga (скорее всего cyclon III)
микроконтроллер как вариант рассмитривается какой нибудь из серии 166, поскольку есть наработки и компилятор
но мне больше нравится lpc2366 или другой arm поскольку переспективнее и дешевле

может кто нибудь соображения всказать по поводу.
spf
Цитата(DimaM @ May 24 2007, 16:57) *
у нас задача управление схемой, довольно сложной
сейчас стоит 8051F124 + cyclon II fpga, ресурсы исчерпаны и хочется перейти на новый микроконтроллер и fpga (скорее всего cyclon III)
микроконтроллер как вариант рассмитривается какой нибудь из серии 166, поскольку есть наработки и компилятор
но мне больше нравится lpc2366 или другой arm поскольку переспективнее и дешевле

может кто нибудь соображения всказать по поводу.

Если посмотреть на количество тем в разделе Микроконтроллеры (МК) - Microcontrollers (MCs) то и думать нечего -- ARM. smile.gif
Но и они не без недостатков
- нет нормального контроллера прерывания
- возможна большая задержка обработки прерывания (до 50 тактов ядра)
Все это не раз обсуждалось.

ИМХО: x166 уже в 2001 были не очень перспективными, сейчас тем более.
GetSmart
Цитата(spf)
нет нормального контроллера прерывания

А можно с этого места поподробней?
klop
Цитата(spf @ May 24 2007, 16:06) *
- возможна большая задержка обработки прерывания (до 50 тактов ядра)


Простите а откуда такая цифрирь?
zltigo
Цитата(klop @ May 24 2007, 17:37) *
Простите а откуда такая цифрирь?

Из "интернету" smile.gif http://electronix.ru/forum/index.php?showt...9336&hl=IRQ smile.gif.
Если стремимся к минимальной interrupt latency, то используем FIQ а не IRQ. При этом для ARM7DTMI-S ядра с АRM-овским же PL-192 контроллером затраты на вход в прерывание составляют 7 тактов + длительность исполнения самой длинной прерванной команды LDM сохраняющей 16 регистров в память,
что составляет при памяти работающей с 0ws 20 тактов. Такие длинные команды можно запретить использовать, тогда самя длинная это 8 тактов. Итого, при необходимости быстрой реакции на прерывание получаем 15 тактов по максимуму. При этом не следует забывать, что ARM, в отличие от многих других архитектур имееет собственные банки регистров для FIQ и IRQ, что позволяет очень сэкономить время на сохранении регистров стеке. Ну а дальше можно считать сколько времени займет вход в обработчик FIQ у типичного 60MHz ARM. И у типичного 20MHz контроллера, пусть и с всего 4-5 тактами latency, но и с десятком-другим тактов затрачиваемых на сохранение регистров в стеке.
spf
Цитата(GetSmart @ May 24 2007, 20:06) *
А можно с этого места поподробней?

Что подробно?
Хотите чтоб сюда запостили спецификацию ядра ARM7?
_Vladimir_
Цитата(DimaM @ May 24 2007, 13:57) *
у нас задача управление схемой, довольно сложной
сейчас стоит 8051F124 + cyclon II fpga, ресурсы исчерпаны и хочется перейти на новый микроконтроллер и fpga (скорее всего cyclon III)
микроконтроллер как вариант рассмитривается какой нибудь из серии 166, поскольку есть наработки и компилятор
но мне больше нравится lpc2366 или другой arm поскольку переспективнее и дешевле

может кто нибудь соображения всказать по поводу.


Смотря какая схемка и какое управление.
"Для общего применения" конечно АРМ будет удобнее (говорить что лучше мне кажется не корректно, не зная задачи).
Насчет того что 166 (правильнее уже х16Х) уже не перспективен - это не совсем верно.
Просто 166 более специализирован.
По моему мнению Сименс (Инфинеон) их делал и делает в основном для внутреннего применения и широко использует в промышленных устройствах (и другие берут его у него для этого).
Специализация 166 - управление электроприводом (встечал в альтиварах разной мощности, современных бензоколонках) и т. п.
В его периферии сильно преобладает уклон на таймеры, PWM, compare capture и т. п.
(Конечно, это есть почти у всех других - но в таких количествах на чипе...и так досконально специфицированы их параметры)
Автомобильные приложения.
На современных моделях помимо этого - развитое аппаратное управление трехфазными системами и силовыми ключами, еще более наворотили аппаратно с таймерными блоками.
Мне понравилась работа его АЦП.
Встроен механизм на подобие DMA для периферии (практически аппаратный).
Из программной - очень быстрое и простое аппаратное переключение контекста - это для реал тайм.
Развитое управление векторами прерываний, поддержка непрерываемой последовательности команд и т. п.
Во всех отношениях явно изначально расчитан на критичные приложения (электропривод - критичное приложение почти всегда), например, есть такая фича - при отказе осциллятора - автоматический переход на суррогатный внутренний генератор, т. е. как-то живет в аварийном режиме и не умирает сразу.
Думаю хорошо держит специфицированный диапазон внешних воздействий.
Да и вся идеология - развивали и совершенствовали что требовалось потребителям в его нише.

В общем, если для Вашей задачи НАБОР таких качеств первостепенен - тогда стоит посмотреть на 166.
Иначе, как универсальный микроконтроллер, АРМ будет удобнее. Ядро универсальное, выбор периферии огромен, масса моделей.
KRS
Цитата(spf @ May 24 2007, 20:45) *
Что подробно?
Хотите чтоб сюда запостили спецификацию ядра ARM7?

Да ядро здесь не причем, у ядра 2 вектора всего IRQ и FIQ, только вот везде ставят VIC - довольно гибкий и удобный контроллер прерываний!
zltigo
Цитата(spf @ May 24 2007, 19:45) *
Что подробно?

Подробно о ненормальности.
Контроллеры для ARM волен делать каждый сам, или использовать PrimeCell от ARM. Ненормальные у некоторых производителей встречаются sad.gif, но обычно покупают оригинальные ARMовские. К ним были у Вас претензии?
GetSmart
Цитата(DimaM)
но мне больше нравится lpc2366 или другой arm поскольку переспективнее и дешевле

Хороший выбор. Уделает все 51-ые вместе взятые со всех сторон.

Цитата(zltigo)
Такие длинные команды можно запретить использовать, тогда самя длинная это 8 тактов.

Не подскажите как? Желательно для ИАРа.
zltigo
Цитата(GetSmart @ May 24 2007, 19:57) *
Не подскажите как? Желательно для ИАРа.

У родного ARM-овского -split_ldm ограничивает сохранение до 4x за раз, к этому случаю и относятся 8 тактов. Для IAR нет. Что каксается реальной жизни, то сейчас просмотрел IARовский проект килобайт на 100 - только две LDM, обе по 6 регистров и обе уже в обработчиках прерывания - за пределами обработчиков прерывания они просто отсутствуют. Можете на своих проектах посмотреть.
GetSmart
Цитата(zltigo)
Можете на своих проектах посмотреть.

Не знаю как у Вас, а у нас такого добра:
Код
0x00006A64 E8BD8FF0  LDMIA        SP!, {R4,R5,R6,R7,R8,R9,R10,R11,PC}

навалом smile.gif
Напичкано ими большинство выходов из процедур, ну и входов соответственно.
zltigo
Цитата(GetSmart @ May 24 2007, 20:31) *
Напичкано ими большинство выходов из процедур, ну и входов соответственно.

Входы выходы все на push/pop. LDM, только в двух достаточно экзотических случаях:
LDM SP!,{R0-R3,R12,PC}^ ;; return
Режим ARM. Оптимизация по максимуму скорости.
Все smile.gif. Специально ничего не делал, кажется wink.gif
DimaM
спасибо за ответы, особенно _Vladimir_

хорошо сказал о 166. для нас получается он особых преимуществ не имеет, за исключением наличия компилятора.
быстрое управление в жеском реальном времени я сделал на nios (маленькая программка для 4х мерной линейной апроксимации которая за 10 микросекунд крутится )
а все сервисные задачи у меня достаточно медленные,
pwm и управление двигателями не нужно в принципе, вские adc, dac, компараторы внешнии лучше потому как качественные
еще надеюсь на arm операционку запустить чтобы модификации легче было делать.
конечно если начальство убедить сумею про arm.
migray
Я может немного не в тему, но не АРМ-ом единым рынок МК держится. Посмотрите, к примеру http://www.eltech.spb.ru/nec_mk/files/ARM7_V850.pdf

Статья не моя, но NEC мне понравился, правда пока работаю с 8- и 16-разрядными МК этой фирмы

Под микроСи/ОС-II народ уже портирование делал, к концу года, возможно, будет ФОРТ ядро.

Хотя для меня не это главное, а надежность и помехоустойчивость, а тут с японцами тягаться сложно
zltigo
Цитата(migray @ May 25 2007, 11:21) *
Я может немного не в тему, но не АРМ-ом единым рынок МК держится.

Естественно! Но он сейчас самый, что ни на есть mainstream для общего применения. А в сочетании с FPGA в которой у Автора ( как и у меня ) находится специализированная собственная периферия и зарыт реалтайм, встроенная периферия контроллера становится менее важной, а наличие унифицированного ядра ARMов становится еще более привлекательным.
migray
Цитата(zltigo @ May 25 2007, 12:48) *
Естественно! Но он сейчас самый, что ни на есть mainstream для общего применения. А в сочетании с FPGA в которой у Автора ( как и у меня ) находится специализированная собственная периферия и зарыт реалтайм, встроенная периферия контроллера становится менее важной, а наличие унифицированного ядра ARMов становится еще более привлекательным.


Ни кто не запрещает использовать FPGA с NEC-ом. И не обязательно ориентироваться на встроенную периферию, особенно если работать с такими слабыми сигналами, как например кардиосигнал.

Разговор про ядра. А ядро ARMов мне почему-то не понравилось, причем на момент знакомства с ним, про V850 я не знал, так-что NEC тогда был совсем не причем. Просто не понравилось и все, хотя это субъективно, наверно.

Но если в будущем мне не хватит тех ядер, с которыми я сейчас работаю, то я перейду на 32-битный NEC не меняя Си кода и разводки ПП, что для меня может оказаться большим плюсом.
zltigo
Цитата(migray @ May 25 2007, 12:40) *
Ни кто не запрещает использовать FPGA с NEC-ом.

Пользуйтесь.
Цитата
Но если в будущем мне не хватит тех ядер, с которыми я сейчас работаю, то я перейду на 32-битный NEC не меняя Си кода и разводки ПП.

Это и есть причина Вашего интереса и приверженности NEC. Для тех, кто с NEC не работает и не имеет никаких особых пожеланий относительно контроллера легкость пререхода на 32bit NEC не играет никакой роли. А распространненность и дешевизна ARM контроллеров делают практически бессмысленным поиск на заменну используемому восьмибитовику 8-16 битовика помощнее.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.