Шины интерфейса

Максим Исаев
Время чтения: 6 мин
5 241
Дата обновления: 01.07.2024

Интерфейс шины данных

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

Шина I2C

I2C (Inter Integrated Circuit) – простая двунаправленная шина обмена данных. Имеет в своей конструкции два провода. Разработана компанией Philips в 80-х годах. Широко применяется в интегральной схемотехнике. Шина сконструирована как простая сигнальная.

Провода имеют следующие названия:

  • SDA (Serial Data) – шина данных
  • SCL – (Serial Clock) – тактовая шина
Структурная схема шины I2C
Структурная схема шины I2C

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

Данные могут формироваться как MASTER, так и другими “подчиненными” устройствами:

  • измерители
  • АЦП
  • ЖКИ
  • память
  • электронные датчики
  • др.

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

Стандарт шины имеет наличие адреса. Выделяется 7 бит, то есть два в седьмой степени, и означает количество устройств порядка 100.

Частоты на шине f = 100 – 10 кбит/с. Поэтому она является низкоскоростной. Общая емкость по шине не должно превышать 400 пФ (которое складывается из всех подключаемых к ней устройств). Питание на шине может быть:

  • 3,3 V
  • 5,0 V

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

Алгоритм передачи данных следующий:

  1. Данные могут меняться, когда на шине SCL присутствует 0 (логический уровень). Если на SCL присутствует 1 (логический уровень), данные меняться не могут. В данном случае возникают две ситуации, когда на шине SCL происходит переход:
    1. из 1 в 0
    2. из 0 в 1

Это означает, что MASTER хочет обменяться информацией с “подчиненными” устройствами и подает команду “ВНИМАНИЕ”. При переходе: 

  • из 1 в 0 – стартовая ситуация
  • из 0 в 1 – стоповая ситуация 

Важно помнить, что сигнал SCL может формировать только MASTER.

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

Преимущества шины I2C:

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

Недостатки шины I2C:

  • ограничение по емкости
Организация передачи и приема данных по шине I2C
Организация передачи и приема данных по шине I2C

Шина SPI

SPI (Serial Peripheral Interface) – четырех проводной интерфейс, применяется в схемах с микроконтроллерами. Обеспечивает синхронный дуплексный обмен данными. SPI работает по принципу сдвигового регистра. Регистры находятся в разных устройствах. Одно из них является MASTER. Это может быть микроконтроллер с тактовым генератором имеющий определенную программу.

Другим устройством может быть:

  • память
  • датчик температуры
  • принтер
  • др.

Для обмена информацией между мастером и устройствами используются сигналы INPUT и OUTPUT. Название шин образовалось от сокращенных слов устройств и сигналов:

  • MISO – Master Input Slave Output
  • MOSI – Master Output Slave Input

Основной сигнал в этой шине является SLK (CLOCK).

Когда микроконтроллер работает с несколькими устройствами, будут необходимы дополнительные сигналы, для выбора соответствующего устройства с которым будет происходить обмен. В этом случае потребуется сигнал выборки – SS (Slave Select). Если устройств N, то увеличивается количество выводов от MASTER. При этом сигналы поступающие от MASTERA идут параллельно. 

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

Схема SPI шины
Схема SPI шины

Преимущества шины SPI:

  • простота реализации
  • полный дуплекс – передача данных от мастера к устройству и в обратном направлении за один такт
  • низкие требования к стабильности тактовых импульсов, так как передача данных начинается по фронту SCLK
Шина SPI
Шина SPI

Недостатки шины SPI:

  • отсутствие контроля. Например обрыв шин MISO или MOSI, накладывается при помощи программных средств

Шина USB

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

На данный момент шина имеет три стандарта отличающихся скоростью передачи данных:

  • USB 1 примерно 12 МБит/с
  • USB 2 примерно 450 МБит/с
  • USB 3 примерно 5 ГБит/с

Шина USB является асимметричной и работает по типу MASTER-SLAVE. Драйвера у шины разные. Один из них Downstream – управляет поведением шины данных от устройства

Шина устройства представляет из себя четыре проводника, являющихся сигнальными проводами обернутыми в защитную землю. Провода идут со стандартной цветовой маркировкой: красный, белый, зеленый, черный. По красному и черному проводу передается напряжение питания – 5V. И рассчитано на ток в 100 мА для одного устройства. К одному устройству можно подключать до 5 внешних устройств, соответственно до 500 мА.

Схема подключения устройства имеет следующий вид:

Схема подключения
Схема подключения

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

Второй драйвер – Upstream. Расположен на стороне приемника, управляется кодером для передачи данных, аналогично как Downstream.

Разъемы подключения шин имеют следующий вид:

Схема подключения USB портов
Схема подключения USB портов

Шина CAN

Шина CAN разработана для применения в автомобилях. Эта представляет из себя два провода в форме витой пары, замкнутые резисторами по 120 Ом. Так как волновое сопротивление шины составляет 120 Ом. В связи с этим на ней нет отражающих сигналов что является большим преимуществом при помехоустойчивости.

К шине подключается любое количество приемо-передатчиков. От которых формируются сигналы. Если сигналы не приходят на шину, на обоих проводах напряжение составляет 2,5V. При поступлении сигнала формируется разность напряжения, причем на одном из проводов (высокий уровень) поднимается напряжение до 3,5V. А на втором проводе (низкий уровень) напряжение падает до 1,5V.

Таким образом между проводами образуется напряжение в 2,0V, которое фиксируется всеми устройствами как поступивший сигнал. Если есть 2,0V между проводами, то сигнал есть. Если нет этой разницы, то сигнала нет. Поэтому, если есть сигнал то уровень активный. Это означает что на входе приемопередатчика присутствует логический 0. А если есть логическая единица на входе приемопередатчика это означает сигнала нет. Ноль формируется если на проводе высокого уровня есть сигнал.

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

CAN шина может быть протяженностью до 1000 метров. Ограничением является скорость передачи данных:

  • до 40 метров – 1 МБит/с
  • до 1000 метров – 10 кБит/с 

В настоящее время существуют различные приемопередатчики с шиной CAN. Также выпускаются контроллеры с этой шиной.

Выводы:

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

Комментарии

5 2 голоса
Оцените материал
Подписаться
Уведомить о
guest

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии