Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
с 1 по 20.doc
Скачиваний:
85
Добавлен:
09.02.2015
Размер:
942.08 Кб
Скачать
  1. Интерфейс USB. Основные свойства и технические характеристики.

Шина USB (Universal Serial Bus - универсальная последовательная шина) появилась по компьютерным меркам довольно давно - версия первого утвержденного варианта стандарта появилась 15 января 1996 года. Разработка стандарта была инициировна весьма авторитетными фирмами - Intel, DEC, IBM, NEC, Northen Telecom и Compaq.

Основная цель стандарта, поставленная перед его разработчиками - создать реальную возможность пользователям работать в режиме Plug&Play с периферийными устройствами. Это означает, что должно быть предусмотрено подключение устройства к работающему компьютеру, автоматическое распознавание его немедленно после подключения и последующей установки соответствующих драйверов. Кроме этого, желательно питание маломощных устройств подавать с самой шины. Скорость шины должна быть достаточной для подавляющего большинства периферийных устройств. Попутно решается историческая проблема нехватки ресурсов на внутренних шинах IBM PC совместимого компьютера - контроллер USB занимает только одно прерывание независимо от количества подключенных к шине устройств.

Возможности USB следуют из ее технических характеристик:

  • Высокая скорость обмена (full-speed signaling bit rate) - 12 Mb/s

  • Максимальная длина кабеля для высокой скорости обмена - 5 m

  • Низкая скорость обмена (low-speed signaling bit rate) - 1.5 Mb/s

  • Максимальная длина кабеля для низкой скорости обмена - 3 m

  • Максимальное количество подключенных устройств (включая размножители) - 127

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

  • Отсутствие необходимости в установке пользователем дополнительных элементов, таких как терминаторы для SCSI

  • Напряжение питания для периферийных устройств - 5 V

  • Максимальный ток потребления на одно устройство - 500 mA

Поэтому целесообразно подключать к USB практически любые периферийные устройства, кроме цифровых видеокамер и высокоскоростных жестких дисков. Особенно удобен этот интерфейс для подключения часто подключаемых/отключаемых приборов, таких как цифровые фотокамеры. Конструкция разъемов для USB рассчитана на многократное сочленение/расчленение.

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

Предназначены только для подключения к источнику, т.е. к компьютеру или хабу

Предназначены только для подключения к периферийному устройству

Номер контакта

Назначение

Цвет провода

1

V BUS

Красный

2

D-

Белый

3

D+

Зеленый

4

GND

Черный

Оплетка

Экран

Оплетка

Здесь GND - цепь "корпуса" для питания периферийных устройств, VBus - +5V также для цепей питания. Шина D+ предназначена для передачи данных по шине, а шина D- для приема данных.

Кабель для поддержки полной скорости шины (full-speed) выполняется как витая пара, защищается экраном и может также использоваться для работы в режиме минимальной скорости (low-speed). Кабель для работы только на минимальной скорости (например, для подключения мыши) может быть любым и неэкранированным.

  1. Основные элементы USB. Физическая и логическая архитектура шины.

Шина USB (Universal Serial Bus, универсальная последовательная шина) появилась в начале 1996 года как попытка решения проблемы множественности интерфейсов. К тому времени персональные компьютеры (ПК) были оснащены большим количеством разнообразных внешних интерфейсов, полезных и необходимых, но обладающих одним недостатком: все они требовали своего специального разъема и, чаще всего, выделенного аппаратного прерывания (IRQ, Interrupt ReQuest).

 Общая архитектура USB

Обычная архитектура USB подразумевает подключение одного или нескольких USB-устройств к компьютеру, которые в такой конфигурации является главным управляющим устройством и называется хостом. Подключение USB-устройств к хосту производится с помощью кабелей. Для соединения компьютера и USB-устройства используют хаб. Компьютер имеет встроенные хаб, называемый корневым хабом.

 Физическая и логическая архитектура USB

