35.1. Описание
ПРИМ.: порт USB-устройства не входит в состав микроконтроллера AT91SAM7S32.
Порт USB-устройства (UDP) совместим с требованиями к полноскоростному устройству шины USB версии 2.0.
Каждая конечная точка может быть настроена на один из нескольких типов USB-передач. Она может быть связана с одним банком или двумя банками двухпортового ОЗУ (ДПО), используемого для хранения текущих данных. Если используются два банка, то один банк ДПО считывается или записывается процессором, а другие считываются или записываются периферийным USB-устройством. Данная особенность является обязательной для изохронных конечных точек. Таким образом, максимальная скорость передачи данных (1 Мбайт/сек) поддерживается при работе конечных точек с двумя банками ДПО.
Таблица 35.1. Описание конечных точек USB
Приостановка и возобновление автоматически определяется USB-устройством, которое уведомляет об этом процессор путем генерации прерывания. У некоторых микроконтроллеров поддерживается возможность отправки сигнала активизации шины главному USB-контроллеру (USB-хост).
35.2. Структурная схема
Доступ к UDP организован через шинный интерфейс APB. Доступ (чтение или запись) к буферу данных FIF
выполняется через регистры APB путем чтения или записи 8-разрядных значений.
Модуль UDP использует два сигнала синхронизации: сигнал главной синхронизации, используемый в домене главной синхронизации (MCK) и сигнал синхронизации частотой 48 МГц, используемый в 12МГц-ом домене.
За выполнение требований к полноскоростной USB-связи версии 2.0 отвечает контроллер последовательного интерфейса (SIE). Сигнал внешнего возобновления работы шины "external_resume" является опциональным. Он позволяет возобновить работу модуля UDP в системном режиме. После этого, главный (хост) шины уведомляется о том, что устройство запрашивает возобновление. Данная опциональная функция также должна использоваться совместно с хостом во время перечисления.
35.3. Различия в реализации порта USB в семействе AT91SAM7S
Микроконтроллеры со встроенным модулем UDP также интегрируют USB-трансивер. Для внешнего подключения к трансиверу предусмотрены двунаправленные дифференциальные сигналы DP и DM.
В приложении могут использоваться две линии ввода-вывода для следующих целей:
- одна линия для проверки напряжения VBUS, поступающего от хоста. Устройства с автономным питанием могут использовать данный вход для определения снятия питания с хоста. В этом случае необходимо отключить функцию подтягивания потенциала на линии данных шины USB (DP) во избежание создания условий для протекания тока в отключенном USB-хосте.
- одна линия для управления функцией подтягивания потенциала на линии DP. Если устройство готово для связи с хостом, то оно активизирует подтягивание потенциала на линии данных DP.
35.3.1 Линии ввода-вывода
Линии DP и DM не управляются какими-либо контроллерами ПВВ. Встроенный USB-трансивер управляется периферийным модулем USB-устройства.
Для проверки напряжения VBUS требуется настройка линии ввода-вывода, для чего программист должен вначале запрограммировать контроллер ввода-вывода, настроив линию ввода-вывода на ввод.
Для управления подтягиванием потенциала программист должен вначале настроить контроллер ввода-вывода, назначив данной линии ввода-вывода функцию выхода.
35.3.2 Управление потребляемой мощностью
Для работы модуля USB требуется синхронизация частотой 48 МГц. Данная синхронизация должна генерироваться схемой ФАПЧ с точностью ± 0.25%.
Таким образом, USB-устройство принимает два сигнала синхронизации из контроллера управления потребляемой мощностью (PMC): главная синхронизация MCK, используемая для управления пользовательским интерфейсом периферийного модуля, и сигнал UDPCK, используемый для управления сигналами шины USB (домен восстановленной синхронизации 12 МГц).
ПРЕДУПРЕЖДЕНИЕ: перед выполнением операций чтения/записи регистров UDP, в т.ч. UDP_TXCV, необходимо в начале разрешить синхронизацию периферийного модуля UDP в контроллере управления потребляемой мощностью (PMC).
35.3.3 Прерывание
Интерфейс USB-устройства содержит линию прерывания, подключенную к расширенному контроллеру прерываний (AIC). Для использования прерывания USB-устройства до конфигурации UDP необходимо запрограммировать AIC.
35.4. Схема типового включения
Рисунок 35.2. Электрическая схема подключения периферийного модуля USB-устройства
- UDP_ CNX - входной сигнал, используемый для проверки подключенности хоста.
- UDP_ PUP - выходной сигнал, используемый для отключения подтягивания на линии DP (подтягивание отключается при установке низкого уровня).
На рисунке 35.2 показана реализация функции автоматическо й активизации подтягивания после сброса.