Параллельные и последовательные порты и их особенности работы. Последовательный и параллельный порты, их назначение

Последовательный порт

Порт или интерфейс, который может использоваться для последовательной связи, при которой за раз передается только 1 бит.

Большинство последовательных портов для персональных компьютеров удовлетворяют стандарту RS-232C или RS-422. Последовательный порт есть интерфейс общего назначения, он может использоваться для многих типов устройств, включая модемы, мыши и принтеры (хотя большинство принтеров подсоединяются к параллельному порту).

Обычный PC имеет ttyS0 и ttyS2 на IRQ 4, и ttyS1 и ttyS3 на IRQ 3. Вы можете увидеть, какие IRQs используются, напечатав: setserial /dev/ttyS2, и т.д. Просмотр /proc/interrupts покажет некоторых из них. Чтобы использовать более, чем два последовательных устройства, вы должны будете переназначить прерывания. Хороший подход состоит в переназначении прерывания для параллельного порта. В PC обычно для ваших параллельных портов установлены прерывания IRQ 5 и IRQ 7, но мало кто использует два параллельных порта. Вы можете переназначать одно из прерываний на последовательное устройство, и прекрасно использовать оставшийся параллельный порт. чтобы сделать это, вам нужна будет программа setserial. Кроме того, вы должны поиграть с перемычками на матернской плате, свериться с документацией на вашу плату. Установите перемычки на IRQ, который вы хотите назначить каждому порту.

Вы должны установить все так, чтобы имелось одно и только одно прерывание для каждого последовательного устройства. Вот как Грэг устанавливает его в /etc/rc.d/rc. local - вы должны сделать это в файле, который выполняется после запуска:

/sbin/setserial /dev/ttyS0 irq 3 # моя последовательная мышь

/sbin/setserial /dev/ttyS1 irq 4 # мой Wyse dumb терминал

/sbin/setserial /dev/ttyS2 irq 5 # мой модем Zoom

/sbin/setserial /dev/ttyS3 irq 9 # мой модем USR

Стандартные назначения IRQ:

IRQ 0 Таймер, канал 0

IRQ 1 Клавиатура

IRQ 2 Cascade for controller 2

IRQ 3 Последовательный порт 2

IRQ 4 Последовательный порт 1

IRQ 5 Параллельный порт 2

IRQ 6 Накопитель на гибких дисках

IRQ 7 Параллельный порт 1

IRQ 8 Часы реального времени

IRQ 9 Перенаправлен на IRQ2

IRQ 10 не назначен

IRQ 11 не назначен

IRQ 12 не назначен

IRQ 13 Математический сопроцессор

IRQ 14 Накопитель на жестких дисках 1

IRQ 15 Накопитель на жестких дисках 2

В действительности нет никакого "правильного способа" назначения прерывания. Только удостоверьтесь, что оно не используется материнской платой или любыми другими платами.

Номера прерываний 2, 3, 4, 5 или 7 - это хороший выбор. «не назначен» означает, что в настоящее время ничего стандартно не использует эти IRQS. Также обратите внимание, что IRQ 2 - это тоже, что и IRQ 9. Вы можете вызывать его или как 2 или как 9, последовательный драйвер очень понятливый. Если у вас последовательная плата с 16-разрядным разъемом шины, то вы можете также использовать IRQ 10, 11, 12 или 15.

Только удостоверьтесь, что вы не используете IRQ 0, 1, 6, 8, 13 или 14! Они используются вашей материнской платой. Вы модете заработать множество неприятностей, используя эти IRQ не по назначению. Когда вы закончите, посмотрите /proc/interrupts и удостоверьтесь, что конфликтов нет.

Установка адресов последовательных устройств

Затем, вы должны установить адрес порта. Проверьте в руководстве по вашей плате установки перемычек. Подобно прерываниям, одно последовательное устройство может иметь только один адрес. Ваши порты обычно будут приходить с такими установками:

ttyS0 адрес 0x3f8

ttyS1 адрес 0x2f8

ttyS2 адрес 0x3e8

ttyS3 адрес 0x2e8

Выберите адреса, которые вы хотите использовать для каждого последовательного устройства и соответственно установите перемычки. Мой модем установлен на ttyS3, мышь на ttyS0, а мой терминал на ttyS2.

Когда вы перезагрузитесь, Linux должен увидеть ваши последовательные порты по тем адресам, на которые вы их установили. IRQ, который видит Linux, может не соответствовать IRQ, который вы устанавливаете перемычками. Не волнуйтесь об этом. Linux не делает попыток определить IRQ при загрузке, потому что определение IRQ рисковано и может быть неправильным. Используйте setserial, чтобы сообщить Linux, какое IRQ используется портом. Вы можете проверить /proc/ioports, чтобы увидеть, какие адреса порта ввода-вывода используются после загрузки Linux.

Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в адресном пространстве устройств ввода/вывода. Количество регистров зависит от типа порта, однако три из них стандартны и присутствуют всегда - регистр данных, регистр состояния и регистр управления. Адреса регистров отсчитываются от базового, стандартные значения которого 3BCh, 378h, 278h. Узнать количество установленных портов в компьютере и их базовые адреса можно просканировав область данных BIOS по адресам 0:408h для LPT1, 0:40Ah для LPT2, 0:40Ch для LPT3 и 0:40Eh для LPT4. Если по данным адресам содержится слово (2 байта) с ненулевым значением, то это и есть базовый адрес порта. Если слово содержит нулевое значение - порт не установлен. BIOS не поддерживает больше 4 LPT-портов. Порт может использовать аппаратное прерывание (IRQ7 или IRQ9). Многие современные системы позволяют изменять режим работы порта, его адрес и IRQ из настроек BIOS Setup. Например, в AWARD BIOS имеется раздел Integrated Peripherals, позволяющий настраивать режим, адрес и IRQ порта.

LPT порт имеет внешнюю 8-битную шину данных, 5-битную шину сигналов состояния и 4-х битную шину управляющих сигналов. При начальной загрузке BIOS пытается обнаружить параллельный порт, причем делает это примитивным и не всегда корректным образом - по возможным базовым адресам портов передается тестовый байт, состоящий из чередующегося набора нулей и единиц (55h или AAh), затем производится чтение по тому же адресу, и если прочитанный байт совпал с записанным, то считается, что по данному адресу найден LPT порт. Определить адрес порта LPT4 BIOS не может. Для работы с ПУ в BIOS предусмотрено прерывание INT 17h, предоставляющее возможность передавать данные (побайтно), инициализировать ПУ и получать информацию о его состоянии.

Передача данных от центрального процессора к любому периферийному устройству и наоборот контролируется заданием запроса на прерывание IRQ...

Прерывания и адреса

Передача данных от центрального процессора к любому периферийному устройству и наоборот контролируется заданием запроса на прерывание (IRQ) и адреса ввода-вывода (I/O address). Для внешнего периферийного устройства запрос на прерывание и адрес ввода-вывода приписываются тому порту, через который оно подсоединяется.

Сами слова "запрос на прерывание" сообщают, что прерывается работа ЦП и ему предписывается заняться данными, поступающими с какого-либо устройства. Всего существует 16 прерываний - от 0 до 15. Все последовательные и параллельные порты, как правило, требуют своего собственного запроса прерывания, за исключением того, что порты СОМ1 и COM3, а также COM2 и COM4 зачастую имеют общий запрос прерывания.

Для каждого порта нужно указывать уникальный адрес ввода-вывода, который подобен почтовому ящику для приходящей на адрес ЦП корреспонденции, в котором она хранится до обработки. Если какой-либо запрос на прерывание или адрес ввода-вывода используются одновременно более чем одним устройством, то ни одно из них не будет работать надлежащим образом и может даже "зависнуть" ПК.

При проблемах с портом проверьте, какие запросы на прерывание и адрес ввода-вывода ему приписаны.

Панель управления - Система - Устройства - Порты СОМ и LPT

Если вы увидите перед какой-либо строчкой желтый кружок с восклицательным знаком внутри, то, возможно, найдете причину "помехи". Выделив строчку, нажмите "Свойства - Ресурсы". В поле "Список конфликтующих устройств" найдите, что вызывает конфликт. Если окажется, что это какая-нибудь старая плата, не поддерживающая Plug & Play, то она будет указана в списке как "Неизвестное устройство".

Чтобы разрешить проблему, измените для одного из устройств-нарушителей запрос на прерывание или адрес ввода-вывода. Если порт находится на системной плате, то используйте для этого программу начальной установки системы System Setup (BIOS).

Для вхождения в System Setup во время запуска ПК нажмите клавишу "Delete", "F1" или иную - узнайте в документации на систему. Во многих программах начальной установки можно назначать запрос на прерывание и адрес ввода-вывода (установить ресурсы) для каждого конкретного порта, отменив старые.

Найдите неиспользуемый запрос на прерывание или адрес ввода-вывода.

Панель управления - Система - Устройства - Компьютер

Вы увидите полный список применяемых ресурсов. Если неиспользуемых запросов на прерывание нет, то попробуйте отключить с помощью System Setup неиспользуемый порт.

После этого...

Система - Устройства - Конфликтующее устройство - Ресурсы

Выключите функцию "Автоматическая настройка". В окне "Перечень ресурсов" выберите тип ресурса, нажмите кнопку "Изменить" и в поле "Значение" задайте новое (неиспользуемое) значение запроса на прерывание или адрес ввода-вывода.

Установка параметров паралельных портов

Параллельные порты обозначаются аббревиатурой LPT. Компьютер автоматически приписывает каждому обнаруженному параллельному порту адреса от LPT1 до LPT3.

Если вы устанавливаете второй параллельный порт, убедитесь, что он не использует уже имеющийся запрос на прерывание. В некоторых компьютерах LPT1 и LPT2 по умолчанию применяют IRQ7. С помощью Диспетчера устройств установите IRQ5 для LPT2. Если это невозможно, то используйте программу Setup CMOS вашей системы.

Стандартные установки ресурсов параллельных портов

LPT-порт Запрос на прерывания Адрес ввода-вывода
LPT1 IRQ7 ЗВС
LPT2 IRQ7 378
LPT3 IRQ5 278

Установка параметров последовательных портов

Каждый последовательный порт идентифицируется с помощью одного из восьми возможных СОМ-адресов - СОМ1, COM2 и т. д., каждому из которых соответствуют свой уникальный адрес ввода-вывода и запрос на прерывание.

Будьте внимательны при установке в ПК устройства, требующего СОМ-порта. Порты СОМ1 и COM2 имеют стандартные адреса ввода-вывода и запросы на прерывание, которые нигде не должны изменяться (обычно могут быть изменены только в программе Setup CMOS вашего ПК). Если для нового устройства требуется назначить порт СОМ1 или COM2, то при загрузке ПК войдите в программу Setup и либо отключите последовательный порт, приписанный к СОМ1 или COM2, либо, если нужно освободить соответствующие установки для добавляемого устройства, измените идентифицирующие его запрос на прерывание и адрес ввода-вывода.

Заметьте, что все стандартные адреса ввода-вывода используют только третье и четвертое прерывания. Поскольку два устройства не должны использовать один и тот же запрос на прерывание, то постарайтесь для новых внешних устройств приписать портьте COM3 по COM3, вручную устанавливая запросы на прерывание и адреса ввода-вывода с помощью Диспетчера устройств (диалоговое окно "Свойства: Система" ).

Стандартные установки ресурсов последовательных портов

СОМ-порт Запрос на прерывание Адрес ввода-вывода
СОМ1 IRQ4 3F8
COM2 IRQ3 2F8
COM3 IRQ4 ЗЕ8
COM4 IRQ3* 2Е8
СОМ5 IRQ4* ЗЕО
СОМ6 IRQ3* 2ЕО
СОМ7 IRQ4* 338
СОМ8 IRQ3* 238

* Могут быть установлены с помощью Диспетчера устройств Windows 9x (Свойства: Система)

Оптимизация последовательных портов

Компьютер имеет один либо два встроенных последовательных порта в виде 9-штырькового разъема, обычно расположенных на задней панели компьютера. С помощью такого порта за единицу времени можно передать лишь 1 бит данных, в то время как посредством параллельного - 8 бит. Скорость работы последовательного порта зависит от универсального асинхронного приемо-передатчика (UART), преобразующего проходящий через шину ПК параллельный поток данных в однобитовый.

Как правило, современные ПК поставляются с UART модели 16550. В этом случае максимальная пропускная способность составляет 115 кбит/с, что обеспечивает достаточную полосу пропускания для большинства последовательных устройств. Более старые UART моделей 16450 и 8250 с этой задачей уже не справляются. Но иногда производительности UART 16550 может оказаться недостаточно, ведь некоторые аналоговые модемы обрабатывают сжатые данные со скоростью 230 кбит/с, а адаптеры ISDN - до 1 Мбит/с. Так что, если вам требуется большая скорость передачи данных, покупайте плату расширения с UART модели 16750, способной работать со скоростью 921 кбит/с.

Работа с параллельными портами

Параллельные порты обычно используются для принтеров, хотя через них могут подключаться к ПК и другие устройства, например сканеры. С их помощью можно передавать данные со скоростью от 40 Кбайт/с до 1 Мбайт/с, а иногда даже с большей.

В основном все ПК поставляются с одним параллельным портом в виде 25-штырькового разъема на задней панели. Чтобы добавить второй порт, необходимо купить контроллер ввода-вывода и установить его в разъем расширения на системной плате. Параллельный порт бывает четырех типов - однонаправленный, двунаправленный, с улучшенными возможностями (ЕРР-порт) и с расширенными возможностями (ЕСР-порт). Для каждого из них характерны различные скорость и возможности. Порты большинства новых ПК поддерживают все четыре режима, и чтобы узнать, какой из них обеспечивает параллельный порт, посмотрите в программе Setup (CMOS Setup utility) вашего ПК раздел периферийных устройств (Integrated peripherals).

Однонаправленный порт иногда называется также SPP-портом. Эта базовая конфигурация пропускает данные со скоростью 40-50 Кбайт/с лишь в одном направлении - к принтеру или другому внешнему устройству.

Двунаправленный порт. Обеспечивает двусторонний обмен данными со скоростью передачи от 100 до 300 Кбайт/с между ПК и внешним устройством. При этом информация о состоянии последнего поступает в компьютер.

Порт с улучшенными возможностями (ЕРР). Разработан для внешних дисководов и сетевых адаптеров, требующих высокой производительности. Обеспечивает скорость передачи данных от 400 Кбайт/с до 1 Мбайт/с и более.

При установке в программе System Setup опции ЕРР предлагаются версии 1.7 и 1.9. Практически для всех периферийных устройств, купленных в последние годы, нужно выбирать 1.9.

Порт с расширенными возможностями (ЕСР). Повышает скорость и расширяет возможности обмена данными между внешним устройством и компьютером. Если принтер и иное периферийное устройство поддерживают ЕСР, то они непосредственно выдают сообщения о состоянии устройств и ошибках.

Если в программе. System Setup задать опцию ЕСР, то появится строчка для выбора DMA-канала (канал непосредственного доступа к памяти, direct memory access). Необходимо задать его так же, как и при запросе на прерывание. Чтобы предотвратить возникновение конфликтов DMA-каналов, просмотрите свободные из них в окне "Свойства: Компьютер" , как описано выше. Если конфликта не избежать, то вернитесь к двунаправленному режиму порта.

Лучший порт для урагана данных.

В новых системах и периферийных устройствах параллельные и последовательные порты стали заменять универсальной последовательной шиной (Universal Serial Bus , USB). С ее помощью можно достичь скорости передачи данных до 12 Мбит/с, а также подключать при наличии всего одного порта клавиатуры, мониторы, мыши и многие другие (до 127) устройства, которые, как и с решающим сходные задачи SCSI-интерфейсом, могут быть соединены "цепочкой" . При этом используется всего один запрос прерывания. USB-шину можно устанавливать и на более старые компьютеры, купив соответствующую плату расширения.

Все, кто хоть раз пытался собрать самостоятельно ПК либо прикупить одно из комплектующих, сталкивались с вопросом о портах. Параллельный или последовательный? Четырехконтактный или разъем на 16 пин? Вывод через порт или память? Все эти вопросы возникают по мере изучения этой темы и выбора нужного кабеля.

Порт

Что же такое порт? Это специальный разъем в ПК, который работает как связующее звено разного рода устройств с системой компьютера. Порты условно синонимы разъемам, которые нужны для работы периферийных девайсов, отделенных от архитектуры ПК. К примеру, в противопоставление стоит отметить, что сетевой разъем, или место для подключения чипа и ОЗУ, портом не называется.

Часть портов могут поддерживать горячее подключение и отключение, некоторые нуждаются в том, чтобы предварительно отключить систему, а после подсоединять порт.

Аппаратный порт представлен целым рядом типов. Так, сюда относят параллельный интерфейс, последовательный, USB, PATA/SATA, PS/2 и четверку современных видеоинтерфейсов: Display Port, HDMI, VGA, DVI.

Параллельный

Речь пойдет об одном из этих типов интерфейса. Параллельный был создан для ПК в качестве связующего звена периферийного устройства и компьютера. Если речь идет о вычислительной технике, то этот тип физически реализует параллельное соединение, что вполне логично.

Часто можно услышать выражение «параллельный порт принтера», и это неспроста. Тип данного интерфейса получил имена принтерного порта и порта Centronics сразу после своего рождения.

Начало

Такое название и вправду получилось неспроста. Интерфейс разработала компания Centronics, которая в 1970 году выпустила принтер с ним. Над портом работали в компании "Говард" и "Робинсон". Никто не планировал создавать новый тип или делать революционное открытие. Все случилось де-факто, а параллельный порт стал отраслевым стандартом.

На тот момент существовало много разнообразных кабелей, которые использовали производители. К примеру, популярным был DC-3, 36, 25 и 50-контактный разъем.

Развитие

Развитие принтерного порта подхватили быстро. Компании одна за другой начали реализовывать свои версии. Стали появляться плоские варианты на большое количество пинов. Dataproducts работала с интерфейсом, разработав DC-37, который относился к хосту, и 50-контактный порт, подключаемый к принтеру.

Dataproducts создала сразу несколько вариантов. Параллельное соединение можно было реализовать на коротких расстояниях до 15 метров, а для длинного соединения - до 150 метров. Прослужил этот интерфейс долго. Аж до 1990-х годов многие производители использовали его как опцию.

Американская компания IBM также решила сделать взнос в создание параллельного порта компьютера. В момент выхода её первого персонального компьютера можно было ознакомиться с модификацией Centronics. Интересно, что для многих пользователей сразу поставили условие. Лишь переработанные принтеры от Epson, которые обзавелись логотипом IBM, могли функционировать с этим интерфейсом.

Компания потрудилась над стандартизацией кабеля формата DB25F. После чего производители принтеров начали реализовывать стандарт в своих моделях. А в начале 90-х популярный порт Centronics стали менять на IEEE 1284.

Разновидность

Так новинка вошла в обиход и обзавелась своими поклонниками. IEEE 1284 имеет еще одно название - LPT. Параллельный порт обзавелся международной стандартизацией и все так же служит для соединения периферийных девайсов.

Как и прошлый вариант, его чаще применяют для активации принтера, сканера и разного внешнего оборудования. В отличие от предыдущей модификации, стало реальным создавать связь двух ПК, активации механизмов телеуправления.

Основой для IEEE 1284 стал порт Centronics и его разнообразные вариации.

Сравнение

Как уже упоминалось ранее, интерфейс Centronics был создан одноименной компанией и широко применялся для ПК фирмы IBM. Благодаря этому разъему возможно было подключать печатающие аппараты. Он долго считался основным, хотя официально таковым не являлся.

Сначала его создали для однонаправленной передачи информации, поэтому он идеально подходил для принтеров. Когда стали работать над дуплексными модификациями, было решено официально закрепить один из новоявленных стандартов. Так появился EEE 1284.

Разновидность

Что же собой представляет этот параллельный порт? Со стороны компьютера он представлен разъемом на 25 контактов в два ряда формата DB-25-female. Сразу нужно отметить, что это так называемая «мама», а вот есть аналогичный разъем - «папа», который ранее применялся в ПК в качестве COM-порта.

Периферийное оборудование чаще обзаводится 36-пиновым микроразъемом в виде ленты, поэтому кабель с одной стороны имеет 25 контактов DB-25-male и подключается к ПК, а на другой - 36 пинов IEEE 1284-B. Иногда этот вариант заменяет MiniCentronics - порт, который представлен кабелем AC на 36 пинов.

Среди всех есть и CC-кабели, с обеих сторон которых находится MiniCentronics. Это очень редкая модификация, рассчитанная на устройства со стандартом IEEE 1284-II.

Поскольку перед нами стандарт, он имеет некоторые требования, которые нужно соблюдать. К примеру, длина кабеля не может быть больше трех метров. Само строение представлено витыми парами в общем или индивидуальном экране. Редко встречаются ленточные версии.

Если присмотреться к старым моделям сканеров, тут также встречался порт DB-25-male, вместо IEEE 1284-B. Интересно, что подобные устройства имели дополнительный разъем DB-25-female, чтобы была возможность присоединить принтер. Так сканер передавал информацию через два интерфейса.

Физическая реализация

Основной порт Centronics, как уже упоминалось ранее, был представлен однонаправленным параллельным портом. Кабель реализовал основные характеристики. Так, имелось 8 сигнальных линий для перемещения, стробы и линия состояния устройства.

Очевидно, что однонаправленный интерфейс позволял передавать материалы в одну сторону от ПК к оборудованию. Несмотря на это, технология была несколько шире. Имелось пять обратных линий, которые осуществляли контроль состояния аппарата. Скорость, с которой возможно было передавать информацию, колебалась и поднималась до 1,2 Мбит/с.

Расширения

Все первоначальные модификации позже объединились и были стандартизированы. Само действие унификации закончилось тем, что был зарегистрирован стандарт IEEE-1284. Но это не решило вопроса полного соответствия. Новинка все же отличалась от ранее созданных специализированных расширений.

Самыми известными стали разработки Hewlett-Packard. Наряду с Centronics появился порт Bitronics. Он получил двустороннюю технологию, перемещал данные в два направления и нужен был для сбора информации по состоянию принтера.

Bitronics работал с протоколом мультиплексированной шины HP. Технология давала возможность использовать «цепочку»: подключать к разъему LPT несколько девайсов. Чтобы реализовать эту задачу, было создано несколько стандартов, хотя и тут совместимости достичь не удалось.

Поэтому, если вы встречали устаревшие устройства Hewlett-Packard, которые некорректно работают - это неудивительно. Вся проблема именно в портах и реализации.

Возможности

Параллельный интерфейс можно использовать в нескольких режимах. Например, SPP - это стандартная реализация одностороннего порта, который совместим с Centronics. Nibble Mode - это режим двунаправленной передачи данных. Он работает благодаря управляющим линиям. В свое время был единственным вариантом, благодаря которому Centronics передавал двунаправленно информацию.

Byte Mode - еще один вариант двусторонней синхронизации, который не стал популярным, но все равно использовался с некоторыми контроллерами. EPP - режим работы от ведущих производителей Intel, Xircom и Zenith Data Systems, также занимался двусторонней передачей информации со скоростью 2 Мбайт/с.

И последний режим - ЕСР. Над ним работали компании Microsoft и Hewlett-Packard. Появилось аппаратное сжатие файлов, буфер, работа в прямом доступе к памяти.

Применение

Не секрет, что сейчас большинство принтеров подключаются за счет кабелей USB. До того как появился этот вариант разъем являлся единственным вариантом. Но помимо этого существовал и в разных периферийных девайсах.

Сейчас трудно говорить, что же появилось ранее и первее, но известными стали электронные ключи, которые защищали ПО от копирования. Также этот порт перешел в распоряжение накопителей и сканеров. А это, в свою очередь, дало толчок к созданию разъемов с параллельным соединением для модемов, звуковых карт, веб-камер, геймпадов и пр.

Следом стали разрабатывать адаптеры для стандарта SCSI в паре с параллельным типом. Известны и переходники для EPROM и аппаратных контроллеров.

Современное использование

Параллельный интерфейс стал менее популярным. Его заменили кабели USB, а для сетевого соединения - Ethernet. Многие производители считают параллельный тип разъемов устаревшим. Поэтому он массово начинает пропадать с интерфейсных панелей компьютеров и ноутбуков. Microsoft просит разработчиков удерживаться от применения этого типа портов. А для тех, кто все-таки не готов отказаться от такого варианта, есть адаптер «параллельный порт USB».

Разница

Часто сравнивают последовательные и параллельные порты. В системах от IBM, помимо параллельного интерфейса, имелись последовательные и встроенные, для клавиатуры. Последовательный порт часто служил для подключения высокоскоростных коммуникационных девайсов, которые работали по формату RS-232. Тут речь идет о модемах и подобных устройствах.

Последовательный порт легче было реализовать для техники, которая требовала передачу небольшого объема данных. Сюда можно отнести и обычную компьютерную мышь.

Ошибка

О параллельном интерфейсе люди часто узнают от самой системы. Иногда возникают неполадки, которые заставляют пользователя попотеть, чтобы исправить их. Так, некоторые могли заметить сбой «Драйвер параллельного порта». Обычно эта ошибка появляется в журнале системы и помечена красным крестиком.

Сейчас такая неполадка все реже встречается в системе. Может возникать при запуске Parport, когда отсутствует параллельный порт на плате. В этом случае можно отправиться в реестр и в разделе Parport найти строку «Start». Тут нужно поменять значение «2» на «4».

Выводы

Параллельный порт сейчас уже отходит в прошлое. Над ним работали еще в прошлом веке, а уже в нашем смогли заменить на более удобные разъемы. Те варианты, которые остались без изменения, смогли обзавестись адаптерами. Так стало реальным приобрести контроллер параллельного порта PCI, замену USB и других популярных интерфейсов.

В интернете много способов самостоятельно сделать тот или иной кабель. Но, честно говоря, варианты не совсем безопасны и вызывают сомнения. Лучше, если вам вдруг понадобился параллельный порт для устройства, поискать в магазинах. Он хотя и не выпускается, но все равно остался в продаже. А самостоятельно собирая ПК, лучше внимательно присмотреться к интерфейсной панели материнки, чтобы позже не столкнуться с неприятностями.


На современных компьютерах есть хотя бы один последовательный и один параллельный порт, несмотря на то что уже давно существуют сетевые адаптеры, шина USB и другие способы коммуникации. Исключением могут быть разве что современные ноутбуки – на некоторых из них нет ни последовательных, ни параллельных портов.

Параллельный порт

Параллельный порт (сокращенное название – LPT) появился на самом первом IBM PC. Иногда его называют Centronics – по имени фирмы-разработчика. Параллельный порт использовался раньше преимущественно для подключения принтеров.
Современные принтеры обычно подключаются к компьютеру через USB (см. главу 10), но многие модели имеют разъем для подключения LPT-кабеля (кабеля параллельного порта).
Научимся находить разъемы параллельного порта. На рис. 9.1 изображен LPT-разъем на принтере Lexmark E321 – довольно современная модель (принтер куплен в прошлом году). Под ним – USB-разъем с подключенным USB-кабелем. Это говорит о том, что в данный момент принтер подключен к компьютеру через USB .

//-- Рис. 9.1. LPT-разъем на принтере --//
Если бы принтер подключался к параллельному порту компьютера, то нам бы понадобился кабель, изображенный на рис. 9.2.

//-- Рис. 9.2. Кабель --//
На рис. 9.3 показана материнская плата . Самый большой разъем, изображенный на этом рисунке, – параллельный порт. Обычно он окрашен для подключения устройств к параллельному порту компьютера в розовый цвет. Как различить последовательный и параллельный порты, одинаковые по размерам? Разъем параллельного порта имеет тип «мама», а последовательного порта – «папа». Другими словами, даже если вы перепутаете цвета (последовательный порт обычно окрашивается в синий цвет), вы не сможете подключиться к последовательному порту с помощью LPT-кабеля.

//-- Рис. 9.3. Параллельный и последовательный порты --//
К параллельному порту, кроме принтера, можно подключить:
некоторые носители данных, например внешние приводы CD-ROM, магнитные накопители «повышенной» емкости (раньше повышенной емкостью считалось 120 Мб);
стримеры – устройства хранения данных на магнитной ленте. Сейчас они практически не используются, а раньше часто использовались для создания резервных копий на серверах предприятий – ведь магнитная лента стоила копейки по сравнению с другими носителями информации и позволяла записывать большие на то время объемы информации (несколько гигабайтов);
сканеры старых образцов (современные подключаются через USB).

Откровенно говоря, я сомневаюсь, что сегодня вам придется воспользоваться параллельным портом, но такая вероятность есть – может быть, у вас есть старенький принтер, который еще хорошо работает, но подключается только к LPT-порту. Тогда вы должны знать о режимах работы параллельного порта (режим работы порта обычно выбирается в BIOS):
SPP (Standard Parallel Port) – стандартный режим параллельного порта. В данном режиме разрешается только односторонняя передача данных от компьютера к периферийному устройству, подключенному к порту. Скорость передачи данных – 200 Кбит/с;
EPP (Enhanced Parallel Port) – расширенный режим. Разрешен двусторонний обмен данными. Скорость работы – до 2 Мбит/с. Разрешается подключение до 64 периферийных устройств (в цепочку);
ECP (Extended Capability Port) – порт с расширенными возможностями. Обеспечивает двухсторонний обмен данными со скоростью до 2,5 Мбит/с. Поддерживает сжатие данных по алгоритму RLE. Обычно данный режим (если он поддерживается материнской платой) используют сканеры и другие устройства, передающие большие объемы данных.

Последовательный порт

Последовательный порт (другие названия – COM, RS-232, serial port), как и параллельный, в устаревающих моделях компьютеров использовался для подключения многих устройств, но чаще всего к нему подключали:
мышки и другие указательные устройства;
модемы – даже и сейчас некоторые модемы могут подключаться как к последовательному порту, так и к usb ;
«умные» источники бесперебойного питания – многие источники бесперебойного питания могут сообщать компьютеру о текущем заряде своих батарей. Это очень удобно, поскольку вы знаете, на сколько времени хватит заряда в батареях и как скоро нужно выключить компьютер.

Сейчас последовательный порт преимущественно используется для подключения некоторых внешних модемов и «умных» ИБП.
Есть две разновидности последовательного порта: 9-контактный и 25-контактный. На рис. 9.3 изображен 9-контактный последовательный порт.
На старых материнских платах обычно присутствуют два разных последовательных порта – «большой» (25 pin) и «маленький» (9 pin). На платах поновее – два «маленьких». А на самых современных платах – всего один последовательный порт (как правило, 9-контактный), оставленный из соображений совместимости.
Самый главный элемент последовательного порта – универсальный асинхронный приемопередатчик 16 450 UART (Universal Asynchron Receiver Transmitter). Обычно он бывает интегрирован в микросхему южного моста чипсета.
Максимальная скорость передачи по последовательному порту – 115 200 бит/с. По современным меркам это очень низкая скорость, но тем не менее, учитывая, что скорость современных модемов не превышает 56 000 бит/с, ее вполне достаточно.
К компьютеру можно подключить до четырех последовательных портов, но, как уже было отмечено, доступны бывают один или два порта. В Windows последовательные порты называются COMn, где n – номер порта, например COM1, COM2. Если у вас всего один порт, то он будет называться COM1.
Последовательный порт безнадежно устарел. Еще в 1999 году корпорация Microsoft в спецификации «идеального ПК», которая носила название PC99, рекомендовала отказаться от использования последовательного порта в пользу универсальной последовательной шины USB , что сейчас постепенно и происходит. Думаю, через пять лет последовательный порт окончательно исчезнет с материнских плат.

