Слайд 1Цифровые вычислительные устройства и микропроцессоры приборных комплексов
Интерфейсы передачи данных
Некрасов Александр
Витальевич, канд. техн. наук, доцент кафедры С-16
Соловьёв Сергей Юрьевич, канд.
техн. наук, доцент кафедры 303
Ушаков Андрей Николаевич, ассистент кафедры 303
Слайд 2Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
Определение
интерфейса
Интерфейс – это понятие, применимое к объектам самых разных областей
деятельности человека. В зависимости от контекста понятие интерфейса применимо как к отдельному объекту (интерфейс объекта), так и к связкам объектов (интерфейс сопряжения объектов)
В вычислительной технике и информационных системах под стандартным интерфейсом понимается совокупность унифицированных стандартных программных и конструктивных средств!
Составными физическими частями интерфейса являются электрические цепи, называемые линиями
Линии группируются по их функциональному назначению и в этом случае называются шинами
Слайд 3Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
Характеристики
интерфейса
Интерфейс характеризуется следующими параметрами:
Пропускная способность – количество бит (байт), передаваемых
в единицу времени
Максимально допустимое расстояние между соединяемыми устройствами
Общее число линий и шин в интерфейсе
Количество параллельно передаваемой информации по шинам интерфейса – ширина интерфейса
Слайд 4Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
Интерфейсы
передачи данных
Наиболее распространённые интерфейсы передачи данных в микропроцессорах и информационных
сетях:
UART (Universal Asynchronous Receiver/Transmitter)
SPI (Serial Peripheral Interface)
I2C (Inter-Integrated Circuit)
USB (Universal Serial Bus)
CAN (Controller Area Network)
Ethernet
Интерфейсы RS-XXX:
RS-232
RS-422
RS-485
Слайд 5Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
UART
(1)
UART – универсальный асинхронный приёмопередатчик, который переводит данные из последовательной
формы в параллельную и обратно.
UART может представлять собой как отдельное устройство, так и быть частью ИМС.
Чаще всего UART применяется для передачи данных через последовательный порт компьютера или периферийного устройства.
Также UART часто встраивается в микроконтроллеры.
Слайд 6Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
UART
(2)
По структуре это обычный асинхронный последовательный интерфейс, то есть передающая
сторона по очереди выдаёт в линию 0 и 1, а принимающая отслеживает их и запоминает.
Состав UART:
тактовый генератор;
входной и выходной сдвиговые регистры;
контроллер приёма/передачи;
контроллер чтения/записи.
Синхронизация идёт по времени — приёмник и передатчик заранее договариваются о том на какой частоте будет идти обмен.
Режим обмена данными может быть как дуплексный, так и полудуплексный.
Слайд 7Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
Передача
данных по UART
В начале передатчик подаёт в линию низкий уровень.
Это старт-бит. Приёмник выжидает интервал Т1 и считывает первый бит данных. Далее с интервалом Т2 считываются остальные биты. Последний бит – стоп-бит (может быть 1,5 и 2 стоп-бита), говорящий о том, что передача завершена.
В конце перед стоп-битом может стоять бит чётности, необходимый для контроля качества передачи.
Слайд 8Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
SPI
SPI
- последовательный синхронный стандарт передачи данных в режиме полного дуплекса,
разработанный компанией Motorola для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии.
В отличие от стандартного последовательного порта, SPI является синхронным интерфейсом, в котором любая передача синхронизирована с общим тактовым сигналом, генерируемым ведущим устройством (процессором). Принимающая периферия (ведомая) синхронизирует получение битовой последовательности с тактовым сигналом. К одному последовательному периферийному интерфейсу ведущего устройства-микросхемы может присоединяться несколько микросхем. Ведущее устройство выбирает ведомое для передачи, активируя сигнал «выбор кристалла» (chip select) на ведомой микросхеме. Периферия, не выбранная процессором, не принимает участие в передаче по SPI.
Слайд 9Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
Сигналы,
используемые в SPI
В SPI используются четыре цифровых сигнала:
MOSI или
SI (Master Out Slave In) – выход ведущего, вход ведомого. Служит для передачи данных от ведущего устройства ведомому.
MISO или SO (Master In Slave Out) – вход ведущего, выход ведомого. Служит для передачи данных от ведомого устройства ведущему.
SCLK или SCK (Serial CLocK) – последовательный тактовый сигнал. Служит для передачи тактового сигнала для ведомых устройств.
CS или SS (Chip Select, Slave Select) – выбор микросхемы, выбор ведомого.
В зависимости от количества и типа подключаемых периферийных устройств некоторые сигналы могут отсутствовать.
Таким образом шина интерфейса SPI может состоять из двух, трёх или четырёх сигнальных линий.
Слайд 10Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
CPOL
и CPHA
В дополнение к установке тактовой частоты ведущий должен установить
полярность CPOL и фазу (CPHA) тактового сигнала по отношению к передаваемым данным.
Во всех сочетаниях CPOL и CPHA значение сигнала SCLK должно быть стабильным до того, как сигнал SS станет активным.
Временные диаграммы передачи данных при различных CPOL и CPHA
Слайд 11Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
Конфигурации
шины SPI
Основная конфигурация – независимое подключение ведомых устройств.
Каждому ведомому свой
сигнал SS ведущего.
Сигналы SCLK, MISO, MOSI подключены «звездой».
Альтернативная конфигурация – кооперативное подключение ведомых устройств.
Сигнальные линии MISO и MOSI ведущего и ведомых образуют кольцо.
SCLK и SS подключены «звездой».
Слайд 12Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
Достоинства
и недостатки SPI
Достоинства:
передача данных в режиме полного дуплекса
бóльшая пропускная способность,
чем у I2C
ведомые устройства используют тактовый сигнал ведущего
ведомым устройствам не требуются уникальные адреса
требует гораздо меньше выводов ИМС, чем параллельные интерфейсы
Недостатки:
поддерживает только одно ведущее устройство
работоспособен на меньших расстояниях по сравнению с RS-232, RS-485, CAN
отсутствует адресация по основной линии связи; требуется отдельная линия выбора устройства (SS)
Слайд 13Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
Применение
шины SPI
Основная конфигурация шины часто применяется для соединения микроконтроллеров с
АЦП, ЦАП, ЖКИ, внешними микросхемами памяти, преобразователями интерфейсов.
Альтернативная конфигурация шины используется в составе специализированного отладочного интерфейса JTAG.
Слайд 14Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
I2C
I2C
– последовательная шина данных для связи интегральных схем, разработанная в
начале 1980-х как простая шина внутренней связи для создания управляющей электроники.
Слайд 15Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
Шина
интерфейса I2C
В шине I2C используются две двунаправленные линии с открытым
стоком – последовательная линия данных (SDA – Serial DAta) и последовательная линия тактирования (SCL – Serial CLock), обе нагруженные резисторами. Максимальное напряжение Vdd=+5 В; часто используется Vdd=+3,3 В. Допускаются и другие напряжения.
Пример шины I2C с одним микроконтроллером (uC Master) и тремя подчинёнными (Slave) устройствами (ADC – АЦП, DAC – ЦАП, uC – 2-й микроконтроллер)
Слайд 16Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
Адресация
в шине I2C (1)
Каждое устройство, подключённое к шине, может быть
программно адресовано по уникальному адресу. Для выбора приемника сообщения ведущий использует уникальную адресную компоненту в формате посылки. При использовании однотипных устройств, ИС часто имеют дополнительный селектор адреса, который может быть реализован как в виде дополнительных цифровых входов селектора адреса, так и в виде аналогового входа. При этом адреса таких однотипных устройств оказываются разнесены в адресном пространстве устройств, подключенных к шине.
В обычном режиме используется 7-битная адресация.
Процедура адресации на шине I2C заключается в том, что первый байт после сигнала СТАРТ определяет, какой ведомый адресуется ведущим для проведения цикла обмена. Исключение составляет адрес "Общего вызова", который адресует все устройства на шине.
Слайд 17Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
Адресация
в шине I2C (2)
Первые семь битов первого байта образуют адрес
ведомого. Восьмой, младший бит, определяет направление пересылки данных. "Ноль" означает, что ведущий будет записывать информацию в выбранного ведомого. "Единица" означает, что ведущий будет считывать информацию из ведомого.
После того, как адрес послан, каждое устройство в системе сравнивает первые семь бит после сигнала СТАРТ со своим адресом. При совпадении устройство полагает себя выбранным как ведомый-приёмник или как ведомый-передатчик, в зависимости от бита направления.
Адрес ведомого может состоять из фиксированной и программируемой части. Количество программируемых бит в адресе зависит от количества свободных выводов микросхемы.
Все ИМС, поддерживающие работу в стандарте шины I2C, имеют набор фиксированых адресов, перечень которых указан производителем в описаниях контроллеров.
Комбинация бит 11110ХХ адреса зарезервирована для 10-битной адресации.
Слайд 18Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
Принцип
работы I2C (1)
Процедура обмена начинается с того, что ведущий формирует
состояние СТАРТ - переход сигнала линии SDA из ВЫСОКОГО состояния в НИЗКОЕ при ВЫСОКОМ уровне на линии SCL. Этот переход воспринимается всеми устройствами, подключенными к шине как признак начала процедуры обмена.
Процедура обмена завершается тем, что ведущий формирует состояние СТОП - переход состояния линии SDA из низкого состояния в ВЫСОКОЕ при ВЫСОКОМ состоянии линии SCL.
Состояния СТАРТ и СТОП всегда вырабатываются ведущим.
Считается, что шина занята после фиксации состояния СТАРТ. Шина считается освободившейся через некоторое время после фиксации состояния СТОП. При передаче посылок по шине I2C каждый ведущий генерирует свой синхросигнал на линии SCL. После формирования состояния СТАРТ, ведущий опускает состояние линии SCL в НИЗКОЕ состояние и выставляет на линию SDA старший бит первого байта сообщения.
Количество байт в сообщении не ограничено.
Спецификация шины I2C разрешает изменения на линии SDA только при НИЗКОМ уровне сигнала на линии SCL. Данные действительны и должны оставаться стабильными только во время ВЫСОКОГО состояния синхроимпульса.
Слайд 19Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 15
Принцип
работы I2C (2)
Для подтверждения приема байта от ведущего - передатчика
ведомым - приемником в спецификации протокола обмена по шине I2C вводится специальный бит подтверждения, выставляемый на шину SDA после приема 8 бита данных.
Подтверждение при передаче данных обязательно. Передатчик отпускает линию SDA на время синхроимпульса подтверждения. Приёмник должен удерживать линию SDA в течение ВЫСОКОГО состояния синхроимпульса подтверждения в стабильном НИЗКОМ состоянии.
В случае, когда ведомый-приёмник не может подтвердить свой адрес, линия данных должна быть оставлена в ВЫСОКОМ состоянии. После этого ведущий может выдать сигнал СТОП для прерывания пересылки данных.
Тактировка последовательности передачи данных по шине I2C