Перейти к содержанию
    

STM32F429 ethernet+PTP

Форумчанам привет!! Возникла задача одновременно запустить на устройствах в сети измерения через АЦП..Частота дискретизации ~33 Hz..собственно говоря я не понял из описания PTP,как мне обеспечить одновременность..ну получаю я метку времени,и что дальше с ней делать?И вообще,поможет ли мне PTP в данном случае?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Частота дискретизации ~33 Hz

Это прекрасно. А цифр по требованиям одновременности совсем нет?

 

собственно говоря я не понял из описания PTP,как мне обеспечить одновременность..ну получаю я метку времени,и что дальше с ней делать?

Советую забыть про микроконтроллеры. Лучше что-нибудь из гуманитарной сферы :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Вы ведь помните, что пакет в сети может иметь некоторую задержку распространения?

2. Насколько точное время начала измерения требуется? Милисекунды? Микросекунды?

И вообще, что измеряете?

Попробуйте поставить вопрос ребром - нельзя ли как-то иначе выполнить данную задачу?

Пока что даже по простой симуляции модели, могу получить разницу между "Отправкой команды" на преобразование данных до собственно, его начала в 2мс. И это при низкой загрузке сети и всего 2-3 коммутаторах в цепочке.

В случае отправки Broadcast запроса - его получит только локальный сегмент (до ближайшего "умного" коммутатора, который такой пакет может не пропустить в магистральный порт) сети.

При высокой нагрузке на коммутаторы - пакет легко может отстать на 5-20мс, особенно, если в коммутаторе есть поток с высоким приоритетом QOS.

 

Так что...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При высокой нагрузке на коммутаторы - пакет легко может отстать на 5-20мс, особенно, если в коммутаторе есть поток с высоким приоритетом QOS.

Это решаемо, если предположить, что время передачи пакета от клиента синхронизизации до сервера синхронизации одинаково (среда передачи изотропна). Хотя для Ethernet это конечно не совсем верно.

См. протокол SNTP например.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рассказывали как работает производственная линия филипс морис, по сигаретам. Там распределённая периферия.

Передаются пакеты контрольные - получается ответ. Измеряется время между запросом и ответом. Таким образом определяется задержка на получение команды по всей линии. Далее процессор при работе отдаёт команды с учётом задержки.

:rolleyes:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Для PTP выделено отдельное значение в поле типа Ethernet-кадра. Так что для таких кадров всякие свитчи могут давать "зелёную улицу" - наивысший приоритет передачи, минимизируя задержку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Начинайте синхронизацию PTP заранее, вернее она всегда должна быть включена после запуска сети. Предполагайте протокол оповещения о вываливании узла из синхронизации или входа в сеть нового узла. Заранее оповестите все узлы о времени начала измерений. Каждый узел рассчитает свою задержку до начала измерений и загрузит таймер задержки на запуск АЦП. Когда измерения закончатся- все узлы скинут пакет данных по сети. Возможно в пакт данных следует включить значение поля времени начала и конца измерений чтобы корректировать задержку по факту. Т.е если у данных с одного из узлов начало и конец измерений сильно разнятся с заданными, то что то там случилось и надо или отбросить данные, или перемерять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Форумчанам привет!! Возникла задача одновременно запустить на устройствах в сети измерения через АЦП..Частота дискретизации ~33 Hz..собственно говоря я не понял из описания PTP,как мне обеспечить одновременность..ну получаю я метку времени,и что дальше с ней делать?И вообще,поможет ли мне PTP в данном случае?

Посмотрите реализацию IEEE 61850-9-2 (SV) . Это то что вы хотите, только у вас частота существенно ниже (а значит проще).

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...