реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> У кого есть опыт реализации IEEE1588
Ivan79
сообщение Jun 17 2010, 11:20
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 17-04-06
Пользователь №: 16 203



Необходимо синхронизировать работу нескольких систем сбора информации расположенных на удалении от компьютеры в пределах соседних комнат/здания, при этом необходимо обеспечить их питание и высокую пропускную способность.

В настоящее время используется USB и в ряде случаев удлинитель USB(до 100м)

Не так давно появился стандарт 1588 для синхронизации устройств с высокой точностью, в частности через Ethernet.

Поддержка данного стандарта уже реализована в :
-ADSP-BF5181 (AD)
-Luminary (TI)
-STM32А107 (ST)
-DP83640(National)

Есть ли у кого опыт реализации этого стандарта?
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 17 2010, 12:15
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



А какая точность Вам нужна?

В USB, вроде, SOF приходит раз в 1 мс. Т.е. это совсем другой порядок - не тот, для которого задуман IEEE-1588
Go to the top of the page
 
+Quote Post
Ivan79
сообщение Jun 17 2010, 14:34
Сообщение #3





Группа: Участник
Сообщений: 14
Регистрация: 17-04-06
Пользователь №: 16 203



В USB SOF приходит каждую мс, но при этом точность синхронизации данных можно обеспечить с большей точностью.
У нас использовалась точность 5мкс.

1588 предназначен для синхронизации с точностью до нс, но при подключении устройств через роутер появляется дополнительная погрешность. При синхронизации с компьютером, Windows тоже вносит большую погрешность.

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

Но суть не в этом, меня интересует есть ли у кого опыт реализации, стоит ли вообще с этим связываться
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 18 2010, 14:13
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Если я правильно понимаю IEEE1588, то Windows тут ни при чем (роутеры тоже):
В Ethernet контроллере есть специальные аппаратные механизмы, которые помогают осуществить синхронизацию, каким бы ни было время обработки пакетов (в разумных пределах, конечно).
Принцип, на самом деле не сложен - но если нет аппаратной поддержки, то высокой точности не получишь.

Опыт...
Я жду звонок по телефону с целью синхронизации часов. Как только телефон зазвонил, я регистрирую время на своих часах, потом неспешно поднимаю трубку, здороваюсь, "как дела?...", попутно узнаю у звонящего сколько было времени, когда он начал вызов.
Из одного времени вычитаю второе и получаю разницу. Т.к. к своим часам доверия меньше, то подвожу их в нужную сторону.

Теперь два вопросика?
1. Если время прохождения вызова фиксированное, то проведя еще одну попытку синхронизации какую я получу разницу? Правильно, нулевую.
2. Если у телефона сижу не я, а нерасторопная бабушка, которая "ась? кого? сейчас?" - зовет меня, а я регистрирую не время звонка, а время когда я оказался у аппарата? Какую точность можно достичь?

IEEE1588 позаботились, чтобы время начала звонка регистрировалось самим телефонным аппаратом и всякие бабушки рояля не играли.

Кста, вопрос реализации - это одно, а дядька с точными часами - это другое)
Go to the top of the page
 
+Quote Post
Ivan79
сообщение Jun 21 2010, 12:19
Сообщение #5





Группа: Участник
Сообщений: 14
Регистрация: 17-04-06
Пользователь №: 16 203




Как все это работает в теории и от чего зависит точность я знаю, мне объяснять не надо.

Меня интересует как это реализовать и какую точность можно получить.

В интернете накопал, что при работе через Switches при низкой загрузке типовой jitter составляет 122 мкс, при максимальной загрузке от 360мкс до 1мс. Соответственно и точность такую получить можно.
Выход - использовать Switches с поддержкой 1588.

При синхронизации с компьютером без аппаратной поддержки есть готовые стеки, но точность я не нашел.

При подключении на прямую 2х устройств - The resulting mean error is 0.015 ns, and the standard deviation is 12.96 ns.
Go to the top of the page
 
+Quote Post
d1n1s
сообщение Jun 28 2010, 05:46
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 17-09-08
Пользователь №: 40 261



Я дела IEEE1588 на ПЛИСе) по протокол действительно работает в диапазоне десятков наносекуд только при соответствующей аппаратной поддержки на устройствах и коммуникационном оборудовании.
По поводу ПК, у фирмы IXXAT есть демо проги для винды и линукса, (для винды у меня получалась тоность порядка 5-10 милисекунд, при соединении на прямую)
Но по моему целесообразней всё же использовать NTP или SNTP, всё таки для компов уже много чего наделано, и точность в небольших сетях удволетворительная(думаю микросекунды получить можно).
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 16:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.014 секунд с 7
ELECTRONIX ©2004-2016