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

K A A

Участник
  • Постов

    35
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные K A A


  1. Сейчас у меня возникли ещё несколько вопросов:

    1. Поддерживает ли микросхема AD9833 изменение скважности прямоугольного сигнала напрямую (заложена ли в нее данная функция)?

    2. Если поддерживает, тогда как регулируется величина скважности (какими регистрами и битами это задается)?

    3. Если не поддерживает, тогда какими способами можно регулировать скважность прямоугольного сигнала после выхода микросхемы AD9833.

     

    1. нет

    3. на выходе AD9833 можно поставить компаратор, на один вход которого подавать треугольник (подфильтрованный!) с AD9833, а на другой постоянный уровень, которым и регулировать скважность. Замечу, что есть AD9834, в котором есть компаратор, но с его помощью можно получить только меандр, т. к. его вход развязан через конденсатор и сравнение производится с нулем.

  2. Спасибо что напомнили про необходимость изучения аномалий. Я раньше не работал со SPORT, только с SPI, и не понял до конца принцип его работы: генерируется ли в SPORT тактовая постоянно (если выбран режим приема с внутренней генерацией тактовой)? Если она генерируется постоянно и не используется кадровая синхронизация (а может нет такого режима?), то что произойдет, когда вся очередь заполнится?

    У меня задача подключить к BF531 два АЦП AD7690 (18 бит) через SPORT (SPI занят для других целей). Цифровые линии АЦП я хочу соединить последовательно (Chain mode) и последовательно принимать по 2 18-разрядных слова. Пока придумал такой алгоритм:

    1. по готовности АЦП прерывание - запускаем SPORT на прием с внутр. тактовой

    2. по готовности каждого слова - прерывание - считываю его

    3. после готовности второго слова останавливаю порт.

    Я понял, что одним прерыванием не обойтись.

  3. Edmundo, Здравствуйте , нам необходимо менять не только частоту выходного сигнала, но и его форму т.е. переключать либо синус либо треугольник, А микросхема AD9833 это умеет?! , по видимому, как я понял, выбор формы сигнала устанавливается в Control Register, так ли это, и как его изменять?

     

    Внимательно изучи принцип работы DDS. Качественного треугольника может не получиться (подъем и спад будут хорошими, а вершинки могут болтаться, т.е. их форма не будет повторяться от периода к периоду). Все зависит от соотношения частот (тактовой и выходной) и требований к точности.

  4. Возник такой вопрос: хочу подключить последовательный АЦП (AD7688) через SPORT к Blackfin. Нужно, чтобы частота синхронизации генерировалась процессором. НО, хотелось бы, чтобы она генерировалась не постоянно, а только в моменты непосредственного чтения данных (хочу, чтобы в фазе преобразования АЦП все цифровые сигналы на ногах АЦП молчали). АЦП может генерировать запрос прерывания по окончании преобразования. Читал мануал по SPORT, вроде аппаратно это сделать не удастся. Так ли это? Возиться с двумя прерываниями не хочется (одно по готовности АЦП для запуска последовательного порта, другое по готовности данных для его останова).

  5. Попробуйте применить DDS (прямой цифровой синтез) или, по крайней мере, применить те же алгоритмы

    Это же чистая табличная реализация, с нее-то и начинали. А в Spartan'е, между прочим, память свободная не завалялась? А то можно взять и просто сделать аккумулятор фазы бита на 32 и иметь ~0,01Гц разешение (см. теорию DDS лучше по datasheet на AD9854) . Хотя -90dB получишь где-то в районе 32к-точечной таблицы...

     

    Я реализовал DDS на сигнальном процессоре. Для сокращения объема выборок (оставил 1024 отсчета) использовал линейную интерполяцию между соседними отсчетами (старшие 10 бит фазового аккумулятора адресуют выборку из таблицы, а младшие (32-10) бит используются для интерполяции). На интерполяцию ушло 2 умножения и 3 сложения. Проверял в MathCad, отличие от чистой синусоиды не более 5*10^-4 % (я, правда, не учитывал, что выборки 16-битные).

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