Какой выбрать DSP для расчета сложных форм сигналов?
Здравствуйте.
Последние несколько лет я работал лишь с микроконтроллерами в режиме строго реального времени. Обычно для моих задач вполне хватало какого-нибудь ARM с частотой >100 МГц в связке с FPGA.
Сейчас у меня задача - это формирование сложной формы сигналов, причем расчет мгновенного значения частоты должно происходить "на лету". Собственно система получается DSP -> FPGA -> ЦАП или DSP -> ЦАП. Частота обновления данных на ЦАПе должна быть не меньше 300 МГц. Соответственно DSP должен быть в состоянии это обеспечить. Расчеты скорее всего будут без использования чисел с плавающей точкой.
Также на DSP лежит интерфейсная часть (прием данных от внешнего устройства).
Т.к. с DSP до этого не работал, то сейчас затрудняюсь с его выбором. Что можете посоветовать исходя из поставленных условий?
Конечно понимаю, что такое краткое описание никак не описывает сложность применяемых алгоритмов, энергопотребление, стоимость системы в целом и ещё много различных аспектов, но сейчас для себя хотел бы узнать, что может теоретически подойти для моей задачи, какой уровень вхождения для конкретного DSP (при учете что более-менее знаю микроконтроллеры на ARM), насколько сложно вести разработку на голом железе (заметил, что некоторые DSP либо по Linux, либо под каким-нибудь RTOS), доступность средств отладки и ПО для разработки в Linux. В целом хочу получить ответы, с чего мне лучше начать.
Пока что прорабатываю вариант с KeyStone от TI, содержащие ядра ARM и C66xx (а точнее 66AK2L06), также, как вариант все расчет производить на каком-нибудь быстром FPGA со встроенными ядрами и вообще отказаться от DSP. Выбор 66AK2L06 обуславливается тем, что в нем есть также ARM ядра, на которые можно возложить интерфейсные взаимодействия.
Опять же, т.к. с DSP не работал, может выбор 66AK2L06 является ошибочным.
Вы ничего не сказали о ширине полосы обработки выходного сигнала, цап на 300 Мгц ничего не говорит, так как на такой частоте можно выводить как моно частоту , так и <150 Мгц широкополосный сигнал.
Вы не сказали про вид обработки и формирования "сложного сигнала" , можно его формировать налету из больших массивов памяти используя только DMA для пересылки отсчётов из памяти в ЦАП , а может вам придётся проводить сложную фильтрацию или расчёт выходных отсчётов с помощью математических формул.
Я бы всё делал на FPGA .