Компоненты и технологии, № 8'2003 Компоненты
Подключение приборных плат к шинам современных компьютеров
Часть I. Современные компьютерные шины
Леонид Вихарев
vleo@atel.ru
1. Введение
Электронные приборы в настоящее время применяются практически везде: от науки до бытовой техники. При этом сложность задач, возложенных на эти приборы, постоянно возрастает. Вместе с ней растут скорости и объемы перерабатываемых данных. Зачастую уже не удается обойтись автономными устройствами, поскольку их ресурсы сильно ограничены. Так, например, объемы пересылаемых данных и сложность алгоритмов обработки в автоматизированных системах видеонаблюдения столь значительны, что решить эту задачу автономным прибором просто нереально.
Можно усовершенствовать приборы, дополняя их средствами хранения данных, клавиатурами, дисплеями — всем тем, что делает их удобными, и, в конце концов, решить-таки поставленную задачу. Однако сложность получившегося в итоге устройства становится сравнима со сложностью компьютера. Но стоит ли овчинка выделки? Стоит ли наращивать функциональные возможности устройства, если есть готовый компьютер, состоящий из тех же самых узлов, которыми дополняется устройство?
Ответ давно известен — электронные устройства должны встраиваться в компьютер, подключаться к его внутренним шинам. К такому решению разработчики пришли уже довольно давно, еще в ту пору, когда компьютер не был столь распространен, как сегодня.
Справедливости ради нужно сказать, что для наиболее ответственных и особо сложных систем существует и, наверное, более правильным является второй путь — разработка приборов, ориентированных на работу в специальных стандартах, так называемых промышленных магистрально-модульных системах (ММС). Как справедливо отмечается в статье А. Рыбакова «Эволюция стандарта PCI для жестких встраиваемых приложений» (АО RTSoft, http://www.osp.ru/os/1997/05/52_print.htm): «Ключевым фактором промышленных систем, особенно встраиваемых, является здоровый консерватизм, ориентация на компоненты и технологии (процессоры, механика, магистральные стандарты, программное обеспечение), гарантирующие создание конечных систем с длительным жизненным циклом, сравнимым с жизненным циклом объекта управления, такого, как прокатный стан или командный пункт запуска стратегических ра-
кет». Электронное оснащение серьезной системы не должно зависеть от быстро меняющейся архитектуры компьютера и не должно выполняться в конструктивах, не допускающих адаптации к непрерывно меняющимся технологическим условиям. К сожалению, не всегда это принимается во внимание. «Специалисты, применяющие в своих промышленных или военных системах технологии, предназначенные для офисного рынка, пройдя весь путь разработки, закончив комплект КД, проведя все типы испытаний, вдруг с удивлением обнаруживают, что заложенные в проект модели компьютеров или контроллеров сняты с производства. По России, вероятно, немало найдется таких систем, «подвисших» над пропастью по причине близорукости конкретных менеджеров» (там же).
Однако кроме больших и сложных промышленных и военных систем есть еще огромное множество непростых устройств, которые так же необходимо подключить к компьютеру. Эта статья посвящена проблемам связи с компьютером именно таких устройств. Они не предназначены для эксплуатации в течение десятков лет. Выполнять эти устройства в ММС накладно и нерационально. Заложенная в универсальных стандартах избыточность часто удорожает прибор столь значительно, что он многократно проигрывает конкурентам по стоимости и остается невостребованным на рынке. Приборы же, выполненные в виде встраиваемых плат, сравнительно дешевы и потому пользуются спросом. Но разработчики таких устройств должны быть готовы к постоянной модернизации плат и ПО, поскольку компьютер непрерывно эволюционирует, развивается, меняется.
2. Современные компьютерные шины
У компьютеров IBM PC XT системная шина была предназначена для одновременной передачи только 8 бит данных, так как используемый в компьютерах микропроцессор имел именно такую разрядность. Позже, в компьютерах, использующих микропроцессор i80286, стала применяться новая системная шина ISA (Industry Standard Аrchitecture), полностью реализующая возможности упомянутого микропроцессора. Новая шина явилась развитием предыдущей и включала свойства и возможности старой 8-разрядной шины. Заметим, что благодаря преемственности, все устройства, подключавшиеся
Компоненты и технологии, № 8'2003
к PC XT, могли без проблем применяться и в PC AT 286. Системная шина ISA работала на частоте 8 МГц, но синхронизация работы шины и микропроцессора производилась разными тактовыми частотами. Такое решение имело серьезные последствия. Благодаря этому обстоятельству, устройства, выполненные на платах расширения, могли работать быстрее или медленнее, чем базовый микропроцессор. Скорости могли отличаться весьма существенно, что стало особенно актуальным, когда тактовая частота процессоров, возраставшая год от года, превысила 12 МГц (предельная частота работы микросхем средней степени интеграции, на которых тогда выполнялись встраиваемые электронные устройства).
С той поры компьютер изменился настолько радикально, что теперь трудно даже поверить, что тот вчерашний и этот сегодняшний связаны самыми тесными родственными узами. Технологический прогресс сделал возможным появление сложных современных высокоскоростных процессоров.
Их частота синхронизации выросла столь значительно, что потребовалось коренное изменение всей внутренней архитектуры системной платы. Оказалось, что возможности системной шины ISA для построения высокопроизводительных систем следующего поколения были уже практически исчерпаны. Выходом из ситуации стало появление новых многоразрядных скоростных шин, разделяющих основные узлы (процессор и память) с периферийными устройствами и встраиваемыми платами пользователей.
К сожалению, изменение архитектуры компьютера оказалось настолько серьезным, что применение ранее разработанных плат пользователя стало абсолютно невозможным. Виной тому новые интерфейсы, или, как их еще называют — шины.
Для того чтобы понимать, в чем заключается разница между ними, чтобы со знанием дела подключать свою электронику к компьютеру, разработчик должен хотя бы в общих чертах представлять себе особенности каждой из них, понимать их назначение и применимость к своим задачам.
Теперь на материнской плате разведена не одна шина, как было раньше, а несколько.
В современных компьютерах их можно насчитать по меньшей мере 3 (иногда 4 или даже 5). Каждая имеет свои особенности и предназначена для решения своих специфических задач. Основной шиной сегодня является шина PCI, связывающая процессор и память со всей остальной начинкой и устройствами ввода-вывода. Благодаря новой архитектуре доступ к памяти компьютера получили не только центральный процессор, но и платы устройств с функцией bus master, способные управлять передачей данных по шине, работать в режиме DMA.
2.1. Краткая характеристика шины PCI
Шина РС1 поддерживает 32-разрядный канал передачи данных между процессором и периферийными устройствами. Она может использовать 124-контактный разъем
CLK
FRAME#
AD
С/BE# IRDY# TRDY# DEVSEL#
Адрес
K оман да
Выбор передаваемых байтов
-С Данные-1 Хд анные-2~)( Данные-3
z>-
V
Л.
У
Адрес Ожидание Данные-1 Ожидание Данные-2 Ожидание Данные-3
Рис. 1. Пример транзакции в интерфейсе PCI
(32-разрядная передача данных) или 188-кон-------------------www.finestreet.ru-
тактный разъем (64-разрядная передача данных). Частота работы шины 33 или 66 МГц (v.2.1) позволяет обеспечить широкий диапазон пропускных способностей (с использованием пакетного режима):
• 132 Мбайт/с при 32 бит на 33 МГц;
• 264 Mбайт/с при 32 бит на 66 МГц;
• 264 Mбайт/с при 64 бит на 33 МГц;
• 528 Мбайт/с при 64 бит на 66 МГц.
В соответствии со спецификацией PQ (v.2.1) к шине может подключаться до 10 устройств. Обычно на платах устанавливаются не более 4 разъемов (одна плата может вмещать два и более самостоятельных устройства). PCI обеспечивает проверку на четность как адреса, так и данных и позволяет реализовывать устойчивые к ошибкам решения.
Адрес и данные мультиплексированы и передаются по одним и тем же линиям PCI. Транзакции шины (пересылки данных) состоят из фазы адреса, вслед за которой следует одна (или больше) фаз данных. Арбитраж не требует дополнительных затрат времени, так как выполняется одновременно с другими операциями шины (перекрывается ими).
Стандарт предусматривает несколько способов повышения пропускной способности. Среди них не только применение шины с увеличенной разрядностью и повышенной частотой синхронизации. К ним можно отнести и режим DMA и блочные передачи, при которых передача начального адреса производится один раз перед первой пересылкой, а также скрытый (перекрывающийся во времени) центральный арбитраж. Оба типа обмена позволяют сократить время, требующееся на пересылку массива данных. Возможность самостоятельного управления шиной (Bus mastering) позволяет устройству осуществлять (инициировать) любые транзакции чтения-записи, адресованные к другим устройствам на шине PCI или к системной памяти. Эти транзакции осуществляются независимо от главного процессора, поэтому, хотя они ничуть не быстрее обычных транзакций, они не мешают его работе и не отнимают у него время. Контроллер, запрограммированный на выполнение какой-либо передачи данных или на выполнение последовательности команд, больше не требует действий от процессора, пока он (контроллер) не завершит свою задачу. Для информирования процессора о том, что хозяин шины (bus master) выполнил свои действия, используется механизм прерываний.
Спецификация шины PCI определяет три типа ресурсов: два обычных — диапазон памяти и диапазон ввода-вывода — и обяза-
тельное теперь «конфигурационное пространство». Конфигурационное пространство состоит из трех регионов:
• заголовка, независимого от устройства (device-independent header region);
• региона, определяемого типом устройства (header-type region);
• региона, определяемого пользователем (user-defined region).
В заголовке содержится информация о производителе и типе устройства — поле Class Code (сетевой адаптер, контроллер диска, мультимедиа и т. д.) и прочая служебная информация.
Следующий регион содержит регистры диапазонов памяти и ввода-вывода, которые позволяют динамически выделять устройству область системной памяти и адресного пространства. Роль последнего региона понятна из его названия.
В современных компьютерах можно на одной материнской плате (motherboard) обнаружить два варианта исполнения шины, отличающиеся тактовой частотой синхронизации пересылок. В таких случаях между шинами устанавливаются микросхемы мостовых контроллеров PCI-to-PCI. Мосты применяются также для расширения шины, позволяя подключать к ней большее число плат.
Отделение периферийного оборудования от процессора и памяти позволило фирме Intel назвать эту шину процессорно-независимой. Действительно, платы расширения (ввода-вывода данных) разработанные для компьютеров типа IBM PC с процессорами фирмы Intel, могут встраиваться в компьютеры Apple Macintosh, основанные на процессорах фирмы Motorola.
Краткое описание принципов работы шины, а также полную версию стандарта PCI (v.2.2) можно найти на сайте компании «Атлас электроник групп» по адресу http:// www.atel.ru/pci.htm.
2.2. Краткая характеристика шины AGP Стандарт AGP был разработан фирмой Intel для того, чтобы, не изменяя коренным образом сложившийся стандарт на шину PCI, ускорить вывод данных на видеокарту и, кроме этого, увеличить производительность компьютера при обработке трехмерных изображений.
Конструктивно шина реализуется в виде отдельного слота (разъема) с питанием 3,3 В, напоминающего слот PCI. Скорость передачи данных в этом интерфейсе увеличена по сравнению с шиной PCI и равняется 533 Мбайт/с. Она обусловлена частотой шины AGP 66 МГц и возможностью отмены механизма мульти-
Компоненты и технологии, № 8'2003
монитор
видео
карта
AGP
AGP
процкссор
чип-сет 4------►
основное
ОЗУ
Рис. 2. Шина AGP в компьютере
шина PCI
L_________устрой сгва j! вода/ вывода_____|
плексирования адреса и данных (на PCI по одним и тем же физическим линиям сначала выдается адрес, а потом данные).
Шина PCI имеет тактовую частоту 33 МГц и 32 разряда данных, поэтому может пропускать данные со скоростью 132 Mбайт/с. Интерфейс AGP имеет частоту шины 66 МГц и ту же разрядность данных, и поэтому в стандартном режиме (точнее, режим «1х») может пропустить 266 Mбайт/с. Стандарт предусматривает возможность передачи данных в режиме увеличенной скорости при помощи введения дополнительных специальных сигналов, используемых как стробы. Кроме «классического» способа адресации, примененного в интерфейсе PCI, где сначала выставляется адрес, а затем с некоторой задержкой на тех же шинах появляются данные, в AGP может использоваться режим sideband addressing, называемый также «адресация по боковой полосе». Скорость обмена в режиме SBA возрастает, так как ликвидируются временные задержки между циклами передачи адреса и циклами передачи данных. Интерфейс ориентирован на передачу крупных массивов данных к видеоадаптеру. Единичные пересылки могут выполняться в обычном режиме, подобном PCI.
2.3. Интерфейсы дисковых устройств
Все далее описываемые шинные интерфейсы имеют коренное отличие от других компьютерных шин — они относятся к кабельным интерфейсам с параллельной пересылкой данных. Среди компьютерных интерфейсов есть еще одна кабельная шина (USB), но она имеет последовательный тип обмена и совершенно иные качества, поэтому о ней будет рассказано отдельно.
SCSI
Системный интерфейс малых ЭВМ SCSI (Small Computer System Interface) регламентирован стандартом IEC 9316, который унифицирует основные уровни для базовых типов периферийных устройств, главным образом различных накопителей типа магнитных дисков. Физически 8-битный интерфейс SCSI представляет собой шину, состоящую из 25 сигнальных цепей. Для обеспечения помехозащищенности каждая сигнальная цепь имеет свой отдельный обратный провод. По типу сигналов различают линейные (Single Ended) и дифференциальные (Differential) версии SCSI. Дифференциальная версия для каждой цепи использует пару проводников, по которым передается парафазный сигнал. Здесь используются специальные дифферен-
циальные приемо-передатчики, что позволяет значительно увеличить суммарную длину кабеля (25 м при 5 МГц). Дифференциальный интерфейс применяется в мощных дисковых системах серверов, но в обычных PC не распространен. В интерфейсе используется логическая адресация всех блоков данных, используется контроль четности и синхронная передача данных. Кроме того, в стандарте определены расширенные команды для устройств прямого доступа, постоянные команды для всех типов устройств, уникальные команды для жестких дисков, оптических дисков и процессоров. Максимальное число подключенных устройств — 8 (в новой версии стандарта — 15). Каждое устройство идентифицируется соответствующим разрядом, размещаемым на линии данных. Максимальная скорость передачи данных в первых версиях стандарта составляла всего лишь 4 Мбайт/с при длине кабеля до 6 м и использовании обычных приемопередатчиков (до 25 м при применении дифференциальных приемопередатчиков). Устойчивая работа шины возможна только при применении специальных согласующих устройств — терминаторов. Они предназначены для «подтягивания» уровня сигналов линий к высокому потенциалу (лог. «0» данных и пассивное состояние управляющих сигналов). Терминаторы служат и для предотвращения отражения сигналов от концов кабеля. SCSI является одной из старых периферийных шин, используемых (с доработками) и поныне. Спецификация стандарта несколько раз пересматривалась в сторону увеличения скоростей обмена. Такие известные фирмы, как, например, LSI Logic и QLogic производят целую серию контроллерных чипов, обслуживающих эту шину. Более подробную информацию по данному интерфейсу читатель может найти по адресу http:// www.neva.ru/mgook/art/mg-scsi.htm.
IDE
У интерфейса SCSI, первоначально единственного интерфейса для жестких дисков, появились конкуренты. С появлением и развитием сетевых технологий возникла необходимость в совершенствовании управления процессами обмена на магистрали между жестким диском и основной платой. Результатом изменившихся требований стало появление IDE-устройств. Интерфейс появился в результате переноса контроллера жесткого диска поближе к самому накопителю, то есть он возник в процессе создания устройств
со встроенным контроллером — IDE (Integrated Device Electronic). Так в компьютере появились два типа дисковых накопителей — с интерфейсом SCSI и UltraDMA/ATA. Правда, время немного разделило сферы применения старых и новых дисковых протоколов, но борьба продолжается и исход ее пока неясен. SCSI-диски прекрасно справляются с профильными для них «серверными» нагрузками, а IDE-диски в RAID-массивах отлично проявляют себя при работе с линейным чтением-записью. Очевидно, что и те и другие диски имеют свои преимущества и недостатки. Диски с интерфейсом SCSI надежны, быстры, но дороги. К тому же для работы им требуется сравнительно дорогой контроллер. Диски IDE имеют подчас громадную емкость, и стоимость хранения 1 Мбайта данных на этих дисках намного меньше, чем на SCSI-дисках. Но, к сожалению, диски IDE менее надежны, и поэтому для создания отказоустойчивой дисковой подсистемы их приходится объединять в RAID-массивы.
Ultra DMA/33/66
Появление очередного стандарта на IDE-интерфейс вызвано острой необходимостью — жесткие диски со скоростью вращения шпинделя 7200 об/мин начали выпускаться в заметных объемах, и ожидалось увеличение скорости до 10000 об/мин. (За этими цифрами скрывается скорость доступа к данным, размещенным на диске. Как правило, чем выше скорость вращения, тем меньше время доступа.) Главное отличие нового стандарта — увеличенная скорость обмена. Поскольку длительность каждого сигнала соответственно уменьшается, то резко возрастает угроза влияния высокочастотных помех на сигналы интерфейса. Уже при разработке стандарта UltraDMA/33 был применен метод CRC (Cyclical Redundancy Check — циклический контроль с избыточным кодом) и данные тем самым контролировались по всей цепи их прохождения. CRC сохранился в качестве метода контроля целостности данных в UltraDMA/66, но, с целью повышения помехоустойчивости, пришлось изменить конструкцию кабеля. Реально скорость обмена 66 Mбайт/с будет достигаться только при работе с буфером жесткого диска, считывание данных с диска происходит на меньших скоростях.
Ultra ATA/100
В начале 2000 года появились первые сообщения об очередном развитии IDE-интерфейса — Ultra ATA/100. В июне того же года фирма Intel выпустила первый контроллер, поддерживающий новый вариант интерфейса. Он в принципе мало чем отличается от своих предшественников, предназначавшихся для работы с интерфейсом UltraDMA/66. Внутренняя частота синхронизации контроллера устанавливается равной 133 M^. Есть одно важное обстоятельство: поскольку сигналы записи на диск формируются контроллером, а сигналы чтения с диска собственно диском, то существует различие в частоте сигналов записи и чтения. В результате чтение диска выполняется со скоростью 100 Mбайт/с, в то время как запись только со скоростью 88,9 Mбайт/с.
Компоненты и технологии, № 8'2003
Несимметричность интерфейса, пожалуй, главная особенность нового варианта IDE.
Способ физической реализации интерфейса наложил особые требования на скорость передачи и способы синхронизации. Для бескабельных интерфейсов в качестве линий связи используются проводники печатной платы, которые могут быть достаточно легко разведены в различных слоях.
Их взаимовлияние, а также воздействие внешних помех на сигналы в линиях связи может быть сведено к минимуму. С точки зрения обыкновенного здравого смысла, параллельный интерфейс всегда быстрее и значительно проще (и следовательно, предпочтительнее), чем последовательный, так как за один период тактового сигнала шины передаются сразу 8, 16, 32 или 64 бит данных. Это наблюдение, бесспорно правильное для бескабельных шин, таких, например, как PCI или AGP, не вполне подходит для кабельных. Дело в том, что при прохождении сигналов по параллельной шине вместе с повышением тактовой частоты растет уровень наводок сигналов шины друг на друга. Вместе с этим снижается защищенность шины от влияния, оказываемого источниками внешних помех на качество передаваемых сигналов. А источников много как в самом компьютере, так и за его пределами и их воздействие сказывается на надежности передачи данных. Возможностей же компенсации помех в кабельной шине меньше, чем в печатной. Повышение частоты синхронизации, скорости обмена и разрядности данных в параллельных кабельных шинах ограничивается допустимым уровнем шума на линиях связи, длиной кабеля, наличием узлов подавления отраженных сигналов. Разработчики параллельных интерфейсов, конечно, принимают меры для снижения ущерба от наводок, но без специальных схем и методов борьбы с шумами дальнейшее развитие кабельных интерфейсов невозможно. Может быть, развитие технологии LVDS поможет сохранению и развитию этой группы шин.
Краткое описание работы этой группы компьютерных интерфейсов можно найти по адресу http://www.spline.ru/SplineRazdel_1.htm.
2.4. Краткая характеристика шины USB
Популярность этой сравнительно новой шины растет с каждым днем, что, вероятно, объясняется хорошими скоростными параметрами, простотой установки устройств, удобством «горячего» подключения, невысокой стоимостью, повсеместной поддержкой в компьютерных ОС — все эти плюсы хорошо известны и довольно весомы. Первая версия стандарта шины USB (Universal Serial Bus — универсальная последовательная шина) появилась 15 января 1996 года. В англоязычном варианте его изложение занимает около 300 страниц, а второй версии (USB 2.0) — превышает 650 (в формате pdf). Понятно, что пытаться изложить столь серьезные документы в журнальной статье невозможно. Поэтому ограничимся лишь самой общей характеристикой интерфейса.
В начале своего существования шина USB 1.0 предназначалась для подключения
только низкоскоростных устройств с небольшой скоростью передачи данных. В режиме низкой скорости к шине предполагалось подключать клавиатуры, мыши и джойстики; матричные принтеры и дигитайзеры; цифровые модемы для обычных телефонных линий и фотокамеры.
Возможности USB следуют из ее технических характеристик:
• Максимальная скорость обмена <12 M6ot/c.
• Максимальная длина кабеля для высокой скорости обмена ~ 5 м.
• Низкая скорость обмена <1,5 M6ot/c.
• Максимальная длина кабеля для низкой скорости обмена ~ 3 м.
• Максимальное количество подключенных устройств — 127.
• Возможно подключение устройств с различными скоростями обмена.
• Отсутствие необходимости в установке пользователем дополнительных элементов, таких, как терминаторы для SCSI.
• Напряжение питания для периферийных устройств — 5 В.
• Максимальный ток потребления на одно устройство — 500 мA (не следует думать, что через USB можно запитать устройства с общим током потребления 127x500 мA = 63,5 A).
Наличие двух невысоких скоростей обмена данными ограничивало применяемость шины, но зато существенно уменьшало количество линий интерфейса и упрощало аппаратную реализацию. С течением времени оказалось, что некоторые свойства, заложенные в спецификации шины, на практике применяются очень редко, другие — требуют ревизии. Так, например, возможность горячей замены периферийного компьютерного оборудования пользователем практически не применяется, так как обновление оборудования — дело нечастое, хотя и удобное. Но вот существовавшие ограничения скорости передачи данных определенно мешали широкому распространению шины. Обнаружившиеся неудобства привели не к гибели стандарта, как можно было предположить, а к появлению его новой редакции — USB 2.0, скорость передачи данных в которой увеличена в десятки раз. Теперь стало возможным подключать электронику с максимальной скоростью обмена до 480 Мбит/с, что позволяет выполнять передачу видеоданных по USB и делает ее прямым конкурентом IEEE-1394 (FireWire). Новая редакция интерфейса предполагает преемственность и возможность подключения к шине ранее разработанных устройств.
Стандарт предполагает, что только одно из устройств, подключенных к шине, может быть главным (хостом). Остальные же для передачи данных друг другу должны сначала переслать их к хосту, а лишь затем эти данные могут быть переданы к третьему устройству. Хостом мог быть только компьютер. Такое требование не допускало прямой обмен данными между сравнительно простыми устройствами и ограничивало сферу применения стандарта. В результате в 2001 году появилось еще одно изменение стандарта,
точнее, его дополнение — USB OTG. Оно разрешало выполнять непосредственный обмен между двумя устройствами без участия в нем компьютера. Теперь допустимы соединения по типу «точка-точка». Стало возможным соединить напрямую, например, принтер и цифровую фотокамеру или МР3-проигрыватель и мобильный телефон. По-прежнему в процессе участвует ведущий и ведомый. Но при работе с компьютером правила остаются прежними. Тот же ведущий в стандартном режиме может выполнять роль только ведомого, то есть устройство становится способным, в зависимости от ситуации, выступать в разных качествах. Те, которые к этому неспособны, остаются только ведомыми.
Чтобы различать компоненты сети USB по типам, устройства, способные быть ведущими, оснащаются разъемом типа «тшАВ», а ведомые — «miniB». Соединительный кабель допускает только один вариант соединения в сеть и определяет, кто именно будет в сети ведущим.
В режиме высокой скорости к шине могут быть подключены: ISDN-модемы, звуковые колонки (с цифровым входом и встроенным ЦАП), внешние накопители класса Iomega Zip, офисные АТС, лазерные и струйные принтеры, а также сложное измерительное оборудование, перерабатывающее большие объемы данных и требующее высоких скоростей обмена. Сегодня шина USB является, пожалуй, наиболее перспективным стандартом с позиции подключения сложных пользовательских электронных устройств к компьютеру. Полную версию стандарта USB (v2.0) можно скачать с сайта компании «Атлас эле-ктроник групп» по адресу http://www.atel.ru/ usb.htm.
2.5. Шины магистрально-модульных систем
Необходимо сказать об особой шине, известной как стандарт VME (Virtual Machine Environment — среда виртуальной машины или режим виртуальной машины). Как видно из названия, интерфейс изначально разрабатывался для создания специализированных вычислительных систем и был промышленной альтернативой для популярной офисной персональной IBM PC. Позже стала часто встречаться расшифровка аббревиатуры VME как Versa Module Eurocard, что можно перевести как еврокарта изменяемого, перестраиваемого, универсального модуля или универсальная модульная еврокарта). Однако независимо от изменений в наименовании эта шина бала разработана для создания уже упоминавшихся здесь ранее ММС, то есть являлась внутренней шиной специализированных вычислительно-измерительных устройств. По этой причине она тоже может быть отнесена к компьютерным интерфейсам. Разработанный в 1981 году консорциумом авторитетнейших электронных фирм (Motorola, Philips, Thompson, Signetics и др.), стандарт VME во многом опередил свое время. Эта полноценная 32-разрядная шина с пропускной способностью до 40 Мбайт/с и широкими возможностями подключения пользовательских
Компоненты и технологии, № 8'2003
электронных плат (до 21 слота) очень нужна была как создателям рабочих станций, так и заказчикам специализированной электроники — военным, ученым, медикам. Одним из достоинств стандарта VME является изменяемая, масштабируемая вычислительная мощность. Она достигается за счет организации мультипроцессорной работы, так как стандартом допускается на одной магистрали VME устанавливать несколько процессорных модулей, которые будут разделять общие ресурсы системы и конкурировать в доступе к магистрали.
Вся система монтируется в особом каркасе (крейте) c объединяющей платой (back plane), на которой установлены разъемы с разведенными линиями связи и шинами питания. (Немного похоже на разводку разъемов шины PCI по материнской плате компьютера.) Модульность, то есть выполнение системы как группы функциональных модулей, каждый из которых может быть заменен, удален или наоборот добавлен в нескольких экземплярах, позволяет трансформировать пользовательскую электронику, добиваясь оптимальных характеристик. Модульность же позволяет приспособить всю систему в целом к новым технологическим прорывам путем замены лишь одного-двух функциональных устройств (процессорного модуля или модуля НЖД, памяти или, скажем, модуля периферийных устройств), не меняя специализированную часть комплекта. (Естественно, что такая замена потребует модернизации части ПО. Это не просто. Потребуется время и средства, но все-таки их нужно меньше, чем необходимо при полной переделке всей сложной многофункциональной системы.)
Можно назвать ряд приложений, в которых VME-системы работают сегодня и будут доминировать еще не один год:
• аппаратура военного и космического применения;
• медицинские и научные приборы;
• тестовое и контрольное оборудование;
• автоматизированные системы управления;
• телекоммуникационное оборудование.
Известно, что электронная начинка «Шаттлов» также реализована в этом стандарте, правда, с целью повышения надежности в условиях повышенных вибраций, в конструкцию модуля было добавлено лишнее ребро жесткости. Такая фирма, как Force Computers — один
из производителей электроники для сухопутных и военно-морских сил США, поставляет свою продукцию в виде ММС, выполненных в стандарте VME. (На одной из выставок 2002 года в Санкт-Петербурге можно было познакомиться с аналогичной продукцией российских компаний, работающих на наши вооруженные силы. Они не отстают от мировых тенденций, и их электроника также сделана в конструктиве VME.)
Задуманный как среда для реализации специализированных встраиваемых вычислительных систем, интерфейс VME первоначально был мало пригоден для подключения многоканальной измерительной и управляющей электроники. Прежде всего, недоставало питающих напряжений, не очень удобно были разведены шины «земли», что влияло на помехоустойчивость электроники, мешала недостаточность, неполнота системы связей, ограничивающая общение соседних модулей в крейте. Однако некоторые свойства стандарта оказались привлекательными для разработчиков, творивших именно в этих областях. На смену уходившему в прошлое популярному измерительному интерфейсу САМАС (КАМАК) просто нечего было предложить кроме VME, так как существовавший тогда интерфейс GPIB (известный у нас как приборный интерфейс «Общая шина») не мог обеспечить требований времени ни по разрядности, ни по скорости передач, ни по возможностям адресации. Потребности в современном интерфейсе, пригодном для организации сложных управляющих и измерительных систем, были удовлетворены стандартом VME тоже только частично. Ответом на возраставшие требования стало появление стандарта VXI.
Магистрально-модульный интерфейс VXI (VME-bus Extension for Instrumentation), представляющий собой расширение стандарта VME для измерительной техники, предложен ведущими фирмами в области контрольно-измерительного оборудования, образовавшими консорциум по развитию VXI-bus. Создатели VXI-bus не стали разрабатывать новый стандарт с нуля, а объединили имеющиеся стандарты-лидеры — VME и GPIB (IEEE-488). Для расширения функциональных возможностей и повышения технических характеристик шины VME, а также в целях дальнейшего развития стандарта,
в VXI были введены следующие дополнительные требования:
• повышены требования к качеству электропитания в крейте;
• унифицирована регистровая структура модулей;
• введен менеджер ресурсов;
• выделена функция Командного модуля и Слота 0;
• введена дополнительная 32-битовая локальная шина;
• усовершенствована система синхронизации;
• введена аналоговая шина;
• введена шина идентификации.
В настоящее время интерфейс VXI считается наиболее перспективным для создания сложных измерительно-управляющих систем и комплексов различного назначения. На западном рынке он имеет устойчивую тенденцию к техническому совершенствованию и расширению областей применения, наибольшую динамику роста выпускаемой и реализуемой продукции (http://www.vxi.ru/ commonvved.htm).
Отметим все же еще раз (на всякий случай), что не всегда реализация устройства в универсальном стандарте экономически оправдана. ММС имеют как плюсы, так и минусы. Значительная часть свойств, заложенных в основе интерфейса, часть линий связи, часть линий питания могут быть не нужны вашему прибору. Но, решившись на разработку устройств именно в ММС типа VXI, вы вынуждены будете платить за них. Зато модернизация вашей системы в будущем обойдется вам в меньшую сумму, чем полная переработка всей аппаратной и программной части в случае исполнения устройства в виде специализированного прибора или встраиваемой платы.
Литература
1. А. Рыбаков. Эволюция стандарта PCI для жестких встраиваемых приложений. http:// www.osp.ru/os/1997/C5/52_print.htm.
2. Краткие описания интерфейсов: http://www.spline.ru/SplineRazdel_1.htm.
3. Что такое стандарт VXI? http://www.vxi.ru/ common/vved.htm.
4. И. Каршенбойм. Контроллеры Fast Ethernet для встроенных применений. // Компоненты и Технологии. 2003. № 5.
5. В. Стрижов. Самый простой интерфейс для PCI. // Компоненты и Технологии. 2000. № 1.
6. В. Капитанов, В. Мистюков, С. Довгань. Контроллер PCI интерфейса на ПЛИС фирмы Xilinx // ChipNews. 2000. № 2.
7. И. Миронов. Цифровые СБИС производства AMCC. http://www.atel.ru/articles/ amcc_ic.htm.
8. М. Гук. Шина SCSI. http://www.neva.ru/ mgook/art/mg-scsi.htm.
9. М. Гук. Интерфейсы ПК. Справочник. СПб: Питер Пресс. 1999.
10. Шина PCI 2.2. http://www.atel.ru/pci.htm.
11. Шина USB 2.0. http://www.atel.ru/usb.htm.