По шине данных происходит обмен между мастером и различными электронно-техническими устройствами, по определенным сигналам подаваемыми ведущим устройством на ведомые. Данные передаются по специальному протоколу разработанному компанией производителем. В шине присутствует стартовые и стоповые биты. Биты предназначены для понимания микроконтроллером что необходимо осуществлять по импульсу фронта или спада, передачу или прием. Более подробно принцип действия и логику работы шин изучаем на курсе по электронике и схемотехнике.
I2C (Inter Integrated Circuit) – простая двунаправленная шина обмена данных. Имеет в своей конструкции два провода. Разработана компанией Philips в 80-х годах. Широко применяется в интегральной схемотехнике. Шина сконструирована как простая сигнальная.
Провода имеют следующие названия:
Устройства подключаемые к шине, присоединяются к каждому из проводов. Основным является MASTER (ведущее устройство). Он формирует тактовые сигналы, начало и конец передачи на шине данных. Таким образом импульсы исходят от него, а данные могут проходить в обе стороны.
Данные могут формироваться как MASTER, так и другими “подчиненными” устройствами:
Все указанные в списке устройства подключаются к шине параллельно. На одной электронной плате, подчиненных устройств может быть большое количество.
Стандарт шины имеет наличие адреса. Выделяется 7 бит, то есть два в седьмой степени, и означает количество устройств порядка 100.
Частоты на шине f = 100 – 10 кбит/с. Поэтому она является низкоскоростной. Общая емкость по шине не должно превышать 400 пФ (которое складывается из всех подключаемых к ней устройств). Питание на шине может быть:
Сигнальные линии подтянуты к питающему устройству через резисторы, сопротивление которых от 5 до 10 кОм. Это важно, так как благодаря этому изменяется паразитная емкость, что в свою очередь влияет на количество SLAVE и скорость передачи информации. Длина шины может достигать нескольких метров.
Алгоритм передачи данных следующий:
Это означает, что MASTER хочет обменяться информацией с “подчиненными” устройствами и подает команду “ВНИМАНИЕ”. При переходе:
Важно помнить, что сигнал SCL может формировать только MASTER.
Преимущества шины I2C:
Недостатки шины I2C:
SPI (Serial Peripheral Interface) – четырех проводной интерфейс, применяется в схемах с микроконтроллерами. Обеспечивает синхронный дуплексный обмен данными. SPI работает по принципу сдвигового регистра. Регистры находятся в разных устройствах. Одно из них является MASTER. Это может быть микроконтроллер с тактовым генератором имеющий определенную программу.
Другим устройством может быть:
Для обмена информацией между мастером и устройствами используются сигналы INPUT и OUTPUT. Название шин образовалось от сокращенных слов устройств и сигналов:
Основной сигнал в этой шине является SLK (CLOCK).
Когда микроконтроллер работает с несколькими устройствами, будут необходимы дополнительные сигналы, для выбора соответствующего устройства с которым будет происходить обмен. В этом случае потребуется сигнал выборки – SS (Slave Select). Если устройств N, то увеличивается количество выводов от MASTER. При этом сигналы поступающие от MASTERA идут параллельно.
В таком случае при поступлении SS на одном выводе, данные передаются только с необходимого устройства выбранного мастером для обмена. Чтобы устройства не мешали работе друг друга при обмене, происходит стробирование, которое осуществляется по сигналу SS для каждого устройства.
Преимущества шины SPI:
Недостатки шины SPI:
Шина USB (Universal Serial Bus) наиболее распространенный способ подключения внешних устройств к материнской плате телевизора, ноутбука и других устройств. Данная шина разработана в 1996 году, широкое применение получила начиная с 2000 года, с появлением первой Flash.
На данный момент шина имеет три стандарта отличающихся скоростью передачи данных:
Шина USB является асимметричной и работает по типу MASTER-SLAVE. Драйвера у шины разные. Один из них Downstream – управляет поведением шины данных от устройства
Шина устройства представляет из себя четыре проводника, являющихся сигнальными проводами обернутыми в защитную землю. Провода идут со стандартной цветовой маркировкой: красный, белый, зеленый, черный. По красному и черному проводу передается напряжение питания – 5V. И рассчитано на ток в 100 мА для одного устройства. К одному устройству можно подключать до 5 внешних устройств, соответственно до 500 мА.
Схема подключения устройства имеет следующий вид:
По белому и зеленому проводу осуществляется дифференциальная передача сигналов. Передача управляется при помощи передатчиков управлений кодером, по соответствующим сигналам.
Второй драйвер – Upstream. Расположен на стороне приемника, управляется кодером для передачи данных, аналогично как Downstream.
Разъемы подключения шин имеют следующий вид:
Шина CAN разработана для применения в автомобилях. Эта представляет из себя два провода в форме витой пары, замкнутые резисторами по 120 Ом. Так как волновое сопротивление шины составляет 120 Ом. В связи с этим на ней нет отражающих сигналов что является большим преимуществом при помехоустойчивости.
К шине подключается любое количество приемо-передатчиков. От которых формируются сигналы. Если сигналы не приходят на шину, на обоих проводах напряжение составляет 2,5V. При поступлении сигнала формируется разность напряжения, причем на одном из проводов (высокий уровень) поднимается напряжение до 3,5V. А на втором проводе (низкий уровень) напряжение падает до 1,5V.
Таким образом между проводами образуется напряжение в 2,0V, которое фиксируется всеми устройствами как поступивший сигнал. Если есть 2,0V между проводами, то сигнал есть. Если нет этой разницы, то сигнала нет. Поэтому, если есть сигнал то уровень активный. Это означает что на входе приемопередатчика присутствует логический 0. А если есть логическая единица на входе приемопередатчика это означает сигнала нет. Ноль формируется если на проводе высокого уровня есть сигнал.
Важным свойством линии является помехозащищенность, так как она изготовлена в форме витой пары и если есть наводки от работы устройств, то они поступают синфазно. И данные наводки не изменяют разницы. Так как приемник реагирует на разницу, то наводка на провода шины одинаковая, а разница напряжений наводки будет равна нулю. Что не влияет на полезный сигнал.
CAN шина может быть протяженностью до 1000 метров. Ограничением является скорость передачи данных:
В настоящее время существуют различные приемопередатчики с шиной CAN. Также выпускаются контроллеры с этой шиной.