Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подключение 2-х канального ЦАП к fpga
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
fertna18
Уважаемые форумчане подскажите новичку. Необходимо подключить цап. Выдать на него синусоиду. ЦАП имеет две диф шины - для чётных и нечётных данных. Каким образом мне разбить поток на четные и нечётные значения?
Lmx2315
а как цап называется?
fertna18
Цитата(Lmx2315 @ Jun 16 2018, 15:13) *
а как цап называется?

Ad9739
Lmx2315
https://wiki.analog.com/resources/fpga/xilinx/fmc/ad9739a?s[]=ad9739a
тут смотрите референсы

какой-то код, возможно тот что надо

https://github.com/analogdevicesinc/fpgahdl...log/cf_dac_if.v
fertna18
Цитата(Lmx2315 @ Jun 16 2018, 18:45) *
https://wiki.analog.com/resources/fpga/xilinx/fmc/ad9739a?s[]=ad9739a
тут смотрите референсы

какой-то код, возможно тот что надо

https://github.com/analogdevicesinc/fpgahdl...log/cf_dac_if.v

Я читал эту инфу - там с использованием микроблейза, а мне необходимо чисто на vhdl
Amurak
Цитата(fertna18 @ Jun 16 2018, 17:43) *
Уважаемые форумчане подскажите новичку. Необходимо подключить цап. Выдать на него синусоиду. ЦАП имеет две диф шины - для чётных и нечётных данных. Каким образом мне разбить поток на четные и нечётные значения?


Код
signal din_sw : std_logic := '0';
signal din, dout_odd, dout_even : std_logic_vector(13 downto 0) := (others => '0');
--

process(CLK)
begin
    if (rising_edge(CLK)) then
        din_sw <= not din_sw;
        if (din_sw = '0') then
            dout_odd <= din;    -- нечетные
        else
            dout_even <= din;    -- четные
        end if;
    end if;
end process;


После этого нужно пересинхронизировать данные с CLK на CLK/2.
fertna18
Цитата(Amurak @ Jun 17 2018, 05:29) *
После этого нужно пересинхронизировать данные с CLK на CLK/2.

Спасибо. Но как раз таки здесь я и столкнулся с проблемой. Тактирование ЦАП - DACclk=2100 MHz. На плис поступает DACclk/4. DDS - максимальная 550 MHz, поэтому 525 нормально. Но вот и как мне сделать clk/2?
fertna18
Цитата
Спасибо. Но как раз таки здесь я и столкнулся с проблемой.

Вроде разобрался. Просто поставлю serdes да и всё.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.