Интерфейсы фирмы MOTOROLA: Методическое пособие к изучению курса “Организация ЭВМ и систем”, страница 3

3. 111: один или более из выбранных модулей шины не готовы к обработке кадра. В качестве примеров можно привести по          пытку установить семафор, который уже установлен, послать данные получателю данных, который еще содержит данные предыдущего           кадра, или послать данные через отправителя данных, которому           нечего посылать.

Кадр типа 111 не имеет поля состояния кадра. В кадрах типа 001-110    за кодом типа следует поле данных, за которым следует состояние           кадра. В кадре типа 000 состояние кадра следует непосредственно           за кодом типа кадра. 3-разрядное поле состояния кадра используется для индикации особых состояний, связанных с выбором моду          лей при помощи полей S и R. Поле состояния может указывать на           такие ошибки, как выбор отправителя данных без их получателя           или наоборот, а также на то, был ли конкретный модуль выбран           при помощи поля S или R. Другие ошибки, предусмотренные для индикации поля состояния, - случай, когда отправитель данных посылает более длинное поле данных, чем может обработать получатель, а также выбор более чем одного отправителя данных с не        правильно заданным количеством посылаемых данных.

Каждый кадр заканчивается битом "пробки", который предотвращает нарушение синхронизации кадров при работе с VMS-шиной. Как правило, на этой линии высокий уровень (логическое     значение 0). Если какой-либо модуль контроля кадров обнаруживает в рамках кадра старт-бит, он немедленно создает пробку, т.е.     выдает на линию SERDAT 512 битовых сигналов низкого уровня (логических единиц). Поскольку максимальный возможный размер кадра   составляет 286 бит, 512 последовательных единиц безусловно захватят бит пробки текущего кадра. Все модули проигнорируют кадр, который заканчивается битом пробки, равным 1. Передаваемая последовательность пробки обеспечит также вхождение в синхронизацию всех отправителей заголовков, так что они смогут вновь начать свои передачи только после завершения этой последовательности.

Первые три бита каждого подкадра заголовка - это поле приоритетности сообщений, которое служит для подразделения сообщений на восемь уровней приоритета для использования в схеме           предоставления доступа к последовательной шине. Это поле можно           запрограммировать таким образом, что оно будет обозначать начальный или исходный приоритет сообщения для подсистемы последовательной шины. Например, наивысший уровень приоритета (111)           можно зерезервировать для передачи сообщений о событиях и условиях, которые представляют угрозу для работоспособности систе мы, целостности программ и данных или безопасности человека.          Его можно использовать также для того, чтобы гарантировать           "справедливость" при предоставлении доступа к последовательной           шине для конкурирующих кадров. Если, например, отправителю заголовка никак не удается получить доступ к шине, он может для следующей попытки увеличить на 1 значение поля приоритета, вплоть         до заданного верхнего предела, скажем 110. С другой стороны,          если конкурирующий кадр получает доступ к шине, но не может быть передан из-за того, что не готов один из модулей-получателей,          его приоритет можно снизить (вплоть до 000). Хотя такой подход     менее эффективен, чем описанное ниже "рукопожатие" на уровне  сообщений, он позволяет свести к минимуму потери от многократного аннулирования кадров и обеспечить более продуктивный трафик шины.