Интерф периф устр лекции (775982), страница 9
Текст из файла (страница 9)
VМЕ представляет собой многоуровневый интерфейс, структура которого представлена на рис.14. Он включает 3 основных магистрали: основную VMEbus, последовательную VMS и параллельную локальную VSB (VMX).
Основное назначение магистралей VMS и VSB - снижение трафика (загрузки) шины VME и повышение производительности ММС на основе VME. Необходимость дополнительных магистралей возникает при организации многопроцессорных систем, процессоры которых имеют локальные ресурсы (см. раздел 1.4). Магистраль VSB (VME Subsystem Bus) - это мультиплексированная 32-разрядная шина. Физически занимает 2 свободных ряда А и С на нижнем разъеме платы VME размером 6U. В одном крейте VME может быть несколько магистралей VSB. Максимальное число модулей в магистрали - 6. Она имеет одноуровневое прерывание, одноуровневый арбитраж, динамическую установку размера передаваемых данных и адреса, блочную передачу.
VSB
VME
VICbus
VME
VSB
VMS
Рис.14 Архитектура интерфейса VМЕ.
VSB является преемницей ранее разработанных интерфейсов VMX и MVMX32. Принципы управления похожи на VME, но она с VME не совместима. Скорость передачи по VSB выше, чем по основной магистрали за счет упрощенного протокола обмена, ограниченного числа модулей и меньшей длины магистралей.
VMS - последовательная синхронная магистраль, используемая для передачи коротких сообщений. Она может использоваться для связи нескольких модулей или крейтов. Ее пропускная способность при передаче внутри крейта составляет 2,9Мбит/с. Если требуется передача на длинные расстояния эта величина, естественно, снижается. Для передачи данных используются линии синхронизации SERCLK и данных SERDAT, которые выводятся на магистраль через контакты основного разъема P1. Дальнейшим развитием VMS является магистраль AUTOBAHN, обеспечивающая передачу данных со скоростью до 200 Мбит/с [1].
Шина VICbus (VMEbus Interconnect) является стандартным средством удлинения магистрали VME. Разрядность VICbus равна 32. Известны реализации, позволяющие объединить до 15 крейтов VMEbus на расстоянии 100 метров. Процессорный модуль может быть только один в любом из крейтов, а остальные крейты могут содержать только пассивные модули. Обращение процессора к модулям, расположенным в удаленных крейтах, производится как к обычной памяти. Скорость передачи по VICbus - до 10Мбайт/с[1].
Адаптацию VME к задачам измерительной технике обеспечивает интерфейс VXIbus (VMEbus extension for Instrumentation). VXI в настоящее время поддерживает более 200 зарубежных фирм, которые выпускают более 500 типов модулей [1,8].
Дальнейшее изложение материала посвящено рассмотрению принципов организации и особенностей применения только основных магистралей VMEbus.
3.2 Организация магистрали информационного канала
Основные шины интерфейса VME представлены в табл. 3.
Таблица 3. Основные шины VME.
Наименование Линии
шины
А
дресная ША А01-А31
Д анных ШД DOO-D3l
Команд ШК АМО-АМ5, LWORD*,IACK*, WRITE*, DSO*,
SYSRESET* DS1*,
Состояний ШС BERR*, RETRY*
У правление
о бменом ШУО SYSCLC, AS*, DTACK*, DSO*, DS1*
Передачи BGOIN*-BG3IN*, BGOUT*-BG3OUT*,
управления ШПУ BRO*-BR3*, BBSY*, BCLR*
П рерываний ШП IRQ1*-IRQ7*, IACKIN*, IACKOUT*, IACK*
С пециальных ACFAIL*, SYSFAIL*, SERCLC*,
управляющих +5V STTDBY, +5VDC, ±12V DC,
сигналов ШСУС GND, RESERVED SERDAT*,
Адресная шина содержит линии (А01-А31) в обычной версии VME и 64 линии в версии D. Управляется она ведущими модулями и устройствами обработки прерываний. При обработке прерываний используются линии А01-АОЗ. Линия АОО в интерфейсе отсутствует. Ее функции реализуются сигналами DSO*, DS1*. (Здесь и далее звездочка * обозначает инверсию сигнала). Формирователи сигналов ША должны быть с 3 состояниями.
Шина данных DOO-D31 управляется ведущими, ведомыми модулями и источниками прерываний. Формирователи сигналов ШД должны быть двунаправленные с тремя состояниями.
В версии D (64 бита) по ША и ШД передается в режиме мультиплексирования адресная информация и данные.
Шина команд содержит линии, определяющие длину данных, участвующих в передаче, размер адреса и тип выполняемого цикла. Управление размером адреса, пересылаемого по ША, выполняется шестиразрядным кодом модификатора адреса АМО-АМ5, сигналом подтверждения прерывания IACK* и признаком длинного слова LWORD*. Все эти сигналы формируются ведущим устройством и определяются по срезу адресного строба AS*. Для определения местоположения байта в группе из 4 байт используются два строба данных DSO*, DS1 *.
Существует 4 типа адресации в зависимости от длины адреса: короткая ввода/вывода (16 бит), стандартная (24 бита), расширенная (32 бита) и длинная (64 бита). Размер адреса может быть изменен в каждом цикле шины, что позволяет использовать большое разнообразие конфигураций системы.
Управление длиной адреса осуществляется кодом модификатора адреса АМО-АМ5, который сопровождает каждую передачу информации по магистрали. Подчиненные устройства опрашивают АМО-АМ5, и определяют какие линии адреса необходимо дешифрировать в текущем цикле. Короткие адреса дешифрируются на линиях АО1-А15, стандартные - А01-А23, расширенные - на А01-А32, длинные - на А01-А32, LWORD* - DOO-D31.
Модификатор адреса указывает также тип цикла шины: выборка команды, чтение/запись, блочная пересылка. Эти циклы могут быть инициализированы пользовательской программой или привилегированной программой (супервизором).
Сигнал IACK* может рассматриваться как седьмой разряд модификатора адреса. Он выставляется устройством обработки прерываний и инвертируется ведущим устройством, чтобы показать, что это цикл пересылки данных. Если IACK* равен 0, то линии АМО-АМ5 ведомыми устройствами игнорируются. Коды модификации адреса подразделяются на три группы: специализированные, резервные и определяемые пользователем. Резервные коды предназначены для возможного использования в будущих версиях.
Коды, определяемые пользователем, могут применяться, например, для разделения памяти между отдельными процессорами в мультипроцессорной системе, реализации групповых передач и т.д.
Разрядностью шины данных, также как и шины адреса, можно управлять динамически. Изменение разрядности достигается разбиением ШД на 4 банка (DOO-D07,D08-D15,D16-D23,D24-D31), управление которыми выполняют сигналы строба данных DSO*, DS1*, адресная линия А01 и LWORD*. Эти сигналы формирует ведущее устройство, а ведомое устройство их декодирует и оперирует данными одного или нескольких банков.
В качестве адреса в VME указывается адрес младшего байта. Поэтому адреса 16 и 32-разрядных данных всегда четные. Спецификации VME позволяют размещать двух- и четырехбайтовые данные по нечетным адресам. Это называется невыравненные пересылки. Невыравненные пересылки могут ускорять работу VME посредством разрешения пересылки 32-разрядных данных по нечетным адресам.
Если 32-разрядные данные размещены по четному адресу (АО1=0, DSO*=DS1*=0), то их передача осуществляется за один цикл шины. Если адрес нечетный, то возможны два варианта. В первом случае ведущее устройство пересылает два одиночных байта и двойной байт, занимая три цикла шины. Во втором - пересылается невыравненные трехбайтовые данные и одиночный байт, занимая два цикла шины.
В состав ШК входят также линия WRITE*, которая указывает направление передачи данных по ШД, и линия SYSRESET*, по которой передается сигнал общего сброса системы. WRITE* формируется ведущим устройством и относится к сигналам с тремя состояниями. SYSRESET* может формироваться любым модулем. Выход на линию SYSRESET* осуществляется через схемы с открытым коллектором. Шина состояний состоит из линий BERR* и RETRY*. Сигнал ошибки шины BERR* формируется ведомым модулем или модулем таймера магистрали, который следит за временем выполнения операций. Выход на линию BERR* - через схему с открытым коллектором.
Сигнал RETRY* используется в редакции D спецификации VME. Он совместно с BERR* может быть установлен в состояние низкого уровня ведомым модулем, если текущая пересылка не может быть осуществлена, но должна быть повторена попытка обращения ведущим модулем в следующем цикле. RETRY* является стандартным сигналом с тремя состояниями.
Наличие гибкого управления пересылаемых сообщений позволяют создавать модули, сложность которых определяется требуемыми техническими характеристиками. Это приводит к снижению аппаратных затрат, экономии пространства платы, необходимой для размещения интерфейсной части модуля, и снижает стоимость системы. Динамическое распределение разрядности ША и ШД позволяет использовать ранее разработанные программные и аппаратные средства, реализованные на 8 и 16-разрядных микропроцессорах.
3.3 Организация магистрали управления информационным
каналом.
3.3.1 Шина управления обменом
Шина управления обменом состоит из линий SYSCLK*, AS*, DTACK*. Сервисный тактовый сигнал SYSCLK* частотой 16 МГц формируется системным контроллером. Этот сигнал может быть использован для любой цели и не синхронизирован с другими сигналами VМЕ.
Адресный строб AS* формируется ведущими модулями и устройствами обработки прерываний. AS*=0 указывает на достоверность информации шины адреса и линий модификатора адреса. Этот сигнал определяет начало выполнения операций на магистралях и относится к классу мощных сигналов с 3 состояниями.
Сигнал подтверждения пересылки данных DTACK* формируется ведомыми модулями или инициаторами прерываний. DTACK* выставляется во время циклов записи после того, как ведомый модуль закончит прием данных. В циклах чтения и подтверждения прерывания DTACK* выставляется после того, как достоверные данные помещаются на ШД.