Проектирование CDC-устройств на микроконтроллерах со встроенным USB-модулем. Воробьева Г.С - 35 стр.

UptoLike

35
Эта функция достаточно проста и заключается в выполнении
следующей последовательности действий:
1) инициализации переменных;
2) инициализации внутреннего
генератора (его функции описаны в
документации на микросхему);
3) включении USB- интерфейса;
4) инициировании процесса нумерации
(для этого USB устройство
отключается от шины и не ранее чем
через 5мс подключается);
5) конфигурировании нулевой конечной
точки азумеется, нулевая точка
конфигурируется как управляющая);
6) сбросе нулевой конечной
точки(reset);
7) разрешении прерываний от нулевой
конечной точки (при этом прерывание
как таковое не вызывается, т.к. бит IE
сброшен, но соответствующие биты в
регистре UEPINT выставляются).
Рис.15. Инициализация USB-модуля.
После выполнения этих операций USB устройство готово к
конфигурированию через канал нулевой конечной точки. Через
данную конечную точку или проще говоря буфер компьютер
получает от нашего устройства все необходимы сведения(название,
устройства, класс устройства, скорость работы устройства число
конфигураций и т.д.).
После инициализации программа циклически выполняет
обработку сигналов побудки, сброса и прерывания от нулевой
конечной точки. На этом конфигурирование USB-модуля
завершается. Далее программа переходит в режим ожидания
прерываний от периферийных устройств. (Приложение D)
Разрешение прерывания от
нулевой конечной точки
Инициализация
переменных
Настройка внутреннего
генератора
Включение USB интерфейса
Инициирование процесса
нумерации
Конфигурирование нулевой
конечной точки
Сброс нулевой конечной
точки