Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Стандартные интерфейсы связи



Интерфейсы связи

 

Интерфейс — совокупность средств и методов взаимодействия между элементами системы.

 

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

 

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

 

Разные протоколы зачастую описывают лишь разные стороны одного типа связи; взятые вместе, они образуют стек протоколов. Названия «протокол» и «стек протоколов» также указывают на программное обеспечение, которым реализуется протокол.

 

Интерфейс подразумевает стек протоколов.

 

Сетевые протоколы предписывают правила работы компьютерам, которые подключены к сети. Они строятся по многоуровневому принципу. Протокол некоторого уровня определяет одно из технических правил связи. В настоящее время для сетевых протоколов используется модель OSI (Open System Interconnection — Взаимодействие Открытых Систем, ВОС).

 

Модель OSI — это семиуровневая логическая модель работы сети. Модель OSI реализуется группой протоколов и правил связи, организованных в несколько уровней.

На физическом уровне определяются физические (механические, электрические, оптические) характеристики линий связи.

На канальном уровне определяются правила использования физического уровня узлами сети.

Сетевой уровень отвечает за адресацию и доставку сообщений.

Транспортный уровень контролирует очередность прохождения компонентов сообщения, формирует собственно пакеты данных.

Задача сеансового уровня — координация связи между двумя прикладными программами, работающими на разных рабочих станциях.

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

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

 

Физический уровень

USB, RS-232, RS-485, EIA-422(бывш RS-422), а также I2C (I2S), SPI (SSI), 1-Wire, iButton, DMX-512, Controller Area Network (CAN), Ethernet, которые так же входят и в канальный уровень.

 

Канальный уровень

Token ring, FDDI, HDLC, GVRP, PPP, PPTP, L2TP, ATM, xDSL

 

Сетевой уровень

ICMP, IPv4, IPv6, IPX, ARP

 

Транспортный уровень

SPX, TCP, UDP (Unreliable/User Datagram Protocol), SCTP, RDP (Reliable Data Protocol), RUDP (Reliable User Datagram Protocol), RTCP

 

Сеансовый уровень

SSL

 

Уровень представления данных

ASN.1, XML-RPC, TDI, XDR, SNMP, FTP, Telnet, SMTP, NCP

 

Прикладной уровень

Binkp, DHCP (в модели OSI располагают на транспортном уровне), FTP, Finger, DNS, Gnutella, Gopher, HTTP, HTTPS, IMAP, IRC, XMPP, LDAP, NTP, NNTP, POP3, RDP (Remote Desktop Protocol), SSH, SMTP, Telnet, SNMP, SIP

 

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

 

Физический уровень включает в себя описание:

 

· физической природы сигнала – оптический (ИК, лазерная), радио, электрический (проводная).

· физической природы канала – «эфир», оптико-волоконный кабель, провода.

· физических параметров сигнала - тип сигнала (ток, напряжение, значения)

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

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

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

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

· вид передаваемых данных – пакетный, потоковый.

 

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

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

 

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

 

Поэтому следует различать две скорости передачи данных:

· Физическая, канальная скорость - скорость, с которой данные передаются от передатчика к приемнику в физической среде.

· Пользовательская скорость данных – скорость, с которой передаются пользовательские (полезные) данные.

 

 

Топологии сетей

Точка-точка (рис. 1) – абоненты связаны в последовательную цепь. У каждого абонента есть два двунаправленных коммуникационных порта, с помощью которых он связан с соседними. Передача данных идет последовательно через соседних абонентов, т.е. для передачи данных от 1 к 3, 1 передает данные 2, 3 передает их 3.

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

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

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

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

 

Звезда (рис. 3) – вариант топологии точка-точка в которой все однопортовые абоненты подключены к одному многопортовому, который осуществляет ретрансляцию данных между общающимися абонентами. При этом абонент 2 обычно является специализированным устройством, занимающимся только этим – коммутатор.

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

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

Шина (рис. 4) – все абоненты подключены параллельно к общим линиям передачи данных.

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

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

 

Последовательный интерфейс I2С

 

I²C (русск. ай-ту-си) — последовательная шина данных для связи интегральных схем, разработанная фирмой Philips в начале 1980-х как простая шина внутренней связи для создания управляющей электроники. Используется для соединения низкоскоростных периферийных компонентов с материнской платой, встраиваемыми системами и мобильными телефонами. Название представляет собой аббревиатуру слов Inter-Integrated Circuit. 1 октября 2006 года отменены лицензионные отчисления за использование протокола I²C. Однако, отчисления сохраняются для выделения эксклюзивного подчинённого адреса на шине I²C.

 

I²C использует две двунаправленных линии, подтянутые к напряжению питания и управляемые через открытый коллектор или открытый сток — последовательная линия данных (SDA, англ. Serial DAta) и последовательная линия тактирования (SCL, англ. Serial CLock), обе нагруженные резисторами. Стандартные напряжения +5 В или +3,3 В, однако допускаются и другие.

 

Классическая адресация включает 7-битное адресное пространство с 16 зарезервированными адресами. Это означает до 112 свободных адресов для подключения периферии на одну шину.

 

Основной режим работы — 100 кбит/с; 10 кбит/с в режиме работы с пониженной скоростью. Заметим, что стандарт допускает приостановку тактирования для работы с медленными устройствами.

 

После пересмотра стандарта в 1992 году становится возможным подключение ещё большего количества устройств на одну шину (за счёт возможности 10-битной адресации), а также большую скорость до 400 кбит/с в скоростном режиме. Соответственно, доступное количество свободных узлов выросло до 1008. Максимальное допустимое количество микросхем, подсоединенных к одной шине, ограничивается максимальной емкостью шины в 400 пФ.

 

Версия стандарта 2.0, выпущенная в 1998 году представила высокоскоростной режим работы со скоростью до 3,4 Мбит/с с пониженным энергопотреблением. Последняя версия 2.1 2001 года включила лишь незначительные доработки.

 

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

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

Во время первого байта данных можно передавать адрес в памяти, который записывается во внутренний регистр-защелку. После повторения сигнала СТАРТа и адреса ведомого выдаются данные из памяти. Все решения об авто-инкременте или декременте адреса, к которому произошел предыдущий доступ, принимаются конструктором конкретного устройства. Поэтому, в любом случае лучший способ избежать неконтролируемой ситуации на шине перед использованием новой (или ранее не используемой) ИМС следует тщательно изучить ее описание (datasheet или reference manual), получив его с сайта производителя. Более того, производители часто размещают рядом более подробные инструкции по применению.

 

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

 

Тем не менее основные проблемы с использованием I2C шины возникают именно из-за того, что разработчики, «начинающие» работать с I2C шиной не учитывают того факта, что ведущий (часто — микропроцессор) не имеет монопольного права ни на одну из линий шины.

 

Преимущества

 

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

· используется всего две линии ввода-вывода общего назначения;

· стандарт предусматривает «горячее» подключение и отключение устройств в процессе работы системы

· встроенный в микросхемы фильтр подавляет всплески, обеспечивая целостность данных.

 

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

 

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

· блоки на функциональной схеме соответствуют микросхемам, переход от функциональной схемы к принципиальной происходит быстро.

· нет нужды разрабатывать шинные интерфейсы, так как шина уже интегрирована в микросхемы.

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

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

· время разработки снижается, так как конструкторы быстро знакомятся с часто используемыми функциональными блоками и соответствующими микросхемами.

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

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

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

 

Последовательный интерфейс SPI

 

Введение

 

SPI - популярный интерфейс для последовательного обмена данными между микросхемами. Интерфейс SPI, наряду с I2C, относится к самым широко-используемым интерфейсам для соединения микросхем. Изначально он был придуман компанией Motorola, а в настоящее время используется в продукции многих производителей. Его наименование является аббревиатурой от 'Serial Peripheral Bus', что отражает его предназначение - шина для подключения внешних устройств. Шина SPI организована по принципу 'ведущий-подчиненный'. В качестве ведущего шины обычно выступает микроконтроллер, но им также может быть программируемая логика, DSP-контроллер или специализированная ИС. Подключенные к ведущему шины внешние устройства образуют подчиненных шины. В их роли выступают различного рода микросхемы, в т.ч. запоминающие устройства (EEPROM, Flash-память, SRAM), часы реального времени (RTC), АЦП/ЦАП, цифровые потенциометры, специализированные контроллеры и др.

 

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

 


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 640; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.131 с.)
Главная | Случайная страница | Обратная связь