Перейти к содержанию
    

ARM c аппаратным FP модулем (VFP)

Здравствуйте.

Решил начать переходить на ARM, сейчас все на AVRках делаю.

Как говорится доступный инструмент определяет доступные к выполненю задачи. Так вот, как говорится для дальнейшего "развития по спирали" необходим аппаратный счет данных в формате плавающей запятой. На выставке (в Крокусе) взял проспекты по LPC3180 (архитектура ARM926EJS ). Что собственно и зантеросовало меня.

 

Сразу после предварительного анализа возникли трудности:

 

1. LPC3180 - будет представлена в BGA корпусе, я могу паять только TQFP

2. На нее нужно еще будет повесить FLASH и скорее всего ОЗУ и тд (тоеть это не микроконтроллер, процессор)

 

 

Вопросы:

1. Очень понравились LPC2101/2/3 - но у них нет поддерки поавающей запятой. Существуют ли микроконтроллеры с сопроцесором?

2. Стоит ли замарачиватся с АRM ? модет есть чтото лучше?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Контроллеров с сопроцессором крайне мало. Можете посмотреть EP9302 (TQFP), но его сопроцессор поддерживается только GCC, FLASH и RAM тоже нужны внешние.

2. Может быть, не стоит так заморачиваться на плавучке? Для каких целей предполагается её использовать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько мне известно, микроконтроллер с сопроцессором на рынке только один - упомянутый вами lpc3180.

Возникли сугубо ИМХО вопросы, просьба не обижатся но...

1. Как вы себе представляете микропроцессор с сопроцессором в корпусе tqfp?

2. почему такой разброс между тем что нравится: от LPC2101 до lpc3180? (что то вроде: "дорогой ну какую машинку мы купим? mercedes smart ли bmw 750" ;)))

Вы под какие задачи процессор выбираете? если не секрет?

3. Что то больно крутая у вас спираль AVR->ARM9+FPU. Больше на прыжки кенгуру с шестом смахивает. :) Вы уверены что это "переход на новые процессоры"?

 

Вобще делаю вывод что, раз ваши задачи преспокойно решались на АВР, то вам для начала познакомится с семейством lpc2000, его аппаратных возможностей вполне хватит для нормальной работы с fp32 без всякого аппаратного сопроцессора и корпуса доступные.

Если стоят какие-то новые задачи то наверно проще указать что делать собираетесь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Контроллеров с сопроцессором крайне мало. Можете посмотреть EP9302 (TQFP), но его сопроцессор поддерживается только GCC, FLASH и RAM тоже нужны внешние.

То что его GCC поддерживает это даже хорошо.

 

2. Может быть, не стоит так заморачиваться на плавучке? Для каких целей предполагается её использовать?

Может и не стоит... А куда без нее денешся? Хочется чтоб потом не дергатся если чего.

Задача которую потом придется решать - есть три канала гироскопа, три канала акселерометра, мат-модель поведения самолета(пока это летающая модель), нада сделать систему управления. Саму матмодель самолета в целых числах хрен опишеш (в дробных тоже плохо :( ).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько мне известно, микроконтроллер с сопроцессором на рынке только один - упомянутый вами lpc3180.

Возникли сугубо ИМХО вопросы, просьба не обижатся но...

1. Как вы себе представляете микропроцессор с сопроцессором в корпусе tqfp?

2. почему такой разброс между тем что нравится: от LPC2101 до lpc3180? (что то вроде: "дорогой ну какую машинку мы купим? mercedes smart ли bmw 750" ;)))

Вы под какие задачи процессор выбираете? если не секрет?

3. Что то больно крутая у вас спираль AVR->ARM9+FPU. Больше на прыжки кенгуру с шестом смахивает. :) Вы уверены что это "переход на новые процессоры"?

 

Вобще делаю вывод что, раз ваши задачи преспокойно решались на АВР, то вам для начала познакомится с семейством lpc2000, его аппаратных возможностей вполне хватит для нормальной работы с fp32 без всякого аппаратного сопроцессора и корпуса доступные.

Если стоят какие-то новые задачи то наверно проще указать что делать собираетесь.

 

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

 

Вот я и сижу и думаю - в природе нет универсального клея (тоесть подходящего проца и чтоб удобно было как LPC2000 и быстро как .. и чтоб в лаборатории припаять можно было бы бысто и посмотреть и тд) но тем не мение не хочется связыватся с кучей платформ. У меня щас на домашней мащине 7 С-компиляторов стоит! Как и положено в жизни необходимость FP нада обосновать, но с другой стороны ее априорное наличие позволяет иногда думать "...а не сотворить ли это, интересно что получится...."

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как насчет DSP? Есть такая штука, старая, но все еще актуальная (для своих задач), с плавающей точкой, в QFP-корпусе:

TMS320VC33 (http://focus.ti.com/docs/prod/folders/print/tms320vc33.html).

 

Плюсы и минусы, как и у всех DSP :)

 

Для локации мы используем конечно серии помощнее (TMS320C6x), но там уже без BGA никак :)

 

Вот еще посмотрел, есть

TMS320C6722 (http://focus.ti.com/docs/prod/folders/prin...rnative_Devices)

Что-то новенькое. Мощная вещь, и есть вариант QFP-корпуса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще посмотрите BlackFin от AD и 55x от Texas'а - на ваших задачах будут однозначно шустрее ARM. Плавучки, правда, нет, зато есть TQFP корпуса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за советы. Буду думать. изучать, время покаесть проанализировать текущее состояние. Два месяца назад я еще FreeScale контроллеры расматривал. Бросил потому что GCC их не поддерживает.

 

Я всетаки не пойму, обясните глупому. Ну че трудно плавающую запятую реализовать везде где не лень? Я микросхемы сам не делал конечно но мне кажется что при современном уровне производительности труда, технологий итд любой процессор за 15-20$ не имеет веских причин не иметь сопроцессор до кучи, ведь USB везде втыкают например, даже туда где не нада. Я еще понимаю почему FLASH не везде засунули - ну не научились ее раскачегаривать выше 70мгц, ну а пру десятков тысяч транзисторов залко чтоли? Хороший радиационно стойкий корпус из керамики стоит дороже чем любой кристал в оную устанавливаемый..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

klen

Неужели у вас в задаче миллион float-операций в секунду? Сильно сомневаюсь. Если раньше всё на АВР работало. Десятки тысяч float-операций можете легко сделать на любом LPC2000. Я правда не мерил, точно сказать затрудняюсь сколько реально можно вытянуть из них. Как-нибудь потом проверю. Но прикидывал, что LPC-шку можно заставить декодировать MP3 музыку в реальном времени, если написать прогу на целочисленных вычислениях с точностью до 64 бит. Умножает-то она целые числа быстрее чем лапкой дёргает. (214х не учитывать!) По-моему вам за глаза хватит мощи LPC. AVR по сравнению с ней - просто детский сад.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2_GetMaster

 

Да хватит мне LPC2103 например за глаза - но это пока!! А потом еще чтонить свалится или захочется. Я не говорю что сегодня-завтра умру без сопроцессора, я просто думаю на будующее. А еще больше хочется собрать платку маленького вычислителя и поизвращатся повтыкать ее в разные места - мы ж инженеры, должны любить эксперементы.

Видимо щас нет дешового счастья о котором я мечтаю.

 

Я вчера собрал GCC под arm. попробывал собрать тестовый проект, если я не ошибаюсь пременожение+деление float можно сделать ~ 680 тактов. Пока и так сойдет..

 

Перетекание темы в русло ответов "зачем тебе это нужно" на вопрос "как это сделать" неконструктивный ход обсужденй.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Вот я и сижу и думаю - в природе нет универсального клея (тоесть подходящего проца и чтоб удобно было как LPC2000 и быстро как .. и чтоб в лаборатории припаять можно было бы бысто и посмотреть и тд) но тем не мение не хочется связыватся с кучей платформ. У меня щас на домашней мащине 7 С-компиляторов стоит! Как и положено в жизни необходимость FP нада обосновать, но с другой стороны ее априорное наличие позволяет иногда думать "...а не сотворить ли это, интересно что получится...."

 

Позвольте, для каких самолетов? Вы сами поняли что написали?

Вы лично разрабытываете алгоритмы для бортовых локаторов и лучше всех знаете требуемые вычислительные затраты? Не смешите людей, уважаемый, особенно при упоминании LPC2000 и LPC3000 для решения этих задач. Если вы радиовысотомер делаете(по сути тоже локатор), то AVR вполне может хватит если обработка сигнала аппаратная, а если не аппаратная то надо смотреть в сторону DSP процессоров (вым уже советовали).

 

Для решения навигационных задач ARM без FP негодится, если конечно ваш самолет не мотодельтаплан, летающий в пределах нескольких километров от газона с которого взлетел :biggrin: . Да и бортовой вычислитель это не только проц с памятью. Еще и интерфейсы МКИО, РКИО и тд. Надо учесть накладные расходы на обмен с железом интерфейсов, чтобы посчитать "чистое время" процессора (то, что он потратит на Ваши алгоритмы). Крайне важно наличие кеша (LPC3000).

 

Несоветую искать рецепт "универсального клея", надо сначала продумать решение, реализовать, а потом эксперементы ставить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

klen Из Freeslcale GCC поддерживает до MCF52x (coldfire V2), на 54 (V4E) серию (что с плавучкой) пока, что не видел. PPC32 GСС тоже поддерживает, но если закладываете PPC32 (G4) то там помимо плавучки есть модуль для векторных вычислений (AltiVec).

 

klen Из Freeslcale GCC поддерживает до MCF52x (coldfire V2), на 54 (V4E) серию (что с плавучкой) пока, что не видел. PPC32 GСС тоже поддерживает, но если закладываете PPC32 (G4) то там помимо плавучки есть модуль для векторных вычислений (AltiVec).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так вам я смотрю вычислители нужны, так что я обеими руками и ногами с теми кто посоветовал вам использовать DSP, они ведь специально для того чтобы считать и использоваться в такой технике которой вы занимаетесь.:) Единственное что наверно все-таки analog devices, а не texas.

Я всетаки не пойму, обясните глупому. Ну че трудно плавающую запятую реализовать везде где не лень?

Наверно потому что для MCU это в основном не нужно и дорого (доп. потребление, дополнителные тактовые генераторы, шина и снхронизация с основным alu опять же), чтобы втыкать куда не лень, теже usb и ethernet гораздо чаше нужны. Да и ведь DSP есть для этого. ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Единственное что наверно все-таки analog devices, а не texas.

Ну это уже, что называется, на любителя :)

Исторически сложилось так, что мы работаем на Техасе, и пока достойной альтернативы не нашли.

Но тут действительно надо четко для себя решить, какую платформу выбрать, потому что DSP -- это, как правило, на века (это не ARM, который можно оседлать с нуля за неделю). Немного утрирую, но факт :biggrin:, лучше глубоко проникнуть в одну платформу, чем прыгать с одной на другую, имхо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Позвольте, для каких самолетов? Вы сами поняли что написали?Вы лично разрабытываете алгоритмы для бортовых локаторов и лучше всех знаете требуемые вычислительные затраты? Не смешите людей, уважаемый, особенно при упоминании LPC2000 и LPC3000 для решения этих задач.

Чем это я вас уважаймый насмешил?

1. Любые самолеты на которых устанавливается РЛПК27/29 и РЛС Жук, Фараон произвотства Фазатрон + НИИП Тихомирова.

2. Я понял что написал.

3. Это я то не знаю затрат на свой алглритм????

4. Сейчас реально это всеработает на Багетах с ППС содержащем 6 модулей по 4 Мотороллеровских дсп по 60МГц, проблема болше втом как их связать - шины гороаздо интересней самих модулей обработки сигналов. Получается что выгоднее вставлять одну микросхему у которой меньше частота чем у четырех в сумме ну и так далее.

5. Я не работаю в Корунде который делает вычислители для локаторв, я просто хочу демо плату с хорошим вычислителем для реализации моих тайных 'hjnbxtcrb[ желаний, все!

 

Для решения навигационных задач ARM без FP негодится, если конечно ваш самолет не мотодельтаплан, летающий в пределах нескольких километров от газона с которого взлетел . Да и бортовой вычислитель это не только проц с памятью. Еще и интерфейсы МКИО, РКИО и тд. Надо учесть накладные расходы на обмен с железом интерфейсов, чтобы посчитать "чистое время" процессора (то, что он потратит на Ваши алгоритмы). Крайне важно наличие кеша (LPC3000).

Тут я с вами согласен на 100%. Вот как раз на новой работе куда зовут прийдется делать именно вычислитель - вот я и присматриваюсь.

 

Вообщето я уже думаю не так BGA страшен как его малюют - отдать все неграм за деньги, они все пропаяют. Я и мои коллегами уже медленно подошли к пониманию - нада разрабатывать "системы из кубиков и идей как их соеденить", а кубики пусть делаю за деньги те кто их хорошо умеет паять.

 

Извеняюсь за местами каламбур в моих постах, колотит меня, шифер трескается - 17 мая зашита диссера, чето голова и нервы совсем никуда.

Изменено пользователем klen

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...