Физическая архитектура USB определяется следующими правилами:

o        устройства подключаются к хосту;

o        физическое соединение устройств между собой осуществляется по топологии многоярусной звезды, вершиной которой является корневой хаб;

o        центром каждой звезды является хаб;

o        каждый кабельный сегмент соединяет между собой две точки: хост с хабом или функцией, хаб с функцией илидругим хабом;

o        к каждому порту хаба может подключаться периферийное USB-устройство или другой хаб, при этом допускаются до 5 уровней каскадирования хабов, не считая корневого. 

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

Составляющие USB

Шина USB состоит из следующих элементов:

  • хост-контроллер (host controller) – это главный контроллер, который входит в состав системного блока компьютера и управляет работой всех устройств на шине USB. Для краткости мы будем писать просто хост. На шине USB допускается наличие только одного хоста. Системный блок персонального компьютера содержит один или несколько хостов, каждый из которых управляет отдельной шиной USB;

  • устройство (device) может представлять собой хаб, функцию или их комбинацию (compound device);

  • порт (port) – точка подключения;

  • хаб (hub, другое название - концентратор) – устройство, которое обеспечивает дополнительные порты на шине USB. Другими словами, хаб преобразует один порт (восходящий порт, upstream port) во множество портов (нисходящие порты, downstream ports). Архитектура допускает соединение нескольких хабов (не более 5). Хаб распознает подключение и отключение устройств к портам и может управлять подачей питания на порты. Каждый из портов может быть разрешен или запрещен и сконфигурирован на полную или ограниченную скорость обмена. Хаб обеспечивает изоляцию сигментов с низкой скоростью от высокоскоростных. Хаб может ограничивать ток, потребляемый каждым портом;

  • корневой хаб (root hub) – это хаб, входящий в состав хоста;

  • функция (function) – это переферийное USB-устройство или его отдельный блок, способный передавать и принимать информацию по шине USB. Каждая функция представляет конфигурационную информацию, описывающую возможности периферийного USB-устройства и требования к ресурсам. Перед использованием функция должна быть сконфигурирована хостом – ей должна быть выделена полоса в канале и выбраны опции конфигурации;

  • логическое USB-устройство (logical device) представляет собой набор конечных точек.

  1. Основные свойства USB-устройств и хабов.

Свойства USB-устройств

Спецификация USB достаточно жестко определяет набор свойств, которые должно поддерживать любое USB-устройство:

o        адресация – устройство должно отзываться на назначенный ему уникальный адрес и только на него;

o        конфигурирование – после включения или сброса устройство должно предоставлять нулевой адрес для возможности конфигурирования его портов;

o        передача данных – устройство имеет набор конечных точек для обмена данными с хостом. Для конечных точек, допускающих разные типы передач, после конфигурирования доступен только один из них;

o        управление энергопотреблением – любое устройство при подключении не должно потреблять от шины ток, превышающий 100 мА. При конфигурировании устройство заявляет свои потребности тока, но не более 500 мА. Если хаб не может обеспечить устройству заявленный ток, устройство не будет использоваться;

o        приостановка – USB-устройство должно поддерживать приостановку (suspended mode), при которой его потребляемый ток не превышает 500 мкА. USB-устройство должно автоматически приостанавливаться при прекращении активности шины;

o        удаленное пробуждение – возможность удаленного пробуждения (remote wakeup) позволяет приостановленному USB-устройству подать сигнал хосту, который тоже может находиться в приостановленном состоянии. Возможность удаленного пробуждения описывается в конфигурации USB-устройства. При конфигурировании эта функция может быть запрещена.

  1. Основные принципы передачи данных по интерфейсу USB.

Принципы передачи данных

Механизм передачи данных является асинхронным и блочным. Блок передаваемых данных называется USB-фреймом или USB-кадром  и передается за фиксированный временной интервал. Оперирование командами и блоками данных реализуется при помощи логической абстракции, называемой каналом. Внешнее устройство также делится на логические абстракции, называемые конечными точками.  Таким образом, канал является логической связкой между хостом и конечной точкой внешнего устройства. Канал можно сравнить с открытым файлом.

Для передачи команд (и данных, входящих в состав команд) используется канал по умолчанию, а для передачи данных открываются либо потоковые каналы, либо каналы сообщений.

Все операции по передачи данных по шине USB инициируются хостом. Периферийные USB-устройства сами начать обмен данными не могут. Они могут только реагировать на команды хоста.

Механизм прерываний

Для шины USB настоящего механизма прерываний (как, например, для последовательного порта) не существует. Вместо этого хост опрашивает подключенные устройства на предмет наличия данных о прерывании. Опрос происходит в фиксированные интервалы времени, обычно каждые 1 – 32 мс. Устройству разрешается посылать до 64 байт данных.

С точки зрения драйвера, возможности работы с прерываниями фактически определяются хостом, который и обеспечивает поддержку физической реализации USB-интерфейса.

 Режимы передачи данных

Пропускная способность шины USB, соответствующей спецификации 1.1, составляет 12Мбит/с (т.е. 1,5 Мбит/с). Спецификация 2.0 определяет шину с пропускной способностью 400 Мбайт/с. Полоса пропускания делится между всеми устройствами, подключенными к шине.

Шина USB имеет три режима передачи данных:

o        низкоскоростной (LS, Low-speed);

o        полноскоростной (LF, Full-speed);

o        высокоскоростной (HS, High-speed, только для USB 2.0).

Логические уровни обмена данными

Спецификация USB определяет три логических уровня с определенными правилами взаимодействия. USB-устройство содержит интерфейсную, логическую и функциональную части. Хост тоже делится на три части – интерфейсную, системную и ПО. Каждая часть отвечает только за определенный круг задач.

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

o        уровень клиентского ПО в хосте:

·   обычно представляется драйвером USB-устройства;

·   обеспечивает взаимодействие пользователя с операционной системой с одной стороны и системным драйвером с другой;

o        уровень системного драйвера USB в хосте(USB, Universal Serial Bus Driver):

·   управляет нумерацией устройств на шине;

·   управляет распределением пропускной способности шины и мощности питания;

·   обрабатывает запросы пользовательских драйверов;

o        уровень хост-контроллера интерфейса шины USB (HCD, Host Controller Driver):

·   преобразует запросы ввода/вывода в структуры данных, по которым выполняются физические транзакции;

·   работает с регистрами хоста.

В обязанности хоста входит:

Слежение за подключением и отключением устройств

  • Организация управляющих потоков между USB-устройством и хостом.

  • Организация потоков данных между USB-устройством и хостом

  • Контроль состояния устроств и ведение статистики активности

  • Снабжение подключенных устройств электропитанием Аппаратной частью является хост контроллер - посредник между хостом и устройствами на шине

  1. Физический интерфейс USB

Стандарт USB определяет электрические и механические спецификации шины. Информационные сигналы и питающее напряжение 5 В передаются по четырехпроводному кабелю. Используется дифференциальный способ передачи сигналов D+ и D- по двум проводам. Уровни сигналов передатчиков в статическом режиме должны быть ниже 0,3 В (низкий уровень) или выше 2,8 В (высокий уровень). Приемники выдерживают входное напряжение в пределах - 0,5...+3,8 В. Передатчики должны уметь переходить в высокоимпедансное состояние для двунаправленной полудуплексной передачи по одной паре проводов.

Передача по двум проводам в USB не ограничивается дифференциальными сигналами. Кроме дифференциального приемника каждое устройство имеет линейные приемники сигналов D+ и D-, а передатчики этих линий управляются индивидуально. Это позволяет различать более двух состояний линии, используемых для организации аппаратного интерфейса. Состояния Diff0 и Diff1 определяются по разности потенциалов на линиях D+ и D- более 200 мВ при условии, что на одной из них потенциал выше порога срабатывания VSE. Состояние, при котором на обоих входах D+ и D- присутствует низкий уровень, называется линейным нулем (SEO - Single-Ended Zero). Интерфейс определяет следующие состояния:

* Data J State и Data К State - состояния передаваемого бита (или просто J и К), определяются через состояния Diff0 и Diff1.

* Idle State - пауза на шине.

* Resume State - сигнал "пробуждения" для вывода устройства из "спящего" режима.

* Start of Packet (SOP) - начало пакета (переход из Idle State в К).

* End of Packet (EOP) - конец пакета. * Disconnect - устройство отключено от порта. * Connect - устройство подключено к порту. * Reset - сброс устройства.

Состояния определяются сочетаниями дифференциальных и линейных сигналов; для полной и низкой скоростей состояния DiffO и Diff1 имеют противоположное назначение. В декодировании состояний Disconnect, Connect и Reset учитывается время нахождения линий (более 2,5 мс) в определенных состояниях.

Шина имеет два режима передачи. Полная скорость передачи сигналов USB составляет 12 Мбит/с, низкая - 1,5 Мбит/с. Для полной скорости используется экранированная витая пара с импедансом 90 Ом и длиной сегмента до 5 м, для низкой - невитой неэкранированньгй кабель до 3 м. Низкоскоростные кабели и устройства дешевле высокоскоростных. Одна и та же система может одновременно использовать оба режима; переключение для устройств осуществляется прозрачно. Низкая скорость предназначена для работы с небольшим количеством ПУ, не требующих высокой скорости. Скорость, используемая устройством, подключенным к конкретному порту, определяется хабом по уровням сигналов на линиях D+ и D-, смещаемых нагрузочными резисторами R2 приемопередатчиков

  1. Кодирование данных при передаче по шине USB.

  1. Питание USB-устройств. Управление энергопотреблением.

  1. Внутренняя организация шины USB. Логические уровни обмена данными.

  1. Типы передач данных, используемые в шине USB. Конечные точки и каналы USB.

Каждое устройство USB представляет собой набор независимых конечных точек (Endpoint), с которыми хост-контроллер обменивается информацией. Конечные точки описываются следующими параметрами:

* требуемой частотой доступа к шине и допустимыми задержками обслуживания;

* требуемой полосой пропускания канала;

* номером точки;

* требованиями к обработке ошибок;

* максимальными размерами передаваемых и принимаемых пакетов;

* типом обмена;

* направлением обмена (для сплошного и изохронного обменов).

Каждое устройство обязательно имеет конечную точку с номером 0, используемую для инициализации, общего управления и опроса его состояния. Эта точка всегда сконфигурирована при включении питания и подключении устройства к шине. Оно поддерживает передачи типа "управление" (см. далее).

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

Каналом (Pipe) в USB называется модель передачи данных между хост-контроллером и конечной точкой (Endpoint) устройства. Имеются два типа каналов: потоки (Stream) и сообщения (Message). Поток доставляет данные от одного конца канала к другому, он всегда однонаправленный. Один и тот же номер конечной точки может использоваться для двух поточных каналов - ввода и вывода. Поток может реализовывать следующие типы обмена: сплошной, изохронный и прерывания. Доставка всегда идет в порядке "первым вошел - первым вышел" (FIFO); с точки зрения USB, данные потока неструктурированы. Сообщения имеют формат, определенный спецификацией USB. Хост посылает запрос к конечной точке, после которого передается (принимается) пакет сообщения, за которым следует пакет с информацией состояния конечной точки. Последующее сообщение нормально не может быть послано до обработки предыдущего, но при отработке ошибок возможен сброс необслуженных сообщений. Двухсторонний обмен сообщениями адресуется к одной и той же конечной точке. Для доставки сообщений используется только обмен типа "управление".

