Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Регистр состояния программного обеспечения USB

КОНТРОЛЛЕРЫ 18 СЕРИИ | Аппаратный умножитель 8х8 | Регистр ADCON1 | РОRТB и РОRТC | Режим I2C последовательного порта MSSP. | Регистр RCSTA | Регистр TRISE | Способы кодирования данных | Протоколы передачи | Оконечные точки |


Читайте также:
  1. Adlinks Слова категории состояния
  2. IV. ПРАВИЛА РЕГИСТРАЦИИ
  3. IV. ПРАВИЛА РЕГИСТРАЦИИ
  4. Quot;Used to" и "would" для выражения повторяющегося действия или обычного состояния в прошлом.
  5. SW 13. МЕТОДИКА АВТОМАТИЧЕСКОЙ РЕГИСТРАЦИИ
  6. А) Задачи, принципы и основные мероприятия санитарно-противоэпидемического обеспечения в чрезвычайных ситуациях.
  7. А) основные требования и принципиальная схема лечебно-эвакуационного обеспечения

Этот регистр используется библиотечными подпрограммами обслуживания модуля USB для хранения состояния.

R/W - 0 R/W - 0 R/W - 0 R/W - 0 R/W - 0 R/W - 0 R/W - 0 R/W - 0
      4 3   1  
               

Регистр состояния программного обеспечения: «USWSTAT» (адрес 197h)

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

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

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

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

Разряды 7-2: Функциональные идентификаторы.

Разряды 1-0: Состояние конфигурации.

Регистры управления оконечными точками (UEPN)

Три регистра управления оконечными точками содержат биты управления для 6 оконечных точек в соответствии с адресом в регистре USTAT, где оконечная точка - симплексное соединение номера оконечной точки и направления. Оконечная точка 0 (ЕР0) связана с конвейером управления, который требуется USB для всех функций (ввода, вывода и установки). Следовательно, после того, как получено прерывание USB_RST, микропроцессор должен записать в UEP0 код 06h. Неиспользуемые оконечные точки и направления должны быть отключены.

U-0 U-0 U-0 U-0 R/W - 0 R/W - 0 R/W - 0 R/W - 0
- - - - EP_CTL_DIS EP_OUT_EN EP_IN_EN EP_STALL
               

Регистры управления оконечными точками: 'UEPn' (адрес 198h-19Ah)

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

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

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

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

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

Разряды 3-1: EP_CTL_DIS, EP_OUT_EN, EP_IN_EN: Определяют состояние и направление оконечной точки:

EP_CTL_DIS EP_OUT_EN EP_IN_EN Состояние и направление оконечной точки
X     Отключена
X     Включена только для маркеров ввода
X     Включена только для маркеров вывода
      Включена для маркеров ввода и вывода
      Включена для маркеров ввода, вывода и установки

Разряды 0: EP_STALL: Указывает, что оконечная точка остановлена. Этот бит имеет приоритет над всеми другими битами регистра и устанавливается только если EP_IN_EN = 1 или EP_OUT_EN = 1. Обращение к данной оконечной точке по шине будет возвращать взаимодействие ОСТАНОВА. Бит EP_STALL может устанавливается и сбрасывается модулем.

Таблица дескрипторов буферов (BDT)

Дескрипторы буферов и буферы размещены в банке 3 памяти данных микроконтроллера. РIС16С745/765 поддерживает дескрипторы буферов (BD) для следующих оконечных точек:

-EP0 OUT USTAT<00h> UEP0

-EP0 INU STAT<01h> UEP0

-EP1 OUT USTAT<02h> UEP1

-EP1 IN USTAT<03h> UEP1

-EP2 OUT USTAT<04h> UEP2

-EP2 IN USTAT<05h> UEP2

Для эффективного управления связью с оконечной точкой модуль USB имеет в пространстве регистров таблицу дескрипторов буферов (BDT). Дескриптор буфера (BD) для каждой оконечной точки указывает на буфер данных в двухпортовой памяти и состоит из 4 регистров:

- регистр состояния буфера доступный ядру процессора только для записи (BDndST),

- регистр состояния буфера доступный ядру процессора только для чтения (BDndST),

- счетчик байтов буфера (BDndBC),

- начальный адрес буфера (BDndAL).

Где n — симплексное соединение номера оконечной точки и направления в регистре USTAT.

Поскольку буферы доступны и ядру процессора и модулю USB, то для того чтобы различить, кто может модифицировать BD и буфер в памяти системы, используется простой механизм семафора бит UOWN в регистре BDndST.

Если бит UOWN = «0», то доступ к BD и буферу в памяти имеет ядро процессора. Если бит UOWN = «1», то доступ к BD и буферу в памяти принадлежит модулю USB, при этом ядро процессора не должно изменять BD или соответствующий буфер данных.

Дескриптор буфера содержит информацию управления буфером оконечной точки для модуля USB и ядра процессора. Дескриптор буфера, в зависимости от состояния бита UOWN, содержит различные значения.

W - X W - X U-X U-X W - X W - X U-X U-X
UOWN DATA 0/1 - - DTS BSTALL - -
               

Дескриптор буфера, регистр состояния, для записи MCU: «BDndST» (адреса 1A0h, 1A4h, 1A8h, 1ACh, 1BOh, 1B4h)

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

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

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

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

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

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

Разряд 7: UOWN: Этот бит определяет, кто в настоящее время владеет буфером. После завершения обработки маркера модуль записывает в этот бит 0. MCU при инициализации BD всегда должен устанавливать этот бит последним.

1 = монопольный доступ к BD модуля USB.

0 = монопольный доступ к BD MCU.

Разряд 6: DATA 0/1: Этот бит переключатель пакетов переданных или полученных данных.

1 = пакет данных 1

0 = пакет данных 0

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

Разряд 3: DTS: Установка этого бита разрешает модулю USB выполнить синхронизацию переключателя данных. Если пакет получен с неправильным переключателем, то он будет игнорироваться и буфер останется неизмененным.

1 = выполнять синхронизацию переключателя данных

0 = синхронизации переключателя данных не делать

Разряд 2: BSTALL: Останов буфера. Установка этого бита вызовет передачу взаимодействия ОСТАНОВ. Если установлен бит BSTALL, то USB не использует BD и соответствующий буфер.

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

Примечание. Для модификации разрядов не рекомендуется использовать команды BSF, BCF, так как регистр доступен только по записи.

R/W - X R/W - X R/W - X R/W - X R/W - X R/W - X U-X U-X
UOWN DATA 0/1 PID3 PID2 PID1 PID0 - -
               

Дескриптор буфера, регистр состояния, для чтения MCU: «BDndST» (адреса 1AOh, 1A4h, 1A8h, 1ACh, 1BOh, 1B4h)

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

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

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

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

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

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

Разряд 7: UOWN: Этот бит определяет, кто в настоящее время владеет буфером. После завершения обработки маркера модуль записывает в этот бит 0. MCU при инициализации BD всегда должен модифицировать этот бит последним.

1 = монопольный доступ к BD модуля USB.

0 = монопольный доступ к BD MCU.

Разряд 6: DATA 0/1:Этот бит переключатель пакетов переданных или полученных данных.

1 = пакет данных 1

0 = пакет данных 0

Разряды 5-2: PID <3:0>: Идентификатор пакета. Значение полученное в маркере PID.

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

U-X U-X U-X U-X R/W - X R/W - X R/W - X R/W - X
- - - - BC3 BC2 BC1 BC0
               

Дескриптор буфера счетчик байтов: «BDndBC» (адреса 1A1h, 1A5h, 1A9h, 1ADh, 1B1h, 1B51,)

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

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

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

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

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

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

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

Разряды 3-0: ВС <3:0>: Счетчик байтов, которые будут переданы по маркеру ввод или получены по маркеру вывод. Диапазон счета от 0 до 8. После завершения обработки маркера вывод или маркера установки модуль USB заполняет это поле фактическим числом полученных байт данных.

Модуль USB использует данные в BD, когда UOWN = 1, которые содержат:

- значение PID Data0 или Datal,

- разрешение синхронизации переключателя данных,

- число байт для передачи или приема,

- начальный адрес буфера.

Ядро процессора использует данные в BD, когда UOWN = 0, которые содержат:

- значение PID Data0 или Data 1,

- полученный маркер PID,

- число переданных или принятых байт.

R/W - X R/W - X R/W - X R/W - X R/W - X R/W - X R/W - X R/W - X
BA7 BA6 BA5 BA4 BA3 BA2 BA1 BA0
               

Дескриптор буфера, начальный адрес буфера: (адреса 1A2h, 1A6h, 1AAh, 1AEh, 1B2h, 1B6h)

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

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

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

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

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

Разряды 7-0: ВА <7:0>: Начальный адрес буфера для данной оконечной точки. Старший разряд 9-разрядного адреса (ВА8) всегда равен 1, что указывает на банк 3, где расположена двухпортовая память модуля USB (1B8h- 1DFh).

Примечание. Этот регистр должен всегда содержать значение в диапазоне B8h-DFh.


Дата добавления: 2015-11-14; просмотров: 46 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Регистры управления и состояния модуля USB| Основные функции и подпрограммы

mybiblioteka.su - 2015-2024 год. (0.014 сек.)