gerber 7 18 декабря, 2023 Опубликовано 18 декабря, 2023 · Жалоба Есть проект для Lattice FPGA серии CrossLink-NX LIFCL-40, в числе прочего в проекте есть видеоконтроллер, выдающий поток на HDMI transmitter TFP410. На FPGA заведен выход внешнего генератора 60 МГц на один из входов PCLK. Однако видеоконтроллер, для правильного формирования развёртки HSYNC/VSYNC и вывода пиксельной информации требует в качестве опорного тактового сигнала вполне определённую частоту, зависящую от разрешения. Например, для 800х600х72 Hz эта частота 50 МГц. Для формирования такой частоты пытаюсь использовать PLL - с помощью IP wizard создаю PLL, указываю входную частоту 60 МГц, желаемую выходную 50 МГц, конфигурация проходит успешно, Tolerance 0.0 %, выход CLKOP с PLL идёт на вход видеоконтроллера, однако видеоконтроллер с такой опорой отказывается работать, изображения нет. Вывел выход PLL на отладочную ногу, смотрю осциллографом, частота 50 МГц есть, но даже осциллографом видно, что она "плавает", то есть периодически плавно меняется. Видимо, это и есть причина неработоспособности видеовыхода. В то же время на борту FPGA есть свой источник частоты 150 МГц генератор OSC, если ему задать делитель 3 и из него получить 50 Мгц, то HDMI выход работает отлично. Ранее работал с FPGA Xilinx и особых проблем с PLL на борту не встречал. Может быть, у Lattice есть какие-то нюансы, хотя с виду IP-блок довольно простой, на входе RST и CLKi, на выходе CLKOP и LOCK, в конфиге указываются частоты входа и выхода, блок сам рассчитывает множитель и делитель, есть ещё Feedback Mode, который указан как CLKOP. Что может быть не так с PLL? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 1 18 декабря, 2023 Опубликовано 18 декабря, 2023 · Жалоба On 12/18/2023 at 1:05 PM, gerber said: частота 50 МГц есть, но даже осциллографом видно, что она "плавает" может быть где-то в опциях есть пункт "spread specrtum" - если такое включить, то частота и будет плавать относительно центральной. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 18 декабря, 2023 Опубликовано 18 декабря, 2023 · Жалоба On 12/18/2023 at 1:05 PM, gerber said: Что может быть не так с PLL? DC and Switching Characteristics - смотрели ? Документ sysCLOCKPLLDesignandUsageGuide - смотрели ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 7 18 декабря, 2023 Опубликовано 18 декабря, 2023 · Жалоба 1 час назад, Yuri124 сказал: может быть где-то в опциях есть пункт "spread specrtum" - если такое включить, то частота и будет плавать относительно центральной. Spread Spectrum выключено. 1 час назад, dimka76 сказал: DC and Switching Characteristics - смотрели ? Смотрел, входная частота 18-500 МГц, выходная до 800 Мгц. И (я так думаю) за соблюдением условий должен следить IP wizard. И он следит, при указании частоты, которую невозможно синтезировать, он сообщает об этом. 1 час назад, dimka76 сказал: Документ sysCLOCKPLLDesignandUsageGuide - смотрели ? Смотрел, конечно, никаких противоречий с моим пониманием вопроса не нашёл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Viktuar 0 20 декабря, 2023 Опубликовано 20 декабря, 2023 · Жалоба On 12/18/2023 at 2:43 PM, gerber said: Spread Spectrum выключено. А вообще плавание частоты соответствует параметрам spread spectrum? А то может галка не стоит, а на самом деле включено (например, раньше по умолчанию было отключено, а для включения указывали ключ, а потом стало наоборот, но скрипт не поменяли). Я помню, у них как-то была такая ситуация с автокоррекцией холдов в даймонде. Посмотрите команду, которая генерирует pll и попробуйте поиграться с ключами, может что и получится. Или можно попробовать другие версии IDE. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться