FASTBUS

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
ФАСТБАС англ. FASTBUS
Год разработки 1984
Разработчик Объединенный комитет NIM/КАМАК Министерства энергетики США
Что эта шина заменила NIM, КАМАК

Ширина в битах 32
Частота, МГц 80Мбит/с
Тип Параллельная
Поддерживает горячее подключение? Да
Внешняя шина? Да


FASTBUS (IEEE 960) — стандарт компьютерной шины и крейтовой системы, предназначавшийся разработчиками для замены таких более ранних стандартов, как КАМАК и NIM. Ориентированный на работу в высокоскоростных системах сбора данных, FASTBUS часто используется в системах сбора данных детекторов элементарных частиц.

История[править | править код]

Предпосылки[править | править код]

FASTBUS был задуман как замена NIM и КАМАК в системах сбора данных, использовавшихся в физических экспериментах. На момент начала разработки обе предшествующие системы уже широко использовались - NIM, в основном в США и Канаде, КАМАК - в основном в Европе. В процессе работы с ними, исследователи выявили ряд недостатков, которые и стали поводом к новой разработке. Ограничениями КАМАК были малая пропускная способность шины передачи данных, работавшей на частоте 1-Mhz малая ширина шины (24-бита), ориентация изначальной архитектуры КАМАК на работу с одним контроллером крейта и громоздкая схема коммуникации между крейтами через механизм CAMAC Branch Highway. Кроме этого, существенным дефектом первоначального дизайна КАМАК являлось ограничение адресного пространства шины 4 битами, что позволяло использовать всего лишь 16 адресов устройств в пределах крейта.[1] Последующее развитие протокола различными производителями позволило, частично, обойти эту проблему, но создало проблемы с совместимостью между модулями КАМАК различного происхождения.

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

Начало разработки[править | править код]

В середине 1970-х как объединённый Комитет по NIM/КАМАК, так и, в целом, сообщество физиков-экспериментаторов, работающих в физике высоких энергий пришли к выводу, что будущие эксперименты в этой сфере будут страдать от технических ограничений, вызванных ограниченной пропускной способностью шины КАМАК и сложностями её архитектуры, создающими проблемы для распределённого и параллельного сбора данных. В результате, в 1975ом году, по запросам членов сообщества, объединённый Комитет по NIM/КАМАК Committee начал исследование этой проблемы, сформировав исследовательскую группу, названную NIM Advanced Systems Study Group. Эта исследовательская группа предшествовала рабочей группе по разработке FASTBUS, названной the NIM Fast System Design Group (FSDG). Предварительные черновые варианты спецификации FASTBUS распространялись этой группой среди потенциальных пользователей технологии. С самого начала члены европейского комитета ESONE, работавшие, в основном, в ЦЕРН активно участвовали в работе FSDG. Они внесли весомый вклад в разработку стандарта FASTBUS. Впоследствии, ряд членов ESONE участвовали в разработке и пересмотрах документации FASTBUS и текстировании технологии, сформировав для взаимодействия с FSDG специальную рабочую группу, названную ESONE Advanced Systems Design Group.[2]

По результатам совместного обсуждения, ширина шины была увеличена до 32 бит, для её построения была принята наиболее быстрая из широкодоступных ECL-логика и частота шины была увеличена. В результате, максимальная пропускная способность шины была увеличена до 80Мбит/с.[1] В те годы среди разработчиков общим местом была идея, что максимальное увеличение пропускной способности шины лежит на пути одновременного увеличения её ширины и, одновременно, тактовой частоты. Впоследствии, по мере постепенного распространения последовательных интерфейсов передачи данных, эта идея была признана тупиковой.

Стандартизация[править | править код]

После длительного обсуждения в комитетах и рабочей переписке между участниками объединённого Комитета по NIM/КАМАК, членами ESONE и рядом европейских, американских и канадских исследователей, первоначальная версия стандарта была выпущена комитетом NIM/КАМАК в качестве документа US Department of Energy Report DOE/ER-0189.

