_4afc_ 24 25 июля, 2006 Опубликовано 25 июля, 2006 · Жалоба Столкнулся с необходимостью объединить платы высокоскоростной шиной. Параметры задачи: 16 плат, стойка 19", пропускная способность шины менее 100Мбит, возможность передать данные от любой платы к любой. Желательно синхронную шину. Желательно не перегружать контроллеры плат большой скоростью обмена, т.е. если плата передаёт лишь 0.5Мбита, то пусть на такой скорости и передаёт в интерфейсную микросхему (с FIFO?). Нравится идея CAN, но он к сожалению лишь до 1Мбита. Посмотрел IEEE1394 - он вроде только до 12Мбит для многоточечного применения. Может поставить Ethernet? Но как он будет работать на многоточке? Да и не нравится его решение конфликтов на шине. Пока остановился на LVDS (M-LVDS?), но к сожалению не вижу готовых решений для Backplane с адресами и FIFO. Пока предполагаю такую систему: LVDS ->DS92LV18->ATF1508->I2S. Параллельный 18+18 битный код получаемый от DS92LV18 будет представлять из себя 8 бит данных, 4 бита адреса источника, 4 бита адреса приёмника и синхру. PLD ATF1508 сравнив адрес с адресом платы - преобразует параллельные данные в последовательные (если получится - с FIFO) и выдаёт в микроконтроллер (AT91SAM7S). И хотя данный способ задачу решит, но выглядит коряво и громоздко (два кристала 16х16мм). Не подскажите другое более компактное и эффективное решение для данной задачи, перерыв инет - что-то не заметил готовых вариантов вообще. Достаточно названий протоколов или микросхем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 25 июля, 2006 Опубликовано 25 июля, 2006 (изменено) · Жалоба Столкнулся с необходимостью объединить платы высокоскоростной шиной. Параметры задачи: 16 плат, стойка 19", пропускная способность шины менее 100Мбит, возможность передать данные от любой платы к любой. Желательно синхронную шину. Может поставить Ethernet? Но как он будет работать на многоточке? Да и не нравится его решение конфликтов на шине. Не подскажите другое более компактное и эффективное решение для данной задачи, перерыв инет - что-то не заметил готовых вариантов вообще. Достаточно названий протоколов или микросхем. Вопрос №1: Можно ли применить кольцо. Т.е если модуль стоит, то он передает 2 канала. Если модуль не нужен, ставим заглушку. При этом все вопросы уходят. Если хотим готовое решение - Берем KSZ8842 - это 2 порта Ethernet и процессорная шина. Режим дуплекс. На стороне процессорной шины - режим синхронный. Задаем контроллеру МАС адрес, по которому он будет брать свои пакеты. Задаем режим отзеркаливания из порта1 в порт2 и из порта2 в порт1, чтобы пропускать информацию по кольцу. Если одного кольца мало, делаем резервное кольцо таким же образом. Если гальваническая развязка не нужна, то вместо трансформаторов ставим конденсаторы. Мастер опрашивает слэйвы и дает им разрешение на передачу данных, чтобы было меньше коллизий. Если хотим немного помучаться, то берем FPGA, читаем ксайлинсовские или альтеровские аппаликухи по передаче данных и делаем кольцо. Стандарт пинов - LVDS. Вот примерно так. Если ко мне есть вопросы, то можно обсудить и по телефону. А можете подъехать посмотреть на 8842.... Удачи! Изменено 25 июля, 2006 пользователем iosifk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_4afc_ 24 26 июля, 2006 Опубликовано 26 июля, 2006 · Жалоба Вопрос №1: Можно ли применить кольцо. Т.е если модуль стоит, то он передает 2 канала. Если модуль не нужен, ставим заглушку. При этом все вопросы уходят. Если хотим готовое решение - Берем KSZ8842 - это 2 порта Ethernet и процессорная шина. Мастер опрашивает слэйвы и дает им разрешение на передачу данных, чтобы было меньше коллизий. Ну кольцо с заглушками - это уже не удобно как минимум с точки зрения монтажа. Кроме того я хотел ба уйти от мастера на шине, сведя его нагрузку на шину к минимуму. Если уж и городить шину на микросхемах требующих инициализацию процессорм, толучше поставить IEEE1394 - например TSB14AA1A, он вытягивает 50Мбит, но там хотябы есть возможность синхронной передачи в течении кадра с любой платы на любую, правда один раз. Если хотим немного помучаться, то берем FPGA, читаем ксайлинсовские или альтеровские аппаликухи по передаче данных и делаем кольцо. Стандарт пинов - LVDS. Не хотелось бы заниматься отладкой временных процессов в данных микросхемах. Мне бы что-то типа NEC uPD98441, в котором есть и FIFO и 8\10. Вообще-то меня бы устроил и некий CMOS SERDES 1:10/10:1 с PLL, FIFO и 8\10. А уж шинные уровни я сформирую. А то DS92LV18 - 80 ног, слишком жирная. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 26 июля, 2006 Опубликовано 26 июля, 2006 · Жалоба Вопрос №1: Можно ли применить кольцо. Т.е если модуль стоит, то он передает 2 канала. Если модуль не нужен, ставим заглушку. При этом все вопросы уходят. Если хотим готовое решение - Берем KSZ8842 - это 2 порта Ethernet и процессорная шина. Мастер опрашивает слэйвы и дает им разрешение на передачу данных, чтобы было меньше коллизий. Ну кольцо с заглушками - это уже не удобно как минимум с точки зрения монтажа. Кроме того я хотел ба уйти от мастера на шине, сведя его нагрузку на шину к минимуму. Если уж и городить шину на микросхемах требующих инициализацию процессорм, толучше поставить IEEE1394 - например TSB14AA1A, он вытягивает 50Мбит, но там хотябы есть возможность синхронной передачи в течении кадра с любой платы на любую, правда один раз. Если хотим немного помучаться, то берем FPGA, читаем ксайлинсовские или альтеровские аппаликухи по передаче данных и делаем кольцо. Стандарт пинов - LVDS. Не хотелось бы заниматься отладкой временных процессов в данных микросхемах. Мне бы что-то типа NEC uPD98441, в котором есть и FIFO и 8\10. Вообще-то меня бы устроил и некий CMOS SERDES 1:10/10:1 с PLL, FIFO и 8\10. А уж шинные уровни я сформирую. А то DS92LV18 - 80 ног, слишком жирная. А если без кольца, то как: Шина на 16 абонентов на частоте 50 Мгц? а согласование? Точка - точка? на мастере 16 контроллеров? Как плата "узнает" на какую линию ей вставать? Джамперами перекидывать 50 МГц или на каждой плате ставить 16 приемников? И еще один тезис: если у Вас платы работают хотя бы с МАС-кадрами, а мастер выполняет роль шлюза, то все карты будут видны в сети и их можно легко будет отлаживать дистанционно. В случае с IEEE1394 - надо будет делать преобразователь кадров. По поводу "типа NEC uPD98441" - это в Элтех, он поставляет NEC. И ведь кроме CMOS SERDES кто-то должен еще и с адресами разбираться, делать контроль линии и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться