Разработка анализатора 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.
Разработанное устройство имеет меньшую цену, по сравнению с аналогами, содержит небольшое количество элементов на печатной плате, что говорит о простоте его монтажа.
- Разработка робота, идущего по линии
- Разработка анализатора usb
- Микроконтроллерное устройство «Бегущая строка с механической разверткой»
- Разработка учебного стенда «Изучение работы средств видеонаблюдения и регистрации»
- Автомат регулирования скорости вращения вентиляторов и контроля температуры в пяти точках
- Разработка мультимедийного электронного учебника по дисциплине «Информатика»
- Разработка ик-приемника для дистанционного управления компьютером
- Устройство мониторинга состояния компьютера
- Разработка учебного стенда «Изучение работы средств видеонаблюдения и регистрации»
- Разработка мультимедийного электронного учебника по дисциплине «Безопасность жизнедеятельности»
- Устройство идентификации личности по отпечаткам пальцев
- Разработка пожарного робота с элементами искусственного интеллекта