Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: DP83640 синхронизация по фазе CLK_OUT
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Fast Ethernet/Gigabit Ethernet/FibreChannel
Crowbar
Начали работать с физикой DP83640, которая помимо встроенного механизма синхронизации часов согласно IEEE1588 PTP имеет возможность синтезировать частоту CLK_OUT. Помимо того, что CLK_OUT с помощью механизма rate adjustment следует частоте PTP ядра (счетчик, они же часы PTP Clock), заявлено, что CLK_OUT можно сфазировать относительно PTP часов.
С первого взгляда документация на этот чип богатая, но при полном прочтении возникает больше вопросов чем понимания. В частности пока не понятно как устроен механизм фазировки CLK_OUT относительно локальных часов. Может кто работал с этой физикой и реализовывал механизм подстройки CLK_OUT по фазе относительно PTP часов и подскажет, правильны ли следующие утверждения:
1) Прямого механизма двигать CLK_OUT по фазе нет, и единственная возможность приблизить фронт CLK_OUT к нужным значениям счетчика PTP Clock это "двигать" сам счетчик с использованием механизма step adjustment (сомнительный подход, но другого пока не видно)
2) Точность фазирования будет +-8ns так как счетчик работает на частоте 125 МГц, а step adjustment это просто увеличение/уменьшение значения счетчика на заданную величину
3) Механизм step adjustment не влияет на фазу CLK_OUT при любых значениях задаваемого шага
gosu-art
C PTP на данной мсх не работал. Хотя очень активно ее используем в качестве ETh PHY.
Может фазировка идет по PPS?
Я 1588 собираюсь делать на АЛьтере. В еешней корке есть выход PPS и значение счетчика в ns.
Из счетчика делаешь нужную частоту. А фазу по PPS. Потом, при необходимости, можно пропустить еще через jitter cleaner.
Crowbar
Дело в том, что готового формирователя PPS импульсов в DP83640 нет, есть более интересный механизм: триггеры, по которым относительно PTP Clock (счетчик) можно различные импульсы генерировать (в том числе и PPS) c дискретностью в 8ns. Как раз запасной вариант у меня частоту с триггера и выводить, а далее ее через ФАПЧ умножить и почистить. Пока хочется разобраться как разработчики данной мс смогли двигать фазу CLK_OUT относительно счетчика и добились результатов, приведенных на стр.8 в AN-1730 DP83640 Synchronous Ethernet Mode: Achieving Sub-Nanosecond Accuracy in PTP Applications, а также как на видео, начиная с 3:30: http://www.youtube.com/watch?v=6vyr7dFU_O4
gosu-art
А ПЛИС у вас есть? Как крайний вариант в нее затащить CLK_OUT и PPS. И там уже сделать нужный клок с нужной фазой.
А это смотрели ? AN-1729 DP83640 IEEE 1588 PTP Synchronized ClockOutput
Цитата
3.2 Phase Alignment
Aligning the phase of the clock output requires the following steps:
1. Ensure the clock output pin is enabled.
2. Prior to enabling the PTP synchronization protocol, enable the clock output and the PTP clock.
3. Enable an event monitor for a single event to catch the rising edge of the clock output pin.
4. Determine clock output offset from aligned expected time: clock output period – (event timestamp mod
clock output period).
5. Do a step adjustment to align the clock output.
6. During synchronization, all step adjustments should be in units of the clock output period.
Example: Phase alignment of a 10 MHz clock output:
Crowbar
ПЛИС на плате нет. AN-1729 я смотрел, раздел про rate adjustment вопросов не вызывает: все согласно функционалу и регистрам, описанным в основном datasheet'е. А вот раздел про phase Alignment вызывает вопросы. Так например, описанный алгоритм если посмотреть внимательно двигает не фазу CLK_OUT а сам PTP Clock т.е. получается не CLK_OUT двигается к нужным значениям счетчика, а сам счетчик к CLK_OUT. Поэтому если на стороне мастера мы привяжем счетчик к источнику точного времени, то описанный алгоритм никоим образом сам CLK_OUT к нужным отсчетам (PPS например) источника точного времени не подвинет, более того, он еще и сами PTP часы сместит, что скажется на всех ведомых устройствах в сети.
Еще раз повторюсь: пока я вижу, что механизм step adjustment работает только со счетчиком (что самое интересное datasheet на DP83640 тоже только про этот функционал говорит). Я пробовал на плате делать step adjust на значения до 200нс - CLK_OUT при этом не сдвигался.
LexaryStyle
Цитата(Crowbar @ Apr 7 2015, 21:12) *
Еще раз повторюсь: пока я вижу, что механизм step adjustment работает только со счетчиком (что самое интересное datasheet на DP83640 тоже только про этот функционал говорит). Я пробовал на плате делать step adjust на значения до 200нс - CLK_OUT при этом не сдвигался.

Удалось получить заявленные в AN-1963 характеристики по девиации для 20% загрузки свитчей?

Цитата
добились результатов, приведенных на стр.8 в AN-1730

Отличный результат у них получился!

А куда заводите CLK_OUT?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.