IEEE 1284 (Centronics, ECP, EPP)



Мы поможем в написании ваших работ!


Мы поможем в написании ваших работ!



Мы поможем в написании ваших работ!


ЗНАЕТЕ ЛИ ВЫ?

IEEE 1284 (Centronics, ECP, EPP)



IEEE 1284 (порт принтера, параллельный порт, LPT) — международный стандарт параллельного интерфейса для подключения периферийных устройств персонального компьютера.

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

Стандарт позволяет использовать интерфейс в нескольких режимах:

SPP (Standart Paralell Port) — однонаправленный порт, полностью совместим с интерфейсом Centronics.

Nibble Mode — позволяет организовать двунаправленный обмен данными в режиме SPP путём использования управляющих линий (4 бит) для передачи данных от периферийного устройства к контроллеру. Исторически это был единственный способ использовать Centronics для двустороннего обмена данными.

Byte Mode— редко используемый режим двустороннего обмена данными. Использовался в некоторых старых контроллерах до принятия стандарта IEEE 1284.

EPP (Enhanced Parallel Port) — разработан компаниями Intel, Xircom и Zenith Data Systems — двунаправленный порт, со скоростью передачи данных до 2Мб/сек.

ЕСР (Extended Capabilities Port) — разработан компаниями Hewlett-Packard и Microsoft — в дополнение появились такие возможности, как наличие аппаратного сжатия данных, наличие буфера и возможность работы в режиме DMA.

В современных персональных ЭВМ настройку параллельного порта можно осуществлять при помощи функций BIOS

Рассмотрим наиболее простой вариант интерфейса – Centronics (SPP)

Основным назначением интерфейса Centronics (аналог-ИРПР-М) является подключение к компьютеру принтеров различных типов. Поэтому распределение контактов разъема, назначение сигналов, программные средства управления интерфейсом ориентированы именно на это использование. В то же время с помощью данного интерфейса можно подключать к компьютеру и другие внешние устройства, имеющие разъем Centronics, а также специально разработанные УС.

Основным достоинством использования Centronics для подключения УС по сравнению с ISA является значительно меньший риск вывести компьютер из строя. Главный недостаток этого подхода - значительно меньшая скорость обмена. Назначение 25 контактов разъема Centronics приведено в таблице __.

Таблица__

Вывод Наименование Направление Описание
/STROBE Out Strobe (Строб)
D0 Out Data Bit 0
D1 Out Data Bit 1
D2 Out Data Bit 2
D3 Out Data Bit 3
D4 Out Data Bit 4
D5 Out Data Bit 5
D6 Out Data Bit 6
D7 Out Data Bit 7
/ACK In Acknowledge (Подтверждение)
BUSY In Busy (Занято)
PE In Paper End (Конец бумаги)
SEL In Select (Выбор)
/AUTOFD Out Autofeed (Перевод строки)
/ERROR In Error (Ошибка)
/INIT Out Initialize (Инициализация)
/SELIN Out Select In (Выбор)
GND - Signal Ground (Корпус)
GND - Signal Ground (Корпус)
GND - Signal Ground (Корпус)
GND - Signal Ground (Корпус)
GND - Signal Ground (Корпус)
GND - Signal Ground (Корпус)
GND - Signal Ground (Корпус)
GND - Signal Ground (Корпус)

 

Сигналы Centronics имеют следующее назначение (тип выходных каскадов для всех сигналов - ТТЛ):

D0...D7 - 8-разрядная шина данных для передачи из компьютера в принтер. Логика сигналов положительная.

STROBE - сигнал стробирования данных. Данные действительно как по переднему, так и по заднему фронту этого сигнала. Сигнал говорит приемнику (принтеру), что можно принимать данные.

ACK - сигнал подтверждения принятия данных и готовности приемника (принтера) принять следующие данные. То есть здесь реализуется асинхронный обмен.

BUSY - сигнал занятости принтера обработкой полученных данных и неготовности принять следующие данные. Активен также при переходе принтера в состояние off-line или при ошибке, а также при отсутствии бумаги. Компьютер начинает новый цикл передачи только после снятия -АСК и после снятия BUSY.

AUTO FD - сигнал автоматического перевода строки. Получив его, принтер переводит каретку на следующую строку.

Остальные сигналы не являются, вообще говоря, обязательными.

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

SLCT - сигнал готовности приемника. С его помощью принтер говорит о том, что он выбран и готов к работе. У многих принтеров имеет постоянно высокий уровень.

SLCT IN - сигнал принтеру о том, что он выбран и последует передача данных.

ERROR - сигнал ошибки принтера. Активен при внутренней ошибке, переходе принтера в состояние off-line или при отсутствии бумаги. Как видим, здесь многие сигналы дублируют друг друга.

INIT - сигнал инициализации (сброса) принтера. Его длительность не менее 2,5 мкс. Происходит очистка буфера печати.

Временная диаграмма цикла передачи данных представлена на рисунке 1.

 

 

Рис.1. Временные диаграммы цикла передачи данных в Centronics

(все временные интервалы в наносекундах).

 

Перед началом цикла передачи данных компьютер должен убедиться, что сняты сигналы BUSY и -ACK. После этого выставляются данные, формируется строб, снимается строб, и снимаются данные. Принтер должен успеть принять данные с выбранным темпом. При получении строба принтер формирует сигнал BUSY, а после окончания обработки данных выставляет сигнал -ACK, снимает BUSY и снимает -ACK. Затем может начинаться новый цикл.

Все сигналы интерфейса Centronics передаются в уровнях ТТЛ и рассчитаны на подключение одного стандартного входа ТТЛ. Максимальная длина соединительного кабеля по стандарту - 1,8 м.

Как видно из таблицы 1.10, в интерфейсе Centronics для подключения к компьютеру произвольных УС мы можем использовать 17 линий, назначение которых можно выбирать по своему усмотрению.

Формирование и прием сигналов интерфейса Centronics производится путем записи и чтения, выделенных для него портов ввода/вывода. В компьютере может использоваться три порта Centronics, обозначаемых LPT1 (базовый адрес 378h), LPT2 (базовый адрес 278h) и LPT3 (базовый адрес 3BCh). При этом LPT3 используется в том случае, когда контроллер принтера находится на плате графического адаптера Hercules или EGA. Прерывания портов принтеров (IRQ5 для LPT2 и IRQ7 для LPT1) используются очень редко.

Базовый адрес порта используется для передачи принтеру байта данных. Установленные на линиях данные можно считать из этого же порта.

Следующий адрес (базовый + 1) служит для чтения битов состояния принтера (бит 3 соответствует сигналу -EEROR, бит 4 - сигналу РЕ, бит 6 - сигналу -ACK, бит 7 - сигналу BUSY). Последний используемый адрес (базовый + 2) предназначается для записи битов управления принтером (бит 0 соответствует сигналу -STROBE, бит 1 - сигналу -AUTO FD, бит 2 - сигналу -INIT, бит 3 - сигналу -SLCT IN и наконец бит 4, равный единице, разрешает прерывание от принтера).

USB

(книжка по USB)

USB (англ. Universal Serial Bus) — универсальная последовательная шина, предназначенная для подключения периферийных устройств. Шина USB представляет собой последовательный интерфейс передачи данных для среднескоростных и низкоскоростных периферийных устройств.

Разработка спецификаций на шину USB производится в рамках международной некоммерческой организации USB Implementers Forum (USB-IF), объединяющей разработчиков и производителей оборудования с шиной USB.

Для подключения периферийных устройств к шине USB используется четырёхпроводный кабель, при этом два провода (витая пара) в дифференциальном включении используются для приёма и передачи данных, а два провода — для питания периферийного устройства. Благодаря встроенным линиям питания, USB позволяет подключать периферийные устройства без собственного источника питания (максимальная сила тока, потребляемого устройством по линиям питания шины USB, не должна превышать 500 мА).

К одному контроллеру шины USB можно подсоединить до 127 устройств через цепочку концентраторов (они используют топологию «звезда»). В настоящее время широко используются устройства, выполненные в соответствии со спецификацией USB 2.0. Ведётся разработка спецификации USB 3.0. . Спецификация USB 3.0 повышает максимальную скорость передачи информации до 4,8 Гбит/с

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

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

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

 

