VMEbus ( Versa модуль Европы [1] или Versa Модуль Еврокард [2] шина) является компьютер автобус стандарт, первоначально разработанный для Motorola 68000 линии от процессоров , но позже широко используется для многих приложений и стандартизировали по МЭК , как ANSI / IEEE 1014 -1987. Физически он основан на размерах, механике и разъемах Eurocard ( DIN 41612 ), но использует собственную систему сигнализации, которую Eurocard не определяет. Впервые он был разработан в 1981 году и до сих пор широко используется. [3] [ когда? ]
История
В 1979 году, во время разработки процессора Motorola 68000 , один из их инженеров, Джек Кистер, решил приступить к созданию стандартизированной системы шин для систем на базе 68000. [4] Команда Motorola в течение нескольких дней пыталась выбрать название VERSAbus. Карты VERSAbus были большими, 370 на 230 мм ( 14+1 ⁄ 2 на 9+1 ⁄ 4 дюйма) и использованные краевые соединители . [3] Только несколько продуктов приняли его, включаяконтроллер инструментов IBM System 9000, роботов и системы машинного зрения Automatix .
Позже к Кистеру присоединился Джон Блэк, который уточнил спецификации и создал концепцию продукта VERSAmodule . Молодой инженер, работающий в Black, Джули Кеахи разработала первую карту VERSAmodule, модуль адаптера VERSAbus, который использовался для работы существующих карт на новой шине VERSAbus. Свен Рау и Макс Лезель из Motorola-Europe добавили в систему механическую спецификацию, основанную на стандарте Eurocard, который в то время находился на поздней стадии процесса стандартизации. Результат был первый известный как 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] Другие связанные стандарты добавили горячую замену ( plug-and-play ) в 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
Архитектурные концепции 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. Они также разместили версию A спецификации в открытом доступе. В августе 1982 года новая редакция спецификации VMEbus была опубликована недавно созданной группой производителей VMEbus (VITA). В этой новой редакции уточнены электрические спецификации для драйверов и приемников сигнальных линий и приведена механическая спецификация в соответствие с развивающимся стандартом IEC 297 (официальная спецификация для механических форматов Eurocard). В конце 1982 года французская делегация Международной электротехнической комиссии (МЭК) предложила версию 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 разработала по контракту с TACOM США первую плату VMEbus 6U с кондуктивным охлаждением. Хотя электрически и обеспечивает совместимый интерфейс протокола VMEbus, механически эта плата не была взаимозаменяемой для использования в лабораторных шасси разработки VMEbus с воздушным охлаждением.
В конце 1987 года при VITA под руководством IEEE был сформирован технический комитет для создания первой военной платы с кондуктивным охлаждением 6U × 160 мм, полностью электрически и механически совместимой, платы VMEbus под сопредседательством Дейла Янга (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 в качестве администратора общественного достояния этих технологий.
Топология | Год | Автобусный цикл | Максимальная скорость (МБ / с) |
---|---|---|---|
Параллельная шина VMEbus32 Rev. A | 1981 г. | BLT | 40 |
VMEbus IEEE-1014 | 1987 г. | BLT | 40 |
VME64 | 1994 г. | MBLT | 80 |
VME64x | 1997 г. | 2eVME | 160 |
VME320 | 1997 г. | 2eSST | 320 |
Описание
Во многих отношениях шина 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 для обычных программ |
3а | Стандартный непривилегированный доступ к программе | Доступ по инструкции A24, непривилегированный |
39 | Стандартный непривилегированный доступ к данным | Доступ к данным A24, непривилегированный |
2d | Короткий надзорный доступ | Привилегированный доступ A16. |
29 | Короткий непривилегированный доступ | A16 непривилегированный доступ. |
0f | Расширенная супервизорная передача блока | Привилегированная блочная передача A32. |
0e | Расширенный доступ к программе супервизора | Привилегированный доступ к инструкциям A32. |
0d | Расширенный надзорный доступ к данным. | Привилегированный доступ к данным A32. |
0b | Расширенная непривилегированная передача блока | Передача непривилегированного блока A32. |
0a | Расширенный непривилегированный доступ к программе | A32 непривилегированный доступ к инструкциям. |
09 | Расширенный непривилегированный доступ к данным. | A32 непривилегированный доступ к данным. |
Примечание | A n, как в 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, включают:
- Одноплатный компьютер HP 743/744 PA-RISC [5]
- ВС-2 через Sun-4
- Промышленные рабочие станции HP 9000
- Atari TT030 и Atari MEGA STE
- Motorola MVME
- Символика
- Группа перспективных численных исследований и анализа PACE.
- Система быстрого прототипирования ETAS ES1000
- Несколько Motorola 88000 - компьютеры Data General AViiON
- Ранний Silicon Graphics MIPS системы , основанные в том числе профессиональной Iris, Personal Iris, степенные рядов и Onyx систем
- Конвергентные технологии MightyFrame
Распиновка
Видно в разъеме объединительной платы. [6] [7]
P1
Штырь | а | б | c |
---|---|---|---|
1 | D00 | BBSY * | D08 |
2 | D01 | BCLR * | D09 |
3 | D02 | ACFAIL * | D10 |
4 | D03 | BG0IN * | D11 |
5 | D04 | BG0OUT * | D12 |
6 | D05 | BG1IN * | D13 |
7 | D06 | BG1OUT * | D14 |
8 | D07 | BG2IN * | D15 |
9 | GND | BG20UT * | GND |
10 | SYSCLK | G3IN * | SYSFAIL * |
11 | GND | BG3OUT * | BERR * |
12 | DS1 * | BR0 * | SYSRESET * |
13 | DS0 * | BR1 * | LWORD * |
14 | НАПИСАТЬ* | BR2 * | AM5 |
15 | GND | BR3 * | A23 |
16 | DTACK * | AM0 | A22 |
17 | GND | AM1 | A21 |
18 | В ВИДЕ* | AM2 | A20 |
19 | GND | AM3 | A19 |
20 | IACK * | GND | A18 |
21 год | ИАКИН * | SERCLK | A17 |
22 | IACKOUT * | СЕРДАТ * | A16 |
23 | ЯВЛЯЮСЬ | GND | A15 |
24 | A07 | IRQ7 * | A14 |
25 | A06 | IRQ6 * | A13 |
26 год | A05 | IRQ5 * | A12 |
27 | A04 | IRQ4 * | A11 |
28 год | A03 | IRQ3 * | A10 |
29 | A02 | IRQ2 * | A09 |
30 | A01 | IRQ1 * | 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 .
Смотрите также
- Получение данных
- VPX
- VXS
- CompactPCI
- КАМАК
- FPDP
- Список пропускной способности устройства
Рекомендации
- ^ "Автобус Versa Module Europa" . Проверено 8 апреля 2019 .
- ^ "Да здравствует ВМЭ!" . Проверено 8 апреля 2019 .
- ^ Б с д е е г «Вопросы и ответы по технологии VME» . Vita.com. 3 января 1999 . Проверено 1 августа 2013 года .
- ^ Черный, Джон Артур (1992). Справочник системного инженера: руководство по созданию систем VMEbus и VXIbus . Морган Кауфманн . п. 563. ISBN. 978-0-12-102820-6.
Группа инженеров Motorola Microsystems во главе с Джеком Кистером разработала систему разработки 68000 под названием EXORmacs. Объединительная плата EXORmacs называлась VERSAbus. Координируя усилия своей команды, Джек написал описание VERSAbus на 41 странице, которое было опубликовано в ноябре 1979 года. Первые EXORmac были отправлены в январе 1980 года.
- ^ «Продукты HP VME - Alimar Technology Corp.» . Alimartech.com . Проверено 1 августа 2013 года .
- ^ Из таблицы 7-1 Назначение контактов J1 / P1, ANSI / VITA 1-1994 (R2002)
- ^ Из таблицы 7 - 2 Назначение контактов J2 / P2, ANSI / VITA 1-1994 (R2002)
Внешние ссылки
- ВИТА
- VME нового поколения
- Распиновка и сигналы шины VME