Логотип



Начинающим о AVR микроконтроллерах

материалы в категории

Что такое протоколы в AVR микроконтроллерах

Протокол в микроконтроллерах это своего рода соглашение о том каким образом будет происходить обмен информацией между объектами.

Ну то есть если по-простому, то выглядит это примерно так: два человека заранее договариваются каким образом они будут поддерживать связь: через е-мэйл, через СМС- сообщения или вообще при помощи азбуки Морзе...

Соответственно, устанавливать эти соглашения можно по-разному. Например, существует сетевая модель OSI – крутая в определённых кругах, однако тут мы её рассматривать не будем, рассмотрим лучше следующие уровни, где могут формироваться протоколы:

  • физический: тут определяется среда передачи сигнала. Например, для протокола разговора людей это будет воздух, для электроники - провода. Тут также учитываются физические характеристики сигнала: для разговора необходим звук с частотой 16 – 20000 Гц, а для передачи сигнала – определённый уровень напряжения в проводах (смена уровня)
  • информационный уровень – тут устанавливается механизм передачи 1 единицы информации – бита, звука, слова, байта и т. д.
  • логический уровень - тут происходит передача уже смысла в виде предложений, команд. Именно здесь описываются правила начала и завершения разговора, очередности реплик, сами команды и прочее, а также правила адресации и подчинённости.

Итак, протоколы бывают разными. Выделяют кучу разных группировок, но мы рассмотрим следующие разбиения» протоколов:

синхронные и асинхронные протоколы

При использовании синхронных протоколов, понятное дело, идет постоянная синхронизация приёмника передатчиком . То есть передатчик у нас – как бы дирижёр а все приёмники – остальной оркестр. Когда дирижёр скажет играть – то бишь, читать – тогда остальные и начнут действовать.

Реализацией синхронизации может быть согласование таймеров, или, например, может быть выделена отдельная линия для передачи импульсов типа «прочитай сейчас».

Вот как это примерно выглядит:

синхронный протокол

Нижняя линия связи – информационная, по ней мы и передаём наши данные, а вот верхняя  – «временная», как только на ней уровень сигнала переходит с 0 в 1 – приёмнику можно считывать бит.

В асинхронных же протоколах приёмник считает, что передатчик точно работает с ним на одной и той же частоте. В том же оркестре – это как если бы каждый музыкант ориентировался по своему метроному. И понятно, что если вдруг у нас эти самые частоты не совпадают, то приёмник получает полную лабуду вместо информации...

То есть через равные промежутки времени наш приёмник будет считывать единицу информации.

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

параллельный и последовательный протокол

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

параллельный и последовательный порт

Дуплексный, полудуплексный и однонаправленный протокол

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

Полудуплексные же используют один канал связи попеременно для передачи и для приёма данных. При этом одновременное использование линии связи для передачи либо невозможно физически, либо –а-та-та! – приводит к так называемой коллизии.

Так, например, разговор по телефону – это дуплексная связь, а по рации – уже полудуплексная.

Ну и особняком стоят однонаправленные, они же симплексные, протоколы – тут, понятно, есть передатчик и приёмники, и ролями они не меняются.

Источникhttp://avr.ru

Почта сайта