Рисунок ___ Физическая организация шины USB

 

 

 

Рисунок ___ Логическая архитектура шины USB

 

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

· Устройство подключается к хосту

· Физические соединения устройств между собой осуществляются по топологии многоярусной звезды

· Центром каждой звезды является хаб

· К каждому порту хаба может подключаться периферийное устройство или другой хаб. При этом допускается до пяти уровней каскадирования не считая корневого

Логическая архитектура выглядит как обычная звезда.

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

1. Адресация (означает, что устройство должно отзываться на назначенный ему уникальный адрес и только на него).

2. Конфигурирование (после включения или сброса устройство должно предоставлять нулевой адрес для возможности конфигурирования его портов).

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

4. Энергопотребление (любое устройство при подключении должно потреблять не более 100 мА, после конфигурирования устройство может запросить больший ток, но не более 0,5 А).

5. Приостановка (устройство должно поддерживать приостановку (Suspended mode), при которой потребляемый ток не превышает 500 мкА. Устройство должно автоматически переходить в Suspended mode при прекращении активности ношения).

6. Удаленное пробуждение (эта возможность позволяет приостановленному устройству подать сигнал хосту, который так же находится в приостановленном состоянии).

Свойства хабов.

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

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

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

1. Питание отключено.

2. Отсоединен (не подает сигнал)

3. Запрещен (порт передает только один сигнал сброса)

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

Приостановлен (suspended) – порт передает сигнал перехода в спящий режим, остальные сигналы не передаются

Аппаратное обеспечение шин USB.

На самом высоком уровне к ним относятся кабели и разъемы. Спецификация USB 2.0 определяет три возможных типа используемых кабелей:

1. Стандартный съемный кабель.

2. Высокоскоростной несъемный кабель.

3. Низкоскоростной несъемный кабель.

Стандартный съемный кабель служит для соединения хоста или хаба с устройством. С одной стороны он заканчивается разъемом типа А для подключения к хосту или хабу, а с другой стороны – разъемом типа B или mini B. Несъемный кабель с одной стороны заканчивается разъемом типа А, а с другой стороны жестко присоединен к устройству. Высокоскоростной и полноскоростной кабель должен иметь импеданс 90±15% Ом и полную задержку распространения сигнала 26 н.с. Кабель должен иметь витую пару сигнальных проводников и экранирующую оплетку.

Низкоскоростной кабель предназначен для работы на скоростях до 1,5 Мбайт/с. Вязи с этим к кабелю предъявляются меньшие требования. Он может не иметь пары и экранирующей оплетки. Емкость должна составлять от 200 до 450 пФ. Данные по USB передаются по четырех проводному интерфейсу.

Таблица

Номер контакта Обозначение Цвет провода
V BUS красный
D− белый
D зелёный
GND + чёрный

 

Данные передаются по D+ и D-. Данные по USB передаются в виде дифференциальных сигналов. При этом дифференциальная единица может передаваться путем подтяжки линии D+ к напряжению более 2,8В, а линия D- к напряжению менее 0,3В. Дифференциальный ноль наоборот. Передача по двум проводам не ограничивается дифференциальными сигналами. Каждое устройство имеет линейные приемники сигналов D+ и D-. Это позволяет различать более двух состояний линии. Кроме дифференциального нуля и дифференциальной единицы применяется состояние линейный 0 (когда на входах D+ и D- присутствует логический 0) и линейная 1 (когда на входах D+ и D- присутствует логическая 1). Т.е. различается четыре состояния:

 

SE0, SE1, DIFF0, DIFF1.

 

Кодирование данных.

Все данные по шине USB передаются битовыми последовательностями и кодируются с помощью метода, называемого NRZI (non return to zero invert) или метод возврата к нулю с инвертированием 1. Вместо кодирования логических уровней как уровней напряжения этот метод определяет логический 0 как изменение напряжения, а логическую 1 как неизменное напряжение. Очевидно, что данные содержат нули, то приемнику и передатчику достаточно легко поддерживать синхронизацию так как уровень сигнала будет постоянно меняться.

Рисунок __ Стаффинг

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

Стаффинг может увеличивать количество передаваемых бит на 17%. Но на практике эта величина меньше.

 

 

