Если все же разъемы не работают, то следует еще обратиться к BIOS. Подключены эти фронтальные разъемы могут быть в двух вариантах, называемых AC97 и HD Audio. Надо зайти в BIOS, обратиться к пункту Advanced/Onboard Device Configuration и разыскать там пункт под названием Front Panel Support Type. Попробуйте изменить там вариант подключения с AC97 на HD Audio или наоборот и перезапустите компьютер. Если все остальное сделано правильно, то в конечном итоге в каком-то из вариантов звук появится.
Глава 3
Компьютерные порты
Основными компонентами компьютера, как известно, являются процессор и память. Такая двухкомпонентная система вполне самодостаточна, однако она представляет собой черный ящик в чистом виде и способна работать только сама на себя. Как минимум, к ней придется пристроить устройства ввода/вывода: клавиатуру, экран, принтер, дисковые накопители, оптические приводы или хотя бы флоппи-дисководы. Тогда получится полноценный компьютер, который получает данные и команды из внешнего мира и выдает на-гора результаты своей деятельности. При этом можно указанные компоненты намертво встроить в систему – как и поступал Стив Возняк со своим паяльником, конструируя первые массовые ПК Apple I в конце 70-х годов прошлого века. А можно придумать некий
Некоторые из внешних устройств компьютера: дисплей и видеоадаптер, аудиосистему, жесткие диски – мы уже рассмотрели в предыдущих главах. Здесь мы остановимся на компьютерных портах для подключения внешних устройств.
3.1. Какие бывают порты
К компьютерным портам (аппаратным интерфейсам) причисляют как специализированные интерфейсы (например, сетевые, а также служащие для подключения таких устройств, как мониторы, аудиосистемы или беспроводные мыши и клавиатуры), так и интерфейсы общего назначения, к которым потенциально можно подключить любое устройство. К проводным интерфейсам общего назначения относятся порты COM, LPT, PS/2, GAME-порт, FireWare и USB.
Сетевые интерфейсы, в том числе беспроводные (Wi-Fi), мы рассмотрим в последующих главах. Из беспроводных интерфейсов общего назначения наиболее универсальным является Bluetooth – как и Wi-Fi, он чаще используется для связи между компьютерами (или между компьютерами и мобильными устройствами), и мы его рассмотрим в этой главе отдельно. Известен еще интерфейс SCSI («сказёвый», как его любят обзывать компьютероманы), но на нем я не буду останавливаться – можно считать, что он похоронен окончательно и бесповоротно и остался лишь как основа некоторых современных интерфейсов. Разъем шины PCI-Express тоже может быть использован в качестве внешнего порта, но пока еще таких устройств немного. Всякую экзотику, вроде специального разъема для подключения MIDI-устройств, мы тоже рассматривать не будем, как и специфичные для ноутбуков интерфейсы PCMCIA или ExpressCard, – ограничимся стандартными портами, причем рассмотрим их приблизительно в той последовательности, в которой они появлялись на свет.
Чтобы наглядно представить размещение и внешний вид упомянутых далее интерфейсов на задней панели современного настольного компьютера, можно обратиться к рис. 1.2 в
COM
СОМ-порт (от слова «коммуникационный»), или serial («последовательный») порт – отчасти ошибочно еще называют портом RS-232. Правильно сказать так: COM-порт передает данные, основываясь на стандарте последовательного интерфейса RS-232[5], который, кроме собственно протокола передачи и электрических параметров, стандартизирует разъем DB-25. Позднее, специально для ПК, выпустили стандарт RS-574, установивший всем знакомый разъем DB-9, теперь ставший фактическим стандартом для всей отрасли. Есть и еще один термин, который имеет непосредственное отношение к этой теме: UART (Universal Asynchronous Receiver-Transmitter, универсальный асинхронный приемопередатчик). UART есть составная часть СОМ-порта, его основа, то устройство, которое собственно передает и принимает данные и к которому адресуются пользовательские программы. Кроме UART, в СОМ-порт входит преобразователь электрических уровней UART/RS-232. Вообще-то на микросхемах UART можно построить линии передачи по различным протоколам: RS-422 (скоростному), RS-485 (повышенной надежности), даже USB. Рассматриваемый RS-232 – самый простой из них.
Стандарт RS-232 – один из самых древних протоколов передачи данных между устройствами, он был утвержден еще в 1969 году, и к компьютерам (тем более ПК) тогда еще не имел никакого отношения. Это очень простой в реализации, дешевый, неприхотливый и достаточно надежный способ соединения двух устройств. Существует несколько стандартов RS-232, различающихся добавленной буквой: RS-232C, RS-232D, RS-232E и пр. Вдаваться в различия между ними нет никакого смысла – они являются лишь последовательным усовершенствованием и детализацией технических особенностей одного и того же устройства. Заметим лишь для справки, что все современные порты поддерживают спецификации RS-232С или RS-232E.
Давайте немного подробнее остановимся на том, как работает RS-232 – это хорошо иллюстрируют не совсем очевидные принципы передачи целого набора битов всего по одному проводу. Идея заключается в посылке последовательных импульсов, каждый из которых может означать 0 или 1. Если в определенные (заранее известные) моменты времени считывать состояние линии, то можно восстановить то, что было послано. Однако эта очевидная мысль наталкивается на определенные трудности.
Для приемника и передатчика, связанных между собой тремя проводами («земля» и два сигнальных провода: «туда» и «обратно»), приходится задавать скорость передачи и приема, которая должна быть одинакова для устройств на обеих концах линии. Эти скорости стандартизированы и выбираются из ряда от 110 до 115200 битов в секунду. Проблема состоит в том, что приемник и передатчик – это физически совершенно разные системы, и скорости эти для них не могут быть строго одинаковыми (из-за разброса параметров тактовых генераторов), и даже если их каким-то образом синхронизировать в начале, то они в любом случае быстро «разъедутся». Поэтому в RS-232 придумали передачу каждого байта сопровождать начальным (стартовым) битом, который служит для синхронизации. После него идут от пяти до восьми информационных битов (девять – если используется проверка на четность), а затем стоповые биты, которых может быть один, два и более, – предполагается, что за время прохождения всей этой посылки приемник и передатчик по частоте «разойтись» не успеют.
Рисунок 3.1 иллюстрирует работу приемопередатчика RS-232. Стартовый бит передается положительным уровнем напряжения (в данном случае это считается логическим нулем), а стоповый – отрицательным уровнем (логической единицей). Обнаружив изменение уровней с отрицательного на положительный, приемник считает это стартовым битом и с заданными, согласно оговоренной заранее скорости передачи, промежутками времени отсчитывает от него все остальные.
Рис. 3.1. Передача байта по стандарту RS-232
Одно из самых удобных с технической точки зрения качеств RS-232 – то, что стандарт предусматривает весьма широкий разброс напряжений сигнала – официально в пределах от ±5 до ±15 В (для RS-232C), а на самом деле он может быть еще расширен, потому что приемник принимает сигналы ±3 до ±25 В. Длина линии связи не должна превышать 15 м (RS-232C), но на практике это могут быть много большие величины. Если скорость передачи не выбирать слишком высокой, то такая линия может надежно работать на десятки и сотни метров (автору этих строк удавалось без дополнительных ухищрений наладить обмен с компьютером на скорости 4800 бод по кабелю, правда, довольно толстому, длиной около полукилометра). Никаких специальных витых пар не предполагается – линия может состоять из обычных проводов.
Из всего этого вытекает, что RS-232 – идеальный способ для передачи данных с небольшими скоростями по минимальному количеству проводов[6]. Когда-то его всерьез намеревались развивать, отчего и стандартизировали разъем с 25 контактами (DB25) – «на вырост». В этом разъеме имеются дополнительные линии, смысл которых в том, что они могут применяться для организации различных синхронных протоколов обмена (протоколов с handshakes, «рукопожатием»). Все старые ПК имели по два COM-порта: и с 9-ю, и с 25-ю контактами. Быстро выяснилось, что 25 контактов – чистое излишество, вполне достаточно и 9-ти, и DB25 как-то незаметно исчез из обихода. Остался только DB9, да и в нем имеющиеся дополнительные линии мало какое устройство использует. Так как RS-232 – медленный способ передачи, то никаких особых требований к соединителям он не предъявляет, и нередко можно встретить устройства и с нестандартным разъемом – например, в некоторых старых цифровых фотокамерах под последовательный порт были приспособлены стереоаудиоразъемы. С 1991 года развитие RS-232 затормозилось – ему на смену пришли намного более сложные, зато удобные для пользователя и скоростные USB и FireWare.
Отметим еще, что обычный телефонный модем с точки зрения системы – тоже СОМ-порт, только поверх простейшего физического протокола RS-232 для него введены некоторые специализированные команды управления, а в остальном он ничем от СОМ-порта не отличается (даже если втыкается в USB). «Комом» является и инфракрасный (IR) порт, беспроводной интерфейс Bluetooth тоже образует виртуальные СОМ-порты, через которые ведется обмен.
С точки зрения современных технологий у COM-порта только два недостатка, зато очень серьезных. Во-первых, он медленный – со скоростью 115 кбит/с не только какое-нибудь видео, даже цифровой звук не всегда передашь с надлежащим качеством. Правда, современные порты поддерживают скорости и повыше (например, 256 кбит/с), но это не выход из положения. Во-вторых, он подразумевает только соединение «точка-точка» – если у вас один СОМ-порт, то вы к нему можете подключить только одно устройство. Тем не менее, хоронить протокол RS-232 не следует – это по-прежнему самый дешевый и простой способ связи внешних устройств с компьютером, отчего он и по сей день используется во многих специальных аксессуарах – вроде навигаторов, модемов или медицинских приборов.
Кабели для подключения RS-232 делятся на удлинительные (вилка-гнездо, рис. 3.2) и соединительные (гнездо-гнездо, рис. 3.3), последние часто называют
Рис. 3.2. Удлинительный кабель RS-232
Рис. 3.3. Соединительный (нуль-модемный) кабель RS-232
Если вы столкнулись с COM-интерфейсом на каком-то приборе, а в компьютере он отсутствует, – не отчаивайтесь. Есть несколько способов его организовать. Самые распространенные – приобрести переходник USB-COM в виде внешнего кабеля или вставную PCI-плату с набором портов. Последний способ предпочтительнее первого – кабели USB-COM бывают довольно капризными, и некоторые программы для работы через COM-порт с этими кабелями работают с ошибками или отказываются работать вовсе. «Железный» COM-порт, установленный, как постоянное оборудование компьютера, значительно надежнее и, кстати, даже предпочтительнее стационарного порта, установленного на материнской плате, – в случае чего выходит из строя дополнительная плата, а материнская остается в неприкосновенности.
Для ноутбуков такое решение, конечно, не подходит – в них можно пользоваться только переходниками, например, USB-COM. Более надежными будут переходники PCMCIA-COM, хотя они могут быть существенно дороже USB-кабелей. Есть и переходники ExpressCard-COM для тех ноутбуков, в которых нет PCMCIA.
И вставные платы, и кабели, и различные переходники для ноутбуков, имеют, как правило, одну неприятную особенность – они не позволяют задать определенный номер COM-порта, он устанавливается произвольным образом после установки драйвера. Причем для переходников USB-COM часто номер порта еще и меняется в зависимости от того, в какой именно порт USB в этот раз воткнули кабель. Такую же особенность имеют и многие модемы (в том числе GSM-модемы для выхода в Интернет по сотовой связи или сотовые телефоны, используемые в качестве модема). А для соединения через COM в программах связи обычно приходится указывать его номер. Как быть?
Определить, какой именно номер присвоен в данном случае виртуальному COM-порту, можно через меню Панель управления | Система | Оборудование | Диспетчер устройств | Порты COM и LPT (в новых версиях Windows Диспетчер устройств может быть доступен прямо из панели управления). В указанном разделе может быть много разных COM-портов (особенно, если у вас в системе имеется Bluetooth), но нужный легко определяется наличием в названии «USB-to-serial» или другой подобной записи. Для модемов (а также сотовых телефонов, подключенных в качестве модема) соответствующий номер COM-порта можно узнать, если найти их в разделе Модемы Диспетчера устройств и обратиться к вкладке Модем в окне Свойства выбранного модема.
LPT (IEEE 1284)
Мало кто из знатоков вам прямо сразу ответит, как расшифровывается аббревиатура LPT. На самом деле это сокращение от Line Print Terminal (терминал линии печати). Есть и другие версии: Line PrinTer – т. е. «построчный принтер», а некоторые утверждают, что L означает Letter – «буква», т. е. получается «буквенный принтер» (как будто во времена появления этого порта существовали какие-нибудь принтеры, отличные от «буквенных»).
Порт LPT был спроектирован специально для компьютеров и появился в их составе позже, чем COM. В самом первом IBM PC (1981) вообще никаких привычных интерфейсов не было, а в более усовершенствованной модели IBM PC XT (1984) LPT присутствовал лишь в некоторых конфигурациях. Многие первые модели принтеров подключались через СОМ, но это оказалось медленно и неудобно. LPT сразу проектировали так, чтобы обеспечить передачу данных с большими скоростями. Как следует из названия, он предназначался для конкретной задачи – подсоединения принтера, но область его использования оказалась заметно шире.
С LPT тесно связан интерфейс Centronics, название которого относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему, устанавливаемому на принтерах (рис. 3.4). Со стороны компьютера Centronics никогда не используется, вместо него устанавливается разъем-гнездо DB-25-female («мама» – в отличие от COM-порта, где используется штыревая часть, вилка DB-25-male, «папа»). Все эти разъемы, как и сигналы, были окончательно стандартизированы в международном стандарте IEEE 1284 (1994 г.).
Рис. 3.4. Разъем Centronics на кабеле для подсоединения принтера
В отличие от порта COM, не утратившего своего значения до настоящего времени и не потеряющего его, очевидно, еще долго, LPT уже почти утратил свои позиции – практически все ориентированные на него устройства, включая принтеры, ныне делаются под USB. LPT ничем не проще и не дешевле более скоростного USB, а кабели под него куда более громоздкие. А наличие в современных микроконтроллерах встроенного UART позволило без излишних усилий перевести на последовательный порт и все нестандартные устройства, не требующие высокой скорости передачи, – вроде научного и медицинского оборудования.
Но если вам все-таки попадется LPT-устройство, то выход может быть таким же, как в случае COM, – либо переходник к одному из существующих интерфейсов, либо вставная PCI-плата. Причем последний вариант, как и для последовательного порта, предпочтительнее остальных – LPT еще более капризен, чем COM, при его виртуализации через другие интерфейсы, и кабель USB-LPT для подключения принтеров может не заработать при подключении, например, сканера.
PS/2
Этот интерфейс отличается от остальных тем, что имеет сугубо специфическое назначение – для подключения мышей и клавиатур. Мне неизвестны какие-либо другие устройства, которые его используют. Причем и для мыши, и для клавиатуры используются одинаковые 6-контактные разъемы типа MiniDIN, помеченные (после принятия стандарта PC99) цветами: для мыши – бирюзовым, для клавиатуры – сиреневым. С физической точки зрения PS/2 является последовательным портом с отдельной линией синхронизации и еще отличается тем, что имеет вывод +5 В для питания подключенного устройства.
Разъемы PS/2 – почти единственное, что осталось от некогда нашумевшей архитектуры IBM PS/2[7]. Первоначально ПК не поддерживали никаких мышей – зачем они в текстовом интерфейсе? Для подключения приходилось использовать специальные адаптеры, устанавливаемые в свободные слоты на плате. Затем распространились последовательные мыши, которые подключались в COM-порт. Отметим не всем очевидную нестандартность этого решения – как мы уже упоминали, разъем COM-порта не имеет специального вывода питания. Поэтому все последовательные мыши питались от одной из сигнальных (дополнительных) линий, которая устанавливалась драйвером в нужное состояние. Мыши разных производителей использовали разные линии для питания и разную полярность напряжения, поэтому драйверы могли быть несовместимыми.
Удивительно, но такое «незаконное» подключение продержалось в качестве стандарта де-факто полтора десятилетия – разрабатывая стандарт АТХ в 1997 году, компания Intel ввела разъемы из давно забытой к тому времени IBM-овской линейки PS/2 в качестве интерфейса для подключения клавиатуры и мыши. Это было наиболее удобным решением, и даже многие современные платы поддерживают такие порты. Преимуществом их стало то, что мышь поддерживается на уровне BIOS (клавиатура, как основное устройство, поддерживалась изначально). Поэтому подключаемые к PS/2 (и, кстати, даже к USB) мыши в современных ПК вполне могут работать и в DOS, без всяких драйверов.
Начиная со стандарта РС98, впрочем, рекомендовалось подключать мышь к порту USB. В РС99 это рекомендовалось уже настоятельно, а COM-порты посоветовали убрать вовсе. В РС2002 вообще была дана однозначная команда – для периферии только USB. Но эта инициатива Intel/Microsoft тогда в значительной мере провалилась и в какой-то мере начинает осуществляться только в настоящее время.
Что же касается PS/2, то мыши и клавиатуры никогда из ПК не вынимаются, и с точки зрения пользователя не всегда ясно, зачем занимать универсальный порт USB, для которого можно придумать и более полезное применение. Мне, например, четырех имеющихся разъемов USB на задней панели не хватает и без того – приходится применять разветвитель, а если бы я еще туда мыши с клавиатурой подключал, мне бы этих разъемов не хватило и на более нужные надобности.
Вводя одинаковые разъемы для мыши и клавиатуры, в Intel предполагали, что можно будет их подключать в любой из разъемов на выбор, с автоматическим определением, что именно подключено. В реальности так работают только компьютеры, где разъем PS/2 специально окрашен в серый цвет (обычно такой единственный разъем встречается на ноутбуках, и к нему можно подключать мышь или клавиатуру, на выбор). В случае наличия двух разъемов, окрашенных в разные цвета, корректную работу обеспечит только правильное подключение, для чего ответные части разъемов на кабеле мыши и клавиатуры (и иногда корпуса переходников с USB-интерфейса, хотя они и взаимозаменяемы) также окрашены в соответствующий цвет.
С точки зрения пользователя разъемы PS/2 имеют только один недостаток – их очень легко выдернуть случайно, но на десктопе это не имеет такого большого значения. Что касается переходников, то если вам попался USB-экземпляр, а на компьютере есть порты PS/2, то проблем никаких – в эту сторону PS/2 с USB совместимы полностью, и переходник стоит копейки, потому что не содержит никаких активных элементов. Часто производители просто вкладывают переходник в коробку, а вы уж сами решаете, куда подключать приобретенное. А вот в обратную сторону – для подключения PS/2-мыши к USB – проблемы могут быть, и в любом случае адаптер стоит дорого, а специальные драйверы (для конфигурирования дополнительных кнопок, например) могут и не заработать, так что проще оказывается купить новую мышь[8].
GAME-порт
Назначение игрового контроллера и его интерфейса понятно без пояснений. Он (в стандартной конфигурации) практически не изменился со времен IBM PC AT, разве что стал встраиваться в материнские платы, а не располагаться на отдельной карте (обычно его размещали на платах совместно со «звуковухой» или с контроллером жестких дисков). Он использует такой же, как LPT, тип разъема DB («мама»), только с 15 контактами, так что перепутать невозможно. Стандартный GAME-порт поддерживает два джойстика с двумя кнопками каждый. Встречаются и сдвоенные порты.
GAME-порт имеет выводы питания +5 В (как и PS/2, и USB), причем даже несколько, т. е. к нему можно подключить устройства, собственного питания не имеющие. Но еще интереснее, что у него выводы для подключения координатных преобразователей джойстика (в количестве 4-х штук) представляют собой самые настоящие аналого-цифровые преобразователи, довольно, правда, примитивные. «Официальные» устройства, использующие это свойство игрового порта (кроме, конечно, самих игровых аксессуаров), мне не попадались, но для радиолюбителей здесь есть, где развернуться. Впрочем, звуковая карта в этом отношении много интереснее.
Последние годы GAME-порт практически потерял свое значение, и все современные игровые «прибамбасы», вроде джойстиков или рулей, подключаются к USB.
FireWare (IEEE 1394)
«Феа-веа» (примерно так меня учили это произносить, хотя я все равно предпочитаю «фаря-варя»), известный также, как стандарт IEEE1394, – замечательная придумка компании Apple, которую сама же компания, находившаяся тогда (в 1995 году) в глубоком «дауне», чуть не погубила. Во-первых, абсолютно неправильным рыночным позиционированием – расчет был на элитарных пользователей, подключающих к своим аристократическим «Макинтошам» всяческую передовую видеотехнику или суперскоростные (по тем временам) жесткие диски. Во-вторых, исходя из этого, компания поначалу запросила ни много ни мало, как по доллару лицензионных отчислений за каждый установленный в устройствах сторонних производителей такой порт. Индустрия пожала плечами и отвернулась – уже через год появился тогда еще очень несовершенный, но зато бесплатный USB 1.0.
Тем не менее, по крайней мере в «Макинтошах», этот интерфейс прижился. Потом появился и в РС (уже под названием IEEE 1394 – FireWare есть зарегистрированная марка Apple), а компания Sony разработала совместимый интерфейс под названием iLink, который отличается возможностью соединения не только бытовых устройств с компьютером, но и напрямую между собой. Другие компании продвигали этот же интерфейс под своими торговыми марками: mLAN (Yamaha), Lynx (Texas Instruments), SB1394 (Creative Technology), пока в мае 2002 года компания Apple и организация 1394 Trade Association не приняли соглашение, позволяющее производителям и дилерам, входящим в ассоциацию, получать бесплатные лицензии торговой марки FireWire с условием предварительного прохождения ряда специальных тестов.
До некоторого времени IEEE1394 был вне конкуренции для перекачки в ПК цифрового видео – ничто другое из стандартных интерфейсов просто не справлялось (приходилось использовать дорогущие специальные платы видеозахвата), и с тех пор его традиционно используют для этой цели. Встраивается этот интерфейс и во многие цифровые фотокамеры, существуют подключаемые через него внешние диски или оптические приводы. Очень часто FireWare применяют для подключения всякой спецтехники, вроде барабанных сканеров. Но если вы такую технику не используете, и у вас в ПК нет встроенного порта FireWare, то в остальном он прекрасно заменим на USB 2.0.
И все же жаль, что так вышло – с технической точки зрения последовательный интерфейс FireWare стремится к почти недостижимой степени совершенства. Хотя теоретически максимально возможная скорость передачи для основной модификации стандарта (1394а) – 400 Мбит в секунду – стандартом USB 2.0 даже перекрыта, но зато у FireWare есть ряд поистине бесценных свойств. Во-первых, у него вывод питания достаточно мощный (1,5 А, от 8 до 40 В) для того, чтобы вообще избавить очень многие внешние устройства, вроде сканеров, от необходимости иметь собственное питание[9]. Во-вторых, он гораздо менее капризен к подключению/отключению в «горячем» режиме. Теоретически, например, жесткий диск с таким интерфейсом можно выдернуть из порта прямо во время передачи данных, и с ним ничего не случится. Есть и другие особенности, о которых стоит поговорить подробней.
Для FireWare существует две разновидности соединительных кабелей: с 4-мя и с 6-ю жилами и, соответственно, два типа розеток. Поскольку на плате контроллера могут быть розетки как на шесть проводов, так и на четыре, то и типов переходных шнуров существует 3 вида (6–6/6-4/4-4). На один канал теоретически можно подключать до 63 устройств, причем к единому шлейфу, без каких-то хабов-концентраторов, как в USB. Мало того, если каждое такое устройство является узлом (т. е. в терминах USB – концентратором), то к нему можно подключить еще до 16 устройств. Если этого недостаточно, то, в соответствии со стандартом IEEE 1394.1, можно дополнительно подключить до 1023 шинных перемычек, которые могут соединять более 64 000 узлов! Такое множество техники «чайник» не в состоянии подключить без ошибок, и на этот случай при неправильном подключении устройств, которое приводит к образованию логической петли, интерфейс выполняет автоматическую коррекцию. Кроме того, в отличие от USB, шина 1394 может поддерживать устройства, работающие на разных скоростях передачи данных. Все это рассчитано на проектирование домашних мультимедиасетей, хотя на практике такие сети встречаются довольно редко.
Добавим, что стандарт 1394b поддерживает скорость 800 Мбит/с, а модификации его на основе оптоволокна поддерживают скорость 1600 Мбит/с и даже 3200 Мбит/с на расстоянии до 50-100 метров. Порты стандарта 1394c имеют интересную особенность – они используют витую пару и могут работать параллельно с Gigabit Ethernet, т. е. появляется возможность иметь две друг от друга не зависящие сети на одном кабеле.
С другой стороны, FireWare хотя и может использоваться для подключения тех же мышей и клавиатур, но это ему как-то… не к лицу, и таких простых устройств с этим интерфейсом не существует. USB куда демократичней и более универсальный.
USB
Первая версия последовательного интерфейса USB появилась 15 января 1996 года. Инициаторами проекта был альянс семи крупных компаний производителей: Intel, Compaq, DEC, IBM, Microsoft, NEC и Northern Telecom. Основная цель этой деятельности – создать универсальный интерфейс для подключения внешних устройств, который «от рождения» поддерживал бы режим Plug&Play и «горячее» соединение/отключение. USB сначала не стремился к каким-то рекордным показателям, а проектировался для несколько других задач, чем FireWare, – как замена разнобоя внешних интерфейсов COM, LPT, PS/2 и других.
В отличие от ISA-шного LPT, USB базируется на много более скоростной шине PCI, отсюда все его отличия от «старичков». Основная идея USB – «горячее» подключение с автоматическим распознаванием устройства. На десктопах с постоянным подключением USB-мышь или клавиатуру, как я говорил, использовать не всегда удобно, но само существование таких устройств очень полезно, потому что позволяет подключать их куда угодно – даже к монитору, оснащенному USB-концентратором. В результате, например, стало необязательно снабжать всеми возможными интерфейсами ноутбуки и прочие мобильные компьютеры.
Теоретически одного USB достаточно на все про все, ведь к одной линии можно подключать до 127 устройств (при условии, что хватит питания, которое здесь ограничено 5 вольтами при 0,5 А). Размножение USB-устройств производится с помощью разветвителей-хабов (их часто называют
В USB применяется кодирование данных NRZI (Non Return to Zero Invent). В этом методе кодирования изменение уровня напряжения соответствует 0, а его отсутствие – 1. Последовательность нулей означает переход с одного уровня на другой каждый квант времени; последовательность единиц означает длительный промежуток времени, при котором изменения данных не происходит. При таком способе отменяется необходимость в дополнительных синхроимпульсах (по отдельной «проволоке», как в PS/2, или в виде стартовых-стоповых битов, как в СОМ), которые занимали бы время и снижали пропускную способность шины.
Теоретически повсеместно устанавливаемые сейчас порты по стандарту USB 2.0 поддерживают скорость до 480 Мбит в секунду (60 Мбайт/с), хотя на практике с такими скоростями справляются лишь немногие устройства. Причем стандарт USB 2.0 предусматривает два режима работы: HR (высокоскоростной) и FS (низкоскоростной, по сути – USB 1.1 со скоростью до 12 Мбит/с). В самом деле, зачем мышам 480 Мбит/с?
Максимальная длина кабеля между двумя работающими на предельной скорости устройствами (или устройством и концентратором) – 5 метров, но может быть и до 10, в зависимости от качества его изготовления. Чтобы увеличить дальность, приходится ставить промежуточные хабы или просто усилители сигнала. Последние бывают двух типов: пассивные (с питанием от предыдущего концентратора) и активные (с собственным источником питания, иногда более мощным, чем предусматриваемый стандартом 0,5-амперный).
Стандартом предусматривается несколько типов разъемов USB (рис. 3.5): А, В, mini-А и mini-B, miniAB (универсальный), в 2007 году появились и Micro-USB A, B и AB. Разъем типа А (плоский) устанавливается со стороны ведущего устройства, а типа В (квадратный) – ведомого, соответственно, большинство соединительных кабелей и имеют эту конфигурацию: А-В.
Рис. 3.5. Разъемы USB на кабеле, слева направо: microUSB AB, miniUSB AB, тип B, тип A (гнездо удлинителя USB), тип A (вилка)
С mini-USB все не так однозначно. Разъемы Mini-A употребляются редко (все миниатюрные устройства, как правило, являются ведомыми), потому для них даже не предусмотрено отдельной конфигурации, все mini-гнезда одинаковы (с оговорками, о которых далее) и различаются лишь цветом пластмассы (mini-A – белый, mini-B – черный, mini A/B – серый). Но так утверждает стандарт, на практике же по части mini-USB-разъемов существует неприятный разброд среди производителей. Теоретически стандартом предусматривается 5-контактный разъем mini-USB (5-й контакт, точнее, 4-й по порядку, никуда не подключается). Но я встречал как минимум три разновидности mini-USB – 5-контактный, и более узкие 4-контактные двух разновидностей. Сейчас эта пестрота, впрочем, сходит на нет – все новые устройства снабжаются стандартными разъемами, они одинаковы и для мобильников, и для цифровых камер, и для КПК, потому взаимозаменяемы по соединительным кабелям. Все USB-разъемы спроектированы так, чтобы шины питания входили в контакт первыми – тем самым обеспечивается беспроблемное «горячее» подключение.
В 2008 году появилась окончательная спецификация USB 3.0, предусматривающая скорости передачи до 4,8 Гбит/с и повышение максимального тока по линии питания до 0,9 А, но в практику она пока внедряется медленно. Разъемы USB 3.0 типа A совместимы с USB 2.0, но легко отличаются от них наличием дополнительного ряда контактов в глубине разъема. А вот разъемы типа B и micro-USB могут быть несовместимыми как минимум в одну сторону – например, кабель micro-USB 3.0 вставить в USB 2.0-устройство не получится (рис. 3.6).
Рис. 3.6. Кабель с разъемом micro-USB 3.0
Во многих дешевых моделях мобильных телефонов и по сей день нет настоящего USB-порта – вместо него используется обычный последовательный порт, замаскированный под разъем mini-USB (или иной, часто собственной фирменной конфигурации). Через такой порт вы иногда можете даже подзаряжать телефон от компьютера вместо зарядного блока, но Windows не сможет обнаружить подключенное устройство – в последовательном порту нет для этого средств. Для общения с компьютером такого мобильника придется приобретать специальный переходной кабель, ценой обычно около 20 долларов, аналогичный тем, что используются в переходниках USB-COM, и устанавливать драйвер под используемую в кабеле микросхему сопряжения. Потому я советую обращать внимание на эту особенность при покупке мобильного телефона, который вы планируете использовать, например, в качестве модема – требование специального кабеля с драйвером приводит к значительным неудобствам в эксплуатации, и часто бывает проще в таких случаях использовать беспроводные средства связи вроде Bluetooth.
3.2. Голубой зуб
Первоначально поклонники датского конунга Х века Харальда I Синезубого, работавшие в фирме Ericsson, предполагали использовать свою разработку для построения беспроводных сетей. Только в отличие от Wi-Fi, прямо предназначенного для замены проводного Ethernet, Bluetooth (IEEE 802.15.1) не замахивался так высоко – сети, для которых он был предназначен, получили название «персональных» (WPAN, Wireless Personal Area Network). Предполагалось, что это будут сети масштаба комнаты или офиса – радиус действия Bluetooth не превышал 10 метров, и одновременно в сеть могли быть объединены до 8 устройств (одно главное, ведущее – Master, и еще 7 ведомых – Slave).
Конечно, сети на основе Bluetooth тоже выстраивают – особенно с вводом нового стандарта IEEE 802.15.3, базирующегося на той же технологии, что и Bluetooth, но имеющего радиус действия до 100 м (уже масштаба здания, как и Wi-Fi) и позволяющего подключать значительно большее число общающихся между собой устройств. Но сложилось так, что больше распространен оригинальный Bluetooth (IEEE 802.15.1), который стал использоваться в значительной степени, как замена интерфейсов парных соединений «точка-точка» – проводных COM и USB, а также очень неудобного на практике инфракрасного порта IrDA, хоть и беспроводного, но требовавшего прямой видимости устройств, да еще и в определенной ориентации друг к другу.
На практике Wi-Fi и Bluetooth конкурируют между собой слабее, чем это можно было предположить, и вытеснения одного другим пока что не предполагается: каждый занимает свою нишу. Приемопередатчики Bluetooth имеют маленькую мощность (порядка 1 мВт), сейчас стали совсем дешевыми и встраиваются не то что в сотовые телефоны, но даже в головные беспроводные гарнитуры, есть и Bluetooth-клавиатуры или мыши (хотя большинство таких устройств использует проприетарный радиоинтерфейс). В таких задачах, как переслать с мобильника на мобильник телефонный номер из записной книжки – здесь Bluetooth пока вне конкуренции, в силу крайней простоты его использования.
«Синий зуб» работает в том же самом частотном диапазоне 2400–2483,5 МГц, что и Wi-Fi, предназначенном для безлицензионного использования в промышленности, науке и медицине (Industry, Science and Medicine, ISM). Но в Bluetooth используется совершенно иной механизм передачи на физическом уровне, чем в Wi-Fi, – вместо хитрых способов фазовой модуляции применяется более простая
Когда частота сигнала все время меняется случайным образом, мы не только получаем хороший шанс избежать помехи (если помеха помешала нам в одном из каналов, то передача тут же будет повторена в другом), но и сами минимально влияем на другие устройства в том же диапазоне. Поэтому, например, в помещении могут работать одновременно устройства Bluetooth и Wi-Fi, не мешая друг другу. Остается вопрос о том, как синхронизировать передающее устройство и приемное, – если закон изменения частоты случайный, то попасть «друг в друга» они смогут также только случайно. Поэтому сигнал оказывается не истинно случайным, а
Простота организации связи по каналу Bluetooth, впрочем, оборачивается не слишком высоким уровнем безопасности. В силу небольшого радиуса действия, разработчики IEEE 802.15.1 не стали заморачивать себе голову проблемами капитальной защиты канала – о том, чтобы снабжать Bluetooth-каналами мобильные телефоны, в 1998 году, когда вышел первый вариант стандарта, и речи еще не было. Шифрование используется, но ключ передается открыто, и его ничего не стоит перехватить. Действительность заставила производителей горько об этом пожалеть: самый, вероятно, громкий скандал, связанный со взломом Bluetooth, произошел весной 2005 года, когда в Интернете был опубликована телефонная книга Пэрис Хилтон – светской львицы, знакомой чуть ли не со всеми знаменитостями США. А более мелкие неприятности случаются постоянно.
Конечно, по-настоящему секретную информацию в мобильных телефонах хранят не так уж и часто (мобильные кошельки в расчет не берем – они защищены отдельно), но малоприятно, когда ваши эс-эм-эски и координаты ваших друзей расходятся по рукам. Впрочем, для такого взлома (или, например, для того, чтобы послать с чужого мобильника SMS о готовящемся теракте) требуется все же определенная квалификация, а вот похулиганить можно сколько хотите. Развлечение подростков под названием BlueJacking (рассылка сообщений напрямую, минуя сотового оператора) даже берут на вооружение особо беспринципные рекламные менеджеры.
Все дело оказалось в том, что, во-первых, при скоплении людей в одном месте радиуса действия в 10 м для злоумышленников более чем достаточно, но и не только в этом – «синий зуб» оказался куда длиннее, чем закладывалось в стандарт. В 2005 году молодые ребята из небольшой фирмы Flexilis показали журналистам аппарат, похожий на снайперскую винтовку со «стволом» в виде направленной антенны. С его помощью они из окна 11 этажа отеля Aladdin на расстоянии около 800 метров выкачали содержимое телефонных книг и SMS из примерно 300 обнаруженных в пределах гостиничной автостоянки мобильников с Bluetooth-модулями.
Спасение от этой напасти единственное – держать модуль Bluetooth по умолчанию в режиме «невидимый», а еще лучше – просто выключенным, и включать его только тогда, когда действительно надо (заодно, кстати, экономится питание). Отметим, что в сетях IEEE 802.15.3 (тех, что с дальностью до 100 м) более качественное шифрование уже предусмотрено, хотя под натиском Wi-Fi они так и не получили распространения.
Подключение компьютеров через Bluetooth
Bluetooth стал широко распространяться как раз с появлением Vista, возможно, поэтому инструкций для Windows XP по процедуре подключения через Bluetooth значительно меньше, чем для новых версий. Мы не будем подробно копаться в различиях настроек беспроводной сети через Bluetooth в разных системах, а рассмотрим простейший случай соединения через Bluetooth двух компьютеров (например, ноутбуков) для передачи файлов по беспроводному каналу. А создание полноценной сети мы рассмотрим в последующих главах, ориентируясь на Wi-Fi, а не Bluetooth, что для сети более удобно и естественно.
В нашей модели будем считать, что компьютеры находятся под управлением разных версий Windows. Заметим, что аналогичным образом можно связаться с ноутбука и с любым другим устройством: с коммуникатором или мобильником, с беспроводной гарнитурой и прочими Bluetooth-устройствами. Такое подключение, как и вообще обращение с беспроводными сетями, сильно усложнено заботой о безопасности пользователя, которому придется продраться через несколько заслонов, препятствующих притаившимся за углом злобным хакерам выкачать ваши драгоценные файлы. Простое соединение, однако, имеет то преимущество перед созданием полноценной беспроводной сети на основе Bluetooth (WPAN), что по-настоящему файловые системы компьютеров извне не видны. Поэтому файл для передачи можно извлечь из любой папки и сохранить его в приемнике тоже в любой папке, необязательно открытой для всеобщего доступа.
Сначала нужно убедиться в том, что Bluetooth включен, и для каждого устройства разрешен к нему доступ. Включение контролируется через Диспетчер задач (горе обладателям ноутбуков, у которых дополнительно Bluetooth еще может отключаться аппаратно, клавишей на корпусе или сочетанием клавиш, хотя последнее время такое – редкость). В мобильных телефонах тоже существует как минимум две инстанции: собственно включение модуля Bluetooth и дополнительно разрешение доступа к телефону (например, если владелец пользуется головной Bluetooth-гарнитурой, то модуль будет включен, а вот доступ, скорее всего, запрещен). Если адаптер включен и все драйвера установлены, то в области уведомлений появится синий значок с белым рисунком, видимо, долженствующий напоминать синие зубы объевшегося черникой конунга Харальда I:
Разрешить доступ через Bluetooth в Windows 7 и Windows XP очень просто – надо щелкнуть правой кнопкой по этому значку и выбрать параметры соединения, где на вкладке Параметры обнаружится нужный пункт. В Vista почему-то все несколько сложнее – там для установки разрешений придется лезть в брандмауэр Windows. Но можно поступить и проще, установив разрешения по ходу дела – в момент соединения с компьютера, на котором установлена Vista, она сама запросит установку такого разрешения.
Для установления соединения сначала мы обращаемся через то же контекстное меню значка Bluetooth к пункту Добавление устройства в Windows 7 или к Добавить новое подключение в Windows Vista и Windows XP. Система обнаружит в зоне действия Bluetooth (в условиях квартиры – только в пределах той же комнаты) работающие устройства, и, выбрав одно из них, в общем случае вы получите окно, показанное на рис. 3.7.
Рис. 3.7. Запрос Windows Vista и Windows 7 на создание соединения по Bluetooth
Верхний пункт в окне по рис. 3.7 следует выбирать для подключения к другому компьютеру, средний – для подключения к устройствам типа гарнитуры, имеющим постоянный пароль (он обычно записан в руководстве), нижний – как там и написано, для устройств, не имеющих пароля (Bluetooth-мыши). Если все-таки устройство имеет пароль, будет предложено ввести его независимо от вашего выбора. Щелкнув по верхнему пункту, мы окажемся в окне, показанном на рис. 3.8, где нам предлагают этот самый пароль в виде случайной комбинации цифр.
Рис. 3.8. Пароль на создание соединения по Bluetooth в Windows 7