Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ТСИ.doc
Скачиваний:
5
Добавлен:
26.09.2019
Размер:
1.97 Mб
Скачать

Регистр разрешения прерывания по ошибкам модуля usb (ueie)

Регистр разрешения прерывания по ошибкам модуля USB (UEIE) содержит биты разрешения прерывания по ошибкам модуля USB. Установка любого из этих битов разрешает соответствующей ошибке устанавливать флажок прерывания в регистре UEIR

R/W - 0

R/W - 0

R/W - 0

R/W - 0

R/W - 0

R/W - 0

R/W - 0

R/W - 0

BTS_ERR

OWN_ERR

WRT_ERR

BTO_ERR

DFN8

CRC16

CRC5

PID_ERR

7

0

Регистр разрешения прерывания ошибок модуля USB: «UEIE» (адрес 193h)

R = читаемый разряд,

W - записываемый разряд,

U = зарезервированный разряд,

-n = значение после сброса:

Разряд 7: BTS_ERR: Разрешение прерывания по ошибке BTS_ERR.

1 = прерывание разрешено.

0 = прерывание запрещено.

Разряд 6: OWN_ERR: Разрешение прерывания по ошибке OWN_ERR

1 = прерывание разрешено.

0 = прерывание запрещено.

Разряд 5: WRT_ERR: Разрешение прерывания по ошибке WRT_ERR.

1 = прерывание разрешено.

0 = прерывание запрещено.

Разряд 4: BTO_ERR. Разрешение прерывания по ошибке BTO_ERR.

1 = прерывание разрешено.

0 = прерывание запрещено.

Разряд 3: DFN8: Разрешение прерывания по ошибке DFN8.

1 = прерывание разрешено.

0 = прерывание запрещено.

Разряд 2: CRC16: Разрешение прерывания по ошибке CRC16.

1 = прерывание разрешено.

0 = прерывание запрещено.

Разряд I: CRC5: Разрешение прерывания по ошибке CRC5.

1 = прерывание разрешено.

0 = прерывание запрещено.

Разряд 0: PID_ERR: Разрешение прерывания по ошибке PID_ERR.

1 = прерывание разрешено.

0 = прерывание запрещено.

Регистр состояния модуля usb (ustat)

Регистр состояния модуля USB (USTAT) показывает состояние предыдущей транзакции USB. При прерывании по завершению обработки текущего маркера TOK_DNE должен читаться регистр USTAT, для того чтобы определить номер оконечной точки и направление обмена, используемые для обработки этого маркера. Данные состояния в регистре USTAT действительны, только если установлен флажок прерывания TOK_DNE.

Если транзакция USB завершается раньше чем обслужено предыдущее прерывание TOK_DNE, то модуль USB сохранит состояние следующей транзакции в буфере FIFO STAT. Таким образом, регистр USTAT — фактически окно чтения четырехбайтного блока FIFO STAT, которое позволяет ядру процессора обрабатывать одну транзакцию, в то время как выполняется следующая. Очистка бита TOK_DNE в регистре UIR модифицирует регистр USTAT сдвигом FIFO. При этом если в STAT имеются данные, то снова вызывается прерывание TOK_DNE.

U-0

U-0

U-0

R - X

R - X

R - X

U-0

U-0

-

-

-

ENDP1

ENDP0

IN

-

-

7

0

Регистр состояния USB: «USTAT» (адрес 194h)

R = читаемый разряд,

W - записываемый разряд,

U = зарезервированный разряд,

-n = значение после сброса,

X - не определено

Разряды 7-5: Зарезервированы, читаются как «0».

Разряды 4-3: ENDP <1:0>: Эти разряды указывают адрес оконечной точки, с которой выполнялась транзакция USB, что позволяет определять какой BDT модифицирован.

Разряд 2: IN: Этот бит указывает направление передачи.

1 = транзакция ввода.

0 = транзакция вывода или установки.

Разряды 1-0: Зарезервированы, читаются как «0».