VMEbus - VMEbus

Ящик VME64 с модулем ADC, модулем масштабирования и модулем процессора (слева направо)

VMEbus (Versa Module Europa[1] или же Модуль Versa Eurocard[2] автобус) это компьютерный автобус стандарт, изначально разработанный для Линия Motorola 68000 из Процессоры, но позже широко использовался во многих приложениях и стандартизирован IEC в качестве ANSI /IEEE 1014–1987. Это физически основано на Еврокарта размеры, механика и разъемы (DIN 41612 ), но использует свою собственную систему сигнализации, которую Eurocard не определяет. Впервые он был разработан в 1981 году и до сих пор широко используется.[3][когда? ]

История

В 1979 году при разработке Motorola 68000 Один из инженеров CPU, Джек Кистер, решил приступить к созданию стандартизированной системы шин для систем на базе 68000.[4] Команда Motorola в течение нескольких дней размышляла над выбором названия VERSAbus. Карты VERSAbus были большими, 370 на 230 мм (14 12 к 9 14 в), и использовал краевые соединители.[3] Только несколько продуктов приняли его, в том числе IBM System 9000 контроллер инструментов и Automatix системы роботов и машинного зрения.

Карта памяти VERSAbus

Позже к Кистеру присоединился Джон Блэк, который уточнил спецификации и создал VERSAmodule концепция продукта. Молодой инженер, работающий на Блэка, Джули Кеахи разработала первую карту VERSAmodule, модуль адаптера VERSAbus, который использовался для работы существующих карт на новой VERSAbus. Свен Рау и Макс Лезель Motorola-Europe добавила в систему механическую спецификацию, основанную на Еврокарта стандарт, который тогда опоздал в процессе стандартизации. Результат был сначала известен как VERSAbus-E, но позже был переименован в VMEbus, за Автобус VERSAmodule Eurocard (хотя некоторые называют это Versa Module Europa).[3]

На этом этапе ряд других компаний, участвующих в экосистеме 68000, согласились использовать стандарт, включая Signetics, Philips, Thomson и Mostek. Вскоре он был официально стандартизирован IEC как IEC 821 VMEbus и ANSI и IEEE как ANSI / IEEE 1014-1987.

Первоначальный стандарт был 16 бит автобус, разработанный с учетом существующей карты Eurocard DIN разъемы. Однако в систему было внесено несколько обновлений, позволяющих увеличить ширину шины. Электрический ток VME64 включает полный 64-битный автобус в картах размером 6U и 32-битный в картах 3U. Протокол VME64 имеет типичную производительность 40 МБ / с.[3] Другие связанные стандарты добавили горячую замену (подключи и играй ) в VME64x, меньшие «IP» карты, которые подключаются к одной карте VMEbus, а также различные стандарты межсоединений для соединения систем VME вместе.

В конце 1990-х годов синхронные протоколы оказались благоприятными. Исследовательский проект получил название VME320. Организация по стандартизации VITA призвала к созданию нового стандарта для немодифицированных объединительных плат VME32 / 64.[3] Новый протокол 2eSST был одобрен в ANSI / VITA 1.5 в 1999 году.

За прошедшие годы к интерфейсу VME было добавлено множество расширений, обеспечивающих «боковые» каналы связи параллельно самой VME. Некоторые примеры - IP-модуль, RACEway Interlink, SCSA, Gigabit Ethernet на объединительных платах VME64x, PCI Express, RapidIO, StarFabric и InfiniBand.

VMEbus также использовался для разработки тесно связанных стандартов, VXIbus и VPX. VMEbus оказал сильное влияние на многие более поздние компьютерные шины, такие как STEbus.

Ранние годы VME (из ANSI / IEEE Std 1014-1987 и ANSI / VITA 1-1994)

Архитектурные концепции VMEbus основаны на VERSAbus,[3] разработан в конце 1970-х годов компанией Motorola. Группа Motorola European Microsystems в Мюнхене, Западная Германия, предложила разработать линейку продуктов, аналогичную VERSAbus, на основе механического стандарта Eurocard. Для демонстрации концепции Макс Лезель и Свен Рау разработали три прототипа платы: (1) плату ЦП 68000; (2) плата динамической памяти; (3) плата статической памяти. Они назвали новый автобус VERSAbus-E. Позже он был переименован в "VME", сокращенно от Versa Module European, Лайманом (Лим) Хевле, в то время вице-президентом Motorola Microsystems Operation. (Позже он был основателем VME Marketing Group, впоследствии переименованной в VME International Trade Association, или VITA). В начале 1981 года Motorola, Mostek и Signetics договорились о совместной разработке и поддержке новой архитектуры автобусов. Все эти компании были ранними сторонниками семейства микропроцессоров 68000.

