Книга: 1001 совет по обустройству компьютера
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 (корневой концентратор), а 4 или 6 портов на задней панели, плюс 2–4 порта на передней образуются из него тем же способом, что и в отдельных концентраторах. Отсюда иногда наблюдающаяся неравноценность портов – например, один из портов на передней панели у меня категорически отказывается воспринимать флэш-накопители, хотя в остальном работает нормально. Самое ценное достоинство шины USB – она использует только одно прерывание, даже если подключить все возможные 127 устройств, а прерывания в PC – это всегда дефицитный ресурс.
В 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
Во многих дешевых моделях мобильных телефонов и по сей день нет настоящего USB-порта – вместо него используется обычный последовательный порт, замаскированный под разъем mini-USB (или иной, часто собственной фирменной конфигурации). Через такой порт вы иногда можете даже подзаряжать телефон от компьютера вместо зарядного блока, но Windows не сможет обнаружить подключенное устройство – в последовательном порту нет для этого средств. Для общения с компьютером такого мобильника придется приобретать специальный переходной кабель, ценой обычно около 20 долларов, аналогичный тем, что используются в переходниках USB-COM, и устанавливать драйвер под используемую в кабеле микросхему сопряжения. Потому я советую обращать внимание на эту особенность при покупке мобильного телефона, который вы планируете использовать, например, в качестве модема – требование специального кабеля с драйвером приводит к значительным неудобствам в эксплуатации, и часто бывает проще в таких случаях использовать беспроводные средства связи вроде Bluetooth.
- Как переносить данные через USB-брелок («флэшку»)?
- Наносится ли какой-нибудь вред USB-брелоку, когда его извлекают из разъема без использования функции безопасного отключе...
- Using USB and Legacy Printers
- USB 3.0
- CHAPTER 8 Advanced PIC18 Projects — USB Bus Projects
- Установка устройств с интерфейсом USB
- 1.3.18 USB Interface
- PROJECT 8.1 — USB-Based Microcontroller Output Port
- 8.2 USB States
- 8.3 USB Bus Communication
- 8.5 PIC18 Microcontroller USB Bus Interface
- 8.6 mikroC Language USB Bus Library Functions