Шина IEEE 1394 — FireWire
- Подробности
-
Родительская категория: Шина IEEE 1394 — FireWire
-
Категория: Управление шиной IEEE 1394
В IEEE 1394a введены понятия уровней потребления (Power States), относящиеся к узлу в целом и отдельным его блокам. Узел и блок могут поддерживать до четырех уровней (0…3), из которых нулевой (обязательный) соответствует функционированию в самом полном объеме.
Уровни потребления узла (Node Power States) N0…N3 определяют состояния уровней PHY и LINK:
- N0 — состояние полной дееспособности узла: PHY-уровень запитан (может принимать, посылать и транслировать пакеты и сигналы), LINK-уровень способен отвечать на транзакции, обращенные к узлу. Контекст узла (все его конфигурационные регистры CSR и PHY) действителен. При этом возможны два варианта:
-----LINK-уровень полностью запитан — полная функциональность узла (нормальные ответы на все транзакции);
-----LINK-уровень находится в состоянии Standby (с пониженным потреблением). Узел способен декодировать адрес обращенных к нему транзакций и ответить на них квитанцией Ack_TRDY, что вызовет повтор транзакции инициатором в следующем интервале справедливости. За это время LINKуровень узла успеет включиться, и на следующую попытку узел ответит нормальным образом;
- N1 — состояние со включенным PHY (узел транслирует сигналы и пакеты) и отключенным LINK-уровнем. Это соответствует состоянию узла после сброса до получения пакета Link-On. Состояние контекста узла стандартом не регламентировано;
- N2 — состояние с приостановленным (suspended) PHY и отключенным LINKуровнем. Узел не транслирует пакеты и сигналы, он может только реагировать на внешние сигналы, вызывающие возобновление (или на сигнал от своего приложения). Контекст не определен; информация, связанная с топологией, недействительна (после возобновления будет сброс);
- N3 — полностью обесточенный узел, контекст потерян.
Уровни потребления блока (Unit Power States) D0…D3 отражают функциональность и потребление блока:
- D0 — состояние полной функциональности и полного потребления, обязательное для всех блоков;
- D1 — состояние пониженного потребления, контекст блока сохраняется, но функциональность может быть ограничена. Переход D1→D0 может совершаться довольно быстро;
- D2 — состояние еще меньшего потребления, с меньшей функциональностью и, возможно, потерей контекста блока. Переход в D0 (или D1) может занимать большее время, чем D1→D0;
- D3 — полное обесточивание блока.
Возможные состояния уровней потребления узла и входящих в него блоков связаны между собой: номер уровня потребления узла должен быть не больше, чем наименьший номер уровня потребления его блоков. Например, если в узле два блока и их текущие уровни потребления D1 и D2, то узел может находиться на уровне N0 или N1. Попытка (запрос) перевода уровня узла с N0 на N2 или N3 приведет к переводу только на уровень N1.
Для каждого поддерживаемого уровня потребления узла в памяти конфигурации имеются исчерпывающие описания условий питания и потребляемой (отдаваемой) мощности. Кроме того, введены регистры CSR, отражающие текущие уровни потребления для узла и блоков и управляющие их сменой. Смену уровней запрашивает диспетчер энергопотребления, который может выполнять удаленное управление любыми узлами шины и их блоками (как и своим собственным узлом и его блоками).