Пожалуй, единственный случай, когда действительно имеет смысл озаботиться самой качественной аппаратурой – это наличие у вас возможности обустроить себе домашний кинотеатр. Домашний кинотеатр – это, прежде всего, качественный звук, а уж потом большой экран или проектор. Заодно кинотеатр может выступать в качестве высококачественного звуковоспроизводящего устройства, на котором действительно можно адекватно проигрывать и записи классической музыки в формате DVD-Audio – попробуйте как-нибудь послушать, получите ни с чем не сравнимое удовольствие. Причем возможности такого центра далеко перекрывают качества ностальгических аналоговых «вертушек» (которые и в самом деле могут быть лучше цифрового звука, но лишь в сравнении с относительно недорогими цифровыми системами и «ширпотребовскими» записями). Но первичной тут является даже не стоимость такой системы, а именно физическая возможность – глупо городить ее в малогабаритной городской квартире, вовлекая себя в непрестанные ссоры с соседями, и к тому же заведомо ограничивая качество характеристиками неприспособленных к тому помещений.
   Именно потому я и говорил в беседе о материнских платах, что стандартные звуковые системы, прилагающиеся к современным компьютерным системам, в большинстве случаев совершенно избыточны. 5.1-канальный звук хорош именно в составе домашнего кинотеатра, громоздить вокруг рабочего компьютера многочисленные колонки чаще всего не позволяет место – в большинстве случаев к компьютеру подключают обычные стереоколонки или наушники. Не забудьте еще, что компьютер, даже самый тихий, если только он не проектировался специально для целей звукозаписи (есть и такие), всегда шумит вентиляторами на уровне около 30 дБ. А этот шум «сожрет» треть динамического диапазона вашего суперкачественного звукового усилителя. Конечно, компьютер можно использовать в качестве центрального устройства медиасети, подключив к нему телеприемник или колонки в другой комнате, но не проще ли будет приобрести для этого отдельное специализированное проигрывающее устройство?

2.5. Настройка аудиосистемы

   Обсудив таким образом целесообразность установки «навороченной» аудиосистемы, перейдем к настройкам обычной. В сервисных программах, прилагающихся к драйверу аудиосистемы, встроенной в материнскую плату, обычно наглядно указывается, куда чего подключать, и это не вызывает трудностей. Трудности могут быть лишь с установкой драйвера – нередко имеющийся на диске драйвер конкретной аудиокарты предполагает поддержку High Definition Audio со стороны операционной системы.
   Это не вызывает трудностей в современных версиях Windows Vista и Windows 7, но может служить препятствием в старых версиях Windows XP. К сожалению, комплекты обновлений, которые содержат соответствующий компонент, обычно также включают еще много чего лишнего, потому просто интегрировать их полностью в устанавливаемую систему вы можете не захотеть (см. по этому поводу в главе 8 разд. 8.5 «К вопросу об автоматических обновлениях»). Если же вы все-таки решили такое проделать, то см. главу 9 «Установка оборудования в Windows».
   В противном случае, если у вас такая проблема возникла, и аудиосистема не работает, несмотря на все установленные с прилагаемого к материнской плате диска программы, а в окне Панель управления | Система | Диспетчер устройств показывается неопознанное устройство (или несколько таких устройств), то попробуйте проделать следующее. Подключитесь к Интернету, вызовите мастера установки оборудования в панели управления (можно щелкнуть правой кнопкой на неработающем устройстве в Диспетчере устройств и обратиться к пункту Обновить драйвер) и отметьте в нем пункт, который обычно старательно обходят: Разрешить подключение к узлу Windows Update для поиска программного обеспечения. Скорее всего при этом все установится, но чтобы заработало окончательно, возможно, придется еще раз установить драйвер аудиокарты с прилагаемого диска.
   Следует также учитывать, что после этих установок в перечне Диспетчера устройств у вас может оказаться сразу много устройств High Definition Audio – в видеокарте тоже может быть свое такое устройство, если она снабжена выходом на телевизор (в моем случае – видеокарта NVIDIA GT 240 с ТВ-выходом – таких устройств почему-то даже целых четыре). В этом случае, возможно, придется еще раз устанавливать и драйвер видеокарты, иначе устройство будет показываться как неработающее с желтым восклицательным значком. В общем, все на благо человека…
   Проблемы могут быть и с подключением аудиоразъемов на передней панели корпуса. Если они не работают, то, прежде всего, следует проверить, подключены ли они физически к материнской плате. Многие самодеятельные сборщики просто ленятся их подключать и особенно проверять – часто потому, что без операционной системы проверить затруднительно, а у них она еще не установлена, и проще, считают они, не подключать вовсе, сделав вид, что так и надо (то же, кстати, относится и к USB-разъемам на передней панели). Положите перед собой руководство к вашей материнской плате и хотя бы поверхностно проверьте, что все рекомендации соблюдены. Стоит, например, убедиться в том, что на материнской плате нет специальной перемычки, отключающей эти передние (фронтальные) разъемы, а если она есть, то находится в правильном положении.
   Далее проверьте в сервисной программе драйвера звукового адаптера (она должна находиться в панели управления отдельно от других) наличие пункта Параметры разъема (это на вкладке, называемой Звуковые входы-выходы). Если таковой имеется, то расставьте в нем флажки, как показано на рис. 2.3. У других производителей встроенного аудио аналогичные пункты могут быть расположены в других местах.
   Рис. 2.3. Настройки для аудиоразъемов передней панели корпуса
 
   Если все же разъемы не работают, то следует еще обратиться к BIOS. Подключены эти фронтальные разъемы могут быть в двух вариантах, называемых AC97 и HD Audio. Надо зайти в BIOS, обратиться к пункту Advanced/Onboard Device Configuration и разыскать там пункт под названием Front Panel Support Type. Попробуйте изменить там вариант подключения с AC97 на HD Audio или наоборот и перезапустите компьютер. Если все остальное сделано правильно, то в конечном итоге в каком-то из вариантов звук появится.

