Поиск по сайту: |
|
По базе: |
|
Главная страница > Обзоры по типам > Микроконтроллеры > AVR |
|
||||||||||||
22. Работа USB-контроллера в режиме Device22.1. ВведениеDevice-контроллер поддерживает передачу данных на скорости FS и LS. В дополнение к конечной точке типа CONTROL, которая доступна по умолчанию, доступны еще 6 конечных точек с конфигурируемыми режимами CONTROL, BULK, INTERRUPT и ISOCHRONOUS:
Контроллер начинает свою работу с режима IDLE. В этом режиме потребление оконечным каскадом сведено до минимума. 22.2. Подача питания и сбросСледующий рисунок демонстрирует основные состояния Device-контроллера после подачи питания.
Под состоянием сброса Device-контроллера понимается состояние, в котором:
Подтяжка к плюсу на D+ или D- активизируется сразу после обнуления бита DETACH и появления напряжения VBUS. USB-контроллер после сброса переводится в состояние IDLE для минимизации потребляемого тока. Для перехода в это состояние нет необходимости в активизации блока PLL. Device-контроллер можно в любое время сбросить путем обнуления бита USBE (отключение интерфейса USB). 22.3. Сброс конечной точкиКонечная точка может быть сброшена в любой момент путем установки в регистре UERST бита соответствующей конечной точки (EPRSTx). Это приведет к:
Поле переключателя данных (DATA TOGGLE) остается неизменным. Прочие регистры остаются неизменными. Настройка конечной точки остается действительной, а сама конечная точка сохраняется разрешенной. Сброс конечной точки можно связать с командой сброса переключателя данных (бит RSTDT), как ответ на USB-команду CLEAR_FEATURE. 22.4. USB-сбросПри обнаружении USB-сброса на линии USB контроллером выполняются следующие действия:
22.5. Выбор конечной точкиПеред выполнением каких-либо действий со стороны ЦПУ необходимо выполнить выбор конечной точки. Для этого предусмотрены биты EPNUM2:0 (регистр UENUM), в которые необходимо записать номер конечной точки, с которой желает работать ЦПУ. После этого, ЦПУ может осуществлять доступ к различным регистрам и данным конечной точки. 22.6. Активизация конечной точкиКонечная точка удерживается в состоянии сброса до тех пор, пока не установлен бит EPEN. Для активизации конечной точки необходимо выполнить последовательность, приведенную на рисунке 22.2.
Если настройка конечной точки выполнена некорректно (CFGOK=0), контроллер не будет подтверждать пакеты, отправленные с Host-стороны. Бит CFGOK не устанавливается, если задан размер конечной точки, который больше размера DPRAM. Обнуление бита EPEN действует как сброс конечной точки (подробности см. в 22.3). При этом также выполняются следующие действия:
Подробности о назначении/реорганизации памяти см. в 21.7. 22.7. Настройка адресаАдрес Device-контроллера устанавливается в соответствии с протоколом USB:
ADDEN и UADD нельзя записывать одновременно. После подачи питания или USB-сброса в UADD содержится адрес по умолчанию (00h) ADDEN сбрасывается аппаратно:
Когда этот бит равен нулю, используется адрес по умолчанию (00h). 22.8. Режим SUSPEND и выход из негоПо истечении 3 мс, в течение которых линия USB была неактивной, контроллер переключается в полноскоростной режим и инициирует прерывание SUSPI (если оно было разрешено). После этого, в программе можно установить бит FRZCLK. ЦПУ, в зависимости от архитектуры программы, также может ввести режим IDLE для снижения потребляемого тока. Доступно два способа для выхода из режима SUSPEND:
В дальнейшем, для перезапуска передачи, программа должна сбросить бит FRZCLK. Не существует никакой связи между прерываниями SUSPI и WAKEUPI: прерывание WAKEUPI запускается сразу при обнаружении отличных от IDLE сигналов на линиях данных. Таким образом, прерывание WAKEUPI может возникнуть, даже если контроллер не в режиме SUSPEND. Если бит прерывания SUSPI был установлен, то после запуска прерывания WAKEUPI он сбрасывается автоматически. Аналогичным образом, если во время запуска прерывания SUSPI бит прерывания WAKEUPI был уже установлен, то он сбросится автоматически. 22.9. Отсоединение (Detach)После сброса бит DETACH равен 1. Имеется возможность повторно выполнить процедуру перечисления (enumeration). Для этого достаточно установить и сбросить бит DETACH.
22.10. Удаленное возобновлениеЗапрос на удаленное возобновление (REMOTE WAKE-UP или UPSTREAM RESUME) является единственной операцией, которую Device-сторона может выполнить по своей собственной инициативе. Однако, чтобы сделать это, Device-сторона должна сначала принять со стороны Host запрос DEVICE_REMOTE_WAKEUP.
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|