- •Микроконтроллеры в комплексах автоматизированных электромеханических систем
- •Воронеж 2014
- •Оглавление
- •Введение
- •1. Сведения о курсе
- •Цель и задачи дисциплины
- •Компетенции обучающегося, формируемые в результате освоения дисциплины
- •В результате освоения дисциплины обучающийся должен
- •Структура и содержание дисциплины
- •Практические занятия
- •Лабораторные работы
- •Самостоятельная работа студента (срс)
- •Образовательные технологии
- •Оценочные средства для текущего контроля успеваемости
- •2. Архитектура комплексных микропроцессорных систем
- •Уровни иерархической системы управления
- •Системы управления исполнительного и тактического уровня (системы программного управления)
- •Адаптивные системы управления
- •Системы интеллектуального управления
- •Системы группового управления (сгу)
- •Современное состояние, назначение и области применения управляющих микроЭвм
- •Термины и определения
- •Особенности архитектуры управляющей эвм как разновидности вычислительной системы
- •Вопросы по материалу
- •3. Сетевые интерфейсы Общие сведения
- •Модель взаимодействия открытых систем
- •Требования к сетевым интерфейсам
- •Хабовая архитектура
- •Ш инная архитектура
- •Режимы и форматы обмена
- •Интерфейсы группы rs
- •Интерфейс rs-232c и com-порт
- •Интерфейс rs-485
- •Модуль uart
- •Интерфейс spi
- •Интерфейс microwire/plus
- •Интерфейс i2c и smBus
- •Сравнение шин i2c и spi
- •Протокол can
- •Стандарт lin и микроконтроллеры для его реализации
- •Особенности lin
- •Программная реализация
- •Аппаратная реализация
- •Драйвер повышенной надежности для lin интерфейса
- •Однопроводной интерфейс 1-Wire
- •Основные принципы
- •"Таблетки" iButton и 1-Wire-сеть
- •Линия связи и топология
- •Интерфейс usb
- •Варианты и сравнительный анализ локальных сетей для выбора последовательных интерфейсов
- •Вопросы по материалу
- •Заключение
- •Библиографический список
- •394026 Воронеж, Московский просп., 14
Режимы и форматы обмена
Для интерфейса, соединяющего (физически или логически) два устройства, различают три возможных режима обмена – дуплексный, полудуплексный и симплексный. Дуплексный режим позволяет по одному каналу связи одновременно передавать информацию в обоих направлениях. Он может быть асимметричным, если пропускная способность в направлениях «туда» и «обратно» имеет существенно различающиеся значения, или симметричным. Полудуплексный режим позволяет передавать информацию «туда» и «обратно» поочередно, при этом интерфейс имеет средства переключения направления канала. Симплексный (односторонний) режим предусматривает только одно направление передачи информации (во встречном направлении передаются только вспомогательные сигналы интерфейса).
По способу передачи информации интерфейсы подразделяются на параллельные и последовательные. В параллельном интерфейсе все биты передаваемого слова (обычно байта) выставляются и передаются по соответствующим параллельно идущим проводам одновременно. В PC традиционно используется параллельный интерфейс Centronics, реализуемый LPT-портами. В последовательном интерфейсе (COM-порты) биты передаются друг за другом, обычно по одной линии. СОМ-порты PC обеспечивают последовательный интерфейс в соответствии со стандартом RS-232C.
С появлением USB и FireWire в качестве характеристики интерфейса стала фигурировать и топология соединения. Для интерфейсов RS-232C и Centronics практически всегда применялась двухточечная топология PC – устройство (или PC – PC). Более развитые протоколы, рассматриваемые ниже, соответствуют топологии общей шины. Интерфейсные «шины» USB и FireWire реализуют древовидную топологию, в которой внешние устройства могут быть как оконечными, так и промежуточными (разветвителями). Эта топология позволяет подключать множество устройств к одному порту USB или FireWire (хабовая топология).
Последовательная передача данных может осуществляться в асинхронном или синхронном режимах.
При синхронной передаче существует отдельная линия для передачи данных и отдельная линия для тактовых сигналов (стробов). Стробы располагаются в середине битовых интервалов, что позволяет принимать биты данные в их установившихся значениях, а не вблизи моментов переключения. Подробнее синхронный режим обмена описан ниже.
При асинхронной передаче информация передается циклами (посылками). Каждый цикл начинается со старт-бита, сигнализирующего приемнику о начале посылки, за которым следуют биты данных (обычно 8 бит) и, возможно, бит паритета (четности). Завершает посылку стоп-бит, гарантирующий паузу между посылками (рис.16).
Старт-бит следующего байта посылается в любой момент после стоп-бита, то есть между передачами возможны паузы произвольной длительности. Старт-бит, имеющий всегда строго определенное значение (логический 0), обеспечивает простой механизм синхронизации приемника по сигналу от передатчика. Подразумевается, что приемник и передатчик работают на одной скорости обмена. Внутренний генератор синхронизации приемника использует счетчик-делитель опорной частоты, обнуляемый в момент приема начала старт-бита. Этот счетчик генерирует внутренние стробы, по которым приемник фиксирует последующие принимаемые биты. В идеале стробы располагаются в середине битовых интервалов, что позволяет принимать данные и при незначительном рассогласовании скоростей приемника и передатчика.
Очевидно, что при передаче 8 бит данных, одного контрольного и одного стоп-бита предельно допустимое рассогласование скоростей, при котором данные будут распознаны верно, не может превышать 5 %. С учетом фазовых искажений и дискретности работы внутреннего счетчика синхронизации реально допустимо меньшее отклонение частот. Чем меньше коэффициент деления опорной частоты внутреннего генератора (чем выше частота передачи), тем больше погрешность привязки стробов к середине битового интервала, и требования к согласованности частот становятся более строгими. Чем выше частота передачи, тем больше влияние искажений фронтов на фазу принимаемого сигнала. Взаимодействие этих факторов приводит к повышению требований к согласованности частот приемника и передатчика с ростом частоты обмена.
Ф ормат асинхронной посылки позволяет выявлять возможные ошибки передачи:
Если принят перепад, сигнализирующий о начале посылки, а по стробу старт-бита зафиксирован уровень логической единицы, старт-бит считается ложным и приемник снова переходит в состояние ожидания. Об этой ошибке приемник может и не сообщать.
Если во время, отведенное под стоп-бит, обнаружен уровень логического нуля, фиксируется ошибка стоп-бита.
Если применяется контроль четности, то после посылки бит данных передается контрольный бит. Этот бит дополняет количество единичных бит данных до четного или нечетного в зависимости от принятого соглашения. Прием байта с неверным значением контрольного бита приводит к фиксации ошибки.
Контроль формата позволяет обнаруживать обрыв линии: при этом принимаются логический нуль, который сначала трактуется как старт-бит, и нулевые биты данных, потом срабатывает контроль стоп-бита.
Для асинхронного режима принят ряд стандартных скоростей обмена: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19 200, 38 400, 57 600 и 115 200 бит/с. Иногда вместо единицы измерения «бит/с» используют «бод» (baud), но при рассмотрении двоичных передаваемых сигналов это некорректно. В бодах принято измерять частоту изменения состояния линии, а при недвоичном способе кодирования (широко применяемом в современных модемах) в канале связи скорости передачи бит (бит/с) и изменения сигнала (бод) могут отличаться в несколько раз.
Количество бит данных может составлять 5, 6, 7 или 8 (5- и 6-битные форматы распространены незначительно). Количество стоп-бит может быть 1, 1,5 или 2 («полтора бита» означает только длительность стопового интервала).
Асинхронный обмен в PC реализуется с помощью СОМ-порта с использованием протокола RS-232C – см. ниже.
В синхронном режиме необходима внешняя синхронизация приемника с передатчиком, поскольку даже малое отклонение частот приведет к искажению принимаемых данных. Внешняя синхронизация возможна либо с помощью отдельной линии для передачи сигнала синхронизации, либо с использованием самосинхронизирующего кодирования данных, при котором на стороне приемника из принятого сигнала могут быть выделены импульсы синхронизации. В этом случае синхронный режим передачи предполагает постоянную активность канала связи. Посылка начинается с синхробайта, за которым сразу же следует поток информационных бит. Если у передатчика нет данных для передачи, он заполняет паузу непрерывной посылкой байтов синхронизации. Очевидно, что при передаче больших массивов данных накладные расходы на синхронизацию в данном режиме будут ниже, чем в асинхронном. Однако В любом случае синхронный режим требует дорогих линий связи или оконечного оборудования. Для PC существуют специальные платы – адаптеры SDLC, поддерживающие синхронный режим обмена. Они используются в основном для связи с большими машинами (mainframes) IBM и мало распространены. Из синхронных адаптеров в настоящее время применяются адаптеры интерфейса V.35.
Очевидно, что при одинаковом быстродействии приемопередающих цепей и одинаковой пропускной способности соединительных линий по скорости передачи параллельный интерфейс должен превосходить последовательный. Повышение производительности параллельных интерфейсов за счет увеличения тактовой частоты передачи данных ограничивается волновыми свойствами соединительных кабелей. В случае параллельного интерфейса начинают сказываться задержки сигналов при их прохождении по линиям кабеля, причем задержки в разных линиях интерфейса могут быть различными вследствие неидентичности проводов и контактов разъемов. Для надежной передачи данных временные диаграммы обмена строятся с учетом возможного разброса времени прохождения сигналов (скорость распространения электромагнитной волны в проводнике составляет 200 мм/мкс), что является одним из факторов, сдерживающих рост пропускной способности параллельных интерфейсов. В последовательных интерфейсах есть свои проблемы повышения производительности, но, поскольку в них используется меньшее число линий (в пределе – одна), повышение пропускной способности линий связи обходится дешевле.
Допустимое удаление соединяемых устройств ограничивается как частотными свойствами кабелей, так и помехозащищенностью интерфейсов. Часть помех возникает от соседних линий интерфейса (перекрестные или индуктивные помехи), защитой от которых может быть применение витых пар проводов или экранированного кабеля для каждой линии. Другая часть помех вызывается искажением уровней сигналов, в основном из-за падения напряжения в проводниках питания при переходных процессах в мощных ключах (кондуктивные помехи).
При удалении объекта от управляющей ЭВМ на расстояние более метра возникает проблема качественной передачи сигналов из-за рассогласования сопротивлений входа, выхода и линии. Если перечисленные сопротивления не равны друг другу и длина волны сигнала соизмерима с длиной канала связи, то в нем возникают отражения сигналов от концов линии. Суммируясь с сигналом, отражения создают искажения типа затянутого фронта или серии коротких импульсных помех. Учитывая, что выходное сопротивление источника обычно гораздо меньше входного сопротивления приемника, для согласования сопротивлений следует установить на конце линии (параллельно входу приемника по переменной составляющей сигнала) шунтирующий резистор с сопротивлением, равным волновому сопротивлению линии,
которое определяется по формуле
г де L и C – индуктивность и емкость единицы длины канала связи.
Для поддержания на линии потенциала лог. 1 согласующее сопротивление выполняют в виде делителя с Rэкв=R1|||| R2 (по переменному току), причем потенциал в средней точке составляет 2/3 Uпит (рис.17).
Ц
Рис.17.
В целом, наличие в составе 8-разрядного МК модуля контроллера последовательного ввода / вывода стало настолько обычным явлением, что лишь самые простые, маловыводные МК в корпусах DIP16 и DIP20 не имеют портов последовательного обмена. При анализе структуры более сложных 8-разрядных МК отчетливо прослеживается тенденция наличия в их составе двух контроллеров последовательного обмена, а в более новых моделях – даже трех. Задачи, которые решаются средствами модуля контроллера последовательного ввода/вывода, могут быть условно разделены на три группы (табл. 1)
С точки зрения инженера-схемотехника, упомянутые типы интерфейсов последовательной связи отличаются: режимом передачи данных (синхронный или асинхронный), форматом кадра (число бит в посылке при передаче байта полезной информации) и временными диаграммами сигналов на линиях (уровни сигналов и положение фронтов при переключениях). Число линий, по которым происходит передача в последовательном коде, обычно равно двум (I2C, RS-232C, RS-485, CAN) или трем (SPI, некоторые нестандартные синхронные протоколы). Последнее позволяет спроектировать модули контроллеров последовательного обмена таким образом, чтобы с их помощью на аппаратном уровне можно было бы реализовать несколько типов последовательных интерфейсов на одном модуле. При этом режим передачи (синхронный или асинхронный) и формат кадра поддерживаются на уровне логических сигналов, а реальные физические уровни сигналов, характерные для каждого типа интерфейса, получают с помощью специальных ИС, которые носят название приемопередатчиков, конверторов, трансиверов.
Протоколы интерфейсов локальных сетей на основе I2C и CAN отличает более сложная логика работы. То же можно сказать и о стандарте периферийного интерфейса USB. Поэтому контроллеры CAN и USB интерфейса ранее выполнялись в виде самостоятельного кристалла, аппаратные средства которого ориентированы на поддержку соответствующих протоколов обмена. Однако расширение модельных рядов микроконтроллеров идет очень интенсивно и в настоящее время все основные их производители выпускают продукцию, имеющую в своем составе блоки USB и CAN.
Таблица 1
Назначение |
Протоколы |
1) связь встраиваемой МП-системы с системой управления верхнего уровня: промышленным компьютером, программируемым контроллером, офисным компьютером; наиболее часто для этих целей использовались интерфейсы RS-232C и RS-485; в настоящее время все более широкую популярность приобретает интерфейс USB; |
RS-232C и RS-485
USB |
2) интерфейс связи с локальной сетью в мультимикропроцессорных системах; в системах с числом МК до пяти обычно используют сети на основе интерфейсов I2C, RS-232C, RS-485 с собственными сетевыми протоколами верхнего уровня; в более сложных системах все более популярным становится протокол CAN; |
I2C, RS-232C, RS-485;
CAN, (LIN) |
3) связь с внешними по отношению к МК периферийными ИС встраиваемой МПСУ, а также с датчиками физических величин с последовательным выходом; для этих целей используются интерфейсы SPI, I2C, а также нестандартные протоколы обмена. |
SPI, I2C |
В /2/ автором была разработана система показателей (анкета), отражающая особенности архитектуры различных шин. Для сравнительного анализа локальных сетей на базе шин, образованных различными последовательными интерфейсами, эта система выглядит следующим образом.
0. Наименование (аббревиатура и расшифровка).
Назначение – локальная, мезонинная.
Способ передачи (для локальных) – последовательный
Количество фаз данных в цикле обмена:
одна – множество (пакет).
Тактовая частота (частота синхронизации):
средняя – до 266 МГц;
или низкая – не более 33 МГц.
Синхронизация: есть – нет
А дресная часть цикла обмена
Организация обмена данными
Организация передачи команд
Задачи обмена сигналами прерывания и прямого доступа к памяти для рассматриваемых ниже шин не сто'ят.
Далее будут приводиться результаты анализа рассматриваемых шин по данной схеме.