Технический форум по робототехнике.
executer » 18 июн 2010, 23:11
Пока только мысли в голове - но задача состоит в том чтобы быстренько считывать данные с 8-бит АЦП в небольшой буфер (десятки ячеек) и в потоке проводить некоторые целочисленные вычисления с ними (вычитание, сложение, сравнение на больше-меньше).
Около 80 нс на цикл между выборками с АЦП. В каждом цикле нужно успеть перебрать с десяток значений в буфере и выплюнуть одно во внешнюю память + какой нибудь запас по быстродействию.
Вопрос - на чем это правильнее реализовать?
- МК вроде как не успевает
- программируемая логика - я не в курсе, есть ли там готовые блоки для сравнения байтов и операций над ними, адресации и т.д.?
- DSP - чтото многопотоковое, низкоуровневое, страшное. Для какогонибудь НИИ по зубам будет.
=DeaD= » 18 июн 2010, 23:21
80ns это уже частота порядка 12.5MHz, а у вас надо перебрать 10 значений, какие-то операции с ними поделать и вывести. Попахивает каким-нибудь АРМ7 + внешним АЦП наверное... если искать пути попроще. ПЛИС вроде обычно без АЦП идут один фиг?
executer » 18 июн 2010, 23:31
Внешний АЦП и думается какраз. Вопрос в том насколько легко несложную математику на ПЛИС реализовать? Не придется ли все из И-ИЛИ элементов городить?
=DeaD= » 18 июн 2010, 23:42
А точно арм7 не хватает?
Добавлено спустя 33 секунды:
Просто одно дело - несложную математику, и совсем другое - какие-то алгоритмы, может они не так уж и хорошо параллелятся.
Michael_K » 18 июн 2010, 23:46
dsp это немного мимо (да и сдают позиции сейчас)
внешний АЦП + плис - самое то.
Простая арифметика там легко реализуется.
Добавлено спустя 2 минуты 33 секунды:executer писал(а):Не придется ли все из И-ИЛИ элементов городить?
если сами не захотите...
=DeaD= » 18 июн 2010, 23:46
Так ему не только арифметику, а еще и буфер и переборы и еще может чего
Michael_K » 18 июн 2010, 23:49
не-не... это все делается...
Может быть подумать, как разложить алгоритм попонятнее в железе...
но и в лоб с буфером и перебором можно.
=DeaD= » 18 июн 2010, 23:53
Это понятно что делается, вопрос в том, - точно арм7 не хватит?
ПЛИСка вроде по определению более сложная, хотя тут вон StArt с ПЛИС начал по работе
Michael_K » 18 июн 2010, 23:55
У STARTa уже серьезные достаточно кристаллы.
Для такой задачи серии MAX от альтеры имхо хватит...
Ну на алгоритмы посмотреть конечно надо...
Они (МАКСы) простые и понятные. Тулзы бесплатные.
executer » 18 июн 2010, 23:59
Меня смущает сильная избыточность АРМа для этой задачи, а следовательно и сложность конфигурирования. Получится что месяц буду разбираться как все лишнее выключить и 2 дня алгоритм обкатывать.
Пока обкатываю алгоритм на Си++ на ПК, но похоже параллелится будет отлично, может даже от циклов уйти получится. Разберусь с алгоритмом - буду по ПЛИС смотреть как их готовить и с чем употреблять.
А с другой стороны АРМ конешно погибче, блин...
Добавлено спустя 1 минуту 18 секунд:
А Протеус и с тем и с другим нормально дружит?
Michael_K » 19 июн 2010, 00:04
Да арм имхо если и получится, то по-любому впритык будет молотить...
Добавлено спустя 1 минуту 18 секунд:
Ну с какой частотой вы его запустите? сто мегагерц - это всего-то 8 тактов на выборку...
Ну не девятку же ставить 400-мегагерцовую...
blindman » 19 июн 2010, 06:04
Про процессоры можно даже и не думать. За 80 нс просто прочитать десяток ячеек памяти - это уже 10 операций, плюс хотя бы одну операцию над каждым значением - уже 20. Плюс затраты на поддержание буфера - еще с десяток. Уже под 400 МГц, без учета принятия решений после операций. Плюс сброса конвейера. А обрабатывать надо не 10 значений, а десятки. Только ПЛИС.
elesy » 19 июн 2010, 06:25
ПЛИС + внещний АЦП, однозначно. Но брать не CPLD а FPGA. Так как потребуется память для буферов. Плюс более толстая. Аппетит приходит во время еды. Писать лучше на верилоге, хотя бы модули. Потом их можно уже соединять схемно. Хотя в Катусе можете найти много готовых модулей. Берите первого циклопа и не партесь.
Michael_K » 19 июн 2010, 07:10
elesy писал(а):циклопа
дада... это как ставить АРМ с цветным тачскрином для управления двумями маторчегами...
Тут так принято
))
elesy » 19 июн 2010, 08:52
Michael_K писал(а):elesy писал(а):циклопа
дада... это как ставить АРМ с цветным тачскрином для управления двумями маторчегами...
Тут так принято
))
Давайте посчитаем по ресурсам - хотя бы буферов и будет видно что СПЛД не катит. А у циклопа есть блоки внутреней памяти