Как подключить внешнее устройство к ПК


PDF версия

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


Для многих проектов необходимо подключать периферийное устройство к ноутбуку или компьютеру (ПК). Раньше это реализовывалось с помощью последовательного или параллельного интерфейса, однако они на многих современных ПК заменены портом USB.
Если присмотреться внимательнее, то окажется, что USB — не единственный вариант для подключения устройств к ПК. Есть множество других разъемов, например S/PDIF, аудиовходы, Ethernet, сокет для модема, FireWire, а также беспроводные интерфейсы Wi-Fi, Bluetooth, IrDA.
Каждый их них имеет свои преимущества и недостатки. От выбора порта зависит сложность не только аппаратной, но и программной части устройства сопряжения. Также важна желаемая скорость передачи данных — чем она выше, тем более продуманной должна быть схема подключения устройства к ПК.
Рассмотрим основные особенности наиболее распространенных интерфейсов.

Асинхронный последовательный порт
Вероятно, наиболее простой способ подключить внешнее устройство к ПК — это использовать последовательный порт. Он хорош тем, что полностью интегрирован в операционную систему (ОС) и для подключения устройства обычно требуется всего лишь подсоединить три провода. Кроме того, протокол обмена довольно прост для понимания. Немаловажным фактом является то, что существует множество документации и программных средств, облегчающих работу с последовательным портом.
Следует заметить, что многие микроконтроллеры имеют один или более встроенный последовательный интерфейс (UART), совместимый с интерфейсом ПК.
К сожалению, на многих современных ПК последовательного порта как такового нет. Однако при необходимости можно воспользоваться переходниками с последовательного порта на Ethernet или USB, изображенными на рисунках 1 и 2. Эти небольшие схемы просты в использовании и не требуют дополнительных драйверов. Переходники с последовательного порта на Ethernet (последовательный сервер) более сложные и дорогие, однако обладают более широким функционалом. Например, последовательные серверы обеспечивают электрическую изоляцию сигналов, поэтому на одной схеме можно реализовать несколько разных интерфейсов, в т.ч. беспроводных.

   
Рис. 1. Переходник UM232R с последовательного порта на USB (производитель — FTDI)
Рис. 2. Переходник NE-4110 с последовательного порта на Ethernet (производитель — Moxa)

Еще один вариант реализации последовательного порта — через Bluetooth. Этот способ немного сложнее предыдущих, однако поскольку сигнал передается по беспроводному каналу, его защищенность повышается.
Если ПК не оснащен встроенным передатчиком Bluetooth, то можно использовать внешний USB-адаптер. Заметим, что при этом на подключаемом устройстве необходимо разместить только модуль Bluetooth на последовательном выходе МК. В программную часть придется внести дополнения, реализующие соединение по протоколу Bluetooth.
Итак, последовательный порт — самый легкий в использовании, даже в случае подключения через переходник. Тем не менее у последовательных портов есть большой недостаток — невысокая скорость работы.
Если в проекте не требуется пересылки большого объема данных или команд, то на это можно не обращать внимание. При больших скоростях обмена лучше воспользоваться альтернативными портами.

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

Как и последовательный, параллельный порт сейчас не существует в чистом виде. Не получили широкого распространения и переходники с параллельного порта на USB. На ПК обычно есть порты расширения, которые позволяют реализовать параллельную передачу данных, однако она будет отличаться от двустороннего обмена по классическому параллельному интерфейсу. Кроме того, существует не так много руководств для работы с этим портом, что создает дополнительные сложности.
Для передачи большого количества данных лучше использовать USB, Ethernet FireWire, звуковую карту или плату расширения. Преимущество FireWire и USB заключается в том, что драйверы для их работы уже установлены на ПК. Например, для USB-устройств необходимо только правильно назначить класс. Однако в некоторых случаях это не так легко сделать, поскольку требуется внесение изменений в программную часть.
Хорошая альтернатива — Ethernet. Подключить устройство к порту легко, нужен лишь простой контроллер (от Realtek, National Semiconductor, Microchip и др.).
Для работы через интерфейс Ethernet требуется микроконтроллер с большим набором ресурсов, особенно ОЗУ. Программирование также несколько усложняется. Однако все эти проблемы подробно описаны во многих доступных источниках, что сводит к минимуму усилия разработчика.

Звуковая карта

Звуковая карта обеспечивает дуплексный обмен и имеет несколько каналов (обычно 2 или 6).
Самое важное достоинство звуковой карты перед рассмотренными нами интерфейсами — аналоговая форма сигнала и возможность работы с напряжением. Этот порт очень удобен для работы с устройствами, не содержащими микроконтроллер.
С помощью звуковой карты можно эмулировать последовательные протоколы.
Входы карты позволяют считывать напряжение, причем даже небольшое, если использовать вход микрофона.
Среди недостатков работы со звуковой картой можно назвать низкий уровень выходных сигналов. Их необходимо дополнительно усиливать. Кроме того, не все виды звуковых карт поддерживают работу с постоянными сигналами. Также при выборе этого способа сопряжения необходимо удостовериться, что диапазона частот карты хватает.

PS/2

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

IrDA

Инфракрасный (ИК) порт может быть использован, например, для связи ПК с мобильным телефоном. Это актуально в первую очередь для старых ПК, поскольку в более современных этот порт отсутствует (хотя можно использовать внешний USB-адаптер). С появлением таких протоколов как IrSimple или Giga-IR скорость обмена по ИК-порту значительно увеличилась, поэтому интерес к нему возвращается.
Протокол обмена по IrDA довольно сложен, поэтому 8-разрядные МК не могут с ним работать.
Достоинства интерфейса IrDA заключаются в надежности связи и защищенности сигнала. Недостатком является необходимость работы в условиях прямой видимости. К тому же, IrDA обеспечивает только полудуплексную передачу.

Заключение

Мы рассмотрели основные способы подключения внешнего устройства к ПК, однако не упомянули главного. Зачастую устройство можно сделать автономным, то есть избавиться от необходимости сопряжения с ПК. В настоящее время выпущено множество миниатюрных процессорных карт (или SBC — одноплатный компьютер) со встроенными портами ввода-вывода и поддерживающих работу с Windows CE или Linux. На рисунке 3 приведен внешний вид одноплатного компьютера. Основное назначение этих карт — управление небольшими устройствами. Таким образом, в большинстве случаев проще и выгоднее воспользоваться подобной картой, настройка которой не займет более 5 мин, чем долго разбираться в программировании того или иного порта.

Рис. 3. Карта FOX LX832 (Acme Systems)

По всем вопросам сотрудничества с Elektor обращайтесь к Антону Денисову по электронной почте anton@elcp.ru или тел.: (495) 741-77-01. Оформить бесплатную подписку на новосную рассылку от издания Elektor можно на сайте www.elektor.com.

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *