Модуль USB
Микроконтроллеры семейства AT8xC5132 содержат USB контроллер, поддерживающий высокоскоростную передачу данных (Full-speed). В дополнение к заданной по умолчанию нулевой оконечной точке, контроллер предоставляет 3 других оконечных точки, которые могут быть настроены в качестве контрольной, пакетной, прерывающей или изосинхронной.
Это позволяет разрабатывать программное обеспечение, соответствующее большинству классов USB приборов. Например, микроконтроллеры семейства AT8xC5132 поддерживают:
- USB класс памяти большой емкости управляющего/пакетного/прерывающего (CBI) обмена версии 1.0 - 14 декабря 1998
- USB класс памяти большой емкости только пакетного обмена версии 1.0 - 31 сентября 1999
- USB класс приборов обновления программного обеспечения версии 1.0 - 13 мая 1999
USB класс памяти большой емкости CBI обмена
В пределах CBI структуры контрольная оконечная точка используется для перемещения командных блоков также как для перемещения стандартных USB запросов. Одна оконечная точка исходящих пакетов используется для пересылки данных с ведущего устройства в микроконтроллер. Одна оконечная точка входящих пакетов используется для передачи данных от микроконтроллера в ведущее устройство. И одна оконечная точка прерывания может использоваться для передачи сигнала окончания команды (протокол 0), но она дополнительная и не может использоваться (протокол 1).
Нижеследующая конфигурация оконечных точек микроконтроллеров семейства AT8xC5132 позволяет удовлетворить эти требования:
- Оконечная точка 0: 32 байта, прием-передача команд управления
- Оконечная точка 1: 64 байта, исходящие пакеты
- Оконечная точка 2: 64 байта, входящие пакеты
- Оконечная точка 3: 8 байтов, входящее прерывание
USB класс памяти большой емкости только пакетного обмена
В структуре перемещения только пакетов контрольная оконечная точка используется для перемещения определяющих класс и стандартных USB запросов для установки и настройки микроконтроллера. Одна оконечная точка исходящих пакетов используется для передачи команд и данных от ведущего устройства в микроконтроллер. Одна оконечная точка входящих пакетов используется для передачи команд и данных от микроконтроллера в ведущее устройство. Оконечная точка прерывания в этом случае не нужна.
Нижеследующая конфигурация оконечных точек микроконтроллеров семейства AT8xC5132 позволяет удовлетворить эти требования:
- Оконечная точка 0: 32 байта, Прием-передача команд управления
- Оконечная точка 1: 64 байта, Исходящие пакеты
- Оконечная точка 2: 64 байта, Входящие пакеты
- Оконечная точка 3: не используется
USB приборы обновления программного обеспечения (DFU)
Протокол USB приборов обновления программного обеспечения (DFU) может использоваться для обновления программного обеспечения, находящегося во встроенной Flash памяти микроконтроллера AT89C5132. Он позволяет устанавливать новые версии программного обеспечения в микроконтроллеры, которые уже установлены в устройства. Для поддержки функции DFU используется две различные конфигурации и структуры описания данных (дескрипторный набор). Конфигурация Run-Time совместима с обычными функциями микроконтроллера AT89C5132, использующегося в качестве USB устройства с большой памятью. Эта конфигурация используется для инициализации DFU в нормальном режиме работы. DFU конфигурация используется для обновления программного обеспечения и выполнения сброса USB. При этом исключаются любые другие функции. Только установленный по умолчанию контрольный канал (нулевая оконечная точка) используется для поддержки DFU в обеих конфигурациях.
Величина MaxPacketSize в DFU конфигурации может принять только одно значение - 32 байта, которое является размером FIFO буфера, реализованного для нулевой оконечной точки.
Описание
USB контроллер содержит аппаратный модуль, который позволяет микропроцессорам семейства AT8xC5132 обеспечивать по USB интерфейсу обмен данными с двухпортовой памятью.
Для этого необходимы опорные синхроимпульсы с частотой 48 МГц, которые вырабатываются контроллером синхронизации, описанном в разделе "контроллер синхронизации" полного описания микроконтроллера. Эти синхро импульсы используются для формирования 12 МГц тактовых импульсов из принятого дифференциального USB потока данных и передачи данных на высокой скорости, соответствующей требованиям к USB устройствам. Восстановление синхроимпульсов выполняется цифровой системой ФАПЧ (DPLL).
Блок автоматов последовательного интерфейса (SIE) выполняет NRZI кодирование и декодирование, вставку бита, формирование битов проверки на четность (CRC кодирование и декодирование) и последовательно-параллельное преобразование данных.
Универсальный функциональный интерфейс (UFI) контролирует интерфейс между потоком данных и двухпортовой памятью, а также интерфейс непосредственно с C51 вычислительным ядром.
Рисунок 46. Структурная схема аппаратной части USB контроллера
Контроллер синхронизации
USB контроллер синхронизации тактируется деленными синхро импульсами системы ФАПЧ. Коэффициент деления задается битами USBCD1:0 регистра в USBCLK. На рисунке 47 показан USB контроллер синхроимпульсов и формула для расчета коэффициента деления. Частота USB контроллера синхронизации всегда должна равняться 48 МГц.
Рисунок 47. USB задающий генератор и обозначения
Автомат последовательного интерфейса (SIE)
SIE выполняет следующие функции:
- NRZI кодирование и декодирование данных
- Вставку и извлечение бита
- CRC кодирование и декодирование
- Автоматическое формирование сигналов ACK и NACK
- Идентификацию типа передатчика
- Контроль адресов
- Восстановление синхроимпульсов (при помощи DPLL)
Рисунок 48. Структурная схема SIE
Функциональный интерфейсный модуль (UFI)
Функциональный интерфейсный модуль обеспечивает интерфейс между микропроцессорами семейства AT8xC5132 и SIE. Он управляет обменом на пакетном уровне с минимальными программными затратами, выполняющими запись и считывание FIFO буфера оконечной точки.
На рисунке 50 показаны типовые входящие и исходящие USB транзакции, разделенные по аппаратной (UFI) и программной (C51) загрузке.
Рисунок 49. Структурная схема UFI
Рисунок 50. Типичная загрузка USB транзакции
USB система прерываний
Как показано на рисунке 51, USB контроллер микроконтроллеров семейства AT8xC5132 содержит шестнадцать источников прерывания. Эти источники прерывания делятся на две группы: прерывания от оконечных точек и прерывания от контроллера, объединенные вместе для того, чтобы С51 ядро могло оперировать одним прерыванием. Разрешение USB прерывания осуществляется установкой бита EUSB в регистре IEN1.
Источники прерывания контроллера
Имеется четыре источника прерывания контроллера, которые можно разрешить отдельно установкой соответствующих битов в регистре USBIEN:
- SPINT: флаг прерывания при приостановке. Этот флаг вызывает прерывание при обнаружении USB приостановки (шина не занята в течение трех кадровых периодов: J состояние в течение 3 мс).
- SOFINT: флаг прерывания при обнаружении начала кадра. Этот флаг вызывает прерывание при обнаружении начала кадра в принятом USB пакете.
- EORINT: флаг прерывания при обнаружении окончания сброса. Этот флаг вызывает прерывание при обнаружении USB контроллером окончания сброса.
- WUPCPU: флаг прерывания при обнаружении пробуждения ЦП. Этот флаг вызывает прерывание, когда USB контроллер находится в режиме SUSPEND (приостановка) и активизируется сигналом non-idle от USB линии.
Источники прерывания оконечной точки
Каждая оконечная точка содержит четыре источника прерывания, информация о которых содержится в регистре UEPSTAX. Эти источники объединены для того, чтобы сформировать один источник прерывания, флаг которого содержится в регистре UEPINT. Прерывание от каждой оконечной точки можно маскировать отдельно снятием соответствующих битов регистра UEPIEN.
- TXCMP: флаг обнаружения передачи входящих данных. Этот флаг вызывает прерывание после того, как входящий пакет был передан изохронным оконечным точкам или после того, как управляющие, пакетные и прерывающие оконечные точки получили подтверждение передачи (принят сигнал ACK) от ведущего устройства.
- RXOUT: флаг обнаружения приема исходящих данных. Этот флаг вызывает прерывание после получения нового пакета.
- RXSETUP: флаг приема пакета SETUP. Этот флаг вызывает прерывание при приеме правильного SETUP пакета от ведущего устройства.
- STLCRC: флаг обнаружения приостановки передачи/флаг обнаружения CRC ошибки. Этот флаг вызывает прерывание после обнаружения на шине приостановки передачи управляющими, пакетными и прерывающими оконечными точками. Для изохронных оконечных точек этот флаг устанавливается при обнаружении повреждения данных.
Рисунок 51. Структурная схема USB контроллера прерываний
Регистры модуля USB
Таблица 72. Регистр USBCON.
USBCON (S:BCh) – основной управляющий регистр USB модуля.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
USBE |
SUSPCLK |
SDRMWUP |
- |
UPRSM |
RMWUPE |
CONFG |
FADDEN |
Номер бита |
Обозначение бита |
Описание |
7 |
USBE |
Бит включения модуля USB.
Установка бита включает USB контроллер.
Сброс бита отключает и сбрасывает USB контроллер. |
6 |
SUSPCLK |
Бит приостановки синхронизации USB.
Установка бита отключает вход 48 МГц синхроимпульсов (Продолжение детектирования все еще возможно).
Сброс включает вход 48 МГц синхроимпульсов. |
5 |
SDRMWUP |
Бит передачи удаленного пробуждения.
Устанавливается для вызова внешнего прерывания USB контроллера при удаленном пробуждении.
Резюме исходящего потока передается только если бит RMWUPE установлен, все USB синхроимпульсы активизированы и USB шина находилась в состоянии приостановки (SUSPEND) не менее 5 мс. См. описание бита UPRSM ниже.
Сбрасывается программно. |
4 |
- |
Зарезервирован.
Всегда считывается как "0". Не пытайтесь установить этот бит. |
3 |
UPRSM |
Бит резюме исходящего потока (только чтение).
Устанавливается аппаратно после установки бита SDRMWUP если бит RMWUPE был также установлен.
Сбрасывается аппаратно после передачи резюме исходящего потока. |
2 |
RMWUPE |
Бит разрешения удаленного пробуждения.
Устанавливается для разрешения запроса резюме исходящего потока ведущего устройства.
Сбрасывается после отображения резюме исходящего потока в RSMINPR.
Замечание: не устанавливайте этот бит если у ведущего устройства для прибора не установлена функция DEVICE_REMOTE_WAKEUP. |
1 |
CONFG |
Конфигурационный бит.
Устанавливается после корректной обработки запроса SET_CONFIGURATION с ненулевым значением.
Сбрасывается программно после получения запроса SET_CONFIGURATION с нулевым значением.
Сбрасывается аппаратно при аппаратном сбросе или после обнаружения USB сброса на шине. |
0 |
FADDEN |
Бит разрешения функции адресации.
Устанавливается программным обеспечением прибора после успешного фазирования статуса транзакции SET_ADDRESS. В последующем он не должен сбрасываться программно.
Сбрасывается аппаратно при аппаратном сбросе или после обнаружения USB сброса на шине.
Когда этот бит сброшен, используется функция адресации по умолчанию (0). |
После сброса регистр принимает значение 0000 0000b.
Таблица 73. Регистр USBADDR.
USBADDR (S:C6h) – регистр USB адреса.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
FEN |
UADD6 |
UADD5 |
UADD4 |
UADD3 |
UADD2 |
UADD1 |
UADD0 |
Номер бита |
Обозначение бита |
Описание |
7 |
FEN |
Бит активизации функции.
Устанавливается для активизации функции. Программное обеспечение прибора установит этот бит после приема USB сброса и примет участие в текущем конфигурационном процессе с установленным по умолчанию адресом (FEN сбросится в 0). |
6-0 |
UADD6:0 |
Биты USB адреса.
Эти биты содержат заданный по умолчанию адрес (0) после включения питания или сброса USB шины.
Запись их состояния произойдет после принятия программным обеспечением прибора запроса SET_ADDRESS. |
После сброса регистр принимает значение 0000 0000b.
Таблица 74. Регистр USBINT.
USBINT (S:BDh) – регистр флагов основных USB прерываний.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
- |
- |
WUPCPU |
EORINT |
SOFINT |
- |
- |
SPINT |
Номер бита |
Обозначение бита |
Описание |
7-6 |
- |
Зарезервированы.
Всегда считываются как "0". Не пытайтесь установить эти биты. |
5 |
WUPCPU |
Флаг прерывания пробуждения ЦП.
Устанавливается аппаратно когда находящийся в режиме SUSPEND USB контроллер перезапускается сигналом non-idle USB шины (но не резюме исходящего потока). Установка этого бита вызывает USB прерывание когда установлен бит EWUPCPU в регистре USBIEN.
Сбрасывается программно после переключения всех USB синхроимпульсов. |
4 |
EORINT |
Флаг прерывания окончания сброса.
Устанавливается аппаратно при обнаружении USB контроллером окончания сброса. Установка этого бита вызывает USB прерывание когда установлен бит EEORINT в регистре USBIEN.
Сбрасывается программно. |
3 |
SOFINT |
Флаг прерывания при обнаружении начала кадра.
Устанавливается аппаратно после приема USB пакета начала кадра (SOF). Установка этого бита вызывает USB прерывание когда установлен бит ESOFINT в регистре USBIEN.
Сбрасывается программно. |
2-1 |
- |
Зарезервированы.
Всегда считываются как "0". Не пытайтесь установить эти биты. |
0 |
SPINT |
Флаг прерывания при приостановке.
Устанавливается аппаратно при обнаружении USB приостановки (шина не занята в течение трех кадровых периодов: J состояние в течение 3 мс). Установка этого бита вызывает USB прерывание когда установлен бит ESPINT в регистре USBIEN.
Сбрасывается программно. |
После сброса регистр принимает значение 0000 0000b.
Таблица 75. Регистр USBIEN.
USBIEN (S:BEh) – регистр разрешений основных USB прерываний.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
- |
- |
EWUPCPU |
EEORINT |
ESOFINT |
- |
- |
ESPINT |
Номер бита |
Обозначение бита |
Описание |
7-6 |
- |
Зарезервированы.
Всегда считываются как "0". Не пытайтесь установить эти биты. |
5 |
EWUPCPU |
Бит разрешения прерывания при пробуждении ЦП.
Установка этого бита разрешает прерывание при пробуждении ЦП.
Сброс бита запрещает прерывание при пробуждении ЦП. |
4 |
EEORINT |
Бит разрешения прерывания по окончанию сброса.
Установка этого бита разрешает прерывание по окончанию сброса.
Сброс этого бита запрещает прерывание по окончанию сброса. |
3 |
ESOFINT |
Бит разрешения прерывания при обнаружении начала кадра.
Установка этого бита разрешает прерывание при обнаружении начала кадра.
Сброс этого бита запрещает прерывание при обнаружении начала кадра. |
2-1 |
- |
Зарезервированы.
Всегда считываются как "0". Не пытайтесь установить эти биты. |
0 |
ESPINT |
Бит разрешения прерывания при обнаружении приостановки.
Установка этого бита разрешает прерывание при обнаружении приостановки.
Сброс этого бита запрещает прерывание при обнаружении приостановки. |
После сброса регистр принимает значение 0000 0000b.
Таблица 76. Регистр UEPNUM.
UEPNUM (S:C7h) – регистр номера USB оконечной точки.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
- |
- |
- |
- |
- |
- |
EPNUM1 |
EPNUM0 |
Номер бита |
Обозначение бита |
Описание |
7-2 |
- |
Зарезервированы.
Всегда считываются как "0". Не пытайтесь установить эти биты. |
1-0 |
EPNUM1:0 |
Биты номера оконечной точки.
Задают номер оконечной точки, к которой буде происходить обращение при считывании и записи регистров UEPSTAX, UEPDATX, UBYCTLX или UEPCONX. |
После сброса регистр принимает значение 0000 0000b.
Таблица 77. Регистр UEPCONX.
UEPCONX (S:D4h) – управляющий регистр оконечной USB точки Х (где Х- номер, заданный в регистре UEPNUM.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
EPEN |
- |
- |
- |
DTGL |
EPDIR |
EPTYPE1 |
EPTYPE0 |
Номер бита |
Обозначение бита |
Описание |
7 |
EPEN |
Бит активизации оконечной точки.
Установка бита включает оконечную точку в соответствии с конфигурацией прибора. Нулевая оконечная точка всегда активизируется после аппаратного сброса или сброса USB шины и участвует в конфигурации прибора.
Сброс бита отключает оконечную точку в соответствии с конфигурацией прибора. |
6-4 |
- |
Зарезервированы.
Всегда считываются как "0". Не пытайтесь установить эти биты. |
3 |
DTGL |
Бит изменения статуса данных (только чтение).
Устанавливается аппаратно при приеме пакета DATA1.
Сбрасывается аппаратно при приеме пакета DATA0.
Замечание: Если новый пакет данных принимается до изменения состояния бита с 0 на 1 или с 1 на 0, то возможна потеря пакета. Когда это происходит у пакетной оконечной точки, встроенное программное обеспечение прибора должно предположить, что ведущее устройство повторило передачу правильно принятого пакета так как ведущее устройство не приняло правильного подтвержения (ACK), после этого программа должна отказаться от передачи нового пакета (Напоминание: Оконечная точка сбрасывается к DATA0 только при конфигурировании).
У оконечных точек, являющихся источником прерывания, переключение данных управляется также как и при использовании пакетных оконечных точек.
У управляющих оконечных точек каждая транзакция SETUP начинается с DATA0 и переключение данных в этом случае используется как и у пакетных оконечных точек до тех пор, пока не закончится стадия Data (при контроле записи посылки); стадия Status завершает передачу DATA1 (при контроле считывание посылки).
Для изохронных оконечных точек встроенное программное обеспечение прибора будет восстанавливать каждый новый пакет данных и может игнорировать этот бит. |
2 |
EPDIR |
Бит установки направленности оконечных точек.
Установка бита устанавливает пакетные, прерывающие и изохронные оконечные точки в режим приема.
Сброс бита устанавливает пакетные, прерывающие и изохронные оконечные точки в режим передачи.
Бит не влияет на управляющие оконечные точки. |
1-0 |
EPTYPE1:0 |
Биты установки типа оконечных точек.
Эти биты позволяют установить для оконечной точки один из следующих типов (для нулевой оконечной точки всегда должен быть установлен "управляющий" тип):
0 0 Управляющая оконечная точка
0 1 Изохронная оконечная точка
1 0 Пакетная оконечная точка
1 1 Прерывающая оконечная точка |
После сброса регистр принимает значение 0000 0000b.
Таблица 78. Регистр UEPSTAX.
UEPSTAX (S: CEh) – регистр управления и статуса оконечной USB точки Х.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
DIR |
- |
STALLRQ |
TXRDY |
STLCRC |
RXSETUP |
RXOUT |
TXCMP |
Номер бита |
Обозначение бита |
Описание |
7 |
DIR |
Бит управления направлением оконечной точки.
Этот бит учитывается только тогда, когда оконечной точке присвоен тип контрольной.
Должен быть установлен для стадии данных. Для остальных случаев должен быть сброшен.
Замечание: Этот бит должен быть установлен при RXSETUP прерывании до изменения состояния любого другого бита. Также он определяет фазу статуса (IN для проверки записи и OUT для контроля чтения). Этот бит должен сброшен для стадии статуса контрольной исходящей транзакции. |
6 |
- |
Зарезервирован.
Всегда считывается как "0". Не пытайтесь установить этот бит. |
5 |
STALLRQ |
Бит запроса остановки установления связи.
Установка бита приведет к посылке ответа STALL (остановки) ведущему устройству для следующей установки связи.
В противном случае этот бит должен быть сброшен. |
4 |
TXRDY |
Управляющий бит готовности передачи пакета.
Бит должен быть установлен после записи пакета в FIFO буфер оконечной точки для передачи IN данных. Данные должны записываться в FIFO буфер оконечной точки только после сброса этого бита.
Установка этого бита без записи данных в FIFO буфер приведет к посылке пакета нулевой длины, который рекомендуется в общем случае и может потребоваться для обозначения передачи в тех случаях, когда длина последнего пакета данных равна MaxPacketSize (например, для контрольного считывания передачи).
Сбрасывается аппаратно сразу после посылки пакета изохронной оконечной точкой или после получения контрольной, пакетной или прерывающей оконечной точкой подтверждения от ведущего устройства. |
3 |
STLCRC |
Флаг прерывания при приостановке посылки/Флаг прерывания при обнаружении CRC ошибки.
Для контрольных, пакетных и прерывающих оконечных точек:
Устанавливается аппаратно после посылки при помощи STALLRQ запроса приостановки установления связи. После этого произойдет прерывание оконечной точки, если оно разрешено в регистре UEPIEN.
Сбрасывается аппаратно после приема пакета SETUP (см. описание бита RXSETUP).
Для изохронных оконечных точек:
Устанавливается аппаратно при обнаружении ошибки в принятых данных (CRC ошибка в принятых данных). После этого произойдет прерывание оконечной точки если оно разрешено в регистре UEPIEN.
Сбрасывается аппаратно после приема неповрежденных данных. |
2 |
RXSETUP |
Флаг прерывания при получении пакета SETUP.
Устанавливается аппаратно после получения допустимого пакета SETUP от ведущего устройства. После этого произойдет прерывание, если оно разрешено в регистре UEPIEN.
Сбрасывается программно после считывания SETUP данных из FIFO буфера оконечной точки. |
1 |
RXOUT |
Флаг прерывания при принятии исходящих данных.
Устанавливается аппаратно после принятия исходящего пакета. После этого произойдет прерывание, если оно разрешено в регистре UEPIEN и все текущие исходящие пакеты отклонены до сброса этого бита. Однако в управляющих оконечных точках ранее принятая SETUP транзакция может переписать содержимое FIFO буфера оконечной точки, даже если был принят пакет данных при установленном этом флаге.
Сбрасывается программно после считывания исходящих данных из FIFO буфера оконечной точки. |
0 |
TXCMP |
Флаг прерывания по окончанию передачи входящих данных
Устанавливается аппаратно после передачи входящего пакета изохронной точкой или после получения подтверждения приема (ACK) от ведущего устройства контрольной, пакетной или прерывающей оконечной точкой. После этого произойдет прерывание, если оно разрешено в регистре UEPIEN.
Сбрасывается программно перед следующей установкой бита TXRDY. |
После сброса регистр принимает значение 0000 0000b.
Таблица 79. Регистр UEPRST.
UEPRST (S:D5h) – регистр разрешений основных USB прерываний.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
- |
- |
- |
- |
EP3RST |
EP2RST |
EP1RST |
EP0RST |
Номер бита |
Обозначение бита |
Описание |
7-4 |
- |
Зарезервированы.
Всегда считываются как "0". Не пытайтесь установить эти биты. |
3 |
EP3RST |
Сброс FIFO буфера третьей оконечной точки
Установите и сбросьте для сброса FIFO буфера третьей оконечной точки перед началом любой операции до аппаратного сброса или при получении сброса USB шины. |
2 |
EP2RST |
Сброс FIFO буфера второй оконечной точки
Установите и сбросьте для сброса FIFO буфера второй оконечной точки перед началом любой операции до аппаратного сброса или при получении сброса USB шины. |
1 |
EP1RST |
Сброс FIFO буфера первой оконечной точки
Установите и сбросьте для сброса FIFO буфера перовой оконечной точки перед началом любой операции до аппаратного сброса или при получении сброса USB шины. |
0 |
EP0RST |
Сброс FIFO буфера нулевой оконечной точки
Установите и сбросьте для сброса FIFO буфера нулевой оконечной точки перед началом любой операции до аппаратного сброса или при получении сброса USB шины. |
После сброса регистр принимает значение 0000 0000b.
Таблица 80. Регистр UEPINT.
UEPINT (S:F8h) – (только чтение) регистр прерываний оконечных USB точек.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
- |
- |
- |
- |
EP3INT |
EP2INT |
EP1INT |
EP0INT |
Номер бита |
Обозначение бита |
Описание |
7-4 |
- |
Зарезервированы.
Всегда считываются как "0". Не пытайтесь установить эти биты. |
3 |
EP3INT |
Флаг прерывания от третьей оконечной точки.
Устанавливается аппаратно после установки прерывания в регистре UEPSTAX и если прерывание от третьей оконечной точки разрешено в регистре UEPIEN.
Должен быть сброшен программно. |
2 |
EP2INT |
Флаг прерывания от второй оконечной точки.
Устанавливается аппаратно после установки прерывания в регистре UEPSTAX и если прерывание от второй оконечной точки разрешено в регистре UEPIEN.
Должен быть сброшен программно. |
1 |
EP1INT |
Флаг прерывания от перовой оконечной точки.
Устанавливается аппаратно после установки прерывания в регистре UEPSTAX и если прерывание от первой оконечной точки разрешено в регистре UEPIEN.
Должен быть сброшен программно. |
0 |
EP0INT |
Флаг прерывания от нулевой оконечной точки.
Устанавливается аппаратно после установки прерывания в регистре UEPSTAX и если прерывание от нулевой оконечной точки разрешено в регистре UEPIEN.
Должен быть сброшен программно. |
После сброса регистр принимает значение 0000 0000b.
Таблица 81. Регистр UEPIEN.
UEPIEN (S:C2h) – регистр разрешений прерываний оконечных USB точек.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
- |
- |
- |
- |
EP3INTE |
EP2INTE |
EP1INTE |
EP0INTE |
Номер бита |
Обозначение бита |
Описание |
7-4 |
- |
Зарезервированы.
Всегда считываются как "0". Не пытайтесь установить эти биты. |
3 |
EP3INTE |
Бит разрешения прерывания третьей оконечной точки.
Установка разрешает прерывание от третьей оконечной точки.
Сброс запрещает прерывание от третьей оконечной точки. |
2 |
EP2INTE |
Бит разрешения прерывания второй оконечной точки.
Установка разрешает прерывание от второй оконечной точки.
Сброс запрещает прерывание от второй оконечной точки. |
1 |
EP1INTE |
Бит разрешения прерывания перовой оконечной точки.
Установка разрешает прерывание от перовой оконечной точки.
Сброс запрещает прерывание от перовой оконечной точки. |
0 |
EP0INTE |
Бит разрешения прерывания нулевой оконечной точки.
Установка разрешает прерывание от нулевой оконечной точки.
Сброс запрещает прерывание от нулевой оконечной точки. |
После сброса регистр принимает значение 0000 0000b.
Таблица 82. Регистр UEPDATX.
UEPDATX (S:CFh) – регистр данных FIFO буфера оконечной USB точки Х (Х- номер установленный в регистре UEPNUM).
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
FADAT7 |
FADAT6 |
FADAT5 |
FADAT4 |
FADAT3 |
FADAT2 |
FADAT1 |
FADAT0 |
Номер бита |
Обозначение бита |
Описание |
7-0 |
FADAT7:0 |
Данные FIFO буфера оконечной точки Х.
Байт данных, записываемый в FIFO буфер или считываемый из FIFO буфера оконечной точки Х (см. регистр EPNUM). |
После сброса регистр принимает значение ХХh.
Таблица 83. Регистр UBYCTLX.
UBYCTLX (S: E2h) – регистр счетчика байтов оконечной USB точки Х (Х- номер установленный в регистре UEPNUM).
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
- |
BYCT6 |
BYCT5 |
BYCT4 |
BYCT3 |
BYCT2 |
BYCT1 |
BYCT0 |
Номер бита |
Обозначение бита |
Описание |
7 |
- |
Зарезервирован.
Всегда считывается как "0". Не пытайтесь установить этот бит. |
6-0 |
BYCT6:0 |
Счетчик байтов.
Счетчик байтов принятых пакетов данных. Значение этого счетчика байтов равно количеству байтов данных, принятых после получения идентификатора (PID) данных. |
После сброса регистр принимает значение 0000 0000b.
Таблица 84. Регистр UFNUML.
UFNUML (S:BFh - только чтение) – регистр младших битов номера USB кадра.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
FNUM7 |
FNUM6 |
FNUM5 |
FNUM4 |
FNUM3 |
FNUM2 |
FNUM1 |
FNUM0 |
Номер бита |
Обозначение бита |
Описание |
7-0 |
FNUM7:0 |
Номер кадра.
Младшие 8 бит 11- битного номера кадра. |
После сброса регистр принимает значение 00h.
Таблица 85. Регистр UFNUMH.
UFNUMH (S:BBh – только чтение) – регистр старших битов номера USB кадра.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
- |
- |
CRCOK |
CRCERR |
- |
FNUM10 |
FNUM9 |
FNUM8 |
Номер бита |
Обозначение бита |
Описание |
7-6 |
- |
Зарезервированы.
Всегда считываются как "0". Не пытайтесь установить эти биты. |
5 |
CRCOK |
Бит отсутствия CRC ошибки принятого номера кадра.
Устанавливается аппаратно после принятия неповрежденного номера кадра в стартовом или кадровом пакете.
Обновляется после каждого принятия стартового или кадрового пакета.
Замечание: Прерывание при принятии начала кадра генерируется сразу после получения PID. |
4 |
CRCERR |
Бит наличия CRC ошибки принятого номера кадра.
Устанавливается аппаратно после принятия поврежденного номера кадра в стартовом или кадровом пакете.
Обновляется после каждого принятия стартового или кадрового пакета.
Замечание: Прерывание при принятии начала кадра генерируется сразу после получения PID. |
3 |
- |
Зарезервирован.
Всегда считывается как "0". Не пытайтесь установить этот бит. |
2-0 |
FNUM10:8 |
Номер кадра.
Старшие 3 бита 11- битного номера кадра. Они доступны в последнем принятом SOF пакете. Биты FNUM не изменяются, если принят поврежденный SOF |
После сброса регистр принимает значение 00h.
Таблица 86. Регистр USBCLK.
USBCLK (S:EAh) – регистр делителя USB контроллера синхронизации.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
- |
- |
- |
- |
- |
- |
USBCD1 |
USBCD0 |
Номер бита |
Обозначение бита |
Описание |
7-2 |
- |
Зарезервированы.
Всегда считываются как "0". Не пытайтесь установить эти биты. |
1-0 |
USBCD1:0 |
Делитель USB контроллера синхронизации.
2- разрядный делитель для формирования синхроимпульсов USB контроллером синхронизации. |
После сброса регистр принимает значение 0000 0000b.