Джон Блэк из Motorola, Крейг МакКенна из Mostek и Сесил Каплински из Signetics разработали первый проект спецификации VMEbus. В октябре 1981 года на выставке System '81 в Мюнхене, Западная Германия, Motorola, Mostek, Signetics / Philips и Thomson CSF заявили о своей совместной поддержке VMEbus. Они также разместили редакцию А спецификации в открытом доступе. В августе 1982 года недавно созданная группа производителей VMEbus (VITA) опубликовала версию B спецификации VMEbus. В этой новой редакции уточнены электрические спецификации для драйверов и приемников сигнальных линий и приведены механические характеристики в соответствие с развивающимся стандартом IEC 297 (официальная спецификация для механических форматов Eurocard). В конце 1982 года французская делегация Международной электротехнической комиссии (IEC) предложила версию B VMEbus в качестве международного стандарта. Подкомитет IEC SC47B назначил Миру Паукер из Philips, Франция, председателем редакционного комитета, тем самым официально приступив к международной стандартизации VMEbus.

В марте 1983 года Комитет по стандартизации микропроцессоров (MSC) IEEE запросил разрешение на создание рабочей группы, которая могла бы стандартизировать VMEbus в США. Этот запрос был одобрен Советом по стандартам IEEE, и была создана рабочая группа P1014. Уэйн Фишер был назначен первым председателем рабочей группы. Джон Блэк был председателем Технического подкомитета P1014. Группа производителей IEC, IEEE и VMEbus (ныне VITA) распространила копии редакции B для комментариев и получила запросы на внесение изменений в документ. Эти комментарии ясно дали понять, что пришло время отказаться от Редакции B. В декабре 1983 года было проведено собрание, на котором присутствовали Джон Блэк, Мира Паукер, Уэйн Фишер и Крейг МакКенна. Было решено, что следует создать версию C, в которой должны быть учтены все комментарии, полученные от трех организаций. Джон Блэк и Шломо При-Тал из Motorola включили изменения из всех источников в общий документ. Группа производителей VMEbus пометила документ «Редакция C.1» и разместила его в открытом доступе. IEEE назвал его P1014 Draft 1.2, а IEC - шиной IEC 821. Последующие голосования в рабочей группе IEEE P1014 и MSC привели к дополнительным комментариям и потребовали обновления проекта IEEE P1014. Это привело к спецификации ANSI / IEEE 1014-1987.

В 1985 г. Aitech Разработана по контракту с US TACOM, первая плата VMEbus 6U с кондуктивным охлаждением. Хотя электрически и обеспечивала совместимый интерфейс протокола VMEbus, механически эта плата не была взаимозаменяемой для использования в лабораторных шасси разработки VMEbus с воздушным охлаждением.

В конце 1987 года при VITA под руководством IEEE был сформирован технический комитет для создания первой военной платы VMEbus размером 6U x 160 мм с кондуктивным охлаждением, полностью электрически и механически совместимой, под сопредседательством Дейла Янга (DY4 Systems) и Дуга Паттерсона. (Plessey Microsystems, затем Radstone Technology). ANSI / IEEE-1101.2-1992 был позже ратифицирован и выпущен в 1992 году и остается в силе как международный стандарт с кондуктивным охлаждением для всех продуктов VMEbus высотой 6U.

В 1989 году Джон Петерс из Performance Technologies Inc. разработал первоначальную концепцию VME64: мультиплексирование адресов и линий данных (A64 / D64) на шине VMEbus. Концепция была продемонстрирована в том же году и помещена в Технический комитет VITA в 1990 году как повышение производительности спецификации VMEbus. В 1991 году IEEE предоставил PAR (запрос на авторизацию проекта) для P1014R (изменения спецификации VMEbus). Рэй Олдерман, технический директор VITA, совместно с Ким Клохесси из DY-4 Systems руководили работой.

В конце 1992 года дополнительные усовершенствования VMEbus (A40 / D32, Locked Cycles, Rescinding DTACK *, Autoslot-ID, Auto System Controller и улучшенные механические соединения DIN) потребовали дополнительной работы для завершения этого документа. Технический комитет VITA приостановил работу с IEEE и запросил аккредитацию в качестве организации разработчиков стандартов (SDO) в Американском национальном институте стандартов (ANSI). Первоначальный стандарт IEEE Par P1014R был впоследствии отозван IEEE. Технический комитет VITA вернулся к использованию общедоступной спецификации VMEbus C.1 в качестве документа базового уровня, в который они добавили новые улучшения. Эта работа по усовершенствованию была полностью проведена Техническим комитетом VITA и привела к стандарту ANSI / VITA 1-1994. Огромное предприятие по редактированию документа было выполнено Ким Клохесси из DY-4 Systems, техническим сопредседателем этого мероприятия, с большой помощью Фрэнка Хома, который создал механические чертежи и внес исключительный вклад каждого редактора глав.

