Поиск по сайту: |
|
По базе: |
|
Главная страница > Обзоры по фирмам > Texas Instruments > Интерфейсные ИС > Микросхемы с USB |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6.0 Функциональное описание6.1 Функциональные состояния
В любой момент времени, устройство находится в одном из следующих состояний (переходы функциональных состояний см раздел 6.1.2):
Состояния строки NodeSuspend, NodeResume или NodeReset приводят к переходу из одного рабочего состояния в другое. Эти состояния обнаруживаются специализированным аппаратным обеспечением, и рапортует через регистр чередования события (ALTEV). Если прерывания разрешены, то прерывание генерируется при возникновении любого из специализированных состояний.
Это нормальное рабочее состояние устройства. В этом состоянии, узел сконфигурирован для работы на шине USB.
Устройство USB ожидает ввода состояния NodeSuspend, когда проходит 3 мс без обнаружения активности шины. Устройство ищет это событие, и его сигналы с помощью установки бита SD3 в регистре ALTEV, который вызывает генерацию прерывания, если он включён. Аппаратно-реализованое программное обеспечение должно реагировать на переход устройства в состояние NodeSuspend. Устройство может возобновить нормальную работу под управлением аппаратно-реализованого программного обеспечения при отзыве на локальное событие главного контроллера. Оно может включить шину USB через NodeResume, или когда обнаруживается возобновление команд на шине USB, которая посылает сигналы прерываний главному контроллеру.
Если главный контроллер имеет разрещённое удалённое включение от узла, то устройство может инициализировать удалённое включение. Один раз, обнаружив событие, которое включает шину, аппаратно-реализованое программное обеспечение выводит устройство из состояния NodeSuspend инициализацией NodeResume на USB, используя регистр NFSR. Аппаратно-реализованое программное обеспечение узла должно гарантировать, по крайней мере, 5 мс бездействия на USB. Пока устройство в состоянии NodeResume, константа "К" выдаётся на USB. Это должно продолжатся, по крайней мере, 1 мс и не более 5 мс, после которой главная USB должна продолжать посылать сигнал NodeResume, в течение минимум 20 мс, а затем завершить операцию NodeResume выпуском последовательности конца пакета (EOP). Для удачного обнаружения EOP, аппаратно-реализованое программное обеспечение должно ввести состояние NodeOperational USB установкой регистра NFSR. Если не получено EOP от главного контроллера в течение 100 мс, программное обеспечение должно переинициализировать NodeResume.
Когда обнаруживается сигнал NodeResume или NodeReset во время состояния NodeSuspend, устройство может сигнализировать об этом главному контроллеру генерированием прерывания. Спецификация USB требует, чтобы устройство должно было быть готово, ответить знакам USB в течение 10 мс после включения или сброса.
На рисунке 18 показаны состояния и переходы устройства, также хорошо, как и условия которые защёлкивают каждый переход. Все переходы состояний инициализируются аппаратно-реализованым программным обеспечением.
Рисунок 18. Диаграмма функциональных состояний узла
Примечания: 1. Когда узел не в состоянии NodeOperational, все регистры "заморожены" за исключением машины состояний контроллера конечных точек и битов TX_EN, LAST и RX_EN, которые сброшены. 2. В состоянии NodeResume, возобновляется распространение сигналов. 3. В состоянии NodeSuspend, узел может перейти в состояние низкого потребления мощности и доступно для обнаружения возобновляющего работу сигнала. Таблица 3. Функциональные состояния.
6.2 Работа конечной точки 6.2.1 Обнаружение адреса Радиопередача пакетов из главного контроллера во все узлы в сети USB. Обнаружение адреса выполняется аппаратно, чтобы позволить избирательный приём пакетов и разрешить оптимальное использование полосы пропускания микроконтроллера. Один функциональный адрес с семью различными комбинациями конечной точки декодируется параллельно. Если найден подходящий адрес, то этот пакет посылается в FIFO; иначе он игнорируется. Приходящее адресное поле пакета USB и поле конечной точки извлекаются из приходящего потока битов. Затем адресное поле сравнивается со значение регистра функционального адреса (FADR). Если обнаружен подходящий адрес, то поле конечной точки параллельно сравнивается с содержимым всех регистров управления конечной точкой (EPCx). Подходящее значение затем заставляет получить или отправить нужные данные, используя соответствующую конечную точку FIFO.
Рисунок 19. USB декодирование функционального адреса / конечной точки
6.2.2 Передача и приём конечных точек FIFO Устройство использует всего семь принимающих и передающих FIFO: одно двунаправленное передающее и принимающее FIFO для принудительного управления конечной точкой, три передающих FIFO и три принимающих FIFO. Как показано в таблице 4, двунаправленное FIFO для управления конечной точкой "глубиной" 8 байт. Дополнительные однонаправленные FIFO размером 64 байта каждое для приёма и передачи. Каждое FIFO может быть запрограммировано для одной исключительной конечной точки USB, используемое совместно с одним глобально декодированным функциональным адресом USB. Аппаратно-реализованое программное обеспечение не должно разрешать оба принимающих и посылающих FIFO для конечной точки 0 в любой момент времени.
Таблица 4. Размер конечной точки FIFO USBN9603/4
Если 2 конечных точки в одном направлении запрограммированы с одинаковым номером конечной точки и обе разрешены, то данные принимаются или передаются в/из конечной точки с меньшим номером, пока эта конечная точка отключена для передачи большого массива или прерываний, или становится полной или пустой для ISO передач. Например, если принимается EP2 и принимается EP4, обе используют конечную точку EP5 и обе являются изохорными, то первый выходящий пакет принимается в EP2, а второй в EP4, не принимая взаимодействие между аппаратно-реализованым программным обеспечением. Конечные точки, запрограммированные в различных направлениях с одинаковым номером конечной точки, работают независимо.
FIFO0 должно быть использовано для двунаправленного управления конечной точкой 0. Оно может быть сконфигурировано для получения данных отправленных по адресу, используемому по умолчанию, с битом DEF в регистре EPC0. Изохорные передачи не поддерживаются для управления контрольной точкой. Конечная точка 0 FIFO может содержать одиночный приём или передачу пакета размером до 8 байтов. На рисунке 20 показаны основные операции в обоих направлениях приёма и передачи.
Рисунок 20. Работа конечной точки 0
(*) Для пакета нулевой длины, TX_EN вызывает переход из IDLE в TXWAIT Пакет, записанный в FIFO, передается, если получен символ IN для соответствующей конечной точки. Если обнаружено ошибочное условие, то пакет данных остаётся в FIFO и передача откладывается до следующего символа IN. Содержимое FIFO может быть очищено, чтобы позволить ответить на символ OUT или записать новые данные в FIFO для следующего символа IN. Если для FIFO получен символ OUT, то аппаратно-реализованое программное обеспечение информирует, что FIFO получило данные, только если не было ошибочного условия (ошибка CRC или STUFF).Ошибочные приёмы автоматические отбрасываются.
Передачи FIFO для конечных точек 1,3 и 5 поддерживают передачу большого массива, прерывания и изохорного пакета USB больших, чем реальный размер FIFO. Однако, аппаратно-реализованое программное обеспечение должно обновлять содержимое FIFO во время передачи пакета USB по шине. Рисунок 21 показывает операцию передачи FIFO.
Рисунок 21.Операция Tx FIFO
TFxS. Передача FIFO размера x. Это общее число байтов доступных внутри FIFO. TXRP. Передача указателя чтения. Этот указатель увеличивается каждый раз когда контроллер конечных точек читает из передающего FIFO. Этот указатель вращается вокруг нуля, если TFxS превысил предел. TXRP никогда не увеличивается выше величины указателя записи TXWP. Остановка произойдёт раньше попадания в условие, если TXRP равен TXWP и сделана попытка передать больше байтов, когда бит LAST в регистре TXCMDx не установлен.
Если сделана попытка записать больше байтов в FIFO, чем реально доступно (выход за установленные пределы FIFO), то запись в FIFO игнорируется. Если так, то TCOUNT проверяется для отображения числа оставшихся пустых байтов.
Приёмы FIFO для конечных точек 2,4 и 6 поддерживают передачу большого массива, прерывания и изохронного пакета USB больших, чем реальный размер FIFO. Однако, аппаратно-реализованое программное обеспечение должно обновлять содержимое FIFO во время приёма пакета USB по шине. Рисунок 22 показывает операцию приёма FIFO.
Рисунок 22.Операция RX FIFO
RFxS. Приём FIFO размера x. Это общее число байтов доступных внутри FIFO. RXRP. Приём указателя чтения. Этот указатель увеличивается каждый раз, когда контроллер конечных точек читает из принимающего FIFO. Этот указатель вращается вокруг нуля, если RFxS превысил предел. RXRP никогда не увеличивается выше величины указателя записи RXWP. Если сделана попытка прочитать больше байтов, чем реально доступно (выход за установленные пределы FIFO), то последний байт читается повторно.
Превышение условия возникает, если RXRP равен RXWP и сделана попытка записать дополнительный байт.
Предупреждение об опасности возникает, если RXFL уменьшается до определённого значения. Соответствующий бит WARNx установлен в регистре FWR, если RXFL равен или меньше чем число, определённое битом RFWL в регистре RXCx.
Рисунок 23. Иерархия регистров
6.3 Режимы сбережения потребляемой мощности Для уменьшения рассеивания мощности узла USB, устройство может быть установлено в статический режим Halt. Во время режима Halt, схема осциллятора отключается, останавливается генератор тактовых импульсов 24 МГц и 48 МГц удвоитель частоты, также хорошо, как и выходной сигнал приходящий на контакт CLKOUT. Однако все внутренние состояния устройства и установки регистров сохраняются. Устройство переходит в режим Halt при следующих условиях:
Рисунок 24. Режимы сбережения потребляемой мощности
Устройство выходит из режима Halt при получении одного из следующих событий: Когда обнаружено допустимое включающее событие, устройство возвращается в активный режим после прохождения задержки включения 214 XIN тактовых циклов (приблизи-тельно 680 мкс). Эта задержка осуществляется с помощью 14-разрядного счётчика, который гарантирует, что 24 МГц осциллятор имеет условно предельную стабильность, и удвоитель тактовой частоты синхронизирован и генерирует стабильный 48 МГц сигнал. После этой установочной задержки, тактовый сигнал может быть выдан на контакт CLKOUT.
Генератор тактовых импульсов обеспечивает выходной сигнал CLKOUT основанный на программировании регистра конфигурации генератора тактовых импульсов (CCONF). Это позволяет отключать выходную тактовую частоту и выбирать делитель тактовой частоты. Делитель тактовой частоты поддерживает программируемый выход в диапазоне от 48 МГц до 2.82 МГц. При сбросе по включении питания, значение выходной тактовой частоты по умолчанию 4 МГц. Программный сброс не оказывает влияния на программирование CCONF, и таким образом не оказывает влияние на сигнал CLKOUT. Различие между устройствами USBN9603 и USBN9604 заключается в эффекте влияния аппаратного сброса на схему генератора тактовых импульсов. В USBN9604, появление RESET приводит к сбросу схемы генератора тактовых импульсов, а в USBN9603, схема генератора тактовых импульсов не сбрасывается. В USBN9603, однако, появление RESET переводит все регистры в их исходное состояние, включая CCONF, который затем переводит сигнал CLKOUT к величине установленной по умолчанию 4 МГц. В USBN9604, появление RESET вызывает сброс схемы генератора тактовых импульсов также как сброс по включению питания. Как часть сброса генератора тактовых импульсов, задержка 214 XIN тактовых циклов идёт перед выдачей сигнала CLKOUT. Появление RESET также переводит все регистры в их исходное состояние, включая CCONF, который затем переводит сигнал CLKOUT к величине установленной по умолчанию 4 МГц. Это различие оказывается практически важным для силовых операций с шиной. В таких приложениях, напряжение, приложенное к шине, может превысить допустимые уровни схемы генерации тактовых импульсов. Когда это происходит, для этой схемы должен быть применён сброс, чтобы гарантировать правильную работу. Это обнаружение низкого напряжения типично выполняется в приложениях с силовой шиной, используя сенсор напряжения, такой как LP3470, для соответствующего сброса CPU и других компонентов, включая USBN9604. В приложения с собственным питанием, где существует прямой контроль над источни-ком питания, нет необходимости, чтобы вход RESET осуществлял сброс схемы генератора тактовых импульсов и сигнал CLKOUT стоял 214 XIN тактовых циклов. USBN9603, таким образом, предназначен для приложений с собственным питанием, которые используют сигнал CLKOUT как сигнал системных тактовых импульсов.
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|