С каналами связаны характеристики, соответствующие конечной точке (полоса пропускания, тип сервиса, размер буфера и т. п.). Каналы организуются при конфигурировании устройств USB. Для каждого включенного устройства существует канал сообщений (Control Pipe 0), по которому передается информация конфигурирования, управления и состояния.

5. Типы передачи данных

USB поддерживает как однонаправленные, так и двунаправленные режимы связи. Передача данных производится между ПО хоста и конечной точкой устройства. Устройство может иметь несколько конечных точек, связь с каждой из них (канал) устанавливается независимо.

Архитектура USB допускает четыре базовых типа передачи данных:

* Управляющие посылки (Control Transfers), используемые для конфигурирования во время подключения и в процессе работы для управления устройствами. Протокол обеспечивает гарантированную доставку данных. Длина поля данных управляющей посылки не превышает 64 байт на полной скорости и 8 байт на низкой.

* Сплошные передачи (Bulk Data Transfers) сравнительно больших пакетов без жестких требований ко времени доставки. Передачи занимают всю свободную полосу пропускания шины. Пакеты имеют поле данных размером 8, 16, 32 или 64 байт. Приоритет этих передач самый низкий, они могут приостанавливаться при большой загрузке шины. Допускаются только на полной скорости передачи.

* Прерывания (Interrupt) - короткие (до 64 байт на полной скорости, до 8 байт на низкой) передачи типа вводимых символов или координат. Прерывания имеют спонтанный характер и должны обслуживаться не медленнее, чем того требует устройство. Предел времени обслуживания устанавливается в диапазоне 1-255 мс для полной скорости и 10-255 мс - для низкой.

* Изохронные передачи (Isochronous Transfers) - непрерывные передачи в реальном времени, занимающие предварительно согласованную часть пропускной способности шины и имеющие заданную задержку доставки. В случае обнаружения ошибки изохронные данные передаются без повтора - недействительные пакеты игнорируются. Пример - цифровая передача голоса. Пропускная способность определяется требованиями к качеству передачи, а задержка доставки может быть критичной, например, при реализации телеконференций.

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

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

Изохронные передачи классифицируются по способу синхронизации конечных точек - источников или получателей данных - с системой: различают асинхронный, синхронный и адаптивный классы устройств, каждому из которых соответствует свой тип канала USB.

  1. Периферийные устройства USB. Использование микросхем фирмы FTDI в качестве преобразователей в последовательный и параллельный интерфейсы.

D0…D7– двунаправленная шина данных в прямом коде (1 – высокий уровень, 0 – низкий уровень) с тремя состояниями;

RD#– вход строба читаемых данных. Когда наRD# низкий уровень данные из приёмного буфера типаFIFOдлиной 128 байт микросхемыFT8U245AMпоявляются на шинеD0…D7, если хотя бы один байт присутствует в буфере. По переходу от низкого уровня к высокому уровню данные снимаются с шины данных;

WR– вход строба записываемых данных. Данные с шиныD0…D7 попадают в буфер передачи типаFIFOдлиной 384 байта микросхемыFT8U245AMпо переходу от высокого уровня к низкому уровню на выводеWRпри условии, что этот буфер не заполнен полностью;

TXE#– выход наличия места в буфере передачи микросхемыFT8U245AM. Когда на этом выводе низкий уровень, данные могут быть переданы в буфер передачи по шинеD0…D7;

RXF# – выход наличия данных в приёмном буфере микросхемыFT8U245AM. Когда на этом выводе низкий уровень, данные могут быть прочитаны по шинеD0…D7;

Рис. 1. Временная диаграмма цикла чтения.

Рис.2. Временная диаграмма цикла записи.

  1. Интерфейс I2C. Последовательные шины на базе I2C. Основные технические характеристики шины I2C.