Дополнительные улучшения, предложенные Подкомитету VME64, были помещены в Документ о расширениях VME64. Два других направления деятельности начались в конце 1992 года: BLLI (спецификации динамической вставки на уровне платы VMEbus) и VSLI (динамическая вставка на уровне системы VMEbus с отказоустойчивостью).[3]

В 1993 году начались новые мероприятия по архитектуре base-VME, включающие внедрение высокоскоростных серийный и параллельно подшины для использования в качестве соединений ввода-вывода и подсистем передачи данных. Эти архитектуры могут использоваться в качестве коммутаторов сообщений, маршрутизаторов и небольших многопроцессорных параллельных архитектур.

Заявка VITA на признание в качестве аккредитованной организации по разработке стандартов ANSI была удовлетворена в июне 1993 года. Многие другие документы (включая стандарты мезонинных, P2 и последовательных шин) были переданы VITA в качестве администратора этих технологий в общественное достояние.

Эволюция VME
ТопологияГодАвтобусный циклМаксимальная скорость (Мбайт / сек)
Параллельная шина VMEbus32 Rev A1981BLT40
VMEbus IEEE-10141987BLT40
VME641994MBLT80
VME64x19972eVME160
VME32019972eSST320

Описание

Во многих отношениях VMEbus эквивалентен или аналогичен контактам 68000 выбежать на объединительная плата.

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

Как и 68000, VME использует отдельные 32-битные шины данных и адреса. Адресная шина 68000 на самом деле 24-битная, а шина данных - 16-битная (хотя внутренне она 32/32), но разработчики уже искали полную 32-битную реализацию.

Чтобы обеспечить обе ширины шины, VME использует два разных разъема Eurocard - P1 и P2. P1 содержит три ряда по 32 контакта в каждой, реализующие первые 24 бита адреса, 16 бит данных и все сигналы управления. P2 содержит еще одну строку, в которую входят оставшиеся 8 бит адреса и 16 бит данных.

Автобус управляется набором из девяти линий, известных как арбитражный автобус. Все коммуникации контролируются картой в первом слоте шасси Eurocard, известной как модуль арбитра. Поддерживаются два режима арбитража - Round Robin и Prioritized.

Независимо от режима арбитража, карта может попытаться стать мастером шины, удерживая на одной из четырех линий запроса шины низкий уровень. При круговом арбитраже арбитр циклически переключает линии BR0-BR3 запроса шины, чтобы определить, какой из потенциально одновременных запросчиков получит шину. При арбитраже приоритета BR0-BR3 использует схему фиксированного приоритета (BR0 от самого низкого до BR3 наивысшего), и арбитр предоставит шину запросчику с наивысшим приоритетом.

Когда арбитр определил, какой из запросов шины предоставить, он утверждает соответствующую строку предоставления шины (BG0 - BG3) для уровня, который выиграл управление шиной. Если два мастера одновременно запрашивают шину, используя одну и ту же линию BR, шлейфовое соединение по шине эффективно разрывает связь, предоставляя шину модулю, ближайшему к арбитру. Мастер, которому была предоставлена ​​шина, затем укажет, что шина используется, заявив, что шина занята (BBSY *).

В этот момент мастер получил доступ к шине. Для записи данных карта передает адрес, модификатор адреса и данные на шину. Затем он запускает адресный строб линия и два строб данных линии низкий, чтобы указать, что данные готовы, и приводит в действие вывод записи, чтобы указать направление передачи. Есть два строба данных и строка * LWORD, поэтому карты могут указывать, составляет ли ширина данных 8, 16 или 32 бита (или 64 в VME64 ). Карта по адресу шины считывает данные и вытаскивает подтверждение передачи данных нижняя линия, когда перевод может быть завершен. Если перенос не может быть завершен, он может потянуть ошибка шины линия низкая. Чтение данных по сути то же самое, но управляющая карта управляет адресной шиной, оставляет шину данных тройной и управляет выводом чтения. Подчиненная карта отправляет считанные данные на шину данных и устанавливает низкий уровень на выводах строба данных, когда данные готовы. Схема сигнализации асинхронный, что означает, что передача не привязана к времени тактового вывода шины (в отличие от синхронных шин, таких как PCI ).

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

