472.57K
Category: electronicselectronics

Интерфейс USART. Режимы работы (лекция 9)

1.

Интерфейс USART
USART0
USART1
1

2.

Интерфейс USART
Режимы работы
− асинхронный UART
(без XCK)
− синхронный USART
(с XCK)
2

3.

Интерфейс USART
Соединение USART-устройств
TXD (TD) – Transmit Data
RXD (RD) – Receive Data
XCK – ClocK
3

4.

Интерфейс USART
Соединение
USARTустройств
4

5.

Интерфейс USART
Соединение UART-устройств
5

6.

Интерфейс USART
Соединение
UARTустройств
6

7.

Интерфейс USART
Основные характеристики USART
– тип последовательный
– ТТЛ-уровни представления
отдельных битов посылки:
уровень логического нуля 0 В
(0 В … 1,5 В), логической
единицы 5 В (1,7 В … 5 В) 7

8.

Интерфейс USART
Основные характеристики USART
– интерфейс
универсальный:
может выступать и в синхронном
варианте, и в асинхронном;
– протокол гибкий;
– интерфейс двунаправленный
(полнодуплексный);
– расстояние связи до 20 м
8

9.

Интерфейс USART
Формат посылки
Условное обозначение
формата посылки
− старт-бит
N-P-n
− непосредственные данные
(LSB): N = 5, 6, 7, 8 или 9 бит
− паритет: P = чётный (E, Even),
нечётный (O, Odd),
отсутствующий (N, None)
− стоп-биты: n = 1 или 2
9

10.

Интерфейс USART
Осциллограммы взаимодействия
UART 8-N-1
TXD
(RXD)
Непосредственное данное == 0х01
Формат посылки у всех устройств
должен быть идентичным!!!
10

11.

Интерфейс USART
Осциллограммы взаимодействия
UART
8-O-1
TXD
(RXD)
Непосредственное данное == 0х74
Формат посылки у всех устройств
должен быть идентичным!!!
11

12.

Интерфейс USART
Осциллограммы взаимодействия
UART
8-E-1
TXD
(RXD)
Непосредственное данное == 0х74
Формат посылки у всех устройств
должен быть идентичным!!!
12

13.

Интерфейс USART
Осциллограммы взаимодействия
UART
6-N-1
TXD
(RXD)
Непосредственное данное == ???
Формат посылки у всех устройств
должен быть идентичным!!!
13

14.

Интерфейс USART
Осциллограммы взаимодействия
UART 8-N-1
TXD (RXD)
Непосредственные данные == ???
14

15.

Интерфейс USART
Осциллограммы взаимодействия
TXD
(RXD)
Полярность
UCPOL = 1
XCK
USART
8-O-1
Непосредственное данное == ??? 15

16.

Интерфейс USART
Осциллограммы взаимодействия
TXD
(RXD)
XCK
USART
8-O-1
Полярность
UCPOL = 0
Непосредственное данное == ??? 16

17.

Интерфейс USART
Основные события в USART
− состояние ДАННОЕ ПРИНЯТО
− состояние ДАННОЕ ПЕРЕДАНО
− состояние
РЕГИСТР ДАННЫХ ДЛЯ ПЕРЕДАЧИ ПУСТ
17

18.

Интерфейс
USART
Функциональная
схема USART
18

19.

Интерфейс USART
Таблица регистров специальных функций USART
19

20.

Интерфейс USART
UCSRnA (USART Control and Status Register A, n = 0, 1) –
регистр A управления и состояния USART
RXCn (Receive Complete) – флаг завершения приёма
USART; устанавливается аппаратно, когда в приёмном
буфере содержатся несчитанные данные, сбрасывается
при считывании принятых данных
TXCn (Transmit Complete) – флаг завершения передачи
USART; устанавливается аппаратно, когда вся посылка
из сдвигового регистра передатчика полностью передана
и в передающем буфере UDRn нет новых данных
20

21.

Интерфейс USART
UCSRnA (USART Control and Status Register A) –
регистр A управления и состояния USART
UDREn (USART Data Register Empty) – флаг
освобождения регистра данных USART
FEn (Frame Error) – ошибка посылки;
устанавливается, если в приёме посылки,
находящейся на выходе из приёмного буфера,
была определена ошибка в её структуре, т.е.
первый стоп-бит посылки имеет нулевое значение
21

22.

Интерфейс USART
UCSRnA (USART Control and Status Register A) –
регистр A управления и состояния USART
DORn (Data OverRun) – флаг переполнения
данных USART; переполнение данных возникает
в случае приёма очередного бита при
заполненном приёмном буфере
UPEn (USART Parity Error) – ошибка паритета
U2Xn – бит удвоения скорости связи USART
MPCMn (Multiprocessor Communication Mode) –
режим многопроцессорной связи
22

23.

Интерфейс USART
UCSRnB (USART Control and Status Register B, n = 0, 1) –
регистр B управления и состояния USART
RXCIEn (Receive Complete Interrupt Enable) – разрешение
прерывания по завершении приёма USART, т.е. по флагу
RXCn
TXCIEn (Transmit Complete Interrupt Enable) –
разрешение прерывания по завершении передачи USART,
т.е. по флагу TXCn
UDRIEn (USART Data Register Empty Interrupt Enable) –
разрешение прерывания по освобождению регистра
данных USART, т.е. по флагу UDREn
23

24.

Интерфейс USART
UCSRnB (USART Control and Status Register B) –
регистр B управления и состояния USART
RXENn (Receive ENable) – разрешение приёма,
т.е. включение приёмника
TXENn (Transmit ENable) – разрешение передачи,
т.е. включение передатчика
UCSZn2 (USART Character SiZe) – бит размера
принимаемых и передаваемых данных, наряду с
битами UCSZn1 и UCSZn0
24

