Разделы

В сети

Пользователей: 119
Из них просматривают:
Аналоги: 46. Даташиты: 17. Инструкции: 2. Новости: 23. Остальное: 3. Программы: 1. Профиль пользователя: 1. Расчёты: 1. Теги: 1. Торрент: 2. Форум: 19. Чат: 3.
Участников: 5
Гостей: 114

an , alex01981 , Google , wolf170571 , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

Контроллеры

Atmega128. Системы многомастерных шин, арбитраж и синхронизация

Написал MACTEP в 31.03.2010 3:10:00 (3714 прочтений)

Системы многомастерных шин, арбитраж и синхронизация



 

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

  • Алгоритм необходимо реализовать так, чтобы только одно ведущее устройство могло завершить передачу. Все остальные ведущие устройства должны прекратить передачу после обнаружения потери процесса выбора. Данный процесс выбора носит название арбитрирование. Если ведущее устройство обнаруживает потерю процесса арбитрирования, то он должен сразу перейти в подчиненный режим, чтобы проверить не к нему ли обращается ведущее устройство, которое выиграло процесс арбитрирования. Факт начала одновременной передачи несколькими ведущими устройствами не должен обнаружиться подчиненными, т.е., передаваемые данные должны быть повреждены.
  • Разные ведущие устройства могут использовать разные частоты сигнала SCL. Необходимо придумать схему, которая позволяла бы засинхронизировать тактовые сигналы всех ведущих устройств.

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

Синхронизация на линии SCL между несколькими ведущими устройствами
Рисунок 92. Синхронизация на линии SCL между несколькими ведущими устройствами

 

Арбитрация реализована путем контроля состояния линии SDA всеми ведущими, выводящих данные. Если уровень присутствующий на линии SDA не совпадает со значением, который передал ведущий, то данный ведущий теряет арбитрацию. Обратите внимание, что арбитрация теряется только в том случае, если ведущий передал лог. 1, а фактически на линии SDA присутствовал лог. 0. После потери ведущим арбитрации он незамедлительно переходит в подчиненный режим для определения не к нему ли адресуется выигравший арбитрацию ведущий? Ведущие, которые проиграли процесс арбитрации, могут продолжать генерировать тактовый сигнал до окончания передачи текущего пакета адреса или данных, но при этом они должны выводить высокий уровень на линию SDA. Арбитрация выполняется то тех пор, пока останется активным только один ведущий и для этого в ряде случаев может быть передано много бит. Если несколько ведущих пытаются адресоваться к одному и тому же подчиненному, то процесс арбитрации переносится на пакет данных.


Рисунок 93. Арбитрирование двух мастеров

 

Обратите внимание, что арбитрация не выполняется между передачей:

  • Условия ПОВТОРНЫЙ СТАРТ и бита данных
  • Условия СТОП и бита данных
  • Условия ПОВТОРНЫЙ СТАРТ и СТОП

Гарантирование невозможности возникновения данных условий возлагается на программное обеспечение пользователя. Этим подразумевается, что во многомастерных системах должны использоваться одинаковое сочетание пакетов данных и ПОДЧИН_АДР+ЧТЕНИЕ/ЗАПИСЬ. Или иначе: любой сеанс связи должен состоять из одинакового числа пакетов данных, в противном случае результат арбитрации будет неопределенным.

<< Предыдущая страница Оглавление Следующая страница >>
 
Теги: ATmega128  
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити

Разное

Если на шприц отсоса припоя надеть отрезок силиконовой трубки.

Интересно

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

Похожие новости