КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Вспомогательные последовательные интерфейсы и шины

Приемник во время девятого такта формирует бит подтвержде¬ния Ac k, по которому передатчик убеждается, что его «услышали». После переда¬чи бита подтверждения ведомое устройство может задержать следующую посыл-ку, удерживая линию SCL на низком уровне. Ведомое устройство в режимах F/S может замедлить передачу по шине и на уровне приема каждого бита, удерживая SCL на низком уровне после его спада, сформированного передатчиком. Поэтому ведущее устройство должно генерировать сигнал SCL не «вслепую», а анализируя состояние линии SCL: сняв этот сигнал, новый импульс (открытие ключа передат¬чика) оно имеет право вводить, лишь убедившись, что сигнал SCL вернулся в пас-сивное состояние (высокий уровень). В противном случае синхронизация будет потеряна. Сигнал SCL может быть растянут и другим устройством, пытающимся захватить шину в это же время. Тактовый сигнал SCL не обязательно будет равномер¬ным: время его нахождения на низком уровне будет определяться максимальным временем, в котором его захочет удержать самое медленное из устройств, участву¬ющих в данном обмене (даже и конфликтующих); время нахождение на высоком уровне будет определяться самым быстрым из конфликтующих ведущих устройств.
Коллизия (конфликт) на шине может возникнуть, когда два (или более) устрой¬ства, убедившись в покое шины, одновременно (или почти одновременно) иници¬ируют обмен данными. Все они управляют линиями SCL и SDA и наблюдают за ними. Если устройство, передающее единицу (высокий уровень), в данном такте на линии SDA видит ноль (низкий уровень), оно должно признать свой проигрыш в конфликте и освободить линии SCL и SDA (при этом ему позволительно управ¬лять линией SCL до конца передачи текущего байта). Выигравшее устройство даже и не заметит проигравших конкурентов и продолжит работу. Арбитраж может закончиться в любом месте посылки, формируемой ведущим устройством. Иска¬жения информации, передаваемой выигравшим устройством, не происходит (при¬ятное отличие от коллизий в сетях Ethernet). Если ведущее устройство, проиграв¬шее в конфликте, имеет и функции ведомого устройства, по признанию проигрыша оно должно перейти в режим ведомого, поскольку конфликт мог быть вызван и по-пыткой обращения к нему победившего ведущего устройства.

Hosted by uCoz