Метки времени PTP 1588
В PTP
1588, пакеты с отметкой времени означают время, когда первый битPTP
пакет выходит из пин-кода устройства?
Означает ли это, что если это время нужно подавать в пакете, PTP
стек должен знать, сколько времени от данного этапа в PTP
стек до тех пор, пока вывод устройства не будет занят этим PTP
пакет?
так что время можно заранее подать в пакете?
2 ответа
Да, я думаю, что в стандарте IEEE1588 есть определение, где именно находится точка отметки времени. Не так важно, где именно находится эта точка, потому что задержка (пока она постоянная) будет компенсирована.
Обычно, когда вы используете PTP, у вас есть аппаратный блок временной метки (TSU), который имеет цифровые часы, которые можно настроить с помощью программного обеспечения. Отметка времени может быть реализована либо в PHY (микросхема, которая управляет проводом), либо в MAC (периферия ЦП, которая буферизует кадры до тех пор, пока программное обеспечение не успеет их прочитать).
При распознавании кадра PTP обычно текущая отметка времени, а также порядковый номер PTP и тип сообщения сохраняются в отдельной памяти, чтобы ЦП мог извлечь ее позже. Затем ЦП будет использовать эту информацию для настройки часов TSU (обычно не таких, как нормальное системное время, видимое из ОС). Затем часы TSU используются программно-программным оборудованием, например, для отметки времени внешних сигналов или для генерации точных импульсов. Обычно он не используется непосредственно программным обеспечением, потому что это добавило бы многие из непредсказуемых задержек, которых можно было избежать за счет использования аппаратных меток времени.
Вы не можете просто добавить метку времени к кадру, потому что тогда ЦП не сможет получить какие-либо метки времени передачи. Если программное обеспечение делает какие-либо отметки времени на ЦП, точность PTP обычно теряется из-за множества неопределенностей (например, задержки прерывания, задержки планировщика, очереди и т. Д.)
Однако кадры PTP также содержат поле коррекции, которое может быть скорректировано на лету аппаратными компонентами, например, коммутатор может добавлять задержку пересылки прямо в кадр, изменяя ее на лету и вычисляя новую контрольную сумму.
OP: В PTP 1588 пакеты с меткой времени означают время, когда первый бит пакета PTP покидает контакт устройства?
... так что это не просто момент, когда "первый бит.. уходит", а начало этого информативного бита: выход или вход.
Если иное не указано в приложении к настоящему стандарту, относящемуся к транспорту, точкой отметки времени сообщения для сообщения о событии должно быть начало первого символа после разделителя начала кадра (SOF). IEEE 1588- 2 008 7.3.4.1 Событие Точка сообщение временной метки
OP: Означает ли это, что если это время должно быть передано в пакет, стек PTP должен знать, сколько времени от данного этапа в стеке PTP до вывода устройства будет занято этим пакетом PTP? так что время можно заранее подать в пакете?
Это один курс.
Безусловно, более точный, хотя и сложный подход - ввести информацию о времени в более поздние части пакета. Любая конечная CRC также требует вычисления в реальном времени.
1588 не определяет реализацию того, как достичь своей цели.