В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > AVR
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


23.16.2. Регистры канала Host-контроллера

Разряд 7 6 5 4 3 2 1 0  
 
- - - - - PNUM2 PNUM1 PNUM0
UPNUM
Чтение/запись           Чт./Зп. Чт./Зп. Чт./Зп.
Исх. значение 0 0 0 0 0 0 0 0
  • 7-3 - резерв

При чтении данных бит всегда возвращаются 0. Не пытайтесь установить данные биты.

  • 2-0 - PNUM2:0 - номер канала

Выберите канал с помощью этого регистра. Записанное здесь значение будет определять, к регистрам какого именно канала в дальнейшем будет адресоваться ЦПУ. Действие этих бит распространяется на доступ только к регистрам, наименование которых заканчивается на X.

Разряд 7 6 5 4 3 2 1 0  
 
- P6RST P5RST P4RST P3RST P2RST P1RST P0RST
UPRST
Чтение/запись Чт. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.
Исх. значение 0 0 0 0 0 0 0 0
  • 7 - Резерв

При чтении данного бита всегда возвращается 0. Не пытайтесь установить этот бит.

  • 6 - P6RST - сброс канала 6

Для сброса канала 6 установите этот бит равным 1, а затем запишите в него 0.

  • 5 - P5RST - сброс канала 5

Для сброса канала 5 установите этот бит равным 1, а затем запишите в него 0.

  • 4 - P4RST - сброс канала 4

Для сброса канала 4 установите этот бит равным 1, а затем запишите в него 0.

  • 3 - P3RST - сброс канала 3

Для сброса канала 3 установите этот бит равным 1, а затем запишите в него 0.

  • 2 - P2RST - сброс канала 2

Для сброса канала 2 установите этот бит равным 1, а затем запишите в него 0.

  • 1 - P1RST - сброс канала 1

Для сброса канала 1 установите этот бит равным 1, а затем запишите в него 0.

  • 0 - P0RST - сброс канала 0

Для сброса канала 0 установите этот бит равным 1, а затем запишите в него 0.

Разряд 7 6 5 4 3 2 1 0  
 
- PFREEZE INMODE - RSTDT - - PEN
UPCONX
Чтение/запись   Чт./Зп. Чт./Зп.   Чт./Зп.     Чт./Зп.
Исх. значение 0 0 0 0 0 0 0 0
  • 7 - резерв

При чтении данного бита всегда возвращается 0. Не пытайтесь установить этот бит.

  • 6 - PFREEZE - остановка канала

Установите (сбросьте) этот бит при необходимости остановить (разрешить) генерацию запросов канала. Данный бит устанавливается аппаратно, когда:

  • канал не настроен;
  • этим каналом было принято подтверждение STALL;
  • возникла ошибка в канале (UPINTX.PERRI = 1);
  • были обработаны запросы в количестве (INRQ+1).

Данный бит аппаратно устанавливается равным 1 после сброса канала или разрешения канала.

  • 5 - INMODE - режим запросов IN

Установите данный бит, чтобы разрешить USB-контроллеру непрерывно выполнять запросы IN, когда канал не остановлен. Сбросьте бит, если требуется выполнить заранее заданное число запросов IN. Число запросов хранится в регистре UINRQX.

  • 4 - резерв

При чтении данного бита всегда возвращается 0. Не устанавливайте данный бит.

  • 3 - RSTDT - сброс переключателя данных

Установите данный бит при необходимости возврата переключателя данных текущего канала к его значению по умолчанию. Сбрасывается аппаратно по завершении операции. Программный сброс не дает никакого результата.

  • 2 - резерв

При чтении данного бита всегда возвращается 0. Не пытайтесь установить этот бит.

  • 1 - резерв

При чтении данного бита всегда возвращается 0. Не пытайтесь установить этот бит.

  • 0 - PEN - разрешение работы канала

Установите (сбросьте) данный бит для разрешения работы (запрета работы и сброса) канала.

Разряд 7 6 5 4 3 2 1 0  
 
PTYPE1 PTYPE0 PTOKEN1 PTOKEN0 PEPNUM3 PEPNUM2 PEPNUM1 PEPNUM0
UPCFG0X
Чтение/запись Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.
Исх. значение 0 0 0 0 0 0 0 0
  • 7-6 - PTYPE1:0 - тип канала

Используйте данные биты для выбора типа канала:

  • 00: CONTROL
  • 01: ISOCHRONOUS
  • 10: BULK
  • 11: INTERRUPT
  • 5-4 - PTOKEN1:0 - тип пакета TOKEN канала

Используйте данные биты для настройки типа пакета TOKEN канала

  • 00: SETUP
  • 01: IN
  • 10: OUT
  • 11: резерв
  • 3-0 - PEPNUM3:0 - номер конечной точки канала

Настройте данное поле в соответствии с конфигурацией канала. Здесь задается номер конечной точки, с которой связывается канал. Допускается запись значений от 0 до 15.

Разряд 7 6 5 4 3 2 1 0  
 
- PSIZE2:0 PBK1:0 ALLOC -
UPCFG1X
Чтение/запись Чт. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.  
Исх. значение 0 0 0 0 0 0 0 0
  • 7 - резерв

При чтении данного бита всегда возвращается 0. Не пытайтесь установить этот бит.

  • 6-4 - PSIZE2:0 - размер канала

Используйте данные биты для настройка размера канала:

  • 000: 8 - 100: 128 (только для конечной точки 1)
  • 001: 16 - 101: 256 (только для конечной точки 1)
  • 010: 32 - 110: резерв. Не используйте данную конфигурацию.
  • 011: 64 - 111: резерв. Не используйте данную конфигурацию.
  • 3-2 - PBK1:0 - банк канала

Используйте данные биты для выбора количества банков для объявления текущего канала.

  • 00: 1 банк
  • 01: 2 банка
  • 10: недопустимое значение
  • 11: недопустимое значение
  • 1 - ALLOC - настройка памяти канала

Установите данный бит для конфигурации памяти канала с заданными параметрами. Сбросьте бит для обновления назначения памяти.

  • 0 - резерв

При чтении данного бита всегда возвращается 0. Не пытайтесь установить этот бит.

Разряд 7 6 5 4 3 2 1 0  
 
INTFRQ7 INTFRQ6 INTFRQ5 INTFRQ4 INTFRQ3 INTFRQ2 INTFRQ1 INTFRQ0
UPCFG2X
Чтение/запись Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.
Исх. значение 0 0 0 0 0 0 0 0
  • 7 - INTFRQ7:0 - частота опроса канала INTERRUPT

Данные биты задают максимальное значение периода опроса канала типа INTERRUPT в миллисекундах. Значение не оказывает никакого влияния на каналы иного типа.

Разряд 7 6 5 4 3 2 1 0  
 
CFGOK OVERFI UNDERFI - DTSEQ1:0 NBUSYBK
UPSTAX
Чтение/запись Чт. Чт./Зп. Чт./Зп.   Чт. Чт. Чт. Чт.
Исх. значение 0 0 0 0 0 0 0 0
  • 7 - CFGOK - флаг сигнализации о корректности настройки памяти канала

Устанавливается аппаратно, если настройка памяти была выполнена правильно. Сбрасывается аппаратно после отключения канала. USB-сброс и сброс канала не оказывает никакого влияния на настройку канала.

  • 6 - OVERFI - переполнение

Устанавливается аппаратно, когда текущий канал принял больше данных, чем допускает размер текущего канала. Если установлен флаг FLERRE, это приводит к генерации прерывания. Должен быть сброшен программно. Программная установка не дает никакого результата.

  • 5 - UNDERFI - незаполнение

Устанавливается аппаратно, когда в ходе транзакции канала типа ISOCHRONOUS или INTERRUPT возникла ошибка незаполнения. Канал не может отправить поток данных, запрашиваемый Device-стороной. Вместо него будет отправлен пакет нулевой длины (ZLP). Если установлен бит FLERRE, возникновение ошибки незаполнения вызовет генерацию прерывания. Должен быть сброшен программно. Программная установка не оказывает никакого влияния.

Прим.: Host-контроллер должен отправить пакет OUT, но банк пуст. В этом случае будет отправлен пакет ZLP и станет равным единице бит UNDERFI.

  • 4 - резерв

При чтении данного бита всегда возвращается 0. Не пытайтесь установить этот бит.

  • 3-2 - DTSEQ1:0 - флаги состояния переключателя данных

Устанавливаются аппаратно для сигнализации номера текущего банка PID-данных:

  • 00b DATA 0
  • 01b DATA 1
  • 1xb резерв.

Для канала OUT данное значение указывает на номер следующего банка данных, который будет использоваться для передачи. Оно не относится к текущему банку.

Для канала IN данное значение указывает на номер текущего банка, в который были приняты данные.

  • 1-0 - NBUSYBK1:0 - флаги занятости банка

Устанавливаются аппаратно для индикации числа занятых банков. Для канала OUT данные флаги индицируют количество банков, которые заполнены пользователем и готовы к передаче OUT. Для канала IN данные флаги индицируют количество банков, которые заполнены Device-стороной в ходе транзакции IN.

  • 00b Все банка свободны
  • 01b 1 банк занят
  • 10b 2 банка заняты
  • 11b резерв
Разряд 7 6 5 4 3 2 1 0  
 
INRQ7 INRQ6 INRQ5 INRQ4 INRQ3 INRQ2 INRQ1 INRQ0
UPINRQX
Чтение/запись Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.
Исх. значение 0 0 0 0 0 0 0 0
  • 7-0 - INRQ7:0 - количество запросов IN до остановки

Введите здесь количество транзакций IN до остановки USB-контроллера канала. Перед тем как остановить канал USB-контроллер выполнит запросы IN в количестве (INRQ+1). Данный счетчик автоматически уменьшается на 1 после каждого успешно выполненного запроса IN.

Данный регистр не имеет никакой силы, если установлен бит INMODE (пока не остановлен канал запросы IN будут генерироваться непрерывно).

Разряд 7 6 5 4 3 2 1 0  
 
- COUNTER1:0 CRC16 TIMEOUT PID DATAPID DATATGL
UPERRX
Чтение/запись   Чт. Чт. Чт. Чт. Чт./Зп. Чт./Зп. Чт./Зп.
Исх. значение 0 0 0 0 0 0 0 0
  • 7-6 - резерв

При чтении данного бита всегда возвращается 0. Не пытайтесь установить этот бит.

  • 5 - COUNTER1:0 - счетчик ошибок

Данный счетчик увеличивается USB-контроллером при каждом обнаружении ошибки в канале. Когда значение счетчика становится равным 3, канал автоматически останавливается. Данные биты сбрасываются программно.

  • 4 - CRC16 - ошибка CRC16

Устанавливается аппаратно при обнаружении ошибки CRC16. Должен быть сброшен программно. Программная установка не дает никакого результата.

  • 3 - TIMEOUT - ошибка истечения времени

Устанавливается аппаратно при обнаружении ошибки истечения времени. Должен быть сброшен программно. Программная установка не оказывает никакого влияния.

  • 2 - PID - ошибка PID

Устанавливается аппаратно при обнаружении ошибки PID. Должен быть сброшен программно. Программная установка не оказывает никакого влияния.

  • 1 - DATAPID - ошибка данных PID

Устанавливается аппаратно при обнаружении ошибки PID-данных. Должен быть сброшен программно. Программная установка не оказывает никакого влияния.

  • 0 - DATATGL - ошибка переключателя данных

Устанавливается аппаратно при обнаружении ошибки переключателя данных. Должен быть сброшен программно. Программная установка не оказывает никакого влияния.

Разряд 7 6 5 4 3 2 1 0  
 
FIFOCON NAKEDI RWAL PERRI TXSTPI TXOUTI RXSTALLI RXINI
UPINTX
Чтение/запись Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.
Исх. значение 0 0 0 0 0 0 0 0
  • 7 - FIFOCON - управление буфером FIFO

Каналы OUT и SETUP: устанавливается аппаратно, когда освобождается текущий банк (вместе с TXOUT или TXSTP). Сбросьте этот бит для инициации передачи данных из FIF

  • и переключения банка. Программная установка не дает никакого результата.

    Канал IN: устанавливается аппаратно (одновременно с RXIN), когда в текущем банке сохранено новое сообщение IN. Сбросьте этот бит для освобождения текущего банка и переключения к следующему банку. Программная установка не дает никакого результата.

    • 6 - NAKEDI - флаг приема подтверждения NAK

    Устанавливается аппаратно после приема в текущий банк канала подтверждения NAK. Если установлен бит NAKEDE (регистр UPIENX), это приводит к запуску прерывания. Данный бит необходимо сбросить для подтверждения прерывания. Программная установка не оказывает никакого влияния.

    • 5 - RWAL - флаг разрешения чтения/записи

    Канал OUT: устанавливается аппаратно для сигнализации о возможности программной записи новых данных в буфер FIFO канала. Сбрасывается аппаратно после заполнения текущего буфера FIFO канала.

    Канал IN: устанавливается аппаратно для сигнализации о возможности считывания новых данных из буфера FIFO канала. Сбрасывается аппаратно после опустошения текущего буфера FIFO канала. Данный бит сбрасывается аппаратно после установки бита RXSTALL или PERR.

    • 4 - PERRI - флаг ошибки канала

    Устанавливается аппаратно, когда в текущем банке канала возникла ошибка. Если установлен бит PERRE (регистр UPIENX), это приводит к запуску прерывания. Для определения причины возникновения ошибки необходимо обратится к регистру UPERRX. Флаг автоматически сбрасывается аппаратными средствами после сброса бита источника ошибки.

    • 3 - TXSTPI - флаг готовности банка SETUP

    Устанавливается аппаратно, когда текущий банк SETUP свободен и готов к заполнению. Если установлен бит TXSTPE (регистр UPIENX), это приводит к запуску прерывания. Должен быть сброшен программно для подтверждения прерывания. Программная установка не оказывает никакого влияния.

    • 2 - TXOUTI - флаг готовности банка OUT

    Устанавливается аппаратно, когда текущий банк OUT свободен и готов к заполнению. Если установлен бит TXOUTE (регистр UPIENX), это приводит к запуску прерывания. Должен быть сброшен программно для подтверждения прерывания. Программная установка не оказывает никакого влияния.

    • 1 - RXSTALLI/CRCERR - флаг приема подтверждения STALL/флаг ошибки CRC в канале ISOCHRONOUS

    Устанавливается аппаратно после приема в текущий банк канала подтверждения STALL. Канал автоматически останавливается. Если бит RXSTALLE (регистр UPIENX) равен 1, это приводит к запуску прерывания. Должен быть сброшен для подтверждения прерывания. Программная установка не оказывает никакого влияния.

    Применительно к каналу ISOCHRONOUS данный бит действует в роли флага ошибки CRC. Он становится равным 1, когда обнаруживается ошибка CRC в текущем банке канала. Если установлен бит TXSTPE (регистр UPIENX), это приводит к запуску прерывания. Должен быть сброшен программно для подтверждения прерывания. Программная установка не дает никакого результата.

    • 0 - RXINI - флаг приема данных IN

    Устанавливается аппаратно, когда в текущем банке канала сохранено новое USB-сообщение. Если установлен бит RXINE (регистр UPIENX), это приводит к запуску прерывания. Данный флаг необходимо сбросить для подтверждения прерывания. Программная установка не оказывает никакого влияния.

    Разряд 7 6 5 4 3 2 1 0  
     
    FLERRE NAKEDE - PERRE TXSTPE TXOUTE RXSTALLE RXINE
    UPIENX
    Чтение/запись Чт./Зп. Чт./Зп.   Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.
    Исх. значение 0 0 0 0 0 0 0 0
    • 7 - FLERRE - бит разрешения прерывания по ошибке потока

    Установите (сбросьте) этот бит при необходимости разрешения прерываний OVERFI и UNDERFI.

    • 6 - NAKEDE - бит разрешения прерывания по приему подтверждения NAK

    Установите (сбросьте) этот бит при необходимости разрешения прерывания NAKEDI.

    • 5 - Резерв

    При чтении данного бита всегда возвращается 0. Не пытайтесь устанавливать данный бит.

    • 4 - PERRE - бит разрешения прерывания по ошибке в канале

    Установите (сбросьте) этот бит при необходимости разрешения прерывания PERRI.

    • 3 - TXSTPE - бит разрешения прерывания по готовности банка SETUP

    Установите (сбросьте) этот бит при необходимости разрешения прерывания TXSTPI.

    • 2 - TXOUTE - бит разрешения прерывания по готовности банка в канале OUT

    Установите (сбросьте) этот бит при необходимости разрешения прерывания TXOUTI.

    • 1 - RXSTALLE - бит разрешения прерывания по приему STALL

    Установите (сбросьте) этот бит при необходимости разрешения прерывания RXSTALLI.

    • 0 - RXINE - бит разрешения прерывания по приему данных в канале IN

    Установите (сбросьте) этот бит при необходимости разрешения прерывания RXINI.

    Разряд 7 6 5 4 3 2 1 0  
     
    PDAT7 PDAT6 PDAT5 PDAT4 PDAT3 PDAT2 PDAT1 PDAT0
    UPDATX
    Чтение/запись Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.
    Исх. значение 0 0 0 0 0 0 0 0
    • 7-0 - PDAT7:0 - биты канала данных

    Данный регистр предназначен для чтения (записи) данных из буфера (в буфер) FIFO выбранного с помощью бит PNUM канала.

    Разряд 7 6 5 4 3 2 1 0  
     
    - - - - - PBYCT10 PBYCT9 PBYCT8
    UPBCHX
    Чтение/запись           Чт. Чт. Чт.
    Исх. значение 0 0 0 0 0 0 0 0
    • 7-3 - резерв

    При чтении данного бита всегда возвращается 0. Не пытайтесь установить данный бит.

    • 2-0 - PBYCT10:8 - старшие биты счетчика байт

    Устанавливаются аппаратно. Данное поле является старшими битами счетчика байт канального буфера FIFO. Младшие биты этого счетчика хранятся в регистре UPBCLX.

    Разряд 7 6 5 4 3 2 1 0  
     
    PBYCT7 PBYCT6 PBYCT5 PBYCT4 PBYCT3 PBYCT2 PBYCT1 PBYCT0
    UPBCLX
    Чтение/запись Чт. Чт. Чт. Чт. Чт. Чт. Чт. Чт.
    Исх. значение 0 0 0 0 0 0 0 0
    • 7-0 - PBYCT7:0 - младшие биты счетчика байт

    Устанавливаются аппаратно. Значение счетчика байт PBYCT10:0:

    • (для канала OUT) инкрементируется после каждой записи в канал и декрементируется после отправки каждого байта;
    • (для канала IN) инкрементируется после приема Host-контроллером каждого байта и декрементируется после программного считывания каждого байта.
    Разряд 7 6 5 4 3 2 1 0  
     
    - PINT6 PINT5 PINT4 PINT3 PINT2 PINT1 PINT0
    UPIN
    Чтение/запись                
    Исх. значение 0 0 0 0 0 0 0 0
    • 7 - резерв

    При чтении данного бита всегда возвращается 0. Не пытайтесь установить данный бит.

    • 6-0 - PINT6:0 - биты прерываний канала

    Устанавливаются аппаратно при запуске прерывания, инициированного регистром UPINTX, при условии, что бит разрешения прерывания соответствующего канала равен 1. Сбрасываются аппаратно по окончании обслуживания источника прерывания.



    <--Предыдущая страница Оглавление Следующая страница -->