Для чего используется устройство арбитража шины

Каждому потенциальному ведущему присваивается определенный уровень прио­ритета, который может оставаться неизменным (статический или фиксированный приоритет) либо изменяться по какому-либо алгоритму (динамический приори­тет).

Системы с динамическими приоритетами дают шанс каждому из запросивших устройств рано или поздно получить пра­во на управление шиной, то есть в таких системах реализуется принцип рав­нодоступности.

Наибольшее распространение получили следующие алгоритмы динамического изменения приоритетов:

— простая циклическая смена приоритетов;

— циклическая смена приоритетов с учетом последнего запроса;

— смена приоритетов по случайному закону;

— алгоритм наиболее давнего использования;

— алгоритм очереди (первым пришел — первым обслужен);

— алгоритм фиксированного кванта времени.

В алгоритме простой циклической смены приоритетов после каждого цикла арбитража все приоритеты понижаются на один уровень, при этом устройство, имевшее ранее низший уровень приоритета, получает наивысший приоритет.

В схеме циклической смены приоритетов с учетом последнего запроса все воз­можные запросы упорядочиваются в виде циклического списка. После обработки очередного запроса обслуженному ведущему назначается низший уровень приори­тета. Следующее в списке устройство получает наивысший приоритет, а осталь­ным устройствам приоритеты назначаются в убывающем порядке, согласно их сле­дованию в циклическом списке.

В обеих схемах циклической смены приоритетов каждому ведущему обеспечи­вается шанс получить шину в свое распоряжение, однако большее распростране­ние получил второй алгоритм.

При смене приоритетов по случайному закону после очередного цикла арбитража с помощью генератора псевдослучайных чисел каждому ведущему присваива­ется случайное значение уровня приоритета.

В схеме равных приоритетов при поступлении к арбитру нескольких запросов каждый из них имеет равные шансы на обслуживание. Возможный конфликт раз­решается арбитром. Такая схема принята в асинхронных системах.

В алгоритме наиболее давнего использования (LRU, Least Recently Used) после каждого цикла арбитража наивысший приоритет присваивается ведущему, кото­рый дольше чем другие не использовал тину.

В алгоритме очереди запросы обслуживаются в порядке очереди, образовав­шейся к моменту начала цикла арбитража. Сначала обслуживается первый запрос в очереди, то есть запрос, поступивший раньше остальных. Аппаратурная реализа­ция алгоритма связана с определенными сложностями, поэтому используется он редко.

В алгоритме фиксированного кванта времени каждому ведущему для захвата шины в течение цикла арбитража выделяется определенный квант времени. Если ведущий в этот момент не нуждается в шине, выделенный ему квант остается не использованным. Такой метод наиболее подходит для шин с синхронным прото­колом.

Последние два алгоритма не являются чисто динамическими, поскольку смена приоритетов проис­ходит не после каждого цикла арбитража.

Арбитраж запросов на управление шиной может быть организован по централизо­ванной или децентрализованной схеме.

При централизованном арбитраже в системе имеется специальное устройство — центральный арбитр, — ответственное за предоставление доступа к шине только одному из запросивших ведущих. В зависимости от того, каким образом веду­щие устройства подключены к центральному арбитру возможные схемы центра­лизованного арбитража можно подразделить на параллельные и последователь­ные.

В параллельном варианте (централизованный параллельный арбитраж или центра­лизованный арбитраж независимых запросов) центральный арбитр связан с каждым потенциаль­ным ведущим индивидуальными двухпроводными трактами.

Сигналы запроса шины (ЗШ) поступают на вход центрального арбитра по индиви­дуальным линиям. Ведущему с номером i, который был выбран арбитром, также по индивидуальной линии возвращается сигнал предоставления шины (ПШi). Ре­ально же занять шину новый ведущий сможет лишь после того, как текущий веду­щий (пусть он имеет номер j) снимет сигнал занятия шины (ШЗ). Текущий веду­щий должен сохранять сигналы ШЗ и 3Шj активными в течение всего времени, пока он использует шину.

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

В зависимости от того, какой из сигналов используется для целей арбитража, различают три основных типа схем цепочечного арбитража: с цепочкой для сигна­ла предоставления шины (ПШ), с цепочкой для сигнала запроса шины (ЗШ) и с цепочкой для дополнительного сигнала разрешения (РШ). Наиболее распространена схема цепочки для сигнала ПШ.

Читайте также: Мазда сх 5 ошибки шины can

Запросы от ведущих объединяются на линии запроса шины по схеме «монтаж­ного ИЛИ». Аналогично организована и линия, сигнализирующая о том, что шина в данный момент занята одним из ведущих.

Когда один или несколько ведущих выставляют запросы, эти запросы транслируются на вход центрального арбитра. Получив сигнал ЗШ, арбитр анализирует состояние линии занятия шины, и если шина свободна, формирует сигнал ПШ. Сигнал предоставления шины последова­тельно переходит по цепочке от одного ведущего к другому. Если устройство, на которое поступил сигнал ПШ, не запрашивало шину, оно просто пропускает сигнал дальше по цепочке. Когда ПШ достигнет самого левого из запросивших ведущих, последний блокирует дальнейшее распространение сигнала ПШ по цепочке и бе­рет на себя управление шиной.

Самостоятельно — Децентрализованный арбитраж.

Ограничение времени управления шиной

Вне зависимости от принятой модели арбитража должна быть также продумана стратегия ограничения времени контроля над шиной.

Одним из вариантов может быть разрешение ведущему занимать шину в течение одного цикла шины, с предо­ставлением ему возможности конкуренции за шину в последующих циклах. Дру­гим вариантом является принудительный захват контроля над шиной устройством с более высоким уровнем приоритета, при сохранении восприимчивости текущего ведущего к запросам на освобождение шины от устройств с меньшим уровнем прио­ритета.

В опросных методах запросы только фиксируются, и контроллер шины способен узнать о них, лишь опросив ведущих. Опрос может быть как централизованным — с одним контроллером, производящим опрос, так и децентрализованным — с не­сколькими контроллерами шины.

Централизованный опрос иллюстрирует рис. 6.7.

Для чего используется устройство арбитража шины

Контроллер шины последовательно опрашивает каждое ведущее устройство на предмет, находится ли оно в ожидании предоставления шины. Для этого контрол­лер выставляет на линии опроса адрес соответствующего ведущего. Если в момент выставления адреса ведущий ожидает разрешения на управление шиной, то он, распознав свой адрес, сигнализирует об этом, делая активной шину (ЗШ). Обнару­жив сигнал, контроллер разрешает ведущему использовать шину.

Организация децентрализованного опроса показана на рис. 6.8.

Каждый ведущий содержит контроллер шины, состоящий из дешифратора ад­реса и генератора адреса. В начале опросной последовательности формируется адрес, который распознается контроллером. Если соответствующий ведущий ожи­дает доступа к шине, он вправе теперь ее занять. По завершении работы с шиной контроллер текущего ведущего генерирует адрес следующего ведущего, и процесс повторяется.

Видео:АПС Л19. ШиныСкачать

АПС Л19.  Шины

Арбитраж шин

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

Видео:АПС Л14. ШиныСкачать

АПС Л14. Шины

Схемы приоритетов

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

Каждому потенциальному ведущему присваивается определенный уровень прио­ритета, который может оставаться неизменным (статический или фиксированный приоритет) либо изменяться по какому-либо алгоритму (динамический приори­тет).

Основной недостаток статических приоритетов в том, что устройства, имею­щие высокий приоритет, в состоянии полностью блокировать доступ к шине уст­ройств с низким уровнем приоритета. Системы с динамическими приоритетами дают шанс каждому из запросивших устройств рано или поздно получить пра­во на управление шиной, то есть в таких системах реализуется принцип рав­нодоступности.

Наибольшее распространение получили следующие алгоритмы динамического изменения приоритетов:

простая циклическая смена приоритетов;

циклическая смена приоритетов с учетом последнего запроса;

смена приоритетов по случайному закону;

алгоритм наиболее давнего использования.

В алгоритме простой циклической смены приоритетов после каждого цикла арбитража все приоритеты понижаются на один уровень, при этом устройство, имевшее ранее низший уровень приоритета, получает наивысший приоритет.

Читайте также: Can шина кайрон дизель

В схеме циклической смены приоритетов с учетом последнего запроса все воз­можные запросы упорядочиваются в виде циклического списка. После обработки очередного запроса обслуженному ведущему назначается низший уровень приори­тета. Следующее в списке устройство получает наивысший приоритет, а осталь­ным устройствам приоритеты назначаются в убывающем порядке, согласно их сле­дованию в циклическом списке.

В обеих схемах циклической смены приоритетов каждому ведущему обеспечи­вается шанс получить шину в свое распоряжение, однако большее распростране­ние получил второй алгоритм.

При смене приоритетов по случайному закону после очередного цикла арбитража с помощью генератора псевдослучайных чисел каждому ведущему присваива­ется случайное значение уровня приоритета.

В схеме равных приоритетов при поступлении к арбитру нескольких запросов каждый из них имеет равные шансы на обслуживание. Возможный конфликт раз­решается арбитром. Такая схема принята в асинхронных системах.

В алгоритме наиболее давнего использования (LRU, Least Recently Used) после каждого цикла арбитража наивысший приоритет присваивается ведущему, кото­рый дольше чем другие не использовал шину.

Помимо рассмотренных существует несколько алгоритмов смены приоритетов, которые не являются чисто динамическими, поскольку смена приоритетов проис­ходит не после каждого цикла арбитража. К таким алгоритмам относятся:

алгоритм очереди (первым пришел — первым обслужен);

алгоритм фиксированного кванта времени.

В алгоритме очереди запросы обслуживаются в порядке очереди, образовав­шейся к моменту начала цикла арбитража. Сначала обслуживается первый запрос в очереди, то есть запрос, поступивший раньше остальных. Аппаратурная реализа­ция алгоритма связана с определенными сложностями, поэтому используется он редко.

В алгоритме фиксированного кванта времени каждому ведущему для захвата шины в течение цикла арбитража выделяется определенный квант времени. Если ведущий в этот момент не нуждается в шине, выделенный ему квант остается не использованным. Такой метод наиболее подходит для шин с синхронным прото­колом.

Видео:Шины VS брокеры сообщений | KT.Team | Андрей ПутинСкачать

Шины VS брокеры сообщений | KT.Team | Андрей Путин

Разделение и арбитраж двунаправленной последовательной шины

Для чего используется устройство арбитража шины

Видео:Лекция_4_4 Организация шинСкачать

Лекция_4_4 Организация шин

Введение в двунаправленные шины

Двунаправленные шины, такие, например, как I 2 C, SMBus и LIN, получили повсеместное распространение в современной электронике, отчасти благодаря их простоте. С помощью всего двух проводов – для передачи сигналов данных и синхронизации – они позволяют общаться друг с другом множеству устройств. Согласно спецификации шины I 2 C, к каждой линии данных и синхронизации допускается подключение до 128 устройств, что обеспечивается внешними подтягивающими резисторами и драйверами с открытыми стоками в каждом устройстве. Если не одно из устройств не передает «0», подтягивающий резистор удерживает шину в состоянии «1». Однако любое устройство может опустить шину в «0».

Ведущие устройства (задатчики) могут управлять шиной в любой момент, а ведомые должны ответить на запросы ведущего в течение определенного периода времени после приема запроса. В конфигурации с несколькими ведущими каждое устройство, выступающее задатчиком, само должно выполнять арбитраж шины. Задатчик, желающий получить контроль над шиной, должен проверить ее, выставив на шину «0». Это информирует остальных ведущих о том, что шина будет занята.

Видео:Лекция_4_5 Организация шинСкачать

Лекция_4_5 Организация шин

Зачем разделять двунаправленную шину?

Спецификация шины I 2 C [1] содержит пример эталонной схемы, позволяющей разделять ее на входную и выходную пары. Такая конфигурация может потребоваться по нескольким причинам. Прежде всего, разделение шины используется для оптической изоляции ведущего устройства от ведомых при повышенных требованиях к безопасности, в случае зашумленности линий передачи или при невозможности обеспечить надежное заземление (Рисунок 1). Кроме того, сигналы разделенной шины можно усиливать (Рисунок 2), а, заменив усилитель схемой преобразователя интерфейсов, можно сменить среду передачи информации. Это позволяет увеличить рабочую длину шины и улучшить ее характеристики за счет снижения емкости. По мере снижения емкости линий доминирующее влияние на постоянную времени шины начинают оказывать подтягивающие резисторы.

Рисунок 1.Изоляция двунаправленной шины.

Для разработчиков контроллеров двунаправленных шин разделение шины может использоваться в целях отладки. Обычно отладка двунаправленных протоколов представляет собой непростую задачу, поскольку вполне вероятна ситуация, при которой работающий неправильно контроллер выставляет на шине «0» в то же время, когда другой контроллер пытается установить контроль над шиной. Это сделает идентификацию передающего устройства на шине невозможной без информации о внутренних состояниях контроллеров всех устройств. Однако контроль линий /gateB1 и /gateA2 (Рисунок 2) позволяет идентифицировать оба передающих устройства и выявлять любые одновременные обращения с использованием лишь стандартного лабораторного оборудования и обычных технологий отладки.

Читайте также: Количество шин крамера используемое при переломе бедра

Рисунок 2.Повторитель двунаправленной шины.

Наконец, возможно использование технологии разделения шины для подключения устройства, поддерживающего интерфейс I 2 C, к другому устройству, не имеющему контроллера I 2 C. В этом случае разделенная шина может быть подключена к портам вывода/вывода общего назначения другого устройства (Рисунок 3).

Рисунок 3.Разделенная шина, подключенная к порту
ввода/вывода общего назначения.

Опубликовано немало схем, позволяющих разделять двунаправленные шины. К сожалению, примеры решений, демонстрирующих разделение шин, требуют разработки специальных схем для каждого приложения (как следует из публикаций) или внешней управляющей логики (как показано в описании стандарта I 2 C), использующей проходные логические вентили для того, чтобы в процессе обмена не образовывались замкнутые контуры, приводящие к «защелкиванию». Условия для защелкивания, очевидным образом, существуют в схеме на Рисунке 2, где узел IOA, выставив на шине «0», через /gateB1 открывает транзистор Q1, в результате чего потенциал узла IOB опускается в «0», что, в свою очередь, открывает Q2 высоким уровнем на /gateA2, опуская вниз потенциал IOA.

Рисунок 4.Схема двухстороннего арбитража.

Представленный в этой статье двухсторонний арбитр может разделять шину на передающую и приемную пары, и сконструирован универсальным, что позволяет использовать его в любых приложениях с разделенной шиной. Кроме того, он не требует внешней управляющей логики – управление осуществляется исключительно на основании состояния шины данных (Рисунок 4).

Видео:АПС Л19. ШиныСкачать

АПС Л19. Шины

Двухсторонний арбитраж

Рисунок 5.Двухсторонний арбитраж двунаправленной шины.

Изображенный на Рисунке 5 арбитр, образованный двумя перекрестными схемами разрешения из Рисунка 4, будет работать всегда, так как двунаправленные шины, по определению, поддерживают только полудуплексный обмен. В неактивном режиме линии данных подтягиваются к шине питания резисторами R1 и R2, вследствие чего выходы OUT1 и OUT2 находятся в состоянии «0». В этих условиях оба N-канальных MOSFET выключены. Когда микросхема IC1 выставляет на линии данных «0», на выходе OUT1 устанавливается уровень «1», открывающий транзистор Q2 и опускающий вниз потенциал шины данных микросхемы IC2. Одновременно сигнал OUT1 поступает на вход вентиля «ИЛИ-НЕ» U2, разрывая петлю обратной связи между OUT2 и Q1. Этот разрыв исключает возможность защелкивания, делая ненужной какую-либо другую управляющую логику, поскольку схема, первой претендующая на линию данных, выигрывает гонку и блокирует остальную схему через вентиль «ИЛИ-НЕ».

Рисунок 6.Двухсторонний арбитраж с усилением сигналов шины.

Универсальный характер схемы позволяет использовать ее для двухстороннего арбитража в любых приложениях с разделенной шиной. На Рисунке 6 приведен пример разделения шины в целях усиления сигналов. Эту схему легко расширить на случаи преобразования среды передачи и изоляции шины, заменив усилители, соответственно, преобразователями интерфейсов или оптоизоляторами. Для отладки шинных контроллеров можно отслеживать состояние линий между усилителями, что поможет идентифицировать неисправности контроллеров шины. На Рисунке 7 показано включение двухстороннего арбитра между шиной I 2 C и портом ввода/вывода общего назначения.

Рисунок 7.Подключение линии интерфейса I 2 C к порту ввода/вывода.

Видео:лекция 403 CAN шина- введениеСкачать

лекция 403  CAN шина- введение

Заключение

Есть ряд причин, по которым возникает необходимость разделения двунаправленной шины на приемные и передающие пары. От увеличения пропускной способности и длины линии передачи до возможности отладки – многие разработчики оценят эти преимущества разделения шины и сочтут их полезным в тот или иной момент своей деятельности.

Двухсторонний арбитраж – это метод арбитража, применимый к большинству приложений с разделенной шиной. Опираясь на специфику обмена по двунаправленной шине, он не требует внешних компонентов и достаточно универсален, чтобы, не внося ненужных усложнений, использоваться во многих приложениях.

Видео:Лекция_4_3 Организация шинСкачать

Лекция_4_3 Организация шин

Ссылки

Перевод: AlexAAN по заказу РадиоЛоцман

🎬 Видео

Подробно про CAN шинуСкачать

Подробно про CAN шину

Лекция_4_2 Организация шинСкачать

Лекция_4_2 Организация шин

MCP2515, контроллер CAN шины с интерфейсом SPIСкачать

MCP2515, контроллер CAN шины с интерфейсом SPI

IT 79. Принцип работы Шины 208 стр.Скачать

IT 79. Принцип работы Шины 208 стр.

Лекция_4_1 Организация шинСкачать

Лекция_4_1 Организация шин

Шина CAN. Часть 1. Разбираемся как работает CAN bus, разберем кадр данных до "костей".Скачать

Шина CAN. Часть 1. Разбираемся как работает CAN bus, разберем кадр данных до "костей".

Что такое ЧЕРНЫЙ АРБИТРАЖ?Скачать

Что такое ЧЕРНЫЙ АРБИТРАЖ?

Цифровые интерфейсы и протоколыСкачать

Цифровые интерфейсы и протоколы

Что такое Арбитраж? Как это работает в крипте и выгодно ли этим заниматься?Скачать

Что такое Арбитраж? Как это работает в крипте и выгодно ли этим заниматься?

I2c шина в iPhone, способы диагностики, причины циклического перезапуска.Скачать

I2c шина в iPhone, способы диагностики, причины циклического перезапуска.

Лекция №4. Организация шин и интерфейсов вычислительных машинСкачать

Лекция №4. Организация шин и интерфейсов вычислительных машин

Что такое Арбитраж трафикаСкачать

Что такое Арбитраж трафика
Поделиться или сохранить к себе:
Технарь знаток