1 Что такое арбитраж на шине I2C . Принцип работы, назначение.

Передатчик – устройство, передающее данные по шине

Приемник – устройство, получающее данные с шины

«Master» - устройство, которое инициирует передачу и формирует тактовый сигнал

«Slave» - устройство, к которому обращается «Master»

Multi-«Master» - режим работы шины I2C с более чем одним «Master»

Арбитраж – процедура, гарантирующая, что только один «Master» управляет шиной

Функция нескольких ведущих (Multimaster) означает возможность подключения более одного МК к шине. При этом, если более чем один ведущий попытается начать пересылку в один и тот же момент времени, возможный хаос будет устранен из-за процедуры арбитража. Она основана на том, что все I2C-устройства подключаются к шине по правилу монтажного И.

Арбитраж происходит на шине SDA, в периоды, когда шина SCL находится в ВЫСОКОМ состоянии. Если один ведущий передает на линию данных НИЗКИЙ уровень, в то время как другой - ВЫСОКИЙ, то последний отключается от линии, так как состояние SDL (НИЗКОЕ) не соответствует ВЫСОКОМУ состоянию его внутренней линии данных.

Арбитраж может продолжаться на протяжении нескольких бит. Так как сначала передается адрес, а потом данные (см. Разделы 7-битная адресация и 10-битная адресация), то арбитраж может продолжаться до окончания адреса, а если ведущие адресуют одно и то же устройство, то в арбитраже будут участвовать и данные. Вследствие такой схемы арбитража при столкновении данные не теряются.

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

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

Рисунок 10 показывает процедуру арбитража двух ведущих. Конечно, большее количество ведущих может быть вовлечено в процесс. В момент, когда обнаруживается различие между уровнем внутренней линии данных и SDA, выход первого ведущего принимает ВЫСОКОЕ значение, не влияя таким образом на пересылку данных выигравшего ведущего.

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

Особое внимание следует обратить на ситуацию, когда во время арбитражной процедуры на шину передается повторный сигнал СТАРТ или сигнал СТОП. Если существует возможность возникновения такой ситуации, то ведущие должны послать повторный сигнал СТАРТ или сигнал СТОП в одних и тех же позициях кадра. Другими словами, арбитраж запрещен между:

повторным сигналом СТАРТ и битом данных

сигналом СТОП и битом данных

повторным сигналом СТАРТ и сигналом СТОП

2 Основные характеристики внешней памяти EEPROM стенда SDK1.1. Сколько таких устройств может быть подключено к шине I2C?

На стенде SDK установлена E2PROM AT24C01A, состоящая из 128 однобайтных страниц общим объемом 1 К. Адрес E2PROM на шине I2С равен 1010001. плюс младший байт, отвечающий за направление обмена.

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

Внутренняя EEPROM-память программируется при помощи SFR-регистров: EDATA1-4 – 4 регистра данных для чтения/записи страницы; EADRL – регистр адреса страницы; ECON – регистр управления командами доступа к памяти (чтение, запись, стирание, верификация и др.). Первые семь бит содержат адрес устройства, то есть всего устройств может быть 27 = 128

3 Опишите подробную работу шины I2C в случае подключения к ней 1-го Master устройства и нескольких Slave устройств. Как происходит обмен данными между такими устройствами?

Процедура обмена начинается с того, что ведущий формирует состояние СТАРТ: генерирует переход сигнала линии SDA из ВЫСОКОГО состояния в НИЗКОЕ при ВЫСОКОМ уровне на линии SCL. Этот переход воспринимается всеми устройствами, подключенными к шине, как признак начала процедуры обмена. Генерация синхросигнала — это всегда обязанность ведущего; каждый ведущий генерирует свой собственный сигнал синхронизации при пересылке данных по шине. Процедура обмена завершается тем, что ведущий формирует состояние СТОП — переход состояния линии SDA из низкого состояния в ВЫСОКОЕ при ВЫСОКОМ состоянии линии SCL. Состояния СТАРТ и СТОП всегда вырабатываются ведущим. Считается, что шина занята после фиксации состояния СТАРТ. Шина считается освободившейся через некоторое время после фиксации состояния СТОП. При передаче посылок по шине I2C каждый ведущий генерирует свой синхросигнал на линии SCL. После формирования состояния СТАРТ, ведущий опускает состояние линии SCL в НИЗКОЕ состояние и выставляет на линию SDA старший бит первого байта сообщения. Количество байт в сообщении не ограничено. Для подтверждения приема байта от ведущего-передатчика ведомым-приемником в спецификации протокола обмена по шине I2C вводится специальный бит подтверждения, выставляемый на шину SDA после приема 8 бита данных. Таким образом передача 8 бит данных от передатчика к приемнику завершаются дополнительным циклом (формированием 9-го тактового импульса линии SCL), при котором приемник выставляет низкий уровень сигнала на линии SDA, как признак успешного приема байта.

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

После того, как адрес послан, каждое устройство в системе сравнивает первые семь бит после сигнала СТАРТ со своим адресом. При совпадении устройство полагает себя выбранным как ведомый-приёмник или как ведомый-передатчик, в зависимости от бита направления.

Адрес ведомого может состоять из фиксированной и программируемой части

Соседние файлы в папке ответы на контрольные работы (примерные)