|
||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[2] Состояние STOP - переход от "0" к "1" на линии SDA при "1" на линии SCL. Эти два состояния всегда генерируются мастером. Детектирование состояний start и stop в специализированных элементах обычно производится аппаратно. При полностью программной реализации шины I2C в микроконтроллерах без аппаратной -части необ- ходимо как минимум 2 раза проверять состояние линии SDA. Рисунок 6. START и STOP состояния. ПЕРЕДАЧА ДАННЫХ Все передачи производятся 8-разрядными байтами. Число байтов, которые могут быть переданы за одну передачу не ограничено. Каждый байт должен сопровождаться битом подтверждения (ACK). Данные передаются начиная со старшего бита (MSB),(Рисунок 7). Если приемник не может получать другой полный байт данных, он не выдает сигнал ACK, который используется передатчиком для синхронизации или сигнализации о неисправности приемника (или его отсутствии). Рисунок 7. Передача данных по шине I2C. ACKNOWLEDGE Для подтверждения передачи байта передатчик устанавливает линию SDA в "1" в течение синхронизирующего импульса. Приемник при этом должен выставить "O" на SDA (рисунок 8). Естественно при этом должны бить выдержаны определенные временные соотношения. Обычно, приемник, который был адресован, должен генерировать сигнал ACK после того, как каждый байт был получен, за исключением того, когда сообщение начинается с адресом CBUS. Когда подчиненный приемник не подтверждает подчиненный адрес (например, устройство не готово, потому что это выполняет некоторую внутреннюю функцию), линия SDA данных должна быть оставлена в "1". Мастер затем может выдать состояние STOP, чтобы прервать передачу. Если подчиненный приемник подтверждает подчиненный адрес, но, некоторое время позднее не может получать больше байты данных, мастер должен приостановить передачу. При приеме последнего байта в серии, вместо сигнала ACK мастер может выставить состояние STOP, при этом подчиненный передатчик должен освободить линию данных. CLOCK PULSE FCFi ACKNOWLEDGMENT Рисунок 8. Подтверждение передачи. АРБИТРАЖ И СИНРОНИЗАЦИЯ Синхронизация Каждое мастер-устройство генерирует собственные сигналы синхронизации на линии SCL. Данные на линии SDA действительны только течение ВЫСОКОГО уровня SCL. Синхронизация осуществляется благодаря "монтажному-И" на линии SCL. Это означает, что состояние "O" на линии SCL будет длиться до тех пор, пока все мастер-устройства не освободят линию синхронизации (рисунок 9). Линия SCL будет, следовательно, задержана в уровне "O" элементом с самым длинным уровнем "O". Элементы с более коротким уровнем "O" при этом входят в состояние ожидания. START COUNTING Рисунок 9. Синхронизация в течение процедуры арбитража Арбитраж Мастер может начинать передачу только, если шина свободна. Два или больше мастера могут генерировать состояние START практически одновременно, поэтому необходим арбитраж между ними, для того чтобы выяснить, кто же их них все-таки был первым. Для этого используется линия SDA - благодаря тому, что она, как и SCL выполнена по схеме "монтажное-И" (Рисунок 10 показывает процедуру арбитража для двух мастеров). Рисунок 10. Процедура арбитража двух мастеров. ФОРМАТЫ С 7-битной адресацией Передача с 7-битной адресацией показана на рисунке 11. После выдачи состояния START следует передача адресного байта, при этом 8-й бит адреса определяет направление передачи данных ("0" -запись данных от мастера к подчиненному, "1" - чтение данных из подчиненного к мастеру). Передача данных всегда завершается состоянием STOP, сгенерированного мастером. Возможные форматы передачи данных: |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||