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

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

Регистр разрешения прерываний модуля USB (UIE) содержит биты разрешения для каждого из источников прерывания модуля USB, флажки которых находятся в регистре UIR. Установка любого из этих битов разрешает прерывание соответствующего источника. Значения битов в регистре UIE воздействуют только на разрешение прерывания модуля USB (бит USBIE в регистре PIE1). Если прерывания запрещены, то установка флажков прерываний может быть обнаружена в режиме программного опроса и затем обработана.

U-0

U-0

R/W - 0

R/W - 0

R/W - 0

R/W - 0

R/W - 0

R/W - 0

-

-

STALL

UIDLE

TOK_DNE

ACTIVITY

UERR

USB_RST

7

0

Регистр разрешения прерываний модуля USB: «UIE» (адрес 191h)

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

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

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

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

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

Разряд 5: STALL: Разрешение прерывания STALL.

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

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

Разряд 4: UIDLE: Разрешение прерывания UIDLE.

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

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

Разряд 3: TOK_DNE: Разрешение прерывания TOK_DNE.

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

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

Разряд 2: ACTIVITY: Разрешение прерывания ACTIVITY.

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

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

Разряд 1: UERR: Разрешение прерывания UERR.

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

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

Разряд 0: USB_RST: Разрешение прерывания USB_RST.

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

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

Примечание. Прерывания могут быть разрешены, только если SUSPND = 1 (UCTRL).

Регистр флагов ошибок модуля usb (ueir)

Регистр флагов ошибок модуля USB (UEIR) содержит флажки ошибок, возникающих при приеме или передаче данных в модуле USB. Прерывания по каждому из этих битов разрешаются установкой соответствующих разрядов в регистре разрешения прерываний по ошибкам модуля USB (UEIE). Состояние всех флажков ошибок объединяются по логике «ИЛИ», результатом объединения является флажок ошибки модуля USB бит UERR в регистре UIR. Установленный флажок в регистре UEIR после обработки должен быть сброшен программно записью «О» в соответствующий разряд. Каждый флажок устанавливается, как только обнаружено условие ошибки, поэтому прерывания по ошибкам обычно не совпадают с концом обработки маркера.

R/C - 0

R/C - 0

R/C - 0

R/C - 0

R/C - 0

R/C - 0

R/C - 0

R/C - 0

BTS_ERR

OWN_ERR

WRT_ERR

BTO_ERR

DFN8

CRC16

CRC5

PID_ERR

7

0

Регистр флажков ошибок модуля USB: «UEIR» (адрес 192h)

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

С - сбрасываемый разряд,

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

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

Разряд 7: BTS_ERR: Устанавливается, если обнаружена ошибка вставки разрядов.

Разряд 6: OWN_ERR: Устанавливается, если при обращении к буферу со стороны шины оказывается, что им владеет микропроцессор. При приеме это вызывает переполнение данных, при передаче — антипереполнение.

Разряд 5: WRT_ERR: Ошибка записи. Устанавливается при попытке записи микропроцессора в буфер, в который идет запись от шины.

Разряд 4: BTO_ERR: Устанавливается, если на шине произошла ошибка взаимодействия по времени ожидания. При этом используется таймер шины USB для отсчета времени между фазами маркера и данных в транзакциях установки и вывода или фазами данных и взаимодействия в транзакциях ввода. Если прошло более 17 тактов от предыдущего ЕОР до прихода транзакции останова, то фиксируется ошибка взаимодействия по времени ожидания.

Разряд 3: DFN8: Устанавливается, если полученное поле данных не соответствует целому числу байт и в поле данных обнаружено слово длинной не 8 бит.

Разряд 2: CRC16: Устанавливается, если поле контрольной суммы CRC16 не соответствует.

Разряд 1: CRC5: Устанавливается, если поле контрольной суммы CRC5 не соответствует в пакетах переданных главной ЭВМ. Если бит, установлен, то пакет отвергается.

Разряд 0: PID_ERR: Устанавливается, если в поле проверки PID обнаружена ошибка.

Примечание. Биты могут изменяться, если только SUSPND = 0 (UCTRL).