CAN

www.gaw.ru

Interfaces.by.ru

www.itt-ltd.com

Протокол CAN, разработанный фирмой BOSCH в 80 года 20 века, изначально проектировался для нужд автомобильной промышленности. Разработанный интерфейс оказался настолько удачным, что на настоящий момент он применяется повсеместно. В том числе в промышленной автоматике и в аэрокосмическом приборостроении.

Интерфейс CAN имеет следующие основные характеристики:

Физический уровень передачи данных в CAN - спецификации не определен. Это может быть дифференциальный сигнал, передаваемый по витой паре, оптоволокно, просто открытый коллектор и т.п. Физический уровень (Physical Layer) протокола CAN определяет сопротивление кабеля, уровень электрических сигналов в сети и т.п. Существует несколько физических уровней протокола CAN (ISO 11898, ISO 11519, SAE J2411). В подавляющем большинстве случаев используется физический уровень CAN определенный в стандарте ISO 11898.

ISO 11898 в качестве среды передачи определяет двухпроводную дифференциальную линию с импедансом (терминаторы) 120 Ом (допускается колебание импеданса в пределах от 108 Ом до 132 Ом.

Максимальная скорость сети CAN в соответствие с протоколом равна 1 Mbit/s. При скорости в 1 Mbit/sec максимальная длина кабеля равна примерно 40 метрам. Ограничение на длину кабеля связано с конечной скоростью распространения сигнала и механизмом побитового арбитража (во время арбитража все узлы сети должны получать текущий бит передачи одновременно, те сигнал должен успеть распространится по всему кабелю за единичный отсчет времени в сети.

Скорость передачи задается программно и может быть до 1 Мбит/с. Пользователь выбирает скорость, исходя из расстояний, числа абонентов и емкости линий передачи. Максимальное число абонентов, подключенных к данному интерфейсу фактически определяется нагрузочной способностью примененных приемопередатчиков. Максимальная скорость передачи: 1 Mbit/s при длине линии до 40 м или - 40 Kbit/s при длине линии 1000 м. При этом практически любой CAN – контроллер допускает программирование скорости обмена - от 1 Mbit/s до 10Kbit/s

Сеть на основе интерфейса CAN представлена на рисунке

 

 

Рис. Организация сети на основе интерфейса CAN

 

На рис. 2 приведен пример с тремя наиболее типовыми структурами CAN – узла:

1. микроконтроллер (со встроенным CAN – контроллером) + CAN – трансивер.

2. микроконтроллер (без встроенного CAN – контроллера) + внешний CAN – контроллер + CAN – трансивер.

3. CAN – контроллер + CAN – трансивер.

Первая и вторая структуры применяются в платах с "интеллектом", в которых установлен микроконтроллер, осуществляющий, например, сбор и предобработку данных с каких-либо датчиков и способный самостоятельно передать эти данные по шине CAN. Третья структура используется для плат без "интеллекта", в которых обмен данными невозможен без управления CAN – контроллером извне.

Протокол CAN обладает развитой системой обнаружения и сигнализации ошибок. Для этих целей используется поразрядный контроль, прямое заполнение битового потока ”стаффинг”, проверка пакета сообщения CRC-полиномом, контроль формы пакета сообщений, подтверждение правильного приема пакета данных. Система арбитража протокола CAN исключает потерю информации и времени при "столкновениях" на шине.

Протокол CAN использует оригинальную систему адресации сообщений, а не привычную нам адресацию узлов. Каждое сообщение снабжается идентификатором, который определяет назначение передаваемых данных, но не адрес приемника. Любой приемник может реагировать как на один идентификатор, так и на несколько. На один идентификатор могут реагировать несколько приемников. Метод назначения идентификатора сообщения является главным архитектурным элементом CAN систем, так как идентификатор CAN-сообщения определяет относительный приоритет сообщения и следовательно время обработки сообщения (latency time). Идентификатор сообщений, 11- или 29-битный, также определяет приоритет сообщения в отношении доступа к шине. Этим обеспечиваются эффективные средства для передачи высокоприоритетных сообщений с очень малым временем ожидания, даже при высокой загруженности шины. Система может различать: с 11-битным идентификатором до 2048 различных сообщений, с 29-битным идентификатором - до 512 миллионов сообщений.

Арбитраж шины, согласно CAN-протоколу, основан на схеме арбитража c неразрушающим соперничеством. Так как всем узлам позволено начинать передачу кадров после того, как шина окажется свободной, это может привести к тому, что в одно и то же время сразу несколько узлов начнут передачу (рис. 1). Чтобы предотвратить разрушение одним узлом кадра другого узла, узел во время передачи поля идентификатора и RTR бита контролирует шину. Когда при передаче рецессивного бита (recessive bit) он обнаруживает доминирующий бит (dominant bit),(то есть передатчик обнаруживает, что на шине не те данные что он передает) он освобождает шину, немедленно останавливает передачу и продолжает принимать кадр.

 

 

 

 

Рис. №3.

 

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

Данные в CAN передаются короткими сообщениями-кадрами стандартного формата. В CAN существуют четыре типа сообщений: Data Frame ,Remote Frame,

Error Frame, Overload Frame

Data Frame - это наиболее часто используемый тип сообщения. Он состоит из следующих основных частей: "Начало кадра", "поле арбитража", "поле контроля", "поле данных", "поле CRC", "поле подтверждения", "конец кадра".

Каждая часть имеет определенный формат

Remote Frame - это Data Frame без поля данных и с выставленным битом RTR. Основное предназначение Remote кадра - это инициация одним из узлов сети передачи в сеть данных другим узлом, запрос определенного сообщения.

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

Overload Frame - Имеются два вида перегрузки, которые оба приводят к передаче кадра перегрузки.

1. Внутреннее состояние приёмника, которое требует задержки следующего кадра данных или кадра удаленного запроса данных.

2. Обнаружение бита с лог. "0" в течение поля перерыва в межкадровом пространстве.

Передача кадра перегрузки из-за состояния 1 возможна только в первом битовом интервале перерыва, в то время как кадры перегрузки по состоянию 2 начинают передаваться на следующем битовом интервале после обнаружения бита с лог. "0".

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

 

 

I2C

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

Для увеличения эффективности, упрощения схемотехнических решений, Philips разработала простую двунаправленную двухпроводную шину для так называемого "межмикросхемного" (inter-IC) управления.

Шина получила название - InterIC, или IIC (I2C) шина.

В настоящее время только Philips производит более 150 наименований I2C-совместимых устройств, функционально предназначенных работы в электронном оборудовании различного назначения. В их числе ИС памяти, видеопроцессоров и модулей обработки аудио- и видео-сигналов, АЦП и ЦАП, драйверы ЖК-индикаторов, процессоры со встроенным аппаратным контроллером I2C шины и многое другое.

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

Максимальное допустимое количество микросхем, подсоединённых к одной шине, ограничивается максимальной емкостью шины 400 пФ.

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

 

Рисунок___Архитектура шины I2C.

 

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

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

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

Состояние СТАРТ и СТОП

Процедура обмена начинается с того, что ведущий формирует состояние СТАРТ - ведущий генерирует переход сигнала линии SDA из ВЫСОКОГО состояния в НИЗКОЕ при ВЫСОКОМ уровне на линии SCL. Этот переход воспринимается всеми устройствами, подключенными к шине как признак начала процедуры обмена.

 

Рисунок ___ Старт и стоп условия

 

Генерация синхросигнала - это всегда обязанность ведущего; каждый ведущий генерирует свой собственный сигнал синхронизации при пересылке данных по шине.

Процедура обмена завершается тем, что ведущий формирует состояние СТОП - переход состояния линии SDA из низкого состояния в ВЫСОКОЕ при ВЫСОКОМ состоянии линии SCL.

Состояния СТАРТ и СТОП всегда вырабатываются ведущим. Считается, что шина занята после фиксации состояния СТАРТ. Шина считается освободившейся через некоторое время после фиксации состояния СТОП.

 

Рисунок __- Передача одного бита

 

При передаче посылок по шине I2C каждый ведущий генерирует свой синхросигнал на линии SCL.

После формирования состояния СТАРТ, ведущий опускает состояние линии SCL в НИЗКОЕ состояние и выставляет на линию SDA старший бит первого байта сообщения. Количество байт в сообщении не ограничено.

Спецификация шины I2C разрешает изменения на линии SDA только при НИЗКОМ уровне сигнала на линии SCL.

Данные действительны и должны оставаться стабильными только во время ВЫСОКОГО состояния синхроимпульса.

Для подтверждения приема байта от ведущего - передатчика ведомым - приемником в спецификации протокола обмена по шине I2C вводится специальный бит подтверждения, выставляемый на шину SDA после приема 8 бита данных.

Подтверждение

Таким образом передача 8 бит данных от передатчика к приемнику завершаются дополнительным циклом (формированием 9-го тактового импульса линии SCL), при котором приемник выставляет низкий уровень сигнала на линии SDA, как признак успешного приема байта.

 

Рисунок ___ Передача 8 бит

 

Подтверждение при передаче данных обязательно. Соответствующий импульс синхронизации генерируется ведущим. Передатчик отпускает (ВЫСОКОЕ) линию SDA на время синхроимпульса подтверждения. Приёмник должен удерживать линию SDA в течение ВЫСОКОГО состояния синхроимпульса подтверждения в стабильном НИЗКОМ состоянии.

В том случае, когда ведомый-приёмник не может подтвердить свой адрес (например, когда он выполняет в данный момент какие-либо функции реального времени), линия данных должна быть оставлена в ВЫСОКОМ состоянии. После этого ведущий может выдать сигнал СТОП для прерывания пересылки данных.

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

Синхронизация выполняется с использованием подключения к линии SCL по правилу монтажного И.

Это означает, что ведущий не имеет монопольного права на управление переходом линии SCL из НИЗКОГО состояния ВЫСОКОГО. В том случае, когда ведомому необходимо дополнительное время на обработку принятого бита, он имеет возможность удерживать линию SCL в низком состоянии до момента готовности к приему следующего бита. Таким образом, линия SCL будет находиться в НИЗКОМ состоянии на протяжении самого длинного НИЗКОГО периода синхросигналов.

Устройства с более коротким НИЗКИМ периодом будут входить в состояние ожидания на время, пока не кончится длинный период. Когда у всех задействованных устройств кончится НИЗКИЙ период синхросигнала, линия SCL перейдет в ВЫСОКОЕ состояние. Все устройства начнут проходить ВЫСОКИЙ период своих синхросигналов. Первое устройство, у которого кончится этот период, снова установит линию SCL в НИЗКОЕ состояние. Таким образом, НИЗКИЙ период синхролинии SCL определяется наидлиннейшим периодом синхронизации из всех задействованных устройств, а ВЫСОКИЙ период определяется самым коротким периодом синхронизации устройств.

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

На уровне байта, если устройство может принимать байты данных с большой скоростью, но требует определенное время для сохранения принятого байта или подготовки к приему следующего, то оно может удерживать линию SCL в НИЗКОМ состоянии после приема и подтверждения байта, переводя таким образом передатчик в состояние ожидания.

На уровне битов, устройство такое как микроконтроллер без встроенных аппаратных цепей I2C или с ограниченными цепями может замедлить частоту синхроимпульсов путем продления их НИЗКОГО периода. Таким образом скорость передачи любого ведущего адаптируется к скорости медленного устройства.

Адресация в шине I2C

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

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

В обычном режиме используется 7-битная адресация.

Процедура адресации на шине I2C заключается в том, что первый байт после сигнала СТАРТ определяет, какой ведомый адресуется ведущим для проведения цикла обмена. Исключение составляет адрес "Общего вызова", который адресует все устройства на шине. Когда используется этот адрес, все устройства в теории должны послать сигнал подтверждения. Однако, устройства могут обрабатывать "общий вызов" на практике встречаются редко.

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

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

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

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

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

Комбинация бит 11110ХХ адреса зарезервирована для 10-битной адресации.

В общем виде процесс обмена по шине от момента формирования состояния СТАРТ до состояния СТОП можно проиллюстрировать следующим рисунком :

 

Рисунок ___ Передача нескольких байт по шине I2C.

 

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



Последнее изменение этой страницы: 2016-06-28; просмотров: 291; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 34.207.247.69 (0.018 с.)