ARM_tester 0 13 сентября, 2012 Опубликовано 13 сентября, 2012 · Жалоба Для реализации TCP стека решено использовать аппаратные решения (типа WizNet), но задумался, когда появилась необходимость в синхронизации времени по IEEE1588. Не хочется переходить к "программным" реализациям и ковырять пакеты руками. Есть ли аппаратные решения? Нашёл такое http://www.ti.com/product/DP83640#description но как скрестить с модулем Wiznet - ума не приложу... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 13 сентября, 2012 Опубликовано 13 сентября, 2012 · Жалоба для ieee1588 вроде как хотя бы на MAC уровне надо время засекать (причем аппаратно) когда пакет прилетел/улетел, а тут всё внутри даже включая PHY. Tак что если уж не умеет, то научить пожалуй не получится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARM_tester 0 13 сентября, 2012 Опубликовано 13 сентября, 2012 · Жалоба для ieee1588 вроде как хотя бы на MAC уровне надо время засекать (причем аппаратно) когда пакет прилетел/улетел, а тут всё внутри даже включая PHY. Tак что если уж не умеет, то научить пожалуй не получится. хорошо, а если есть DP83640, то что выбрать для аппаратной TCP реализации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 13 сентября, 2012 Опубликовано 13 сентября, 2012 · Жалоба а тут всё внутри даже включая PHY. виноват, погорячился, из w5300 наружу доп MAC торчит, и в w3150 phy внешний. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARM_tester 0 13 сентября, 2012 Опубликовано 13 сентября, 2012 · Жалоба виноват, погорячился, из w5300 наружу доп MAC торчит, и в w3150 phy внешний. но всёравно пока непонятно, можно ли все хотелки(TCP+IEEE1588) аппаратно сделать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 13 сентября, 2012 Опубликовано 13 сентября, 2012 · Жалоба но всёравно пока непонятно, можно ли все хотелки(TCP+IEEE1588) аппаратно сделать? по диагонали глянул даташит на DP83640, всё что касается PTP управляется регистрами через MII интрфейс, который, кстати, к wiznetу вообще вроде бы не подключается, то есть им всё равно придётся рулить самому. так что на превый взгляд проблем не видно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARM_tester 0 13 сентября, 2012 Опубликовано 13 сентября, 2012 · Жалоба по диагонали глянул даташит на DP83640, всё что касается PTP управляется регистрами через MII интрфейс, который, кстати, к wiznetу вообще вроде бы не подключается, то есть им всё равно придётся рулить самому. так что на превый взгляд проблем не видно. Тогда получается две эти микрухи на один эзернет порт не повесить для реализации стека tcp и IEEE1588 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 13 сентября, 2012 Опубликовано 13 сентября, 2012 · Жалоба по диагонали глянул даташит на DP83640, всё что касается PTP управляется регистрами через MII интрфейс, который, кстати, к wiznetу вообще вроде бы не подключается, то есть им всё равно придётся рулить самому. так что на превый взгляд проблем не видно. блин, совсем плохой стал, не через mii, конечно, через mdio. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
strannyi 4 7 ноября, 2012 Опубликовано 7 ноября, 2012 · Жалоба DP83640 Эта штука настраивается через mdio. При прохождении через нее ptp message она генерирует timestamp аппаратно (внутри этой микрухи есть таймер с величиной шага порядка наносекунды). Этот timestamp можно прочитать по тому же mdio из регистров, либо настроить микруху чтоб она генерировала timestamp пакеты (Layer 2 уровня либо UDP). Эти пакеты идут только от phy к MAC процессора, во внешку они не идут. Таким образом можно посчитать time offset между хостами и подкоректировать эти внутренние часы в phy. Сама микруха время не корректирует, нужно писать верхее приложение (демон). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TigerSHARC 0 7 ноября, 2012 Опубликовано 7 ноября, 2012 · Жалоба Я видел проект PTP для Linux. Написано, что к примеру для SAM9-серии есть софтовая поддержка протокола. Это как? Насколько я полнял, PTP должен поддерживаться либо на MAC уровне самого процессора(если есть MAC), либо на внешнем MAC через RMII. получается в контексте SAM9-серии нужно искать MAC внешний с поддержкой IEE1588 ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
strannyi 4 7 ноября, 2012 Опубликовано 7 ноября, 2012 (изменено) · Жалоба Я видел проект PTP для Linux. Написано, что к примеру для SAM9-серии есть софтовая поддержка протокола. Это как? Насколько я полнял, PTP должен поддерживаться либо на MAC уровне самого процессора(если есть MAC), либо на внешнем MAC через RMII. получается в контексте SAM9-серии нужно искать MAC внешний с поддержкой IEE1588 ? Т.е. генерирует и разбирает PTP пакеты некоторое приложение. Сам PTP имеет несколько вариаций. Если посмотреть стандарт, то можно увидеть что, их можно инкапсулировать их в UDP пакеты с определенным мультикаст адресом либо в ethernet layer 2 пакеты. Сама микросхема эти пакеты не генерит у нее нет протокола общение она генерит только временные метки!!! Что касается linux, там есть такой ptpd ничего не могу про него сказать. У нас на работе есть девайс LANTIME так вот там стоит linux и этот демон. ---------------------------------------------------------------------------------------- Я ставил DP83640 и AT91RM9200 вместе. В качестве источника PTP брал этот LANTIME. Моя железка принимала эти сообщения, генерила timestamp, корректировала время. Но заявленных наносекундных точностей у меня не получилось. Десятки микросекунд. ---------------------------------------------------------------------------------------- Спрашивайте, только по конкретней что вам не понятно. Изменено 7 ноября, 2012 пользователем strannyi Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TigerSHARC 0 7 ноября, 2012 Опубликовано 7 ноября, 2012 · Жалоба У нас на работе есть девайс LANTIME так вот там стоит linux и этот демон. интересно, получается демон позволяет раздавать время, а не только принимать данные для синхронизации? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
strannyi 4 7 ноября, 2012 Опубликовано 7 ноября, 2012 (изменено) · Жалоба интересно, получается демон позволяет раздавать время, а не только принимать данные для синхронизации? Просто в пакетах которые передает также есть timestamp (время отправки). Ты принимаешь пакет засекаешь время приема. Если глянуть стандарт все понятно становится. Если нужен могувыслать. DP83640 аппаратно втыкает эти timestamp в пакеты PTP при выходе. Изменено 7 ноября, 2012 пользователем strannyi Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TigerSHARC 0 7 ноября, 2012 Опубликовано 7 ноября, 2012 · Жалоба если я вас правильно понял демон аналогичен серверу времени NTP на виндоус(я имею ввиду возможность его работы как сервера) да, если несложно выложите стандарт на zalil.ru Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
strannyi 4 7 ноября, 2012 Опубликовано 7 ноября, 2012 (изменено) · Жалоба если я вас правильно понял демон аналогичен серверу времени NTP на виндоус(я имею ввиду возможность его работы как сервера) да, если несложно выложите стандарт на zalil.ru похож на NTP только в NTP если глянуть исходники (под linux) timestamp берется софтварно и втыкается в пакет "ручками" а тут это делает за нас PHY http://zalil.ru/33934891 Изменено 7 ноября, 2012 пользователем strannyi Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться