logo search
Sbornik

Разработка анализатора usb

Гарипова А.М., студентка Уфимского государственного колледжа радиоэлектроники

Зубкова И.В., научный руководитель, преподаватель Уфимского государственного колледжа радиоэлектроники

Рисунок 1 –Внешний вид устройства

В настоящее время практически все периферийные устройства подключаются к компьютеру через USB интерфейс. Наряду с простотой использования для конечного пользователя, реализация протокола обмена по шине USB достаточно сложна для программистов и разработчиков периферийных устройств. Для отладки обычно используются программные средства, например USB-Monitor, позволяющие следить за информацией, передаваемой по шине. Это существенно упрощает отладку программного обеспечения. Однако отследить обмен данными между хост-контроллером и устройством на уровне передаваемых блоков данных, называемых пакетами, таким образом невозможно. Дело в том, что каждый пакет содержит много служебной информации, которая добавляется на аппаратном уровне в контроллере USB, как на стороне хоста, так и на стороне устройства. Это идентификатор пакета, адрес, контрольная сумма и др. Таким образом, программно можно отследить, что передается, но нельзя увидеть, как это делается. А для разработчика устройства это может быть очень важно, особенно при программной реализации протокола на контроллерах, не имеющих аппаратного порта USB. В данном проекте разработано устройство, которое подключается между устройством и компьютером и перехватывает всю информацию, передаваемую по шине. Быстродействие контроллера AVR, использованного в данном устройстве, позволяет отслеживать только низкоскоростной (Low-speed) режим передачи данных (скорость 1,5 Мбайта/с). Однако этот режим довольно широко используется, например, в клавиатуре, мыши, джойстике.

Структурная схема анализатора USB представлена на плакате. Она состоит из следующих блоков {показываешь каждый блок и поясняешь}:

1) микроконтроллер (МК);

2) буферное ОЗУ;

3) разъем USB;

4) разъем COM.

Основой анализатора является микроконтроллер DD1, построенный на микросхеме ATmega8515 {показать на принципиальной}.

Анализатор подключается параллельно шине USB и перехватывает всю передаваемую по ней информацию.

Для подключения отлаживаемого устройства используется разъем – USB розетка типа «A». Параллельно ей распаивается кабель с вилкой USB типа «A» для подключения к компьютеру.

Эта информация временно сохраняется во внешнем буферном ОЗУ ,а затем передается в компьютер через COM порт. Скорость передачи USB на много превышает скорость COM порта, поэтому необходимо накапливать информацию в ОЗУ, а затем в паузах между пакетами обрабатывать ее и передавать в компьютер. Объема встроенного ОЗУ контроллера для этого недостаточно.

В качестве буферного ОЗУ используется микросхема UM61256 объемом 32 кбайт. Такого объема обычно достаточно для отслеживания процесса нумерации любого устройства.

Для передачи информации в компьютер используется порт COM (интерфейс RS-232C). Если в компьютере нет COM-порта, можно использовать конвертер USB-COM.

Уровни сигналов интерфейса RS-232 отличаются от уровней сигналов микроконтроллера. Поэтому для согласования уровней используется инвертирующий триггер Шмитта SN74HC14.

Для сигнализации готовности устройства к работе используется светодиод HL1. При переполнении ОЗУ светодиод гаснет.

К выводам микроконтроллера подключается кварцевый резонатор с тактовой частотой 12 МГц.

Питание анализатора осуществляется от порта USB компьютера.

Рисунок 2 – Структурная схема анализатора

Анализатор представляет собой одностороннюю печатную плату. Односторонняя плата была выбрана благодаря простоте изготовления, достаточно высокой точности исполнения печатного рисунка и низкой стоимости. На верхней стороне платы выполнены проводные перемычки, установлены микросхемы, кварцевый резонатор, светодиод, полярный конденсатор. Припаяны разъемы USB (штекер для подключения к компьютеру и розетка для подключения внешнего устройства) и СОМ (штекер для подключения к компьютеру). На обратной стороне платы установлены резисторы и конденсаторы в планарном исполнении.

Порядок работы с устройством следующий.

Вначале необходимо запустить на компьютере какую-либо терминальную программу (мы воспользуемся Tera Term Pro 2.3), выбрать в ней реальный (или виртуальный, при работе через конвертер USB-COM) порт и подключить к нему COM разъем анализатора.

Для установки параметров порта выбираем вкладку Setup/Serial Port.

Параметры порта должны быть установлены следующие: скорость (Baud rate) – 9600 бит/с, биты данных (Data) – 8, четность (Parity) – нет, стоповые биты (Stop) – 1, управление потоком (Flow control) – аппаратное (hardware).

Подключить USB вилку анализатора к свободному USB порту компьютера. Устройство никак себя не проявляет, поэтому компьютер не обнаружит этого подключения. В терминальной программе выведется на экран сообщение о готовности анализатора к работе, а на нем засветится светодиод HL1.

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

Разработанное устройство имеет меньшую цену, по сравнению с аналогами, содержит небольшое количество элементов на печатной плате, что говорит о простоте его монтажа.