Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > AVR

реклама

 




Мероприятия:




23.10. Сброс USB каналов

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

Для полного сброса канала программа должна запретить, а потом разрешить канал.

23.11. Доступ к данным каналов

Для записи или чтения из FIFO канала ЦПУ должно выбрать номер канала с помощью регистра UPNUM и записать или считать данные из регистра UPDATX.

23.12. Организация управляющего канала

Управляющая передача состоит из трех фаз:

  • SETUP,
  • данные (IN или OUT),
  • статус (OUT or IN).

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

  • SETUP: Data0,
  • OUT: Data1,
  • IN: Data1 (ожидание изменения маркера данных).

23.13. Управление OUT каналами

Первоначально канал должен быть сконфигурирован и не остановлен. Заметьте: если программное обеспечение переключается в режим приостановки (сброс SOFEN) даже если банк готов к отправке, USB контроллер автоматически выйдет из приостановленного состояния и банк будет отправлен.

Бит TXOUT устанавливается аппаратно, когда текущий банк освобождается. Это приводит к прерыванию, если установлен бит TXOUTE. Бит FIFOCON устанавливается в тоже время. ЦПУ записывает данные в FIFO и сбрасывает бит FIFOCON для разрешения USB контроллеру послать данные. Если OUT канал состоит из нескольких банков, то он также переключается к следующему банку данных. Биты TXOUT and FIFOCON изменяются в соответствии с состоянием нового банка.


23.14. Управление IN каналами

Первоначально канал должен быть сконфигурирован. Перед запросом хостом данных у устройства, программа должна задать режим IN передач, используя бит INMODE:

  • INMODE = 0. В расчет принимается регистр INRQX. Хост контроллер осуществляет запрос данных (INRQX+1) раз через выбранный канал перед остановкой канала. Этот режим позволяет избежать лишних запросов данных через канал.
  • INMODE = 1. USB контроллер постоянно посылает IN запрос данных пока программа не остановит канал.

Запрос данных начинается после сброса бита PFREEZE. Каждый раз, когда текущий банк заполняется, устанавливаются биты RXIN и FIFOCON. Программа может подтвердить получение прерывания сбросив бит RXIN. Программа считывает данные и сбрасывает бит FIFOCON для освобождения текущего банка. Если IN канал состоит из нескольких каналов, сброс FIFOCON приведет к переключению на следующий банк. Биты RXIN and FIFOCON изменяются в соответствии с состоянием нового банка.

23.14.1. Ошибка CRC (только для изохронных каналов)

CRC ошибка может возникнуть при приеме данных, если USB контроллер получает поврежденный пакет. В этой ситуации возникает прерывание STALLEDI/CRCERRI. Это не предотвращает возникновения прерывания RXINI.

23.15. Система прерываний

Система прерываний USB хост контроллера
Рисунок 23.4. Система прерываний USB хост контроллера

Система прерываний USB контроллера каналов
Рисунок 23.5. Система прерываний USB контроллера каналов



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





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
©1998-2023 Рынок Микроэлектроники