I2C – двухпроводной интерфейс, разработанный корпорацией Philips. В первоначальном техническом требовании к интерфейсу максимальная скорость передачи данных составляла 100 Кбит/с. Однако со временем появились стандарты на более скоростные режимы работы I2C. К одной шине I2C могут быть подключены устройства с различными скоростями доступа, так как скорость передачи данных определяется тактовым сигналом.

Протокол передачи данных разработан таким образом, чтобы гарантировать надежный прием передаваемых данных.

При передаче данных одно устройство является «Master», которое инициирует передачу данных и формирует сигналы синхронизации. Другое устройство «Slave» - начинает передачу только по команде, пришедшей от «Master».В микроконтроллерах PIC16CXXX аппаратно реализован режим «Slave» устройства в модуле SSP. Режим «Master» реализуется программно.Основные термины, используемые при описании работы с шиной I2C:

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

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

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

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

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

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

Синхронизация – процедура синхронизации тактового сигнала от двух или более устройств

Выходные каскады формирователей сигналов синхронизации (SCL) и данных (SDA) должны быть выполнены по схемам с открытым коллектором (стоком) для объединения нескольких выходов и через внешний резистор подключены к плюсу питания для того, чтобы на шине был уровень «1», когда ни одно устройство не формирует сигнал «0». Максимальная емкостная нагрузка ограничена емкостью 400 пФ.

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

Каждое устройство распознается по уникальному адресу и может работать как передатчик или приёмник, в зависимости от назначения устройства.

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

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

Процедура синхронизации двух устройств Эта процедура основана на том, что все I2C-устройства подключаются к шине по правилу монтажного И. В исходном состоянии оба сигнала SDA и SCL находятся в высоком состоянии.

  1. Протокол передачи данных по шине I2C. Назначение сигналов шины I2C. Временные диаграммы процедуры передачи данных.

Принцип работы

Физически шина I2C представляет собой двухпроводный интерфейс с двунаправленными линиями последова-

тельной синхронизации (SCL) и линии передачи данных (SDA). Шина I2C поддерживает несколько ведомых и ведущих устройств, но одновременно может быть активно только одно ведущееустройство. Любое устройство I2Cможно подключить к шине и осуществлять обмен данными с ведущим устройством. Все устройства распознаются по уникальному адресу и могут использоваться в качестве передатчикаили приемника, в зависимости от ихфункций. Изначально в шине I2C использовались 7-разрядные адреса,сейчас – 10-разрядные. Поддержива-

ется три скорости передачи битов: 100кбит/с (стандартный режим), 400 кбит/с(быстрый режим) и 3,4 Мбит/с (быстро-действующий режим). Максимальноеколичество подключаемых устройствопределяется максимальной емкостью400 пФ или примерно 20-30 устройств.Стандарт I2C определяет следующийформат, представленный на рис. 4:

– Start (Старт) – указывает, что управление шиной передано устройству ибудет передано сообщение

– Address (Адрес) – 7- или 10разрядный номер, соответствующийадресу устройства, с которого будут

считываться данные или на котороебудут записываться данные.

– R/W Bit (Бит чтения/записи) – одинбит, указывающий, что данные будут считываться с одного устройст-

ва или записываться в другое устройство

– Ack (Подтверждение) – один бит сведомого устройства с подтверждением действия ведущего устройст-

ва. Как правило, подтверждениетребуется для каждого адреса ибайта данных, но не всегда.

– Data (Данные) – целое число байт,считываемых или записываемыхустройством.

– Stop (Стоп) – указывает на завершение сообщения, ведущее устройство освобождает шину.

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

Сигналы START и STOP формируются «Master» для определения начала и окончания передачи данных соответственно.

Сигнал START формируется переходом сигнала SDA из высокого уровня в низкий при высоком уровне сигнала SCL. Сигнал STOP определяется как переход SDA из низкого уровня в высокий при высоком уровне SCL. Таким образом, при передаче данных сигнал SDA может изменяться только при низком уровне сигнала SCL.