25.

Интерфейс USART
UCSRnB (USART Control and Status Register B) – регистр
B управления и состояния USART
RXB8n (Receive Bit 8) – значение 8-го разряда
принятых данных при отсчёте разрядов с нуля,
т.е. значение 9-го бита принятых данных при
отсчёте битов с единицы
TXB8n (Transmit Bit 8) – значение 8-го разряда
передаваемых данных при отсчёте разрядов с
нуля; данный бит необходимо записать перед
записью младших разрядов данных в UDRn
25

26.

Интерфейс USART
UCSRnC (USART Control and Status Register C, n = 0, 1) –
регистр C управления и состояния USART
UMSELn (USART Mode SELect) – выбор режима USART:
0 – асинхронный, 1 – синхронный
UPMn[1:0] (USART Parity Mode) – вид паритета
26

27.

Интерфейс USART
UCSRnC (USART Control and Status Register C) –
регистр C управления и состояния USART
UPMn[1:0] (USART Parity Mode) – вид паритета
Формула расчёта паритета
27

28.

Интерфейс USART
UCSRnC (USART Control and Status Register C) – регистр C
управления и состояния USART
USBSn (USART Stop Bit Select) – количество стоп-битов:
0 – 1 стоп-бит, 1 – 2 стоп-бита
UCSZn[2:0]
(USART
Character SiZe)

размер
данных
в
посылке
28

29.

Интерфейс USART
UCSRnC (USART Control and Status Register C) –
регистр C управления и состояния USART
UCPOLn (USART Clock POLarity) – полярность
синхронизации; бит активен только в синхронном
режиме
29

30.

Интерфейс USART
UBRR (USART Baud Rate Register) – регистр
скорости связи
30

31.

Интерфейс USART
Формула расчёта скорости связи USART
Набор
стандартных
USART-скоростей [бит/с]:
9600, 19200, 57600, 115200, 921600
31

32.

Интерфейс USART
Многопроцессорный режим связи
Основные биты данного режима:
MPCM, RXB8, TXB8
Установка
бита
MPCM
многопроцессорного режима связи
в регистре UCSRA активизирует
функцию фильтрации входящих
посылок приёмником УСАПП
32

33.

Интерфейс USART
Многопроцессорный режим связи
Посылки,
которые не
содержат
информации об адресе, игнорируются и
не помещаются в приёмный буфер. Это
позволяет
существенно
уменьшить
количество
входящих
посылок,
подлежащих
обработке
в
многопроцессорных системах, связь между
процессорами в которых организована
через одну последовательную шину
33

34.

Интерфейс USART
Многопроцессорный режим связи
Значение бита MPCM не оказывает
никакого
влияния
на
работу
передатчика
Если приёмник настроен на приём
9 битов данных, то значение 9-го
бита RXB8
используется
для
идентификации
адреса
или
данных
34

35.

Интерфейс USART
Многопроцессорный режим связи
Если идентификатор типа посылки
(9-й бит данных) равен 1, то в посылке
содержится адрес. В противном случае
в посылке переданы данные
Режим многопроцессорной
связи
позволяет
нескольким
ведомым
микроконтроллерам
принимать
данные от одного ведущего
35

36.

Интерфейс USART
Многопроцессорный режим связи
При
этом,
ведомые
микроконтроллеры по первой
адресной посылке определяют
к
какому конкретному
микроконтроллеру адресуется
ведущий
36

37.

Интерфейс USART
Многопроцессорный режим связи
Если
один
из ведомых
микроконтроллеров обнаруживает свой
адрес, то следующие посылки данных
он будет
принимать в нормальном
режиме (MPCM = 0), а остальные
ведомые микроконтроллеры эти данные
будут
игнорировать
до
момента
обнаружения
следующей
адресной
посылки
37

38.

Интерфейс USART
Многопроцессорный режим связи
Если микроконтроллер является ведущим,
то он использует 9-битный формат данных
в посылке (UCSZ = 7)
9-й бит TXB8 данных устанавливается
(TXB8 = 1) при передаче адресной посылки
и сбрасывается (TXB = 0) при передаче
посылки данных. В этом случае ведомые
микроконтроллеры также должны быть
настроены на 9-битный формат
38

39.

Интерфейс USART
Многопроцессорный режим связи
Для
обмена
данными
в
многопроцессорном режиме связи
необходимо
использовать
следующие процедуры:
1. Все ведомые микроконтроллеры
переводятся в многопроцессорный
режим связи: MPCM = 1
39

40.

Интерфейс USART
Многопроцессорный режим связи
2. Ведущий
МК отправляет
адресную посылку (9-й бит данных
равен единице), а все ведомые
принимают и считывают её. В
ведомых МК флаг RXC в регистре
UCSRA
устанавливается
в
обычном режиме
40

41.

Интерфейс USART
Многопроцессорный режим связи
3. Каждый ведомый МК считывает
регистр UDR и определяет, к кому
адресуется ведущий МК
Адресуемый
МК
должен
очистить бит MPCM в UCSRA,
в противном случае он ожидает
следующего адресного байта и
сохраняет установки MPCM
41

42.

Интерфейс USART
Многопроцессорный режим связи
4. Адресуемый МК принимает все
данные до следующей адресной
посылки. Другие ведомые МК, у
которых бит MPCM остался
установленным будут игнорировать
посылки данных, ибо в текущих
посылках 9-й бит равен нулю
42

43.

Интерфейс USART
Многопроцессорный режим связи
5. После приёма адресуемым
МК
последней
посылки
данных
устанавливается
бит
MPCM и ожидается приём новой
адресной посылки от ведущего
МК. Далее процесс повторяется
со 2-го пункта
43
English     Русский Rules