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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> arm vs 166, выбор по переходу с 51 на более мощный
DimaM
сообщение May 24 2007, 10:57
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 103
Регистрация: 17-12-06
Из: село
Пользователь №: 23 615



у нас задача управление схемой, довольно сложной
сейчас стоит 8051F124 + cyclon II fpga, ресурсы исчерпаны и хочется перейти на новый микроконтроллер и fpga (скорее всего cyclon III)
микроконтроллер как вариант рассмитривается какой нибудь из серии 166, поскольку есть наработки и компилятор
но мне больше нравится lpc2366 или другой arm поскольку переспективнее и дешевле

может кто нибудь соображения всказать по поводу.
Go to the top of the page
 
+Quote Post
spf
сообщение May 24 2007, 12:06
Сообщение #2


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



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

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

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

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


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 24 2007, 14:06
Сообщение #3


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(spf)
нет нормального контроллера прерывания

А можно с этого места поподробней?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
klop
сообщение May 24 2007, 14:37
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788



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


Простите а откуда такая цифрирь?
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 24 2007, 16:16
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(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, но и с десятком-другим тактов затрачиваемых на сохранение регистров в стеке.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
spf
сообщение May 24 2007, 16:45
Сообщение #6


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(GetSmart @ May 24 2007, 20:06) *
А можно с этого места поподробней?

Что подробно?
Хотите чтоб сюда запостили спецификацию ядра ARM7?


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
_Vladimir_
сообщение May 24 2007, 16:51
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 114
Регистрация: 10-05-05
Пользователь №: 4 893



Цитата(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.
Иначе, как универсальный микроконтроллер, АРМ будет удобнее. Ядро универсальное, выбор периферии огромен, масса моделей.
Go to the top of the page
 
+Quote Post
KRS
сообщение May 24 2007, 16:52
Сообщение #8


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(spf @ May 24 2007, 20:45) *
Что подробно?
Хотите чтоб сюда запостили спецификацию ядра ARM7?

Да ядро здесь не причем, у ядра 2 вектора всего IRQ и FIQ, только вот везде ставят VIC - довольно гибкий и удобный контроллер прерываний!
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 24 2007, 16:53
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(spf @ May 24 2007, 19:45) *
Что подробно?

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 24 2007, 16:57
Сообщение #10


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(DimaM)
но мне больше нравится lpc2366 или другой arm поскольку переспективнее и дешевле

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

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

Не подскажите как? Желательно для ИАРа.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 24 2007, 17:12
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



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

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 24 2007, 17:31
Сообщение #12


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(zltigo)
Можете на своих проектах посмотреть.

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

навалом smile.gif
Напичкано ими большинство выходов из процедур, ну и входов соответственно.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 24 2007, 17:47
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



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

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
DimaM
сообщение May 25 2007, 07:41
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 103
Регистрация: 17-12-06
Из: село
Пользователь №: 23 615



спасибо за ответы, особенно _Vladimir_

хорошо сказал о 166. для нас получается он особых преимуществ не имеет, за исключением наличия компилятора.
быстрое управление в жеском реальном времени я сделал на nios (маленькая программка для 4х мерной линейной апроксимации которая за 10 микросекунд крутится )
а все сервисные задачи у меня достаточно медленные,
pwm и управление двигателями не нужно в принципе, вские adc, dac, компараторы внешнии лучше потому как качественные
еще надеюсь на arm операционку запустить чтобы модификации легче было делать.
конечно если начальство убедить сумею про arm.
Go to the top of the page
 
+Quote Post
migray
сообщение May 25 2007, 08:21
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 17-01-07
Из: Санкт-Петербург, Россия
Пользователь №: 24 501



Я может немного не в тему, но не АРМ-ом единым рынок МК держится. Посмотрите, к примеру http://www.eltech.spb.ru/nec_mk/files/ARM7_V850.pdf

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

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

Хотя для меня не это главное, а надежность и помехоустойчивость, а тут с японцами тягаться сложно
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 7th July 2025 - 20:27
Рейтинг@Mail.ru


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