Jump to content

    

Студент заборстроительного

Участник*
  • Content Count

    199
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Студент заборстроительного

  • Rank
    Частый гость

Recent Profile Visitors

752 profile views
  1. Ну как же. Если во фрамэ нет адреса слейва в общем "логическом пространстве задачи" то он игнорирует такой пакет (не использует его и ничего не пишет в него). Слейв "вылавливает" и реагирует только на свои адреса. Или я не прав? Т.е., грубо говоря, у PHY микросхемы есть сигнал "connection failed", который заводится в ПЛИСину? Может потому, что это никому было не нужно? Или ещё вариант: никто просто не знал о такой возможности А что мешает мастеру менять этот "physical-logical mapping" на лету? Но моя идея была даже не в этом. Вы говорили, что каждый слейв реагирует только на свой диапазон адресов в общем 4-х гигабайтном логическом пространстве задачи. Тогда что мешает мастеру читать только один слейв, чтобы этот слейв занял весь пакет, все 1498 байт? Вы не совсем поняли. И ухудшения не будет. Моя идея в том: зачем слейву ЗРЯ тратить трафик если ему НЕЧЕГО передавать мастеру? Разве не разумно будет отдать в этом случае весь трафик слейву, у которого есть что передавать и который "зашивается" уже от потока событий по причине не хватки трафика?
  2. Ну если так считать - то два. Я почему посчитал их за 4, ведь Rx и Tx работают независимо (в том числе могут параллельно/одновременно) Тогда получается ПЛИСина должна "перемалывать" поток 400Мбит/с. Да? А ведь я раньше спрашивал: "Что мешает ДИНАМИЧЕСКИ (по команде мастера) реконфигурировать размеры фреймов для каждого слейва?" А теперь получается, то таки можно так делать. Ну т.е. чтобы пакет не все слейвы обрабатывали и модифицировали. В вырожденном случае вообще один слейв может занять своим данными все 1486 байт пакета. Так? А в другом пакете этот же слейв - вообще 0 байтов. Я к тому, что формат EtherCAT пакетов очень гибкий. И позволяет ДИНАМИЧЕСКИ менять как кол-во фреймов в одном пакете, так и их длину. Так? А то я боялся, что каждый слейв жёстко резервирует в пакете 10+N байт даже если у него нет данных для передачи. Боялся что мне не хватит длины пакета чтобы охватить все слейвы. А раз некоторые слейвы можно просто не опрашивать, то тогда хватит
  3. Вы уверены в этом? Потому что в доках я читал, что слейв реагирует только на пакеты, приходящие на upstream-порт. Пакеты приходящие на downstrean-порт слейв просто перебрасывает на upstream-порт. Возможно я не правильно понял доки. А как ПЛИСина понимает, что к RX2/TX2 ничего не подключено? И как быстро? И вопрос насчет кол-ва ПЛИСин остался открытым: получается все 4 сто магабитных порта обслуживаются одной ПЛИСиной? Не понял. Разве слейву предназначен не КАЖДЫЙ пакет мастера? Ведь слейв жёстко конфигурируется на обработку ОДНИХ И ТЕХ же жестко заданных (зарезервированных для него) полей пакета. Или это не так?
  4. Вы не поняли вопрос. Меня интересует 4 порта обслуживает одна ПЛИСина или две? Или 4? Вы про перекрестный трафик? В смысле? Трафик ВСЕГДА закольцовывается. В смысле, пакет два раза проходит через слейв: "туда" и "обратно" А как он определяет что к "downstream" разъему EtherCAT ничего не подключено? И как быстро?
  5. Я так понимаю, что весь трафик 4 портов должен идти через одну ПЛИСину? Обычно ПЛИС на лету передает трафик с порта RX1 на порт TX2. И ОДНОВРЕМЕННО с порта RX2 на порт TX1. При этом при переброске с RX1 на TX2 ПЛИСина вставляет свои данные в пакет, а при переброске с RX2 на TX1 ничего не вставляет. Так? Но если к порту TX2 ничего не подключено - ПЛИС перебрасывает трафик с порта RX1 на порт TX1, и прием по RX2 блокируется? Так?
  6. Такую чушь мог написать только полный кретин и неадекват. Если речь шла о простых текстовых логах, то можно было привести отдаленный непохожий пример, прояснить суть обработки. Она может быть как просто и идеально ложиться на элементную базу ПЛИС, так и быть вовсе нереализуемой. Мне часто приходится решать рабочие задачи, обращаясь за помощью, при этом я стараюсь как могу дать отдаленный пример, относящийся к сути дела, но не раскрывающий общую задачу. То что Вы сделали на форуме - это просто насрали всем в душу, потрепали нервы и отняли время у уважаемых мной специалистов. Советую полечить голову, набраться воспитания, устроил он бесплатный ликбез нам, мать его, калач бляха муха. Идите к черту, уважаемый. Вам лечиться надо Я не знаю что это такое. И чего от меня хотят
  7. Так мне и надо очень примитивные процессоры. Самая крутая и навароченная ПЛИСина стоит 10000евро. Получается что 1 процессор будет стоить 100 евро. Копейки же А в интернете я читал, что как раз для этого и нужна плисина. Для распаралеливания обработки. В этом её назначение и преимущество Вот вот. Именно это я и имел в виду. "Врожденная" параллельность ПЛИС :beer: Она меня привлекает и возбуждает
  8. Ключевое слово здесь "резервируется фрейм". Т.е. есть у тебя в данный момент данных (простите за невольную тавтологию), которые нужно срочно передавать нету, фрейм всё равно резервируется и трафик тратится вхолостую (если данных нет). Что мешает ДИНАМИЧЕСКИ (по команде мастера) реконфигурировать размеры фреймов для каждого слейва? Не знаю, где Вы видели "много", а я кроме общих слов, что в EtherCAT есть некая технология "распределенных часов" ничего не нашёл. Интересует главным образом как механизм "синхронизации часов" повлияет на общую пропускную способность, джиттер и Latence Time. И ещё такая заковыка. У меня цикл 50 мкс. А если после синхронизации часы сдвинутся на 200 мкс. Не приведёт ли это к катастрофе? Ведь система воспримет это как скачок тока. Т.е., к примеру, ток рос на 2ма за 50мкс, а то вдруг вырос на 10 (из-за того, что время на часах искусственно сдвинули)
  9. Спасибо. Понял. POWERLINK тоже протокол реального времени. Но там можно и "реальные" маленькие данные передавать и "не реальные" большие (типа видео с камер наблюдения) А разве Distributed clock не понятие из IEEE1588? И по поводу трафика и увеличения латентности с джиттером из-за пакетов синхронизации распределенных часов не ответили. Насколько пакеты синхронизации "забивают" линию?
  10. Нет. У меня представление, что на ПЛИС можно реализовать "сколько хош" мокропроцессоров. А это как раз то, что мне нужно: очень много параллельно работающие микропроцессоров в одном чипе Вся идея в картинке: И в который раз повторю "зачем но надо" Есть тыща устройств. У каждого устройства есть контроллер. 1000 устройств связаны 1000 контроллеров 1000 кабелями А я хочу сделать так: 1000 устройств 3 кабеля (можно 1, но вдруг оборвётся). А контроллеры загнать в одну ПЛИСину. Что тут непонятно?
  11. "Нормально" - это не инженерный термин. Какой процент "битых" пакетов? to ALL: Уважаемые господа русские специалисты по EtherCAT! Подскажите пожалуйста. Если слейву (в зависимости от его состояния) нужно передавать то 1 байт, то 1 кБайт. То как быть? Как в EtherCAT разруливается такая ситуация? Постоянно резервировать 1 килобайт в пакете не хотелось бы. Бо не эффективное использование пропускной способности канала. Я к тому, что можно ли динамически менять границу данных каждого слейва в пакете? Если совсем "на пальцах", допускает ли стандарт на EtherCAT такое поведение слейва, когда он то читает (или пишет) то байты 45...56, а то 20...1433 "Дробить" дамп и отправлять в несколько заходов тоже не айс. И ещё, господа, вопрос. Нужно в слейвах синхронизировать часы с мастером с точностью 1мкс по IEEE1588. Сколько пропускной способности "сожрёт" IEEE1588? И как загрузка канала пакетами IEEE1588 повлияет на джиттер и время цикла основных пакетов Вот у меня цикл 50мкс нужно очень жёстко выдерживать (1мкс) и с малым джитером (1мкс) Смогу ли я в таких условиях заюсать IEEE1588 для синхронизации "распределенных часов" с точностью 1 мкс?