Эталонная частота PCIE

Недавно я завершил разработку линейной карты PCI-E Gen 1.0. Линейная карта состояла из 4 Spartan 6 FPGA, использующих один эталонный такт PCIE. В начале разработки было принято решение использовать исключительно эталонные часы PCIE для тактирования всей внутренней логики от этих эталонных часов PCIE, поэтому встроенный кристалл на плате не использовался. FPGA взаимодействуют с сервоприводами на другой стороне через интерфейс 10/100MBS, а FPGA используют DCM для разделения эталонной частоты PCIE на 25 МГц и используются для интерфейса MII и PHY. На интерфейсе PHY было много действительных ошибок приема данных, которые были связаны с эталонной тактовой частотой PCIE и присущим ей дрожанием от 30 кГц до 33 кГц (модуляция с расширенным спектром). Мы решили отключить функцию SSC в программном обеспечении хоста, и мы перестали видеть ошибку приема, и все вернулось в норму. Я хотел спросить и посмотреть, есть ли у других опыт использования часов PCIE-ref для синхронизации всей логики FPGA, включая интерфейс PHY 25 МГц. У меня сложилось впечатление, что DCM FPGA очистит эталонные часы PCI после того, как они попадут в жесткий макрос PCIE MGT, прежде чем они будут разделены. Это мой первый дизайн FPGA, и поэтому я был бы признателен за некоторое понимание.

Какова была спецификация таблицы данных для требуемых входных часов? Какой физ вы используете? В моем последнем проекте я решил разместить генератор на плате специально для Ethernet, потому что DCM/PLL FPGA не соответствовали спецификации джиттера тактового сигнала.
@stacey, PHY - DP83849, а спецификация джиттера для эталонного тактового сигнала TX - 1,4 нс. Максимальный джиттер входного тактового сигнала FPGA: макс. 1 нс. Я думаю, что DCM в FPGA может учитывать высокочастотный детерминированный джиттер до 1 нс. Но я не вижу никаких документальных доказательств того, что он отслеживает часы, которые намеренно блуждают с шагом 30-33 кГц. Как я уже упоминал, теперь все стало лучше, когда мы отключили функцию расширения спектра, а тактовая частота установлена ​​на уровне 100 МГц +/-300 PPM.

Ответы (1)

Все, что может сделать DCM, это добавить джиттер — это линия задержки с отводами, поэтому выходные часы могут дрожать при изменении отводов. И по той же причине он не может удалить уже имеющийся джиттер.

Если вы хотите «очистить» тактовый сигнал, вам нужно использовать PLL — проверьте техническое описание, чтобы увидеть, могут ли PLL PLL справиться с тактовым сигналом PCIe с расширенным спектром. Или используйте специальное устройство PLL для очистки часов.