PersCom — Компьютерная Энциклопедия Компьютерная Энциклопедия

Шина IEEE 1394 — FireWire

Запросы LINK к PHY в 1394b

Запрос от LINK к PHY посылается в последовательном виде по линии LReq. Обобщенный формат запроса приведен на рисунке, по сравнению с запросами традиционного интерфейса он усложнен. Запрос начинается с единичного старт-бита (LReq0 = 1) и завершается нулевым стоп-битом. За старт-битом следует код типа запроса (биты RT[0:3], см. таблицу), за которым следуют поля, необходимые для данного типа запроса:

  • бит RFMT (Request Format) определяет формат запроса: 0 — явно не задан, 1 — B-формат;
  • поле RS[0:3] (Request Speed) определяет скорость: 0000 — S100, 0010 — S200, 0100 — S400, 0110 — S800 (остальные значения зарезервированы);
  • поле RA[0:3] содержит адрес регистра PHY;
  • поле RD[0:7] (Request Data) содержит записываемые данные.

В ответ на запросы передачи PHY, выиграв арбитраж, предоставляет LINK’у право на передачу пакета. По запросу записи в регистр PHY выполняется соответствующая операция, никакого ответа не предусматривается. В ответ на запрос чтения регистра PHY данные (и адрес) будут переданы по линии Pint.

Таблица. Запросы LINK к PHY

Код запроса RT[0:3] Назначение Требуемые поля
0000 Резерв  
0001 PH_IMMED_REQ, немедленный запрос передачи (для посылки пакета квитирования) RF, RS
0010 PH_NEXT_EVEN, запрос очередной передачи асинхронного пакета в четной фазе интервала справедливости RF, RS
0011 PH_NEXT_ODD, запрос очередной передачи асинхронного пакета в нечетной фазе интервала справедливости RF, RS
0100 PH_CURRENT, запрос очередной передачи асинхронного пакета в текущей фазе интервала справедливости RF, RS
0101 Резерв  
0110 PH_ISOCH_REQ_EVEN, запрос передачи изохронного пакета в четном периоде RF, RS
0111 PH_ISOCH_REQ_ODD, запрос передачи изохронного пакета в нечетном периоде RF, RS
1000 PH_CYC_START_REQ, запрос передачи пакета начала цикла RF, RS
1001 Резерв  
1010 PH_REG_READ, запрос чтения регистра PHY RA
1011 PH_REG_WRITE, запрос записи в регистр PHY RA, RD
1100 PH_ISOCH_PHASE_EVEN, сообщение от LINK’а (не мастера циклов) о приеме пакета начала цикла с четной фазой, обеспечивает синхронизацию LINK’а и PHY, если последний изза ошибки не принял маркер Cycle Start  
1101 PH_ISOCH_PHASE_ODD, то же для нечетной фазы  
1110 PH_CYCLE_START_DUE, сообщение от LINK’а (не мастера циклов) о приеме уведомления о начале цикла  
1111 Резерв