Принцип действия шины TWI




Двухпроводной интерфейс (TWI) подключается к простой двухпроводной и двунаправленной шине, которая состоит из двух линий: линия синхронизации (SCL) и линия последовательной передачи данных (SDA). Источниками сигналов для обеих линий являются схемы с открытым коллектором в выходном каскаде (используется принцип "монтажного И"). Для создания высоких логических уровней на линиях шины, в т.ч. когда к шине не подключено ни одно устройство, необходимы подтягивающие к плюсу питания резисторы (Rp) — единственно необходимые внешние компоненты. Альтернативно, вместо подтягивающих резисторов могут использоваться источники тока.

Шина TWI является простым и эффективным средством соединения по последовательной шине нескольких устройств.Устройство, подключенное к шине, может быть либо ведущим (master), либо подчиненным (slave). Чтобы передача по шине стала возможной, к ней должно быть подключено как минимум одно ведущее устройство.

Топологию шины TWI иллюстрирует рисунок 9.

 

 

Рис. 9. Топология шины TWI

 

Каждое подключенное к шине подчиненное устройство должно иметь собственный неповторяющийся адрес, передачей которого ведущее устройство инициирует транзакцию. Могут использоваться 7- или 10-битные адреса. К одной шине допускается подключение нескольких ведущих устройств. Такая шина называется мультимастерной. Для определения, какое из одновременно осуществляющих доступ к шине ведущих устройств имеет приоритет, используется механизм арбитража.Устройство может содержать, как логику ведущего устройства, так и логику подчиненного устройства. Кроме того, оно может эмулировать работу нескольких подчиненных устройств, путем реагирования на несколько адресов.Ведущее устройство сигнализирует о начале транзакции генерацией на шине условия START (S). Затем, передается пакет адреса с адресом подчиненного устройства (ADDRESS) и указание желаемого направления передачи данных, т.е. чтение или запись (R/W). По завершении передачи всех пакетов данных (DATA), ведущее устройство генерирует на шине условие STOP (P) и транзакция завершается. После приема каждого байта получатель данных генерирует бит подтверждения (A или ACK) или неподтверждения (/A или NACK).
Транзакция шины TWI показана на рисунке 10.

 

 

Рисунок 10. Структура базовой транзакции шины TWI

 

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

CAN BUS

CAN (Control AreaNetwork) — последовательная магистраль, обеспечивающая увязку в сеть "интеллектуальных" устройств ввода/вывода, датчиков и исполнительных устройств некоторого механизма или даже предприятия. Характеризуется протоколом, обеспечивающим возможность нахождения на магистрали нескольких ведущих устройств, обеспечивающим передачу данных в реальном масштабе времени и коррекцию ошибок, высокой помехоустойчивостью. Система CAN обеспечена большим количеством микросхем, обеспечивающих работу подключенных к магистрали устройств, разработку которых начинала фирма BOSH для использования в автомобилях, и в настоящее время широко используемых в автоматизации промышленности.
Предназначен для организации высоконадежных недорогих каналов связи в распределенных системах управления. Интерфейс широко применяется в промышленности, энергетике и на транспорте. Позволяет строить как дешевые мультиплексные каналы, так и высокоскоростные сети.Скорость передачи задается программно и может быть до 1 Мбит/с. Пользователь выбирает скорость, исходя из расстояний, числа абонентов и емкости линий передачи.Максимальное число абонентов, подключенных к данному интерфейсу фактически определяется нагрузочной способностью примененных приемопередатчиков. Например, при использовании трансивера фирмы PHILIPS PCA82C250 она равна 110.Протокол CAN использует оригинальную систему адресации сообщений. Каждое сообщение снабжается идентификатором, который определяет назначение передаваемых данных, но не адрес приемника. Любой приемник может реагировать как на один идентификатор, так и на несколько. На один идентификатор могут реагировать несколько приемников.Протокол CAN обладает развитой системой обнаружения и сигнализации ошибок. Для этих целей используется поразрядный контроль, прямое заполнение битового потока, проверка пакета сообщения CRC-полиномом, контроль формы пакета сообщений, подтверждение правильного приема пакета данных. Хемминговый интервал d=6. Общая вероятность необнаруженной ошибки 4.7x10-11.Система арбитража протокола CAN исключает потерю информации и времени при "столкновениях" на шине.Интерфейс с применением протокола CAN легко адаптируется к физической среде передачи информации. Это может быть дифференциальный сигнал, оптоволокно, просто открытый коллектор и т.п. Несложно делается гальваническая развязка.Элементная база, поддерживающая CAN, широко выпускается в индустриальном исполнении.Полная спецификация СAN приведена здесь —www.gaw.ru/data/Interface/CAN_BUS.PDF

Описание интерфейса CAN

Интерфейс CAN предназначен для организации последовательных, высоконадёжных и недорогих каналов связи в распределённых системах управления. Он позволяет организовывать как мультиплексные каналы, так и высокоскоростные сети. Данный интерфейс имеет протокол, поддерживающий возможность нахождения на магистрали нескольких ведущих устройств и обеспечивает передачу данных в реальном масштабе времени.Интерфейс обладает высокой помехоустойчивостью благодаря коррекции ошибок. Передача данных осуществляется кадрами, которые принимаются всеми устройствами сети. Кадр состоит из идентификатора длиной 11 бит для стандартного формата или 29 бит для расширенного формата и блока данных, содержащего от 0 до 8 байт. Идентификатор описывает содержимое пакета данных и служит для определения приоритета при попытке одновременной передачи несколькими устройствами.Скорость передачи данных выбирается исходя из расстояния, числа абонентов в сети и ёмкости линии связи. Она задаётся программно и может составлять от десятка Кбод до единиц Мбод.Стандарт интерфейса CAN определяет передачу данных независимо от физического уровня, т.е. канал связи может быть каким угодно, например, радиоканалом или оптоволокном. Однако на практике под CAN-интерфейсом обычно подразумевается сеть с физическим каналом связи в виде дифференциальной пары проводов, определённым в стандарте ISO 11898. На рисунке 11 приведена схема подключения устройств к интерфейсу CAN.

 

 

Рис. 11. Схема подключения устройств к интерфейсу CAN

 

Стандартное назначение выводов для широко распространённого 9-контактного разъёма интерфейса CAN приведено на рисунке 12.

 

 

Рис. 12. Стандартное назначение выводов для 9-контактного разъёма CAN-интерфейса

 

Интерфейс CAN относится к типу сетей CR (CollisionResolution, разрешение коллизий), в отличие от сетей типа CD (CollisionDetect, обнаружение коллизий), например Ethernet. Тип сетей CR обеспечивает приоритетный доступ к передаче сообщения, что необходимо для промышленных устройств.Приоритетный доступ к передаче сообщений в стандарте ISO-11898 реализуют так называемые рецессивные и доминантные биты. В зависимости от типа шины, объединяющей устройства CAN, эти биты могут принимать значение лог. 0 либо лог. 1. В таблице приведены два примера организации шин, поясняющие образование управляющих битов.

 

 

Спецификация интерфейса CAN избегает описания двоичных значений сигналов, как лог. 0 либо лог. 1, с целью абстрагирования от среды передачи. Именно поэтому вместо них применяются термины «рецессивный» и «доминантный» биты. При этом подразумевается, что при передаче одним устройством сети рецессивного бита, а другим доминантного, принят будет доминантный бит. Например, при реализации физического уровня с помощью радиоканала отсутствие сигнала означает рецессивный бит, а наличие сигнала — доминантный.Стандарт сети требует от физического уровня передачи, чтобы доминантный бит мог подавить рецессивный, но не наоборот. Например, в оптическом волокне доминантному биту должен соответствовать свет, а рецессивному — его отсутствие. В электрическом проводе рецессивное состояние соответствует высокому потенциалу на линии связи, а доминантное — низкому потенциалу, т.е. когда устройство подключает линию связи к нулевому потенциалу. Если линия находится в рецессивном состоянии, перевести её в доминантное состояние может любое устройство сети, например, включив свет в оптоволокне.

Кадры и их форматы

Кроме рецессивного и доминантного битов, стандарт интерфейса CAN оперирует таким понятием, как кадр, который используется в протоколе обмена информацией между устройствами. Каждый кадр представляет собой единый набор нескольких служебных битов и байтов. Существуют следующие виды кадров:• кадр данных (dataframe) служит для передачи данных;• кадр запроса передачи (remoteframe) служит для запроса на передачу кадра данных с тем же идентификатором;• кадр перегрузки (overloadframe) обеспечивает промежуток между кадрами данных или кадрами запросов;• кадр ошибки (errorframe) передаётся узлом, обнаружившим ошибку.В таблицах ниже представлены базовый формат и расширенный формат кадра данных.

Графическое представление данных кадров, с пояснениями и порядком следования бит, приведено на рисунках 13 и 14 соответственно. Межкадровый интервал служит для разделения кадров между собой и состоит как минимум из трёх рецессивных бит. Он необходим передающему устройству для подготовки очередного кадра.

 

 

Рис. 13. Стандартный кадр данных

 

 

Рис. 14. Расширенный кадр данных

 

Арбитраж доступа к шине

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-10-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: