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

 


По базе:  

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

реклама

 




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




21.5 Режимы энергосбережения

21.5.1 Режим Idle

В этом режиме ядро ЦПУ остановлено (остановлен тактирующий его сигнал). В режим idle можно войти при работающем USB контроллере и при выключенном. ЦПУ "просыпается" при любом USB прерывании.

21.5.2 Режим снижения потребления

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

  • возникает прерывание WAKEUPI в режиме устройства (бит HOST сброшен),
  • возникает прерывание HWUPI в режиме хоста (бит HOST установлен),
  • возникает прерывание IDTI,
  • возникает прерывание VBUSTI.

21.5.3 Остановка тактирования

У программного обеспечения есть возможность уменьшить потребление путем установки бита FRZCLK, что приводит к остановке тактирования USB контроллера. Когда бит FRZCLK установлен, все еще возможен доступ к следующим регистрам:

  • USBCON, USBSTA, USBINT
  • UDCON (отключение, ...)
  • UDINT
  • UDIEN
  • UHCON
  • UHINT
  • UHIEN

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

  • WAKEUPI
  • IDTI
  • VBUSTI
  • HWUPI

21.6. Контроль скорости

21.6.1 Режим устройства

Когда USB интерфейс сконфигурирован для работы в режиме устройства, выбор скорости (Full Speed или Low Speed) зависит от подтяжки к питанию на линиях UDP/UDM. Бит LSM в регистре UDCON позволяет выбрать внутреннюю подтяжку на линиях данных UDM (режим Low Speed) или UDP(режим Full Speed).

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

21.6.2 Режим хоста

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

21.7. Организация памяти

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

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

Таблица 21.1. Распределение и реорганизация USB памяти

Распределение и реорганизация USB памяти

Изначально каналы/конечные точки сконфигурированы в порядке возрастания с канала/конечной точки 0 до канала/конечной точки 5. Для каждого канала/конечной точки выделена память в DPRAM.

Затем канал/конечная точка 3 отключена (EPEN=0), но память для нее все еще выделена контроллером.

Затем сбрасывается соответствующий бит ALLOC, при этом память для канала/конечной точки 4 "спускается" вниз, но для канала/конечной точки 5 нет.

В конце концов, если прогаммное обеспечение решает реконфигурировать канал/конечную точку 3 только большего размера, то контроллер выделяет память после памяти для канала/конечной точки 2 и автоматически сдвигает память для канала/конечной точки 4. Но память для канала/конечной точку 5 не двигается, поэтому возникает конфликт, потому что и канал/конечная точка 4 и канал/конечная точка 5 используют одну и туже область памяти. Данные этих конечных точек потеряны.

Стоит отметить, что:

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


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





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