Первоначальное одобрение в качестве стандарта IEEE 960 было получено в мае 1984 года. Окончательная версия стандарта 960-1986: "IEEE Standard FASTBUS Modular High-Speed Data Acquisition and Control System" была принята в 1986ом году.

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

В СССР и России[править | править код]

В СССР и России стандартизация FASTBUS была осуществлена в виде стандартов ГОСТ 34.340-91 ФАСТБАС. Модульная быстродействующая система сбора данных и ГОСТ 34.341-93 Стандартные рутины ФАСТБАС, выпущенных под научной редакцией Кронида Эрглиса. В качестве приложения к первому из стандартов было выпущено отечественное расширение FASTBUS, определяющее малые крейты и модули (Расширенный ФАСТБАС). [3]

По собственном признанию Кронида Эрглиса, в России стандарт безнадёжно опоздал для внедрения.[1] Оборудование отечественного производства в этом стандарте серийно не выпускалось, все разработки ограничились опытно-промышленными партиями, производившимися в интересах советских и, затем, российских физиков-экспериментаторов.

Последствия, результаты разработки и текущее состояние дел[править | править код]

Оборудование стандарта FASTBUS использовалось во многих экспериментах в сфере физики высоких энергий, проводившихся в 1980ые году, в основном - в лабораториях, имевших отношение к разработке самого стандарта. Список этих научных учреждений включает в себя ЦЕРН, SLAC, Фермилаб, Брукхейвенскую национальную лабораторию и Канадскую национальную лабораторию TRIUMF[en].

В стандарте FASTBUS был, впервые для подобных систем, определен стандарт локальной информационой сети произвольной конфигурации, работающей в логическом протоколе,едином для модулей, крейтов и сети, то есть общий для передачи данных внутри отдельной компьютерной системы и между такими же системами.[1] Таким образом, Fastbus можно рассматривать как первый полностью законченный стандарт унифицированной магистрально-модульной системы.

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

Следующими этапами развития этого направления технической мысли стала разработка стандартов Scalable Coherent Interface, осуществлённая частью бывших разработчиков FASTBUS и аналогичного, конкурирующего с FASTBUS стандарта Futurebus, объединившихся под руководством профессора Д.Б.Густавсона.[1],[4] Разработка самого FASTBUS была завершена, хотя ряд производителей выпускал свои расширения.

В настоящее время,[5] аппаратура FASTBUS продолжает выпускаться рядом компаний, ориентирующих свою продукцию, прежде всего, на использование в физических экспериментах ЦЕРН и других аналогичных исследовательских организаций.

Описание системы[править | править код]

Габариты и компоновка[править | править код]

Крейт FASTBUS немного выше, чем другие типы крейтов. Блок питания для крейта FASTBUS обычно монтируется ниже самого крейта, а не является встроенным.

Крейт FASTBUS обеспечивает установку до 26 модулей. Стандарт определяет модули разной толщины - одинарный, двойной, тройной и вплоть до шестерного. Более толстые модули занимают соответствующее число позиций в крейте и перекрывают дополнительные разъёмы объединительной панели.[6]

Электроника[править | править код]

FASTBUS использует в качестве основного электрического стандарта ECL-логику, которая обеспечивает более высокую скорость работы, чем TTL-логика и создаёт меньшие шумов при переключении. Длительность фронтов импульсов при передаче данных по шине уменьшена, по сравнению с КАМАК в 10 раз - до 10 нс.[1]

Однако, в рамках стандарта определены так же линии питания для TTL-логики и NIM-логики. Модулям должны быть доступны линии питания -5.2, 0 и -2 вольта. Для опциональной реализации определены линии питания +5, -2; +15 или -15 вольт. Кроме того, могут быть добавлены две шины +28 В для питания аналоговых модулей, спецустройств и т.д.

