Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП МПУ-13.doc
Скачиваний:
7
Добавлен:
01.04.2025
Размер:
5.78 Mб
Скачать

Часть 7. Задачи и устройства последовательного интерфейса (л14, л15)

7.1. Принципы и преимущества последовательного интерфейса

Протокол

Принцип последовательного интерфейса (ПИ) заключается в передаче N бит данных по одной линии за N тактов времени.

Основное назначение ПИ – обмен данными и командами между МК и другими МК или пассивными цифровыми или цифро-аналоговыми микросхемами.

В МК/МП для встраиваемых применений чаще всего данные передаются порциями по 8/16/32 бита, пропорционально разрядности процессора. При передаче данные из регистра данных передатчика преобразуют в последовательность бит, для чего используются программные или аппаратные операции сдвига. При приеме с помощью тех же операций сдвига последовательность бит вдвигается в регистр данных приемника. Темп этих преобразований задают тактовые импульсы, частота тактирования определяет производительность процесса передачи.

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

На рис. 7.1 приведен пример временной диаграммы. Данные передаются начиная с младшего бита. Линия тактов в отсутствии данных находится в низком состоянии, число тактов в одной посылке не меняется и равно n. По фронту тактового импульса передатчик выдвигает очередной бит на линию данных, по срезу приемник считывает уровень с линии данных и вдвигает его. Значения временных параметров Tclk, t1, t2, t3, t4 определены с указанием допустимых пределов отклонения.

Строгое описание этих правил и параметров временной диаграммы, называется протоколом ПИ.

Рис. 7.1

Тактирование

Важным моментом в организации ПИ является вопрос передачи тактового сигнала от передатчика к приемнику.

Самый простой способ – передача тактов от передатчика к приемнику – требует отдельной линии связи и называется синхронным. В локальных сетях источник тактовых импульсов называется ведущим [Master], приемники тактов – ведомыми [Slave], такое распределение ролей характерно для централизованных систем. В этом случае к частоте тактирования предъявляются невысокие требования – она должна находиться в коридоре, ограниченном сверху аппаратно-программными возможностями, снизу – допустимым снижением производительности. Отдельные импульсы могут даже затормаживаться в заранее оговоренном состоянии.

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

Примеры синхронного ПИ:

- двухпроводный I2C (одна линия тактов и одна линия данных, то есть полудуплекс),

- трехпроводный интерфейс SPI (одна линия тактов и две линии данных, то есть дуплекс),

- шестипроводный McBSP, (такты, фреймы и данные в одну сторону и такой же набор в обратную).

В общем случае рост числа линий увеличивает производительность и гибкость использования ПИ. Так I2C рассчитан на тактирование с частотой 100 и 400 кГц, SPI применяется частотами до 10 МГц, встроенные контроллеры этих протоколов распространены во встраиваемых МК/МП общего назначения разрядностью от 8 до 32 бит.

Областью применения синхронного ПИ являются высокоскоростные линии и локальные сети малой размерности, обычно в пределах одной платы, максимум – в пределах одной установки. Чаще всего МК или МП выступает в качестве мастера и оснащен встроенным программно управляемым контроллером соответствующего интерфейса. В качестве ведомых широко используются готовые микросхемы с полностью аппаратной реализацией ПИ (SPI или I2C), выполняющие функции внешних периферийных устройств: ЦАП, АЦП, цифровых датчиков, энергонезависимой памяти и пр.

Многопроводный McBSP применяется при частотах до десятков МГц в цифровых сигнальных процессорах для обмена данными с быстрыми АЦП, ЦАП и кодеками.

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

- выбором одинакового значения частоты передатчика/приемника и применением высокостабильных генераторов тактов,

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

На рис. 7.2 приведена диаграмма передачи байта данных асинхронным протоколом.

Рис. 7.2

В отсутствии данных линия находится в "1" состоянии. Передача начинается со стоп-бита с уровнем "0", далее следуют 8 бит данных, начиная с младшего D0 до старшего D7. Завершается передача стоп-битом с уровнем "1" длительностью от 1 до 2 тактов. Длительность передачи байта с учетом старт и стоп битов составляет не менее 10 тактов.

Частота работы тактовых генераторов передатчика и приемника должна выбираться из стандартного фиксированного ряда (9 600, 19 200, 57 600, 115 200 бод и т. д.), отклонение частоты приемника и передатчика не должно превышать 1–2 %.

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

При обнаружении первого среза приемник проверяет наличие "0" примерно в середине такта, отсчитанного от среза. Если условие выполнено, приемник продолжает считывание уровней примерно в середине тактов данных и завершает прием проверкой наличия "1" на интервале ожидания стоп-бита.

Принцип асинхронной связи использовался задолго до появления электронных и полупроводниковых устройств в телеграфной связи. Поэтому в МК он был реализован в виде специализированного контроллера одним из первых (UART или USART).

На базе данной диаграммы построены последовательный порт (COM-port) в персональных компьютерах и многочисленные сетевые протоколы для объединения устройств промышленной автоматики в локальные распределенные сети (Modbus, MPI, ProfiBus etc.).

В усовершенствованном виде подобные принцип синхронизации и диаграмма нашли применение в протоколе CAN и его разновидностях.

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

Еще одной разновидностью ПИ является однопроводный интерфейс [1-Wire]. Он применяется для низкоскоростной связи с одним или несколькими пассивными устройствами – датчиками температуры, устройствами памяти, считывателями данных электронных ключей и пр. Здесь одна линия связи используется для синхронизации операций чтения или записи и для передачи данных, а иногда и для питаниия внешнего устройства.

На рис. 7.3 приведена схема подключения МК к микросхеме датчика температуры DS18B20. Слева изображен драйвер двунаправленной линии связи – объединение входа усилителя приемника Rx [Receiver] и выхода усилителя передатчика Tx [Transmitter]. Линия связи имеет притяжку к питанию МК через резистор 4.7 кОм, поэтому в состоянии покоя на линии высокий уровень. Внешнее устройство (1-Wire port) представлено параллельным объединением входа усилителя приемника Rx, открытым стоком драйвера выхода Tx и утечкой входа 5 мкА.

Рис. 7.3

Обмен данными всегда инициирует МК переводом выхода в низкое состояние на 480 мкс, следующие 480 мкс МК ждет ответа от ВУ в виде низкого уровня длительностью 60…240 мкс. Если ответ принят, начинается обмен данными по достаточно сложному протоколу, зависящему от типа ВУ и числа этих устройств на линии. Слот чтения/записи бита длится 100…120 мкс.

Например, для измерения температуры единственным датчиком DS18B20 требуется 480*2+2*100*8 = 960+1600 = 2560 мкс для запуска очередного измерения, время измерения зависит от программно выбранной разрядности результата и составляет 100 мс для 9-битного результата и 750 мс для 12-битного, собственно чтение результата занимает 480*2+4*100*8 = 960+3200 = 4160 мкс.

Дальность связи и помехозащищенность

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

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

На уровне схемотехники:

- увеличение диапазона сигнала до ±5...15 В в RS-232 позволяет поднять дальность связи до 15 м (в "офисных" условиях) за счет снижения влияния падений напряжения и увеличения диапазона помехозащищенности;

- дифференциальные линии связи по стандарту RS-422/485 позволяют поднять дальность до 1000 м при скоростях до 10 МБод в промышленных условиях за счет хорошего подавления синфазных помех.

На уровне линий связи применяют:

- чередование информационных линий с линиями нулевого потенциала (GND) применяется в печатном монтаже и в плоских кабелях для снижения влияния перекрестных связей;

- витая пара проводов имеет минимальную распределенную индуктивность и хорошо согласуется с дифференциальными приемниками/передатчиками;

- экранированная витая пара дополнительно снижает воздействие внешних магнитных полей;

- коаксиальные кабели объединяют преимущества предыдущих линий связи, но в силу конструктивных неудобств применяются все реже.;

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

Краткая классификация ПИ, используемых в системах управления

(частично повторяет раздел 3.1)

По назначению:

  1. внутриплатный или внутрисистемный, когда один ведущий МК связывается с ведомыми периферийными микросхемами

  2. построение распределенных систем управления, когда связываются равноправные МК, состав такой сети может гибко меняться и перенастраиваться;

  3. программирование и отладка устройств на базе встраиваемых МК.

Основные характеристики интерфейса:

  1. производительность [бит/с = бод = Bode, Байт/с],

  2. максимальная длина линий связи,

  3. среда передачи и форма представления данных:

  • провода и кабели (печатный монтаж на плате, плоский кабель, витая пара проводов, экранированная витая пара, коаксиальный кабель), напряжение/ток, синфазный/дифференциальный сигнал (помехозащищенность), требование гальванической развязки (связь устройств с не эквипотенциальным питанием и для повышения помехозащищенности),

  • радиоканал (радиомодемы или Wi-Fi),

  • оптоволоконные линии связи;

  1. направление передачи:

  • однонаправленный – симплексный (источник – приемник),

  • двунаправленный с переключением линии на прием или передачу – полудуплексный,

  • двунаправленный с раздельными линиями для приема или передачи – дуплексный,

  1. по способу синхронизации передаваемых данных:

  • синхронный – синхроимпульсы передаются по отдельной линии связи от ведущего устройства к ведомому/мым, роль ведущего передается или не передается между устройствами,

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

  1. по числу информационных и служебных линий связи, примеры:

- однопроводный полудуплекс 1-Wire (Dallas Sem.): I/O, GND;

- двухпроводныеRS-232: TXD, RXD, GND; RS-485: A, B, GND (полудуплекс); I2C (Phillips) (TWI-AVR): SDA, SCL, GND (полудуплекс); CAN, USB;

- трехпроводные – SPI: SCK, MOSI, MISO, #SS, GND;

- многопроводные – McBSP (multichannel buffered serial ports): BCLKR, BFSR, BDR (reciver), BCLKX, BFSX, BDX (transmitter), GND (дуплекс) и т.д.

Локальные сети, в свою очередь, имеют дополнительные характеристики:

1) число устройств, объединяемых интерфейсом:

  • два устройства - типа «точка – точка» [Point-To-Point (PTP)],

  • более двух устройств – сеть (network), в том числе локальная – для ограниченного числа устройств и расстояния),

2) топология, то есть способ объединения устройств в сеть:

  • радиальный (звезда) – центральное устройство имеет отдельные связи с каждым и обеспечивает передачу информации между ними (пример: ПК+USB),

  • кольцо – каждое устройство имеет связь на прием от одного устройства и на передачу к другому,

  • шина – общий канал связи, каждое устройство имеет связь на прием и на передачу со всеми устройствами сети за счет разделения времени доступа (требуется разбор коллизий),

  • комбинированные,

3) способ адресации устройств в сети и размер адресного пространства.

Все рассматриваемые ниже контроллеры и протоколы последовательного интерфейса ориентированы на обмен байтами и получили широкое распространение в МК/МП для встраиваемых применений.