Часть II. Ввод-вывод в МК «Миландр» - 5 |
102 |
5Последовательный обмен данными. Лабораторная работа №10
Все МК имеют набор стандартных интерфейсов последовательного обмена данными. Исторически первым интерфейсом является универсальный приёмо-передатчик (Universal Synchronous Asynchronous Receiver Transmitter) [1], который реализует базовую логику обмена данными по стандартам EIA RS-232-C, EIA-422-B, EIA RS-485.
Интерфейс UART часто используется для реализации связи по COM-порту, также может использоваться для связи нескольких МК и организации сетевого обмена данными.
В начале 80-х компания Philips разработала интерфейс I2C (он же IIC или TWI в документации фирмы Atmel). Сокращение расшифровывается как «Inter-Integrated Circuit», т.е. интерфейс для передачи данных между микросхемами (а не модулями или блоками).
Интерфейс SPI (Serial Peripheral Interface Bus ) также предназначен для обмена данными между микросхемами. Изначально он был придуман компанией Motorola, а в настоящее время используется в продукции многих производителей.
Интерфейсы SPI и I2C нашли широкое применение в различных микросхемах, таких как ЦАП, АЦП, память (Flash, EEPROM, FRAM, MRAM, ШИМ-контроллеры….), таймеры реального времени (RTC) и др. и применяются для расширения функциональных возможностей микропроцессорной техники или для возможности программного управления током, напряжением, потребляемой мощностью….
Любой интерфейс в МК реализуется посредством отдельного устройства — контролера. Хотя любой из этих интерфейсов можно, при большом желании, реализовать программно. Так же необходимо отметить тенденцию унификации, когда в одном блоке реализуется сразу несколько интерфейсов, например USI в МК AVR фирмы Atmel.
В изучаемом Вами МК контроллер SSP (Synchronous Serial Port) реализует несколько сходных протоколов:
−интерфейс SPI фирмы Motorola;
−интерфейс SSI фирмы Texas Instruments;
−интерфейс Microwire фирмы National Semiconductor.
Интерфейс - совокупность возможностей взаимодействия двух систем, устройств или программ, определённая их характеристиками, характеристиками соединения, сигналов обмена и т. п. Совокупность унифицированных технических и программных средств и правил (описаний, соглашений, протоколов), обеспечивающих взаимодействие устройств и/или программ в вычислительной системе или сопряжение между системами [1].
Протокол (передачи данных) - набор соглашений интерфейса логического уровня, которые определяют обмен данными между различными программами. Эти соглашения задают единообразный способ передачи сообщений и обработки ошибок при взаимодействии программного обеспечения разнесённой в пространстве аппаратуры, соединённой тем или иным интерфейсом.
Сеть (вычислительная) - система связи компьютеров или компьютерного оборудования (серверы, маршрутизаторы и другое оборудование). Для передачи информации могут быть использованы различные физические явления, как правило — различные виды электрических сигналов, световых сигналов или электромагнитного излучения.
Семиуровневая модель OSI - Для единого представления данных в сетях с неоднородными устройствами и программным обеспечением международная организация по
ТУСУР, "Миландр" |
Каф. ЭСАУ |
Недяк С.П., Шаропин Ю.Б |
Февраль 2017 г. |
Часть II. Ввод-вывод в МК «Миландр» - 5 |
103 |
стандартам ISO (International Standardization Organization) разработала базовую модель связи открытых систем OSI (Open System Interconnection). Эта модель описывает правила и процедуры передачи данных в различных сетевых средах при организации сеанса связи. Основными элементами модели являются уровни, прикладные процессы и физические средства соединения.
Последовательная передача данных - передача бит за битом. Может осуществятся, как младшими битами вперед (LSB) так и старшими битами вперед (MSB).
Асинхронная передача - передача данных, при которой интервалы времени между направляемыми блоками данных не являются постоянными. Для выделения в потоке данных блоков в начале и конце каждого из них записываются старт/стопные биты. При асинхронной передаче передатчик и приемник данных работают не зависимо друг от друга. Сигнал синхронизации отсутствует.
Синхронная передача – подразумевается передача сигнала синхронизации. Дуплексная передача – прием информации и передача одновременно. Полудуплексная – прием и передача по очереди.
Симплексная – однонаправленная передача данных
Ведущий (Master) – устройство задающие режим передачи информации в сети или между устройствами.
Ведомый, подчиненный (Slave) – устройство
Адрес устройства (узла) — уникальный двоичный код в сети, идентифицирующий узел
сети.
Контроллер UART является многофункциональным устройством, может обеспечивать разные режимы передачи данных (? очень похоже что в синхронном режиме он не работает ?) обеспечивает работу с модемами и работу по стандарту IrDA SIR.
В демопроекте реализована простая задачка «эхо»: принять то что сам передал. При этом выход приёмника (RXD) подключают ко входу передатчика (TXD) внутри самого UART, но обычно это делается перемычкой (проволочкой, пинцетом) на разъеме.
1.Изучите с работой контроллера UART (стр. 363 spec_seriya_1986BE9x.pdf). Изучить программный код Menu_uart.c демонстрационного проекта и ознакомиться с драйвером MDR32F9Qx_uart.c.
2.Изучите функционирование микросхемы ADM3232.
3.Запустите проект ревизию номер 5, изучите работу программы. Найдите каким способом приёмник подключен к передатчику. Разомкните невидимую цепь соединяющую приёмник и передатчик. Пересоберите программу, запустите в МК, оцените результат. Установите видимую цепь, соединяющую приемник и передатчик. Запустите программу оцените результат.
4.Добейтесь приема информации ПК и приема информации МК от ПК.
I2C является двухпроводным (SDA SCL), двунаправленным последовательным каналом связи с простым и эффективным методом обмена данными между устройствами. Стандарт интерфейса I2C является многомастерным с обнаружением коллизий и арбитражем, исключающим потерю данных при обмене, когда два или более мастера пытаются осуществить передачу одновременно. Дальнейшую информацию смотрите в спецификации
ТУСУР, "Миландр" |
Каф. ЭСАУ |
Недяк С.П., Шаропин Ю.Б |
Февраль 2017 г. |
Часть II. Ввод-вывод в МК «Миландр» - 5 |
104 |
на стр. 327.
Данный контроллер реализует несколько схожих интерфейсов передачи данных. Мы с вами познакомимся с самым широко распространенным – SPI. Интерфейс дуплексный, синхронный, трех проводной MISO, MOSI, SCLK (не считая линии выбора кристалла CS). Очень простой! В технической документации на МК смотри дальнейшее описание в спецификации на МК на стр. 333.
1.Изучите принципы организации интерфейса SPI. Найдите в демопроекте, где используется контроллер SSP?.
2. Изучите принципы организации интерфейса I2C. Найдите в демопроекте где используется контроллер I2C?
3.Приведите конкретные примеры микросхем с интерфейсами I2C и SPI. Укажите наименование, производителя и стоимость (воспользуйтесь efind.ru).
4.Изобразите схему подключения к МК двух микросхем AD5326
5.Изобразите схему подключения к МК двух микросхем DAC8581
6.Изучите примеры (Examples/SSP). Подключите их себе в проект. Организуйте передачу данных по SPI.
7.Изучите примеры (Examples/I2C). Подключите их себе в проект. Организуйте передачу данных по I2C.
8.Сфотографируйте осциллограммы работы интерфейсов UART, SPI и I2C.
9.Укажите на измеренных осциллограммах битовые поля фреймов передачи данных на измеренных осциллограммах.
Вотличие от предыдущих интерфейсов, CAN (Controller Area Network) разрабатывался в 1980-х годах, как сетевой высоконадежный интерфейс и протокол для автомобильного применения, предназначенный для объединения в одну сеть нескольких контроллеров, исполнительных устройств или датчиков. Режим передачи — последовательный, широковещательный, пакетный. Общую ознакомительную информацию вы легко найдете в Интернете на gaw.ru или в Википедии.
CAN получил широкое распространение не только в автомобильной электронике, но и во многих других отраслях: станкостроение, АСУ ТП, авионика, медицинские приборы...и др. Такое широкое распространение обусловлено в первую очередь надежностью передачи данных и универсальностью разработки. Наличие контроллера CAN в современном МК - это стандарт.
Впримерах (Examples) есть три проекта: два из них (LoopBack_Interrupt, LoopBack_Polling) реализуют «эхо» в режиме прерывания и в режиме программного вводавывода. Третий (LoopBack_RTR) реализует режим запроса на удаленную передачу.
1.Изучить основы организации сети CAN.
2.Запустить и изучить два первых примера передачи данных по CAN.
3.Добиться связи по CAN между двумя отладочными платами.
ТУСУР, "Миландр" |
Каф. ЭСАУ |
Недяк С.П., Шаропин Ю.Б |
Февраль 2017 г. |
Часть II. Ввод-вывод в МК «Миландр» - 5 |
105 |
1.Поддерживает ли контроллер I2C режим обмена ПДП ?
2.Чего не хватает на демоплате для организации связи по I2C?
3.Что такое арбитраж и как он выполняется в I2C?
4.Изобразите структуру кадра передачи данных по I2C.
5.С каким устройством на демоплате реализована связь по SPI ?
6.Чем отличаются интерфейсы Microware, SPI и SSI.
7.Изобразите структуру кадра по SPI.
8.Какие уровни OSI реализованы аппаратно в контроллере CAN?
9.Изобразите структуру кадра сети CAN.
10.Каких интерфейсов не хватает в лабораторной работе? Какие интерфейсы вы знаете, кроме приведенных в работе?
1.Интерфейсы RS232, RS485, I2C, IrDA … URL: http://www.gaw.ru/html.cgi/txt/interface/index.htm.
2.Краткий обзор протокола CAN. Часть I URL: http://www.micromax.ru/articles/article.shtml/rewrite/Can_kvazer_1.
ТУСУР, "Миландр" |
Каф. ЭСАУ |
Недяк С.П., Шаропин Ю.Б |
Февраль 2017 г. |
Часть II. Ввод-вывод в МК «Миландр» - 5 |
106 |
ТУСУР, "Миландр" |
Каф. ЭСАУ |
Недяк С.П., Шаропин Ю.Б |
Февраль 2017 г. |