
- •Последовательные приемо- передатчики в МП
- •Модуль полнодуплексного универсального асинхронного приемо-передатчика
- •Принцип последовательной асинхронной передачи
- •Структурная схема передатчика
- •Формула вычисления скорости передачи
- •Организация программ для передачи данных UART AVR
- •Организация кольцевого буфера на передачу в UART
- •Структурная схема приемника
- •Организация программ для приема данных UART AVR
- •Организация буфера на прием данных в UART
- •Мультипроцессорный режим работы UART
- •Параметры интерфейсовRS-422 и RS-485
- •Микросхемы для RS-485
- •Протокол обмена
- •Исключение приема при передаче в полудуплексном режиме
- •Подключение COM порта
- •Подключение COM порта
- •UART и USB порт
- •Последовательный периферийный интерфейс
- •Соединение микроконтроллеров по SPI
- •Соединение нескольких устройств по SPI
- •Структурная схема SPI
- •Передача данных - диаграмма
- •Подключение внешнего АЦП через SPI

Последовательные приемо- передатчики в МП
Цель лекции: изучить принцип действия UART, SPI и способы организации последовательных интерфейсов на их базе.

Модуль полнодуплексного универсального асинхронного приемо-передатчика
•Предназначен для обмена данными с различными внешними устройствами.
•Способен обнаруживать и сигнализировать о нештатных ситуациях: переполнение; ошибка кадрирования; неверный старт- бит.
•Для взаимодействия с программой предусмотрено три прерывания по событиям: передача завершена, регистр данных передатчика пуст; прием завершен.

Принцип последовательной асинхронной передачи
Формат кадра
Бодрейд – скорость передачи в бодах. Бод – 1 посылка в 1 секунду. Перед началом связи необходимо настроить приемо -передатчики на одинаковую скорость связи и формат кадра.

Структурная схема передатчика
Каждый регистр имеет свой адрес в памяти и его разряды предопределены

Формула вычисления скорости передачи
BAUD f clk
16 (UBR 1)

Организация программ для передачи данных UART AVR
Организация обмена данных с использованием прерываний и промежуточного кольцевого буфера
UDRIE
UDRE
|
|
Организуется в ОЗУ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Программа |
|
|
|
|
||
Программа |
Кольцевой |
обработки |
|
|
UDR |
||||
MovsBuf |
буфер UART |
прерываний |
|
|
|
|
|||
|
|
Out |
Transint |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Программы работают асинхронно.
Доступ к кольцевому буферу последовательный или параллельный

Организация кольцевого буфера на передачу в UART
UART Out |
|
Количество |
|
байт |
|
в очереди |
|
Если они равны |
Указатель хвоста очереди |
то очередь |
Указатель головы очереди |
пуста |
|
|
ОБЛАСТЬ ОЗУ |
Начало буфера
Голова очереди
Хвост очереди
Конец очереди

Структурная схема приемника

Организация программ для приема данных UART AVR
Флаг
RXC разрешения Флаг MR B
приема
UDR |
|
Подпрограмма |
|
Буфер |
|
управления |
|
||
|
|
UART IN |
||
|
|
вводом |
|
|
|
|
|
|
|
Драйвер
Подтверждение Приема старт стоп
Подпрограмма
управления
записью

Организация буфера на прием данных в UART
UART In
Программа
проверяет
указатель на превышение буфера
При приеме очередного байта указатель Указатель хвоста очереди
увеличивается на единицу
Начало буфера
Хвост очереди
ОБЛАСТЬ ОЗУ