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

Backplane Bus

Столкнулся с необходимостью объединить платы высокоскоростной шиной.

Параметры задачи:

 

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мм).

 

Не подскажите другое более компактное и эффективное решение для данной задачи, перерыв инет - что-то не заметил готовых вариантов вообще.

Достаточно названий протоколов или микросхем.

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


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

Столкнулся с необходимостью объединить платы высокоскоростной шиной.

Параметры задачи:

 

16 плат, стойка 19", пропускная способность шины менее 100Мбит, возможность передать данные от любой платы к любой. Желательно синхронную шину.

 

Может поставить Ethernet? Но как он будет работать на многоточке?

Да и не нравится его решение конфликтов на шине.

 

 

Не подскажите другое более компактное и эффективное решение для данной задачи, перерыв инет - что-то не заметил готовых вариантов вообще.

Достаточно названий протоколов или микросхем.

 

Вопрос №1:

Можно ли применить кольцо. Т.е если модуль стоит, то он передает 2 канала. Если модуль не нужен, ставим заглушку.

При этом все вопросы уходят.

Если хотим готовое решение - Берем KSZ8842 - это 2 порта Ethernet и процессорная шина. Режим дуплекс. На стороне процессорной шины - режим синхронный. Задаем контроллеру МАС адрес, по которому он будет брать свои пакеты. Задаем режим отзеркаливания из порта1 в порт2 и из порта2 в порт1, чтобы пропускать информацию по кольцу. Если одного кольца мало, делаем резервное кольцо таким же образом.

Если гальваническая развязка не нужна, то вместо трансформаторов ставим конденсаторы.

Мастер опрашивает слэйвы и дает им разрешение на передачу данных, чтобы было меньше коллизий.

 

Если хотим немного помучаться, то берем FPGA, читаем ксайлинсовские или альтеровские аппаликухи по передаче данных и делаем кольцо. Стандарт пинов - LVDS.

Вот примерно так.

Если ко мне есть вопросы, то можно обсудить и по телефону.

А можете подъехать посмотреть на 8842....

Удачи!

Изменено пользователем iosifk

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


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

Вопрос №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 ног, слишком жирная.

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


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

Вопрос №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 кто-то должен еще и с адресами разбираться, делать контроль линии и т.д.

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


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

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

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

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

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

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

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

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

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

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