© 2004, Издательский дом |
Журнал «Домашний компьютер» |
Этот материал Вы всегда сможете найти по его постоянному адресу:
Как известно, компьютер состоит из процессора и памяти (последняя вполне может быть встроена и в процессор). Такая двухкомпонентная система вполне самодостаточна, однако работать она в таком виде способна только сама на себя. Как минимум, к ней надо приделать устройства ввода-вывода: клавиатуру, экран, принтер, дисковые накопители, оптические приводы или хотя бы флоппи-дисководы. Тогда получится полноценный компьютер, который получает данные и команды из внешнего мира и выдает на-гора результаты своей деятельности. При этом можно указанные компоненты намертво встроить в систему — как поступал Стив Возняк, конструируя с помощью своего паяльника первые массовые ПК Apple I в конце 70-х годов прошлого века. А можно придумать некий интерфейс, рассказать всем, как он устроен, и тогда каждый сможет подключать к нему любые устройства, лишь бы они были снабжены нужными разъемами-соединителями и соблюдали договоренности по поводу электрических характеристик сигналов и характера обмена данными — протокола. По этому пути пошли создатели другого первенца компьютеростроения — IBM PC, создав так называемую «открытую архитектуру».
В принципе, соблюдения правил взаимодействия — спецификаций интерфейсов — еще недостаточно: компьютер примет данные, но не будет знать, что с ними делать. Поэтому устройство, подключаемое по стандартному интерфейсу, обязательно снабжается драйвером — программой, которая определяет, что за устройство подключено, интерпретирует полученные данные и в ответ посылает нужные команды. Иногда такие драйверы включены в состав операционной системы. Есть и стандартные устройства, например, клавиатура, мышь, которые распознаются еще на уровне BIOS.
Рассмотрим некоторые внешние интерфейсы современных ПК. При этом оставим в стороне вопросы сетевых и беспроводных соединений, а также подключения таких устройств, как мониторы и аудиосистемы — это, как вы понимаете, разговор особый и длинный. Исключим и всякую экзотику, вроде специального разъема для подключения MIDI-устройств и специфичные для ноутбуков интерфейсы PCMCIA или ExpressCard — ограничимся стандартными портами общего назначения, к которым относятся порты COM, LPT, PS/2, GAME-порт, FireWire и USB, и рассмотрим их приблизительно в той последовательности, в которой они появлялись на свет.
COM
СОМ-порт (от слова «коммуникационный», иногда его еще называют просто serial — «последовательный») отчасти ошибочно еще называют портом RS-232. Правильно сказать так: COM-порт передает данные, основываясь на стандарте последовательного интерфейса RS-232. Последний, кроме собственно протокола передачи и электрических параметров, стандартизирует всем знакомые разъемы DB-9 и DB-25.
Стандарт RS-232 (и более скоростной RS-422) — один из самых древних протоколов передачи данных между устройствами, он был утвержден еще в 1969 году, и к компьютерам (тем более ПК) тогда еще не имел никакого отношения. Это очень простой в реализации, дешевый, неприхотливый и достаточно надежный способ соединения двух компонентов -применяется начиная от медицинской техники и датчиков состояния окружающей среды до GPS-навигаторов и мини-АТС. Стандартов RS-232 — несколько, различаются они буквой индекса: RS-232C, RS-232D, RS-232E и пр. и являются лишь последовательным усовершенствованием и детализацией технических особенностей. Заметим лишь, что все современные порты поддерживают спецификации RS-232D или RS-232E.
RS-232 — идеальный способ для передачи данных с небольшими скоростями по минимальному количеству проводов (никаких специальных витых пар не предполагается — линия может состоять из обычных проводов). Но сейчас развитие RS-232 затормозилось — ему на смену пришли более сложные, зато удобные для пользователя и скоростные USB и FireWire.
Согласно современной точки зрения, у COM-порта — только два недостатка, но очень серьезных. Во-первых, он медленный — со скоростью 115 Кбит/с не только какое-нибудь видео, даже цифровой звук не всегда передашь с надлежащим качеством. Правда, современные порты поддерживают скорости и повыше, но это не выход из положения. Во-вторых, он подразумевает только соединение «точка-точка» — если у вас один СОМ-порт, то вы к нему можете подключить только одно устройство. Тем не менее, хоронить протокол RS-232 не следует — это по-прежнему самый дешевый и простой способ связи внешних устройств с компьютером, отчего он и используется во многих специальных аксессуарах — вроде программаторов и медицинских приборов.
LPT
Мало кто вам сразу ответит, как расшифровывается аббревиатура LPT. На самом деле, это аббревиатура от Line PrinTer, «построчный принтер». Порт LPT был спроектирован специально для компьютеров и впервые появился в модели IBM PC XT (1984). Как следует из названия, он предназначался для конкретной задачи — подсоединения принтера, но область его использования оказалась заметно шире. Он до сих пор, если так можно выразиться, «более жив», чем СОМ — по крайней мере, современные ПК им еще снабжаются.
Существовало несколько вариантов стандарта LPT. Самый первый, SPP (Standard Parallel Port), отличался тем, что мог передавать данные только в одну сторону (к принтеру). Это касается только данных — в стандарте SPP предусмотрен еще ряд вспомогательных линий, по которым сигналы можно передавать и туда и обратно. Всего в разъеме LPT — 25 контактов, причем, чтобы не перепутать его с аналогичным СОМ (они используют одинаковые типы разъемов — DB), со стороны ПК устанавливается гнездовая часть разъема LPT («мама»), а на кабеле — штыревая («папа»). Аналогичный СОМ имеет обратную конфигурацию.
В дальнейшем возник стандарт BPP (Bi-directional Parallel Port), обеспечивавший полностью двусторонний обмен со скоростью до 150 Кбайт/с, и его «продвинутые» варианты — EPP (Enhanced Parallel Port) и ECP (Extended Capabilities Port), обеспечивающие скорость не менее 2 Мбайт/с, что зафиксировано в стандарте IEEE 1284 (1994 г.). В нем, в частности, оговаривается и всем известный 26-контактный разъем Centronix, который устанавливается со стороны принтера. Для миниатюрных устройств предусмотрен разъем третьего типа — меньшего размера, чем Centronix.
Через LPT можно передавать данные между компьютерами, причем гораздо быстрее, чем через COM — до 16 Мбайт/c. Единственное ограничение — небольшое расстояние: не более 2-3 м для стандартных по качеству изготовления кабелей.
Одно время, кроме принтеров, к LPT модно было подключать сканеры, внешние диски и даже цифровые камеры (собственно, протокол ECP и создавался для подобных целей), однако появление USB свело на нет подобное использование.
О последовательных и параллельных интерфейсах
Казалось бы преимущество параллельной передачи данных перед последовательной понятно — в то время как по одному проводу за такт передается всего один бит, по восьми проводам — целый байт, что очень наглядно при сравнении COM и LPT. Однако это справедливо только при относительно небольших скоростях обмена. Когда скорость превышает единицы Мбайт/с (десятки Мбит/с), преимущества параллельной передачи не столь однозначны. Например, скорость обмена для LPT может достигать 16 Мбайт/с — но только при качественном и не слишком длинном кабеле. Ведь в параллельной линии отдельные проводники всегда немного разные, отчего при увеличении длины кабеля и скорости передачи биты, передаваемые по разным проводам, начинают «разъезжаться» по времени — одни приходят чуть раньше, другие позднее, происходит фазовый сдвиг. Да и взаимовлияние проводников сказывается все сильнее.
Гораздо проще повышать частоту последовательного канала, где за один такт передается всего один бит, и сам такт мы теоретически можем сделать сколь угодно коротким — все зависит только от быстродействия оборудования. Поэтому выгоднее заложить максимум функциональности в микросхемы, нежели иметь дело с толстенными «шлангами» с сотней проводов внутри. И хотя в этом деле есть свои «тараканы», все современные скоростные каналы передачи данных являются последовательными (USB, FireWire, Serial ATA, Ethernet и т. п.). В развитие этой идеи Intel в 2002 году выступила с инициативой создания универсальной скоростной последовательной шины — PCI Express, которая должна заменить собой все слоты AGP-PCI, а заодно и внутреннюю шину данных на материнской плате. Итак, будущее — за последовательными интерфейсами.
PS/2
Этот интерфейс имеет сугубо специфическое назначение — для подключения мыши и клавиатуры— и использует одинаковые 6-контактные разъемы типа MiniDIN, маркированные (после принятия стандарта PC99) разными цветами — для мыши бирюзовым, для клавиатуры — сиреневым. Разъемы не взаимозаменяемы, то есть мышь, подключенная к клавиатурному разъему, не заработает, однако есть и совмещенные разъемы (обычно на ноутбуках), к ним можно подключать как мышь, так и клавиатуру. С физической точки зрения PS/2 — последовательный порт с отдельной линией синхронизации, отличающийся наличием вывода +5 В для питания подключенного устройства.
Разъемы PS/2 — почти единственное, что осталось от некогда нашумевшей архитектуры IBM PS/2. Первоначально в ПК не была предусмотрена поддержка мыши — зачем она в текстовом интерфейсе? Потом появились мыши, подключаемые к последовательному COM-порту. Затем компания Intel, разрабатывая в 1997 году стандарт АТХ, ввела в качестве интерфейса для подключения клавиатуры и мыши разъемы из давно забытой к тому времени IBM’овской линейки PS/2, благодаря чему мышь стала поддерживаться на уровне BIOS.
Начиная со стандарта РС98, рекомендовалось подключать мышь к порту USB, а в РС99 COM-порты посоветовали убрать вообще. В РС2002 была дана однозначная команда — для периферии только USB. Но эта инициатива Intel в значительной мере провалилась — СОМ-порты нужны не только для мыши (видимо в Intel об этом забыли). Что же касается PS/2, то мышь и клавиатура никогда из ПК не вынимаются, поэтому не совсем ясно, зачем занимать универсальный порт USB, для которого можно придумать и более полезное применение. С точки же зрения пользователя разъемы PS/2 имеют только один недостаток — их очень легко выдернуть случайно.
GAME-порт
Назначение игрового контроллера и его интерфейса понятно без пояснений. Он (в стандартной конфигурации) практически не изменился со времен IBM PC AT, разве что стал встраиваться в материнские платы, а не располагаться на отдельной карте (обычно совместно со «звуковухой» или с контроллером хард-дисков) и использует такой же, как LPT, тип разъема DB («мама»), только с 15 контактами. Стандартный GAME-порт поддерживает два джойстика с двумя кнопками каждый. Встречаются и сдвоенные порты.
GAME-порт имеет вывод питания +5 В (как и PS/2, и USB), причем их может быть несколько, то есть к нему можно подключить устройства, собственного питания не имеющие. Но еще интереснее, что его выводы для подключения координатных преобразователей джойстика (4 штуки) — это самые настоящие аналого-цифровые преобразователи, но довольно примитивные. Правда, устройства, использующие это свойство игрового порта (кроме, конечно, самих игровых аксессуаров), мне не попадались.
FireWire (IEEE 1394)
Интерфейс «огненные провода» или стандарт IEEE 1394 — замечательная придумка Apple, которую сама же компания, находившаяся тогда (в 1995 году) в глубоком кризисе, чуть не погубила. Прежде всего абсолютно неправильным рыночным позиционированием — расчет был на пользователей, подключающих к своим «аристократическим» Mac’ам всяческую передовую видеотехнику или суперскоростные (по тем временам) жесткие диски. В следствие этого компания запросила ни много, ни мало, как по доллару лицензионных отчислений за каждый такой порт, установленный в устройствах сторонних производителей. Индустрия пожала плечами и отвернулась — а через год появился еще очень несовершенный, но зато бесплатный USB 1.0.
Но в «Макинтошах» этот интерфейс прижился. Потом он появился и в РС как IEEE 1394 (FireWire — это зарегистрированная марка Apple), а компания Sony разработала совместимый интерфейс iLink, который отличается возможностью соединения бытовых устройств не только с компьютером, но и напрямую между собой. До недавнего времени IEEE 1394 был вне конкуренции для перекачки в ПК цифрового видео — ничто другое из стандартных интерфейсов просто не справлялось (требовались дорогущие специальные платы видеозахвата), и до сих пор его традиционно используют именно для этого. Встраивается интерфейс и в цифровые фотокамеры (в основном для Mac-пользователей). Существуют и подключаемые через него внешние диски или оптические приводы. Очень часто FireWire используют для присоединения спецтехники вроде барабанных сканеров. Но если вы такую технику не используете и у вас в ПК нет встроенного порта FireWire, то, как выражается Козловский, «позарезность» в приобретении специальной FireWire-платы — только для счастливых обладателей цифровых видеокамер. Для остальных — он прекрасно заменяется USB 2.0.
И все же жаль, что так вышло — с технической точки зрения последовательный интерфейс FireWire стремится к почти недостижимой степени совершенства. Хотя теоретически максимально возможная скорость передачи для современной модификации стандарта (1394а, 2000 год) — 400 Мбит/с— стандартом USB 2.0 даже перекрыта, но у FireWire есть поистине бесценные свойства: во-первых, достаточно мощный вывод питания (1,5 А, от 8 до 40 В), чтобы избавить очень многие внешние устройства вроде сканера от необходимости иметь собственное питание; во-вторых, гораздо стабильнее в «горячем» режиме подключения-отключения. А также — поддержка громадного количества подключенных к шлейфу устройств, работа устройств на разных скоростях, защита от неправильных соединений устройств и так далее.
Для FireWire существует две разновидности соединительных кабелей — с 4 и 6 жилами, и соответственно два типа розеток. Поскольку на плате контроллера могут быть розетки как на шесть проводов, так и на четыре, то и типов переходных шнуров существует 3 вида (6-6/6-4/4-4).
FireWire в принципе может использоваться для подсоединения тех же мышей и клавиатур, но это ему как-то… не к лицу. USB куда демократичней, и мы его сейчас и рассмотрим.
USB
Первая версия последовательного интерфейса USB появилась 15 января 1996 года. Инициатором проекта был альянс семи крупных компаний: Intel, Compaq, DEC, IBM, Microsoft, NEC и Northern Telecom. Основная цель проекта — создать универсальный интерфейс для подключения внешних устройств, который «от рождения» поддерживал бы режим Plug amp;Play и «горячее» соединение/отключение. Разработчики первоначально и не очень старались конкурировать с FireWire, а создавали USB как замену COM вместе с LPT (а потом в этот флакон добавились и PS/2, и даже GAME-порт, хотя, как мы видим, полностью вытеснить все эти интерфейсы не удалось).
В отличие от ISA’шного LPT, USB базируется на гораздо более скоростной шине PCI, отсюда и все его отличия от «старичков». Основная идея USB — «горячее» подключение с автоматическим распознаванием — была вполне прилично реализована еще в Windows 98 (в XP все обычно работает безупречно, конечно, если установлен Service Pack 2 и корректные драйверы). Теоретически одного USB достаточно на все про все, ведь к одной линии можно подключать до 127 устройств (при условии, что хватит питания, которое здесь ограничено 5 вольтами при 0,5 А). «Размножаются» USB-устройства с помощью разветвителей-хабов (их часто называют концентраторами), которые могут иметь свое питание.
Теоретически, повсеместно устанавливаемые сейчас порты по стандарту USB 2.0 поддерживают скорость до 480 Мбит в секунду (60 Мбайт/с), хотя на практике с такими скоростями справляются немногие устройства. Стандарт USB 2.0 предусматривает два режима работы — HS (Hi-Speed, высокоскоростной) и FS (Full Speed, низкоскоростной, по сути — USB 1.1 со скоростью до 12 Мбит/с). В самом деле — зачем мышам 480 Мбит/с? Однако производители все равно любят ставить логотип USB Hi-Speed. Особенно пикантно такой лейбл выглядит на каком-нибудь USB-вентиляторе, использующий от всего порта только питание.
Длина кабеля между двумя работающими на предельной скорости устройствами (или устройством и концентратором) — 3-5 метров, но может достигать и 10, в зависимости от качества его изготовления. Чтобы увеличить дальность, приходится ставить промежуточные хабы. Последние бывают двух типов — пассивные (с питанием от предыдущего концентратора) и активные (с собственным источником питания, иногда более мощным, чем предусматриваемый стандартом 0,5-амперный).
Стандартом предусматривается четыре типа разъемов USB — А, В, mini-А и mini-B. Разъем типа А (плоский) устанавливается со стороны ведущего устройства, а типа В (квадратный) — ведомого; соответственно, эта конфигурация А-В — у большинства соединительных кабелей. С mini-USB все не так однозначно. Mini-A-разъемы употребляются редко (все миниатюрные устройства, как правило, — ведомые), потому для них даже не предусмотрено отдельной конфигурации, все mini-гнезда одинаковы, и различаются лишь цветом (mini-A — белый, mini-B — черный, mini A/B — серый). Все USB-разъемы спроектированы так, чтобы шины питания входили в контакт первыми, что обеспечивает беспроблемное «горячее» подключение.
Совместимость интерфейсов
Как вы видите, функции интерфейсов во многих случаях пересекаются. Устройства, ранее подключавшиеся по одному интерфейсу, а потом переведенные на другой (как мыши, которые последовательно занимали СОМ, PS/2 и, наконец, USB), сами-то не изменились, а значит, в принципе могут работать с любым подходящим интерфейсом.
В продаже можно встретить следующие типы переходников-адаптеров (причем в обе стороны): USB-LPT, USB-COM, USB-SCSI, USB-Ethernet, USB-клавиатура/мышь, USB-TV/Video. Большинство из них довольно дороги, но главное не это — если вы купите переходник, например, для подключения LPT-принтера к USB, то только принтер с ним и сможет работать, а вот какой-нибудь старинный сканер с LPT-интерфейсом подключить не удастся. Поэтому лучшим (и примерно адекватным по стоимости) решением может стать приобретение PCI-карты с «родным» портом, минуя USB. Для ноутбуков, для которых задача совместимости как раз наиболее актуальна, существуют адаптеры разных интерфейсов, подключаемые в слот PC Сard.
Отдельная история — с мышами и клавиатурами. Если у вас USB-экземпляр, то проблем никаких — в эту сторону PS/2 с USB совместимы полностью, плюс адаптер стоит копейки. Часто производители просто вкладывают его в коробку, а вы сами решаете, какой разъем использовать. А вот при подключении PS/2-мыши к USB проблемы могут возникнуть: и адаптер стоит дорого, и специальные драйверы (например, для конфигурирования дополнительных кнопок) могут не заработать, так что дешевле купить новую мышь.
И один из самых наболевших вопросов — подключение устройств с СОМ-интерфейсом к современным ПК, не имеющим подобного разъема. В настольном ПК проблема решается приобретением дополнительной карты с СОМ-портами. Но с ноутбуками такое невозможно.
В продаже есть специальные переходные кабели COM-USB. При подключении такого кабеля к USB-разъему — неважно, с устройством или без него — в системе возникает виртуальный СОМ-порт, с которым можно общаться точно так же, как обычным. По крайней мере, ПО устройства обычно ни о чем не подозревает. Естественно, в системе должны быть надлежащие VCP-драйверы (от Virtual Communication Port), которые в Windows XP встроены изначально.
СОМ СОМом не вышибают
USB и FireWire по рождению предназначены для «горячего» подключения. Со старичками COM и LPT это не так — обычная рекомендация, кочующая из пособия в пособие и из справки в справку уже лет, наверное, двадцать, советует непременно отключать ПК при подсоединении этих интерфейсов. Слов нет — рекомендация верная, но все же будет уместно назвать ее чрезмерной.
Человек, который много работает с этими портами, опытным путем очень быстро выясняет, что перетыкать разъемы можно как угодно и когда угодно, не тратя времени на утомительную перезагрузку «виндов», и ничего плохого ровным счетом не происходит, а следовательно перестает обращать внимание на это предупреждение. Пока в один прекрасный день не сожжет единственный СОМ на ноутбуке.
Теоретически в COM можно, как говорила моя бабушка, «вструмлять» кабель действительно когда угодно; там нет конфликтующих двунаправленных линий. В LPT же линии теоретически двунаправленные, но на практике оказаться в ситуации, когда с обоих концов одновременно собираются что-то передавать, крайне маловероятно, если вообще возможно. Но главное — даже если такие электрические конфликты и возникнут, это еще не означает непременного фейрфокуса, так как все современные оконечные каскады портов делаются на КМОП-транзисторах, а они в большинстве случаев способны выдерживать перегрузки и короткое замыкание.
То есть в принципе «горячее» подключение этих портов безопасно. А когда опасно? А тогда, когда оба устройства включены в сеть, но не имеют общей земли. Тогда потенциалы у них на корпусе могут сильно различаться (до сотен вольт), и есть вероятность, что первыми соединятся не общие контакты, а сигнальные, что для них будет смертельно. При использовании фирменных кабелей СОМ-СОМ, LPT-LPT или LPT-Centronix ничего не произойдет: металлическое экранирующее обрамление вокруг разъема, которое соединяется с корпусом/общим проводом, всегда первым входит в контакт и выравнивает потенциалы «земель». А вот если кабель «самопальный» и экран хоть на одном из участвующих разъемов ни с чем не «контачит» — вероятность выхода порта из строя приближается к 100%.
Подчеркну — это существенно только, когда оба устройства запитаны от электрической сети, если же в сеть включено только одно устройство (компьютер), а второе вообще никак с сетью или настоящей землей (например, батареей отопления) не связано, то подсоединять можно, не задумываясь.