Спецификация USB.Rev1.0

       

Синхронизация Таймера Кадра


Таймер кадра синхронизирован с часами-источником концентратора и синхронизирован через SOF пакеты с кадром времени хоста.( The frame timer is clocked from the hub’s clock source and is synchronized via SOF packets to the host’s frame time.) Когда концентратор соединен с хостом впервые, таймер кадра концентратора не синхронизирован относительно хоста. Когда обнаружен первый маркер SOF таймера кадра сбрасывается и начинает отсчитывать, с частотой в 12 MHZ; он продолжит считать, пока не будет обнаружен следующий маркер SOF. В это время таймер кадра сбрасывается, и предыдущее значение счета сохраняется как посчитанная длина предыдущего кадра (PFL - previous frame length). Это значение модифицируется для каждого кадра, в котором обнаружен и представлен SOF, в счетчике часов концентратора, время кадр хоста.(This value is updated for each frame in which an SOF is detected and represents, in hub clock counts, the host’s frame time.) Таймер кадра рассматривается как блокированный с хостом, когда различие между подсчетом PFL и текущим подсчетом в конце кадра - меньше чем 2 и PFL лежит между FLmin и FLmax.

Если SOF маркер не возможно получить, концентратор использует предыдущую подсчитанную длину кадра как самое лучшее приближение к текущей длине кадра. Гарантируется, что таймер кадра останется синхронизированным с хостом при потери до двух последовательных маркеров SOF. Концентраторы должны быть способны синхронизироваться с хостом внутри 3 кадров после обнаружения первого SOF пакета (включая отсутствие принятия SOF пакетов). Когда концентратор выходит из возобновления, таймер кадра не синхронизирован с хоста. В течении времени, когда концентратор находится в активном состоянии, он должен предотвратить установления связи вверх по иерархии, пока таймер кадра концентратора не синхронизируется с хост.

Восстановление при ошибках концентратора, как описано в Разделе 11.4.5,  осуществляется всякий раз, когда блокируется таймер кадра концентратора. Если таймер кадра не блокирован, таймер использует FLmin как заданная по умолчанию длина кадра.



Содержание раздела