Мастера автобуса могут освободить автобус двумя способами. При использовании Release When Done (RWD) мастер освобождает шину, когда завершает передачу, и должен повторно определять арбитраж шины перед каждой последующей передачей. С Release On Request (ROR) мастер сохраняет шину, продолжая подтверждать BBSY * между передачами. ROR позволяет мастеру сохранять контроль над шиной до тех пор, пока другой мастер не подтвердит сброс шины (BCLR *), который хочет провести арбитраж для шины. Таким образом, мастер, генерирующий пакеты трафика, может оптимизировать это производительность путем арбитража для шины только при первой передаче каждого пакета. Это уменьшение задержки передачи происходит за счет несколько более высокой задержки передачи для других мастеров.

Модификаторы адреса используются для разделения адресного пространства шины VME на несколько отдельных подпространств. Модификатор адреса - это 6-битный набор сигналов на объединительной плате. Модификаторы адреса определяют количество значащих битов адреса, режим привилегий (чтобы позволить процессорам различать доступ к шине программным обеспечением на уровне пользователя или на уровне системы), а также является ли передача блочной передачей. модификаторы адреса:

Шестнадцатеричный кодФункцияОбъяснение
3fСтандартный контрольный блок передачиБлочный перевод A24, привилегированный
3eДоступ к стандартной программе надзораДоступ по инструкции A24, привилегированный
3DСтандартный доступ к данным супервизораДоступ к данным A24, привилегированный
3bСтандартная непривилегированная передача блокаПередача блока A24 для обычных программ
Стандартный непривилегированный доступ к программеДоступ по инструкции A24, непривилегированный
39Стандартный непривилегированный доступ к даннымДоступ к данным A24, непривилегированный
2dКороткий надзорный доступПривилегированный доступ A16.
29Короткий непривилегированный доступA16 непривилегированный доступ.
0fРасширенная надзорная передача блокаПривилегированная блочная передача A32.
0eРасширенный доступ к программе надзораПривилегированный доступ к инструкциям A32.
0dРасширенный надзорный доступ к данным.Привилегированный доступ к данным A32.
0bРасширенная передача непривилегированного блокаПередача непривилегированного блока A32.
Расширенный непривилегированный доступ к программеA32 непривилегированный доступ к инструкциям.
09Расширенный непривилегированный доступ к данным.A32 непривилегированный доступ к данным.
ПримечаниеАп как в A16, A24, A32 относится к ширине адреса

VME также декодирует все семь из 68000 прерывать уровней на 7-контактную шину прерывания. Схема прерывания - это одно из приоритетных векторных прерываний. Строки запроса прерывания (IRQ1 - IRQ7) определяют приоритет прерываний. Модуль прерывания утверждает одну из строк запроса прерывания. Любой модуль на шине потенциально может обработать любое прерывание. Когда модуль обработки прерывания распознает запрос прерывания с приоритетом, который он обрабатывает, он выполняет арбитраж для шины обычным способом, описанным выше. Затем он выполняет чтение вектора прерывания, передавая двоичную версию обрабатываемой строки IRQ (например, если обрабатывается IRQ5, то двоичная 101) на адресную шину. Он также утверждает строку IACK вместе с соответствующими стробами передачи данных для ширины считываемого состояния / идентификатора. Опять же, LWORD *, DS0 * и DS1 * позволяют циклам чтения статуса / идентификатора быть 8, 16 или 32-битными передачами, но большинство существующих аппаратных прерывателей используют 8-битные статусы / идентификаторы. Прерыватель отвечает передачей статуса / идентификатора по шине данных для описания прерывания. Модуль обработки прерываний (обычно ЦП) обычно использует этот статус / идентификационный номер для идентификации и запуска соответствующей процедуры обслуживания программных прерываний.

На шине VME все пересадки DMA и каждая карта является ведущей или ведомой. В большинстве шинных стандартов значительно усложняется поддержка различных типов передачи и выбора ведущего / ведомого. Например, с Автобус ISA, обе эти функции должны были быть добавлены вместе с существующей моделью «каналов», в соответствии с которой все коммуникации обрабатывались хостом. ЦПУ. Это делает VME значительно проще на концептуальном уровне и в то же время более мощным, хотя требует более сложных контроллеров на каждой карте.

Инструменты разработки

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

VITA предлагает подробные ответы на часто задаваемые вопросы, чтобы помочь в проектировании и разработке систем VME.

Компьютеры, использующие VMEbus

Компьютеры, использующие VMEbus, включают

Распиновка

