Crowbar 0 6 апреля, 2015 Опубликовано 6 апреля, 2015 · Жалоба Начали работать с физикой 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 0 8 апреля, 2015 Опубликовано 8 апреля, 2015 · Жалоба C PTP на данной мсх не работал. Хотя очень активно ее используем в качестве ETh PHY. Может фазировка идет по PPS? Я 1588 собираюсь делать на АЛьтере. В еешней корке есть выход PPS и значение счетчика в ns. Из счетчика делаешь нужную частоту. А фазу по PPS. Потом, при необходимости, можно пропустить еще через jitter cleaner. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Crowbar 0 8 апреля, 2015 Опубликовано 8 апреля, 2015 · Жалоба Дело в том, что готового формирователя 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 0 8 апреля, 2015 Опубликовано 8 апреля, 2015 · Жалоба А ПЛИС у вас есть? Как крайний вариант в нее затащить 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 0 8 апреля, 2015 Опубликовано 8 апреля, 2015 · Жалоба ПЛИС на плате нет. 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 1 31 мая, 2015 Опубликовано 31 мая, 2015 (изменено) · Жалоба Еще раз повторюсь: пока я вижу, что механизм step adjustment работает только со счетчиком (что самое интересное datasheet на DP83640 тоже только про этот функционал говорит). Я пробовал на плате делать step adjust на значения до 200нс - CLK_OUT при этом не сдвигался. Удалось получить заявленные в AN-1963 характеристики по девиации для 20% загрузки свитчей? добились результатов, приведенных на стр.8 в AN-1730 Отличный результат у них получился! А куда заводите CLK_OUT? Изменено 31 мая, 2015 пользователем LexaryStyle Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться