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

По поводу построения сигма-дельта ЦАП у Xilinx есть апликуха с кодом на Верилоге xapp154 Synthesizable Delta-Sigma DAC, проверял работает (кстати в xapp155 дается сигма-дельта АЦП).

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


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

Залил в upload/BOOKS/

Спасибо, добрый человек!

Когда разбирался с сигма-дельта модуляторами, половина всех статей ссылается на этот "Андырстендинг", который я так и не смог найти :(

 

Есть ещё хороший материал для ознакомления:

www.cscamm.umd.edu/programs/ocq05/adams/adams_ocq05.pdf

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

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


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

По поводу построения сигма-дельта ЦАП у Xilinx есть апликуха с кодом на Верилоге xapp154 Synthesizable Delta-Sigma DAC, проверял работает (кстати в xapp155 дается сигма-дельта АЦП).

 

Спасибо. Нашел вот описание на него. Как бы обозвать сам код на Verilog, ШИМ конвертор? Тут нашел интересную информацию по данному поводу. Цап-ом называется конструкция код+фильтр.

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


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

Попалась на глаза эта тема и заинтересовала.

Возник вот такой вопросик. В целях удешевления борды (не ставить внешние DACи), возможно ли на втором сыклоне сделать 8-битный DAC с выходной частотой 40MHz?

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


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

возможно ли на втором сыклоне сделать 8-битный DAC с выходной частотой 40MHz?

 

С Altera не работал, но на Xilinx можно, используя IP-Core осцилятор, сгенерировать 40 МГЦ, а дальше с помощью xapp154 Synthesizable Delta-Sigma DAC.

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


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

При использовании ядра NCO ЦАП все равно потребуется. Иначе как цифровой код в аналог переводить.

 

Сделать полосовой сигма-дельта ЦАП можно - надо взять прототип сигма-дельта модулятора нижних частот, заменить все элементы z^-1 на -z^-2 (то есть вместо одного элемента задержки сделать задержку на два такта и отрицание) и запустить его на частоте в 4 раза выше требуемой несущей (это самый простой способ, можно также сделать модулятор с произвольной, и даже, перестраиваемой на лету центральной частоой, но тогда архитектура усложнится). Будет ли такое решение дешевле и эффективнее, чем подключение внешнего ЦАП - большой вопрос, поскольку понадобится внешний полосовой фильтр для устранения внеполосного шума модулятора.

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


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

При использовании ядра NCO ЦАП все равно потребуется. Иначе как цифровой код в аналог переводить.

 

А чем плох, модулятор для ЦАП на ПЛИС:

 

    ‘timescale 100 ps / 10 ps
    ‘define MSBI 7 // Most significant Bit of DAC input
    //This is a Delta-Sigma Digital to Analog Converter

     module dac(DACout, DACin, Clk, Reset);
     output DACout; // This is the average output that feeds low pass filter
     reg DACout; // for optimum performance, ensure that this ff is in IOB

input [‘MSBI:0] DACin; // DAC input (excess 2**MSBI)
input Clk;
input Reset;

reg [‘MSBI+2:0] DeltaAdder; // Output of Delta adder
reg [‘MSBI+2:0] SigmaAdder; // Output of Sigma adder
reg [‘MSBI+2:0] SigmaLatch; // Latches output of Sigma adder
reg [‘MSBI+2:0] DeltaB; // B input of Delta adder

always @(SigmaLatch) DeltaB = {SigmaLatch[‘MSBI+2], SigmaLatch[‘MSBI+2]} << (‘MSBI+1);

always @(DACin or DeltaB) DeltaAdder = DACin + DeltaB;

always @(DeltaAdder or SigmaLatch) SigmaAdder = DeltaAdder + SigmaLatch;

always @(posedge Clk or posedge Reset)

begin
       if(Reset)
          begin

          SigmaLatch <= #1 1’bl << (‘MSBI+1);
          DACout <= #1 1‘b0;
         
         end
else

begin
     
       SigmaLatch <== #1 SigmaAdder;
       DACout <= #1 SigmaLatch[‘MSBI+2];
end
end
endmodule

 

 

Получить по DACout ШИМ последовательность и ее уже не фильтр.

 

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


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

Если просто взять сгенерировать сигнал с частотой 40 МГц и подать его на модулятор из XAPP154, ничего хорошего не выйдет, потому что там, если я правильно понял при беглом взгляде, модулятор типа lowpass (нижних частот). Частота среза передаточной характеристики по шумам у lowpass модулятора, даже при максимальной тактовой частоте FPGA, будет ниже 40 МГц и шум на этой частоте уже будет большим - разрешения 8 бит не получится. Чтобы получить полосу 40 МГц при помощи Lowpass сигма-дельта модулятора нужна тактовая частота около 1 ГГц, или больше, и сам модулятор должен быть уже третьего-четвертого порядка.

 

 

 

А чем плох, модулятор для ЦАП на ПЛИС:

 

 

Получить по DACout ШИМ последовательность и ее уже не фильтр.

 

То ли я пост не до конца прочитал, то ли Вы быстро его отредактировали, но я видел в нем только упоминание ядра NCO, а про XAPP154 ничего не заметил. Если что, sorry, к вечеру мозг отказывается нормально соображать.

 

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


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

Попалась на глаза эта тема и заинтересовала.

Возник вот такой вопросик. В целях удешевления борды (не ставить внешние DACи), возможно ли на втором сыклоне сделать 8-битный DAC с выходной частотой 40MHz?

 

А что такое выходная частота ЦАП? Частота смены данных?

 

ИМХО: Если использовать сигма-дельта первого порядка и однобитный ЦАП, то отношение С/Ш с передискретизацией улучшается примерно 9 дБ/октава. 8 бит реальный ЦАП будет иметь около 40 дБ С/Ш. То есть Вам нужно будет сделать передискретизацию минимум на 4 октавы, то есть выходная частота однобитного ЦАП будет 40МГц*16раз. Можно сделать сигма-дельта второго порядка, тогда отношение С/Ш будет улучшаться 15дБ/октава и частота дизайна будет выше 40МГц*4раз.

 

Можно попробовать 2-битный вывод с цепочкой R-2R, в этом случае скорострельности должно хватить. И еще вклад джиттера было бы неплохо подсчитать.

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


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

Спасибо Всем за ответы и ссылки, особенно Aleksandr_KPI! Покурил XAPP154 всё красиво, но увы, для моего случая такой вариант не прокатит по скорости. :crying:

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


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

Спасибо Всем за ответы и ссылки, особенно Aleksandr_KPI! Покурил XAPP154 всё красиво, но увы, для моего случая такой вариант не прокатит по скорости. :crying:

Можно сделать модулятор второго порядка, однобитный поток вытащить через LVDS + сериализатор. Судя по спецификации циклона 2, такое возможно.

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


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

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

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

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

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

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

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

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

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

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