|
arm vs 166, выбор по переходу с 51 на более мощный |
|
|
|
May 24 2007, 12:06
|

Странник
   
Группа: Свой
Сообщений: 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. Но и они не без недостатков - нет нормального контроллера прерывания - возможна большая задержка обработки прерывания (до 50 тактов ядра) Все это не раз обсуждалось. ИМХО: x166 уже в 2001 были не очень перспективными, сейчас тем более.
--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
|
|
|
|
|
May 24 2007, 14:37
|
Местный
  
Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788

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

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

|
Цитата(klop @ May 24 2007, 17:37)  Простите а откуда такая цифрирь? Из "интернету" http://electronix.ru/forum/index.php?showt...9336&hl=IRQ  . Если стремимся к минимальной 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
|
|
|
|
|
May 24 2007, 16:45
|

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

|
Цитата(GetSmart @ May 24 2007, 20:06)  А можно с этого места поподробней? Что подробно? Хотите чтоб сюда запостили спецификацию ядра ARM7?
--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
|
|
|
|
|
May 24 2007, 16:51
|
Частый гость
 
Группа: Свой
Сообщений: 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. Иначе, как универсальный микроконтроллер, АРМ будет удобнее. Ядро универсальное, выбор периферии огромен, масса моделей.
|
|
|
|
|
May 24 2007, 16:57
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(DimaM) но мне больше нравится lpc2366 или другой arm поскольку переспективнее и дешевле Хороший выбор. Уделает все 51-ые вместе взятые со всех сторон. Цитата(zltigo) Такие длинные команды можно запретить использовать, тогда самя длинная это 8 тактов. Не подскажите как? Желательно для ИАРа.
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
May 24 2007, 17:31
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(zltigo) Можете на своих проектах посмотреть. Не знаю как у Вас, а у нас такого добра: Код 0x00006A64 E8BD8FF0 LDMIA SP!, {R4,R5,R6,R7,R8,R9,R10,R11,PC} навалом  Напичкано ими большинство выходов из процедур, ну и входов соответственно.
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
May 24 2007, 17:47
|

Гуру
     
Группа: Свой
Сообщений: 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. Оптимизация по максимуму скорости. Все  . Специально ничего не делал, кажется
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 25 2007, 08:21
|

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

|
Я может немного не в тему, но не АРМ-ом единым рынок МК держится. Посмотрите, к примеру http://www.eltech.spb.ru/nec_mk/files/ARM7_V850.pdfСтатья не моя, но NEC мне понравился, правда пока работаю с 8- и 16-разрядными МК этой фирмы Под микроСи/ОС-II народ уже портирование делал, к концу года, возможно, будет ФОРТ ядро. Хотя для меня не это главное, а надежность и помехоустойчивость, а тут с японцами тягаться сложно
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|