Последовательный интерфейс IEEE-1394

В 1995 году был разработан новый последовательный стандарт передачи данных – IEEE-1394 (или просто 1394). IEEE – это сокращенное название института, разработавшего стандарт, – Institute of Electrical and Electronic Engineers, а 1394 – порядковый номер нового стандарта. Основное преимущество данного стандарта – высокая скорость передачи данных. Сейчас она составляет 800 Мбит/с.
В 2000 году была принята версия стандарта 1394a, а в 2003-м – 1394b (на данный момент это самая современная версия стандарта). Основное отличие нового стандарта – это повышенная скорость передачи данных – 800 Мбит/с, а не 400 Мбит/с, как у 1394a. В дальнейшем планируется скорость передачи в 3200 Мбит/с. Новая версия (1394b) обратно совместима с 1394a, то есть вы можете подключить 1394a-устройства к порту 1394b.
Стандарт 1394 также известен под именами i.Link и FireWire. Первое название принадлежит компании Sony, а второе – компании Apple, но по сути это одно и то же – IEEE-1394. Компания Apple часто использует названия FireWire 400 и FireWire 800; 400 и 800 – это скорость передачи данных в Мбит/с. Фактически, FireWire 400 – это 1394a, а FireWire 800 – 1394b.
//-- Стандарт 1394a --//
Последовательная шина 1394a способна передавать данные со скоростью 100, 200 и 400 Мбит/с; 400 Мбит/с – это 50 Мбайт/с. То есть фильм (типичный размер 700 Мб) скопируется по этой шине всего за 14 секунд, что достаточно быстро даже для сегодняшнего дня, не говоря уже о начале 2000 года, когда был принят этот стандарт.
Но, сами понимаете, 400 Мбит/с – это только теория. А на практике устройства 1394a могли передавать данные со скоростью всего 100 Мбит/с (12,5 Мб/с).
К одному порту IEEE-1394a можно последовательно подключить до 63 устройств. Понятно, что с подключением каждого нового устройства снижается скорость передачи, но на практике никто не подключает к одному порту 63 устройства. Правда, шина IEEE позволяет работать в разветвленном режиме, то есть каждое из этих 63 устройств может быть IEEE-концентратором. А к каждому концентратору можно подключить до 16 IEEE-устройств. Вам и этого мало? Тогда можно установить 1023 шинные перемычки, что позволяет подключить к шине IEEE до 64 000 (!) устройств. Честно говоря, я даже не могу представить себе такое количество устройств.
Шина IEEE-1394 поддерживает технологию P&P (Plug and Play), позволяющую автоматически настраивать подключенное к системе устройство (драйверы, конечно, установить придется, но не нужно с помощью джамперов выделять ресурсы устройству). Также возможно горячее подключение/отключение устройств без отключения питания компьютера. Еще IEEE удобна тем, что каждое подключенное к ней устройство может потреблять ток до 1,5А, то есть небольшие устройства (которым хватит 1,5 А) могут обходиться без блока питания , а получать питание от IEEE.
На рис. 9.4 изображены более распространенный 6-контактный IEEE-порт и кабель, использующийся для подключения к этому порту. А на рис. 9.5 изображены 4-контактный IEEE-порт и соответствующий кабель.

//-- Рис. 9.4. 6-контактный IEEE-порт --//
//-- Рис. 9.5. 4-контактный IEEE-порт --//
Четырехконтактный IEEE-порт обычно используется для подключения цифровых видеокамер.
Если на вашей материнской плате нет IEEE-контроллера, можно установить отдельный контроллер, выполненный в виде платы расширения типа PCI (рис. 9.6).

//-- Рис. 9.6. IEEE-контроллер --//
//-- Стандарт 1394b --//
Стандарт 1394b предусматривает скорость передачи данных 800 Мбит/с (100 Мб/с) по медному или по волоконно-оптическому кабелю. В недалеком будущем планируется передача данных со скоростью 3200 Мбит/с, но пока нет устройств, поддерживающих такую скорость.
Вместо 6-контактного разъема используется 9-контактный (рис. 9.7), однако к 1394b можно подключить все устройства типа 1394a с помощью специального кабеля. Как и в случае с 1394a, если ваша системная плата не имеет интегрированного IEEE-контроллера, его можно купить в виде PCI-платы расширения (рис. 9.8).

//-- Рис. 9.7. 9-контактный (1394b) и 6-контактный кабель (1394a) --//

//-- Рис. 9.8. PCI-контроллер IEEE-1394b --//
Об IEEE-1394 вы должны знать следующее:

IEEE-1394 – современный последовательный высокоскоростной интерфейс, обеспечивающий высокую скорость передачи данных;
существует два стандарта 1394 – 1394a и 1394b;
основная разница между стандартами 1394a и 1394b заключается в применении другого типа разъема (у 1394b – 9 контактов, у 1394a – 6 или 4) и в более высокой скорости передачи данных – 800 Мбит/с у 1394b против 400 Мбит/с у 1394a;
стандарт 1394b обратно совместим с 1394a.

