Синхронизация
Хост выдает специальный маркер SOF на шину в регулярно установленные интервалы. Допуск ошибки интервала между SOFs(обратитесь к Главе 7) составляет 1 мс. Конечные точки могут использовать этот маркер, чтобы синхронизировать свои связанные часы с часами USB. Это дает возможность конечным точкам, согласовать свою скорость приема или выдачи данных со скоростью хоста.
Не всем конечным точкам требуется синхронизации SOF. Некоторые конечные точки, требующие синхронизацию имеют часы, которые не могут быть синхронизированы с обеспечиваемыми USB 1 мс часами шины. Такие устройства имеют две возможности. Они могут пытаться взять всю синхронизацию USB на себя или такие устройства могут периодически корректировать свою скорость передачи, поскольку они компенсируют различие между часами USB и своими собственными часами.(They can attempt to have the entire USB synchronize to them or such devices may periodically adjust their transfer rate as they compensate for the difference between the USB clock and their own clock.)
USB предусматривает максимум одного клиента как образец USB, для корректировки выдачи SOF хостом.(USB provides for a maximum of one client per USB instance to adjust the host’s SOF generation.) Этот клиент выполняет корректировку, основанную на обратной связи, обеспечиваемой связанным устройством.( This client performs the adjustment based on feedback provided by an associated device.) Скорость выдачи SOF маркера, все еще остается 1 мс. Обратитесь к Главе 10 для полного рассмотрения этого механизма корректировки. Если конечная точка не была сконфигурирована, для корректировки часов USB используется SOF квитирование, или если конечная точка не способна к такой корректировки часов, то конечная точка должна непрерывно корректировать поток данных.
Следовательно, как отмечено выше, имеются три возможных типа взаимодействия синхронизации для конечной точки касаемо SOF. Конечная точка может:
1. Синхронизировать свои часы точно с существующими часами USB.
2. Корректировать часы шины.
3. Синхронизироваться с хостом, регулируя поток данных.
Важно обратить внимание, что конечная точка, требующая синхронизацию, которую не может выполнить тип синхронизации, описанной в (1), но может выполнить тип, описанный в (2), должна также выполнить тип, описанный в (3). Так происходит потому что, нельзя гарантировать что такая конечная точка будет выбрана как конечная точка корректирующая часы шины. Только одно устройство во всей USB будет использоваться, чтобы корректировать SOF.