Каждый модуль в крейте может потреблять до 70 Ватт, суммарная нагрузка на крейт допускается до 1750 Ватт.

Устройство уровня шины и сети[править | править код]

Система FASTBUS состоит из одного или нескольких сегментов. Сегменты разделяются на крейтовые сегменты и кабельные сегменты. Сегменты объединяются через межсегментные соединители (они же - сегментаторы, segment iterconnect, SI). В качестве расширения стандарта так же предлагались буферизующие сегментаторы и сегментаторы с дополнительной логикой маршрутизации.

Крейтовый сегмент включает в себя объединительную панель с установленными на неё модулями, кабельный - произвольным образом скомпонованное оборудование, подключаемое к разъёмам параллельной 32-битной шины.

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

Сегменты используют 32-битную шину передачи данных, мультиплексирующую передачу адресов и данных по одним и тем же проводникам. Модуль может работать в режиме master или slave. В одном сегменте допускается работа нескольких ведущих (master) модулей. FASTBUS определяет алгоритм арбитража при одновременной попытке нескольких ведущих модулей захватить сегмент. Ведущий модуль управляет передачей данных по сегменту, самостоятельно начиная и оканчивая её или передавая соответствующие команды ведомым модулям. Эта схема позволяет осуществить очень быстрый вывод собираемых данных из сегмента, относящегося к системе сбора данных . Каждый из ведущих модулей ввода-вывода может последовательно осуществлять блочную передачу, заканчивать захват шины и передавать управление следующему в цепочке модулю, не нагружая, при этом управляющий модуль, который содержит процессор общего назначения.

Система поддерживает логический и географический виды адресации. Первый основан на присвоении устройствам 32-битного логического адреса, действующего в пределах локального сегмента или во всей сети FASTBUS и не является обязательным для реализации производителями модулей. Второй опирается на позицию адресуемого модуля в крейте и является обязательным.[7]

Программные интерфейсы[править | править код]

Стандарт FASTBUS определяет стандартные структуры данных и набор вызовов низкоуровневого API, который позволяет манипулировать шиной из произвольных языков высокого уровня.

Примечания[править | править код]

  1. 1 2 3 4 5 6 Кронид Эрглис. Открытые модульные многопроцессорные информационно-измерительно-управляющие системы. Открытые Системы. Издательство «Открытые системы» (16.01.1995). Дата обращения 1 января 2019.
  2. "FASTBUS" - A DESCRIPTION, A STATUS REPORT, AND A SUMMARY OF ONGOING PROJECTS. FNAL (1981). Дата обращения 22 августа 2018.
  3. Расширенный логический протокол РФБ содержит полный логический протокол ФАСТБАС-сегментов по Публикации МЭК 935, дополненный модификацией длины адресного слова 32-24-16 разрядов и выборкой полуслов данных по 16 разрядов или любого из четырех байтов данных. Расширение протокола потребовало введения трех дополнительных управляющих линий АМ0, AM1 и АМ2. Введение дополнительных линий и кодов не нарушило логический протокол ФАСТБАС ни в одном из параграфов Публикации МЭК 935. - цитируется по тексту Приложение к Государственный стандарт от 01 июля 1992 года № 34.340-91 Реализация при ттл-уровнях сигналов на платах модулей и при бтл-уровнях в магистрали крейт-сегмент — система расширенный фастбас (рфб)
  4. David B. Gustavson. The Scalable Coherent Interface and Related Standards Projects. SLAC Publication 5656. Stanford Linear Accelerator Center (September 1991). Дата обращения 31 августа 2013.
  5. По состоянию на 01.01.2019
  6. AN INTRODUCTION TO FASTBUS. FNAL. Дата обращения 21 сентября 2013. Архивировано 23 сентября 2013 года.
  7. ГОСТ 34.340-91 (МЭК 935) ФАСТБАС. Модульная быстродействующая система сбора данных. 1.2.4. Географическая адресация.