SMaster 0 5 октября, 2006 Опубликовано 5 октября, 2006 · Жалоба Задача следующая: Имеется аналоговый сигнал X, на выходе устройства необходимо получить аналоговый сигнал Y=f(X). Необходимая полоса - не менее 3МГц. Функция f() должна задаваться внешним микроконтроллером. Точность не менее 0.1%. Также необходимо уметь ее менять с помощью внешнего контроллера в режиме реального времени с частотой герц эдак 10-100. ФП необходим для имитатора солнечной батареи - формирует ее вольтамперную характеристику, которая может меняться при входе в тень, выходе из нее, при попадании в батарею метеорита, кометы, атомной бомбы и т.д. :) Я вижу следующие варианты решения: 1. DSP. DSP должен иметь быстрые ЦАП и АЦП (минимум 10-разрядные). Затруднения в этом случае - цена и отсутствие опыта работы с DSP. 2. АЦП - контроллер - ЦАП. Вариантов работы контроллера здесь несколько. Первый - контроллеру функция передается в виде кусочно-ломанной, он считывает данные АЦП, высчитывает значение функции, и выдает его на ЦАП. В этом случае требуется выкокая производительность (не забываем об общении с внешним контроллером для получения новой функции). Второй - контроллеру передаются значения функции во всех 1024 точках, тогда значение с АЦП является неким адресом в памяти, откуда берется значение функции и передается на ЦАП. В этом случае надо более 2Кб памяти данных и опять же достаточная производительность. 3. АЦП - память с параллельным интерфейсом - ЦАП. Здесь ставим две памяти параллельно и пока одна работает, в другую заливаем значения новой функции. Здесь нужно подобрать элементы, которые хорошо будут друг друга переваривать. Этим вопросом пока не занимался. Какие у вас будут предложения/замечания по данному вопросу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 5 октября, 2006 Опубликовано 5 октября, 2006 · Жалоба Наверное лучший вараинт будет АЦП-проц-ЦАП или АЦП-плис-ЦАП. А вообще Вы явно разделом промахнулись :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться