Интерфейс USB: описание и основы устройств сопряжения
Интерфейс USB (Universal Serial Bus - Универсальный Последовательный Интерфейс) предназначен для подключения периферийных устройств к персональному компьютеру. Позволяет производить обмен информацией с периферийными устройствами на трех скоростях (спецификация USB 2.0):
·Низкая скорость (Low Speed - LS) - 1,5 Мбит/с;
·Полная скорость (Full Speed - FS) - 12 Мбит/с;
·Высокая скорость (High Speed - HS) - 480 Мбит/с.
Для подключения периферийных устройств используется 4-жильный кабель: питание +5 В, сигнальные провода D+ и D-, общий провод.
Интерфейс USB соединяет между собой хост (host) и устройства. Хост находится внутри персонального компьютера и управляет работой всего интерфейса. Для того, чтобы к одному порту USB можно было подключать более одного устройства, применяются хабы (hub - устройство, обеспечивающее подключение к интерфейсу других устройств). Корневой хаб (root hub) находится внутри компьютера и подключен непосредственно к хосту. В интерфейсе USB используется специальный термин "функция" - это логически законченное устройств, выполняющее какую-либо специфическую функцию. Топология интерфейса USB представляет собой набор из 7 уровней (tier): на первом уровне находится хост и корневой хаб, а на последнем - только функции. Устройство, в состав которого входит хаб и одна или несколько функций, называется составным (compaund device).
Порт хаба или функции, подключаемый к хабу более высокого уровня, называется восходящим портом (upstream port), а порт хаба, подключаемый к хабу более низкого уровня или к функции называется нисходящим портом (downstream port).
Все передачи данных по интерфейсу иницируются хостом. Данные передаются в виде пакетов. В интерфейсе USB испольуется несколько разновидностей пакетов:
пакет-признак (token paket) описывает тип и направление передачи данных, адрес устройства и порядковый номер конечной точки (КТ - адресуемая часть USB-устройства); пакет-признаки бывают нескольких типов: IN, OUT, SOF, SETUP;
пакет с данными (data packet) содержит передаваемые данные;
пакет согласования (handshake packet) предназначен для сообщения о результатах пересылки данных; пакеты согасования бывают нескольких типов: ACK, NAK, STALL.
Таким образом каждая транзакция состоит из трех фаз: фаза передачи пакета-признака, фаза передачи данных и фаза согласования.
В интерфейсе USB используются несколько типов пересылок информации.
Управляющая пересылка (control transfer) используется для конфигурации устройства, а также для других специфических для конкретного устройства целей.
Потоковая пересылка (bulk transfer) используется для передачи относительно большого объема информации.
Пересылка с прерыванием (iterrupt transfer) испольуется для передачи относительно небольшого объема информации, для которого важна своевременная его пересылка. Имеет ограниченную длительность и повышенный приоритет относительно других типов пересылок.
Изохронная пересылка (isochronous transfer) также называется потоковой пересылкой реального времени. Информация, передаваемая в такой пересылке, требует реального масштаба времени при ее создании, пересылке и приеме.
Потоковые пересылки характеризуются гарантированной безошибочной передачей данных между хостом и функцией посредством обнаружения ошибок при передаче и повторного запроса информации.
Когда хост становится готовым принимать данные от функции, он в фазе передачи пакета-признака посылает функции IN-пакет. В ответ на это функция в фазе передачи данных передает хосту пакет с данными или, если она не может сделать этого, передает NAK- или STALL-пакет. NAK-пакет сообщает о временной неготовности функции передавать данные, а STALL-пакет сообщает о необходимости вмешательства хоста. Если хост успешно получил данные, то он в фазе согласования посылает функции ACK-пакет. В противном случае транзакция завершается.
Когда хост становится готовым передавать данные, он посылает функции OUT-пакет, сопровождаемый пакетом с данными. Если функция успешно получила данные, он отсылает хосту ACK-пакет, в противном случае отсылается NAK- или STALL-пакет.
Управляющие пересылки содержат не менее двух стадий: Setup-стадия и статусная стадия. Между ними может также располагаться стадия передачи данных. Setup-стадия используется для выполнения SETUP-транзакции, в процессе которой пересылается информация в управляющую КТ функции. SETUP-транзакция содержит SETUP-пакет, пакет с данным и пакет согласования. Если пакет с данными получен функцией успешно, то она отсылает хосту ACK-пакет. В противном случае транзакция завершается.
В стадии передачи данных управляющие пересылки содержат одну или несколько IN- или OUT-транзакций, принцип передачи которых такой же, как и в потоковых пересылках. Все транзакции в стадии передачи данных должны производиться в одном направлении.
В статусной стадии производится последняя транзакция, которая использует те же принципы, что и в потоковых пересылках. Направление этой транзакции противоположно тому, которое использовалось в стадии передачи данных. Статусная стадия служит для сообщения о результате выполнения SETUP-стадии и стадии передачи данных. Статусная информация всегда передается от функции к хосту. При управляющей записи (Control Write Transfer) статусная информация передается в фазе передачи данных статусной стадии транзакции. При управляющем чтении (Control Read Transfer) статусная информация возвращается в фазе согласовании статусной стадии транзакции, после того как хост отправит пакет данных нулевой длины в предыдущей фазе передачи данных.
Пересылки с прерыванием могут содержать IN- или OUT-пересылки. При получении IN-пакета функция может вернуть пакет с данными, NAK-пакет или STALL-пакет. Если у функции нет информации, для которой требуется прерывание, то в фазе передачи данных функция возвращает NAK-пакет. Если работа КТ с прерыванием приостановлена, то функция возвращает STALL-пакет. При необходимости прерывания функция возвращает необходимую информацию в фазе передачи данных. Если хост успешно получил данные, то он посылает ACK-пакет. В противном случае согласующий пакет хостом не посылается.
Изохронные транзакции содержат фазу передачи признака и фазу передачи данных, но не имеют фазы согласования. Хост отсылает IN- или OUT-признак, после чего в фазе передачи данных КТ (для IN-признака) или хост (для OUT-признака) пересылает данные. Изохронные транзакции не поддерживают фазу согласования и повторные посылки данных в случае возникновения ошибок.
В связи с тем, что в интерфейсе USB реализован сложный протокол обмена информацией, в устройстве сопряжения с интерфейсом USB необходим микропроцессорный блок, обеспечивающий поддержку протокола. Поэтому основным вариантом при разработке устройства сопряжения является применение микроконтроллера, который будет обеспечивать поддержку протокола обмена. В настоящее время все основные производители микроконтроллеров выпускают продукцию, имеющую в своем составе блок USB ,например фирма Atmel производит контроллёр AT43355 на ядре AVR. Имеет встроенные USB-функцию и хаб с 2 внешними нисходящими портами, работающие в LS/FS-режимах, 1 кбайт ОЗУ, 24 кбайт ПЗУ, 32х8 регистров общего назначения, 27 программируемых выводов, последовательный и SPI-интерфейсы, 12-канальный 10-разрядный АЦП. Функция имеет 1 управлющую КТ и 3 программируемых КТ с буферами FIFO размером 64/64/8 байт.
ЦИФРОВОЙ ЗАПОМИНАЮЩИЙ ОСЦИЛЛОГРАФ ЛА-ОЦЗС
Устройство ЛА-ОЦЗ представляет собой цифровой запоминающий осциллограф, предназначенный для работы в составе IBM-совместимого компьютера.
К компьютеру устройство подключается через стандартный параллельный принтерный порт LPT.
Основное назначение прибора - исследование формы электрических сигналов путем визуального наблюдения и измерения их амплитудных и временных параметров.
Принцип работы прибора заключается в том, что непрерывный (аналоговый) сигнал преобразуется в цифровую форму и полученные цифровые данные передаются в компьютер. Под управлением программного обеспечения цифровой сигнал обрабатывается и отображается на мониторе компьютера.
Программное обеспечение, входящее в комплект поставки, позволяет использовать прибор как обычный осциллограф, спектроанализатор, регистратор и стробоскоп. Эквивалентное разрешение стробоскопа до 1 ГГц. Система маркеров позволяет проводить точные интерполяционные измерения, функция растяжки (зумирования) изображения позволяет детально исследовать форму сигналов. Поддерживается функция копирования осциллограмм сигналов в буфер обмена для использования другими приложениями операционной системы.
· IBM-совместимый персональный компьютер
· Процессор Pentium 100 МГц или совместимый
· Объем ОЗУ 32 Mб
· Накопитель CD-ROM
· 8 Мб свободного дискового пространства
· Свободный параллельный принтерный порт LPT
· ОС Microsoft Windows95, Windows98, Windows ME
· Мышь
Интерфейс с компьютером | Параллельный порт LPT |
Потребляемая мощность | +5В; 1,9А |
Габариты | 158 х 62 х 259 мм |
Масса (без блока питания) | не более 1 кг |
Число входов | 2 синхронных |
Тип разъема | BNC |
Входное сопротивление | 1МОм, 30пФ |
Полоса пропускания (-3 дБ) | 50 МГц |
Диапазоны входных напряжений | ± 5,0В; ± 2,5В; ± 1,0В; ± 0,5В |
Тип АЦП | Параллельный |
Разрешение | 8 бит |
Время преобразования | 20нс |
Максимальная частота дискретизации одноканальном режиме (канал 0) | 100МГц |
Максимальная частота дискретизации в двухканальном режиме | 50МГц |
Максимальная частота дискретизации в режиме стробоскопа (эквивалентная) | до 1 ГГц |
Объем памяти | 128Кб/канал |
Параметры
Параметр | Типовое Значение |
Отношение сигнал/шум | 47,5 дБ |
Коэффициент гармоник | -55,0 дБ |
Реальный динамический диапазон | 57 дБ |
Число эффективных разрядов | 7,7 |
Проникание из канала в канал | -60 дБ |
Источники: