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

реклама

 
радиационно стойкие ПЗУ Миландр

Продажа силового и бронированного кабеля и провода в Москве




Arduino Uno R3 Atmega328
готовый модуль
Лучшая Цена 335 руб




Стартовый набор с большим набором аксесуаров
Arduino Uno R3 Atmega328
Лучшая Цена 2211 руб



21.5. Режимы электропотребления

21.5.1. Режим IDLE

В этом режиме прекращает работу ядро ЦПУ (отключена синхронизация ЦПУ). Режим IDLE не влияет на активность USB-контроллера: он может как работать, так и не работать. ЦПУ возобновляет активную работу по любому прерыванию USB.

21.5.2. Режим POWER-DOWN

В этом режиме прекращает работу генератор и останавливаются все сигналы синхронизации (ЦПУ и УВВ). USB-контроллер возобновляет работу, когда:

  • инициируется прерывание WAKEUPI в режиме Device (HOST=0);
  • инициируется прерывание HWUPI в режиме Host (HOST=1);
  • инициируется прерывание IDTI;
  • инициируется прерывание VBUSTI.

21.5.3. Отключение синхронизации

Предусмотрена возможность снижения потребляемого тока из программы путем установки бита FRZCLK, что приводит к отключению синхронизации USB-контроллера. Когда FRZCLK = 1, сохраняется возможность доступа к следующим регистрам:

  • USBCON, USBSTA, USBINT
  • UDCON (биты DETACH, ...)
  • UDINT
  • UDIEN
  • UHCON
  • UHINT
  • UHIEN

Кроме того, когда бит FRZCLK установлен, возможен запуск только следующих прерываний:

  • WAKEUPI
  • IDTI
  • VBUSTI
  • HWUPI

21.6. Управление скоростью

21.6.1. Режим Device

Когда интерфейс USB настроен на работу в режиме Device, выбор скорости (FS или LS) зависит от подтяжки к плюсу питания линий UDP/UDM. С помощью бита LSM в регистре UDCON можно выбрать подтяжку к плюсу питания на линии UDM (для выбора режима LS) или UDP (для выбора режим FS).

Выбор скорости в режиме Device
Рисунок 21.14. Выбор скорости в режиме Device

21.6.2. Режим Host

Когда USB-интерфейс настроен на работу в режиме host, на обоих линиях UDP и UDM активизируются внутренние подтягивающие к минусу питания резисторы, что дает возможность определить тип подключенного к интерфейсу устройства.

21.7. Управление памятью

Контроллер поддерживает только описанное далее управление назначением памяти. Резервирование каналов или конечных точек можно выполнять только в возрастающем порядке (от канала/конечной точки 0 до последнего канала/конечной точки). В программе необходимо конфигурировать их в том же порядке.

Резервирование канала или конечной точки ki выполняется, когда связанный с ними бит ALLOC равен 1. Затем, схема контроллера назначает память, вставляя её между памятью каналов/конечных точек ki-1 и ki+1. Это приводит к тому, что память канала/конечной точки ki+1 перемещается вверх и данные в ней теряются. Обратите внимание, что положение памяти ki+2 и всех вышестоящих каналов/конечных точек остается неизменным.

Сброс бита разрешения канала (PEN) или разрешения конечной точки (EPEN) не приводит ни к сбросу связанного с ним бита ALLOC, ни к отмене его конфигурации (EPSIZE/PSIZE, EPBK/PBK). Для освобождения назначенной памяти необходимо программно сбросить соответствующий бит ALLOC. В результате такого действия, память канала/конечной точки ki+1 автоматически сдвигается вниз. Обратите внимание, что положение памяти ki+2 и всех вышестоящих каналов/конечных точек остается неизменным.

Следующий рисунок на примере типичной ситуации иллюстрирует назначение и реорганизацию памяти USB-контроллера:

Таблица 21.1. Последовательность назначения и реорганизации памяти USB-контроллера

  • Сначала выполняется конфигурация каналов/конечных точек 0…5 в возрастающем порядке. Для всех них резервируется память в DPRAM.
  • Затем, отключается канал/конечная точка 3 (EPEN=0), но выделенная под неё память сберегается контроллером.
  • Далее выполняется сброс ALLOC, что приводит к перемещению вниз памяти канала/конечной точки 4. Положение памяти канала/конечной точки 5 остается неизменным.
  • Наконец, если программой будет выполнена перенастройка канала/конечной точки 3 в направлении увеличения объема памяти, контроллер выделит блок памяти требуемого объема, примыкающий к памяти конечной точки 2 и, при этом, автоматически сдвинет вверх память канала/конечной точки 4. Поскольку положение памяти канала/конечной точки 5 остается неизменным, возникает конфликт в назначении памяти, т.к. каналы/конечные точки 4 и 5 будут занимать одну и ту же область памяти. Данные этих конечных точек находятся под потенциальной угрозой потери.

Обратите внимание, что:

  • данные канала/конечной точки 0 никогда не теряются при активации/деактивации любых вышестоящих каналов/конечных точек. Только деактивация самого канала/конечной точки 0 может привести к потере им данных.
  • Деактивация и повторная активация одного и того же канала/конечной точки с одинаковыми параметрами не приводит к перемещению вышестоящего блока памяти. Данные таких конечных точек не теряются.
  • CFGOK устанавливается аппаратно даже в случае, когда имеется конфликт в назначении памяти.


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





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