Глава 3
Компьютерные порты

   Основными компонентами компьютера, как известно, являются процессор и память. Такая двухкомпонентная система вполне самодостаточна, однако она представляет собой черный ящик в чистом виде и способна работать только сама на себя. Как минимум, к ней придется пристроить устройства ввода/вывода: клавиатуру, экран, принтер, дисковые накопители, оптические приводы или хотя бы флоппи-дисководы. Тогда получится полноценный компьютер, который получает данные и команды из внешнего мира и выдает на-гора результаты своей деятельности. При этом можно указанные компоненты намертво встроить в систему – как и поступал Стив Возняк со своим паяльником, конструируя первые массовые ПК Apple I в конце 70-х годов прошлого века. А можно придумать некий интерфейс, рассказать всем, как он устроен, и тогда любой сможет подключать к нему любые устройства, лишь бы они были снабжены нужными разъемами-соединителями и соблюдали договоренности по поводу электрических характеристик сигналов и характера обмена данными – протоколы. По этому пути пошли создатели другого первенца компьютеростроения – IBM PC, взяв за основу так называемую открытую архитектуру.
   Некоторые из внешних устройств компьютера: дисплей и видеоадаптер, аудиосистему, жесткие диски – мы уже рассмотрели в предыдущих главах. Здесь мы остановимся на компьютерных портах для подключения внешних устройств.

3.1. Какие бывают порты

   К компьютерным портам (аппаратным интерфейсам) причисляют как специализированные интерфейсы (например, сетевые, а также служащие для подключения таких устройств, как мониторы, аудиосистемы или беспроводные мыши и клавиатуры), так и интерфейсы общего назначения, к которым потенциально можно подключить любое устройство. К проводным интерфейсам общего назначения относятся порты COM, LPT, PS/2, GAME-порт, FireWare и USB.
   Сетевые интерфейсы, в том числе беспроводные (Wi-Fi), мы рассмотрим в последующих главах. Из беспроводных интерфейсов общего назначения наиболее универсальным является Bluetooth – как и Wi-Fi, он чаще используется для связи между компьютерами (или между компьютерами и мобильными устройствами), и мы его рассмотрим в этой главе отдельно. Известен еще интерфейс SCSI («сказёвый», как его любят обзывать компьютероманы), но на нем я не буду останавливаться – можно считать, что он похоронен окончательно и бесповоротно и остался лишь как основа некоторых современных интерфейсов. Разъем шины PCI-Express тоже может быть использован в качестве внешнего порта, но пока еще таких устройств немного. Всякую экзотику, вроде специального разъема для подключения MIDI-устройств, мы тоже рассматривать не будем, как и специфичные для ноутбуков интерфейсы PCMCIA или ExpressCard, – ограничимся стандартными портами, причем рассмотрим их приблизительно в той последовательности, в которой они появлялись на свет.
   Чтобы наглядно представить размещение и внешний вид упомянутых далее интерфейсов на задней панели современного настольного компьютера, можно обратиться к рис. 1.2 в главе 1 «Начинка компьютера. Особенности мобильных компьютеров».

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), последние часто называют нуль-модемными. В соединительных кабелях, обеспечивающих обмен между двумя устройствами, приемные-передающие линии (2-й и 3-й контакты 9-контактного разъема) соединены перекрестно. В правильном нуль-модемном кабеле контакт 4 (DTR, Data Terminal Ready, готовность компьютера) на противоположной стороне также соединяется с 1 и 6 контактами (DCD и DSR – готовность модема). В удлинительных кабелях все эти контакты соединены один к одному.
   Рис. 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-порта?
   И вставные платы, и кабели, и различные переходники для ноутбуков, имеют, как правило, одну неприятную особенность – они не позволяют задать определенный номер 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, без всяких драйверов.