Видно, когда заглядывает в разъем объединительной платы.[6][7]

P1

Штырьабc
1D00BBSY *D08
2D01BCLR *D09
3D02ACFAIL *D10
4D03BG0IN *D11
5D04BG0OUT *D12
6D05BG1IN *D13
7D06BG1OUT *D14
8D07BG2IN *D15
9GNDBG20UT *GND
10SYSCLKG3IN *SYSFAIL *
11GNDBG3OUT *BERR *
12DS1 *BR0 *SYSRESET *
13DS0 *BR1 *LWORD *
14ЗАПИСЫВАТЬ*BR2 *AM5
15GNDBR3 *A23
16DTACK *AM0A22
17GNDAM1A21
18В КАЧЕСТВЕ*AM2A20
19GNDAM3A19
20IACK *GNDA18
21ИАКИН *SERCLKA17
22IACKOUT *СЕРДАТ *A16
23ЯВЛЯЮСЬGNDA15
24A07IRQ7 *A14
25A06IRQ6 *A13
26A05IRQ5 *A12
27A04IRQ4 *A11
28A03IRQ3 *A10
29A02IRQ2 *A09
30A01IRQ1 *A08
31-12В+ 5VSTDBY+ 12В
32+ 5В+ 5В+ 5В

P2

Штырьабc
1Определяемые пользователем+ 5ВОпределяемые пользователем
2Определяемые пользователемGNDОпределяемые пользователем
3Определяемые пользователемЗАРЕЗЕРВИРОВАННЫЙОпределяемые пользователем
4Определяемые пользователемA24Определяемые пользователем
5Определяемые пользователемA25Определяемые пользователем
6Определяемые пользователемA26Определяемые пользователем
7Определяемые пользователемA27Определяемые пользователем
8Определяемые пользователемA28Определяемые пользователем
9Определяемые пользователемA29Определяемые пользователем
10Определяемые пользователемA30Определяемые пользователем
11Определяемые пользователемA31Определяемые пользователем
12Определяемые пользователемGNDОпределяемые пользователем
13Определяемые пользователем+ 5ВОпределяемые пользователем
14Определяемые пользователемD16Определяемые пользователем
15Определяемые пользователемD17Определяемые пользователем
16Определяемые пользователемD18Определяемые пользователем
17Определяемые пользователемD19Определяемые пользователем
18Определяемые пользователемD20Определяемые пользователем
19Определяемые пользователемD21Определяемые пользователем
20Определяемые пользователемD22Определяемые пользователем
21Определяемые пользователемD23Определяемые пользователем
22Определяемые пользователемGNDОпределяемые пользователем
23Определяемые пользователемD24Определяемые пользователем
24Определяемые пользователемD25Определяемые пользователем
25Определяемые пользователемD26Определяемые пользователем
26Определяемые пользователемD27Определяемые пользователем
27Определяемые пользователемD28Определяемые пользователем
28Определяемые пользователемD29Определяемые пользователем
29Определяемые пользователемD30Определяемые пользователем
30Определяемые пользователемD31Определяемые пользователем
31Определяемые пользователемGNDОпределяемые пользователем
32Определяемые пользователем+ 5ВОпределяемые пользователем

P2 строки a и c могут использоваться вторичной шиной, например STEbus.

Смотрите также

Рекомендации

  1. ^ «Автобус Versa Module Europa». Получено 8 апреля 2019.
  2. ^ "Да здравствует ВМЭ!". Получено 8 апреля 2019.
  3. ^ а б c d е ж грамм «Вопросы и ответы по технологии VME». Vita.com. 3 января 1999 г.. Получено 1 августа 2013.
  4. ^ Черный, Джон Артур (1992). Справочник системного инженера: руководство по созданию систем VMEbus и VXIbus. Морган Кауфманн. п. 563. ISBN  978-0-12-102820-6. Группа инженеров Motorola Microsystems во главе с Джеком Кистером разработала систему разработки 68000 под названием EXORmacs. Объединительная плата EXORmacs называлась VERSAbus. Координируя усилия своей команды, Джек написал описание VERSAbus на 41 странице, которое было опубликовано в ноябре 1979 года. Первые EXORmac были отправлены в январе 1980 года.
  5. ^ «Продукты HP VME - Alimar Technology Corp.». Alimartech.com. Получено 1 августа 2013.
  6. ^ Из Таблицы 7 - 1 Назначение контактов J1 / P1, ANSI / VITA 1-1994 (R2002)
  7. ^ Из Таблицы 7 - 2 Назначение контактов J2 / P2, ANSI / VITA 1-1994 (R2002)

внешняя ссылка