В следующей главе мы поговорим о другом очень распространенном последовательном интерфейсе – об универсальной последовательной шине USB . Шина USB в отличие от IEEE не является высокоскоростной: скорость передачи данных по ней составляет 12 Мбит/с (1,5 Мб/с) для USB 1.1 и 480 Мбит/с (60 Мб/с) для USB 2.0. Однако шина USB более популярна, чем IEEE-1394. Почему? Да потому что обычно последовательный интерфейс используется для подключения периферийных устройств, но большинству периферийных устройств (принтеры, сканеры, фотоаппараты, модемы) не нужны такие высокие скорости, которые обеспечиваются интерфейсом IEEE-1394. Да, USB-устройства более медленные, но в то же время они и более дешевые, поэтому и более популярны.

Последовательные порты

Последовательные порты для обмена данными с внешними устройствами – важнейшая составляющая любого МК, без них его «общение» с внешним миром резко ограничено. Последовательными их называют потому, что в них в каждый момент времени передается только один бит (в некоторых случаях возможна одновременная передача и прием, но все равно только по одному биту за раз). Самое главное преимущество последовательных портов перед параллельными (когда одновременно производится обмен целыми байтами или полубайтами‑тетрадами) – снижение числа соединений. Но оно не единственное – как ни парадоксально, но последовательные интерфейсы дают значительную фору параллельным на высоких скоростях, когда на надежность передачи начинают влиять задержки в линиях. Последние невозможно сделать строго одинаковыми, и это одна из причин того, что последовательные интерфейсы в настоящее время начинают доминировать (типичные примеры: USB и Fire Wire вместо LPT и SCSI или Serial ATA вместо IDE).

В микроконтроллерных устройствах с нашими объемами данных, конечно, скорость передачи нас волнует во вторую очередь, но вот количество соединительных проводов – очень критичный фактор. Поэтому все внешние устройства, которые мы далее станем рассматривать, будут иметь последовательные интерфейсы (кроме дисплеев для отображения информации, для которых, увы, последовательные интерфейсы встречаются лишь в моделях достаточно высокого уровня).

Практически любой последовательный порт можно имитировать программно, используя обычные выводы МК. Когда‑то так и поступали даже в случае самого популярного из таких портов – UART. Однако с тех пор МК обзавелись аппаратными последовательными портами, что, впрочем, не означает необходимости их непременного использования. Легкость программной имитации последовательных портов – еще одно их достоинство.

Из всех разновидностей портов, которые могут наличествовать в МК AVR, мы особенно обратим внимание на UART (Universal Asynchronous Receiver‑Transmitter , универсальный асинхронный приемопередатчик). UART есть основная часть любого устройства, поддерживающего протокол RS‑232, но и не только его (недаром он «универсальный») – например, промышленные стандарты RS‑485 и RS‑422 также реализовываются через UART, т. к. они отличаются от RS‑232 только электрическими параметрами и допустимыми скоростями, а не общей логикой построения.

В персональных компьютерах есть СОМ‑порт, который работает по тому же протоколу RS‑232, и узел UART точно так же является его базовой частью. Поэтому UART служит основным способом обмена данными МК с компьютером.

Отметим, что отсутствие СОМ‑порта в большинстве современных моделей ПК не является препятствием – существуют переходники USB‑COM, а в настольную модель можно вставить дополнительную карту с СОМ‑портами. О том, как обращаться с UART на практике, рассказывается в главах 21 и 22 , применительно к платформе Arduino – программировать такой обмен на ассемблере гораздо сложнее (хотя и надежнее, см. далее). В главе 22 мы увидим, что существуют простые и при этом достаточно надежные способы организовать передачу через последовательный порт по радиоканалу, что позволяет обойтись вообще без проводов.

Кроме UART, почти все МК AVR содержат самый простой из всех последовательных портов – SPI (Serial Peripheral Interface , последовательный периферийный интерфейс). Об устройстве SPI упоминалось в главе 16 . Его принципиальная простота сыграла отчасти дурную роль – трудно встретить два устройства, где протоколы SPI полностью совпадают, обычно обмен по этому порту сопровождается теми или иными «наворотами». Следует отметить, что программирование AVR также осуществляется через SPI, однако в общем случае этот интерфейс и SPI для обмена данными – разные вещи, хотя в большинстве случаев выводы у них одни и те же.

Кстати, всем знакомые карты памяти («флэшки») также адресуются через протокол, очень близкий к SPI.

Кроме этих портов, часто применяется очень простой аппаратно, но более сложный с программной точки зрения и довольно медленный интерфейс 12С (в терминологии Atmel AVR он называется TWI (Two‑Wire Interface , двухпроводной интерфейс). С его помощью можно общаться со многими устройствами: часами реального времени, компасами, датчиками, некоторыми разновидностями памяти. Мы рассмотрим его опять же в главах, посвященных Arduino .

В AVR имеется 10‑разрядный АЦП последовательного приближения (см. главу 17 ). Работа с ним имеет довольно много нюансов, и мы ее подробно рассмотрим в главе 20 . В главе 22 вы увидите, насколько Arduino упрощает этот процесс. И вообще, некоторые другие узлы МК семейства AVR мы рассмотрим по ходу изложения конкретных схем – так будет нагляднее. Сейчас же мы закончим затянувшееся знакомство с микроконтроллером и обратимся к вопросу о том, как его программировать. Следующие две главы мы посвятим элементарным сведениям о программировании МК на ассемблере, а далее перейдем к языкам высокого (и даже сверхвысокого) уровня. Так вы сможете наглядно сравнить и даже при желании «пощупать руками» преимущества и недостатки того и иного подхода и границы их применимости.

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то