Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
26.02.2023
Размер:
262.57 Кб
Скачать

«

»

!" #"$" % &'( )*+")

"$,-)%, '%: . . /%0"!"), . . %2") 3, .4. "/-5%!

"/"! 6 +&-, '7$8%9 &"2 2014

,) /6& !" !-* !"-2 ,"&%$8%2 $") ,"2 0%+%$8"5" 0-8*'7, ,- 15 2-( 2014 5., #/","8"' A 5

3 !+ !, &-/ 0%+.-2-, !-*8, #/"0. . . " / B")

!" #"$" % #"&5",")' !" !- 8-0 &/ /-&%"0%+%8% 0%+%$8"5" 0-- 8*'7, ,- "/"! 6$8"5" 5"$*&-/$,) !!"5" *!%) /$%, ,-.

8"2 !&* ,$( &'( $,*& !,") 4-5" 8*/$- " !"9 % 5-5" 8*/$- " !"-+-" !"9 0"/2 " * !%(.

'( !-#/-)' !%( -8-'-)/%-,- 011800 – -&%"0%+%8-, $# 3%-'7!"$,% 010801 – -&%"0%+%8- % D' 8,/"!%8-

СОДЕРЖАНИЕ

Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Интерфейс USART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Лабораторная работа «Взаимодействие с компьютером по интерфейсу USART» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Описание лабораторного макета . . . . . . . . . . . . . . . . . . . . . . 14 Варианты заданий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Литература . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3

ВВЕДЕНИЕ

Применение микропроцессорной техники и микроконтроллеров в современной радиофизике обусловлено активным использованием методов цифровой обработки сигнала при проектировании радиофизических и телекоммуникационных систем.

Следовательно, для студентов, обучающихся по направлению «Радиофизика», весьма актуально приобретение знаний в области цифровой техники и умение программировать встраиваемые микропроцессорные системы, например, микроконтроллеры и сигнальные процессоры.

В данном пособии рассмотрена лабораторная работа, посвящённая взаимодействию микроконтроллеров посредством встроенных интерфейсов UART и I2C. Приведены краткие теоретические сведения, необходимые для выполнения лабораторной работы.

4

Интерфейс USART

Микроконтроллер ATmega8 имеет в своем составе один модуль универсального синхронно/асинхронного приемопередатчика (USART). Модуль приемо-передатчика обеспечивает полнодуплексный обмен по последовательному каналу, при этом скорость передачи данных может варьироваться в довольно широких пределах. Длина посылки может составлять от 5 до 9 бит.

Для взаимодействия с программой предусмотрены три прерывания, запрос на генерацию которых формируется при наступлении следующих событий: «передача завершена», «регистр данных передатчика пуст» и «прием завершен».

Модуль состоит из трех основных частей: блока тактирования, блока передатчика и блока приемника. Блок тактирования модулей USART содержит схему синхронизации, которая используется при работе в синхронном режиме, и контроллер скорости передачи.

Блок передатчика включает одноуровневый буфер, сдвиговый регистр, схему формирования бита четности и схему управления. Блок приемника, в свою очередь, содержит схемы восстановления тактового сигнала и данных, схему контроля четности, двухуровневый буфер, сдвиговый регистр а также схему управления.

Буферные регистры приемника и передатчика располагаются по одному адресу пространства ввода/вывода и обозначаются как регистр данных UDR. В этом регистре хранятся младшие 8 битов принимаемых и передаваемых данных. При чтении регистра UDR выполняется обращение к буферному регистру приемника, при записи — к буферному регистру передатчика. В модулях USART буфер приемника является двухуровневым (FIFOбуфер), изменение состояния которого происходит при любом обращении к регистру UDR. В связи с этим не следует использовать регистр UDR в качестве операндов команд типа «чтение/модификация/запись» (SBI и CBI). Кроме того, следует быть

5

очень аккуратными при использованием команд проверки SBIC и SBIS, поскольку они также изменяют состояние буфера приемника.

Для управления модулями USART используются три регистра: UCSRA, UCSRB и UCSRC.

Регистр управления UCSRA

 

Номер бита

7

6

 

5

4

3

 

2

1

0

 

 

Имя бита

RXC

TXC

UDRE

FE

DOR

UPE

U2X

MPCM

 

 

 

 

 

 

Биты регистра UCSRA

 

 

 

 

 

Бит

Название

Описание

 

 

 

 

 

 

 

 

 

7

RXC

 

Флаг завершения приема. Флаг устанавлива-

 

 

 

 

 

ется в 1 при наличии непрочитанных данных

 

 

 

 

 

в буфере приемника (регистр данных UDR).

 

 

 

 

 

Сбрасывается флаг аппаратно после опустоше-

 

 

 

 

 

ния буфера. Если бит RXCIE регистра UCSRB

 

 

 

 

 

установлен, то при установке флага генериру-

 

 

 

 

 

ется запрос на прерывание «прием завершен»

 

 

 

 

 

 

 

 

6

TXC

 

Флаг завершения передачи. Флаг устанавли-

 

 

 

 

 

вается в 1 после передачи всех битов посылки

 

 

 

 

 

из сдвигового регистра передатчика при усло-

 

 

 

 

 

вии, что в регистр данных UDR не было за-

 

 

 

 

 

гружено новое значение. Если бит TXCIE ре-

 

 

 

 

 

гистра UCSRB установлен, то при установке

 

 

 

 

 

флага генерируется прерывание «передача за-

 

 

 

 

 

вершена». Флаг сбрасывается аппаратно при

 

 

 

 

 

выполнении подпрограммы обработки преры-

 

 

 

 

 

вания или программно, записью в него лог. 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

5

UDRE

Флаг опустошения регистра данных. Данный

 

 

флаг устанавливается в 1 при пустом буфере

 

 

передатчика (после пересылки байта из реги-

 

 

стра данных UDR в сдвиговый регистр пере-

 

 

датчика). Установленный флаг означает, что в

 

 

регистр данных можно загружать новое значе-

 

 

ние. Если бит UDRIE регистра UCSRB уста-

 

 

новлен, генерируется запрос на прерывание

 

 

«регистр данных пуст». Флаг сбрасывается ап-

 

 

паратно, при записи в регистр данных

 

 

 

4

FE

Флаг ошибки кадрирования. Флаг устанавли-

 

 

вается в 1 при обнаружении ошибки кадри-

 

 

рования, т. е. если первый стоп-бит принятой

 

 

посылки равен 0. Флаг сбрасывается при при-

 

 

еме стоп-бита, равного 1

 

 

 

3

DOR

Флаг переполнения. Флаг устанавливается в 1,

 

 

если в момент обнаружения нового старт-бита

 

 

в сдвиговом регистре приемника находится

 

 

последнее принятое слово, а буфер приемника

 

 

полон (содержит два байта). Флаг сбрасывает-

 

 

ся при пересылке принятых данных из сдви-

 

 

гового регистра приемника в буфер

 

 

 

2

UPE

Флаг ошибки контроля четности. Флаг уста-

 

 

навливается в 1, если в данных, находящихся

 

 

в буфере приемника, выявлена ошибка контро-

 

 

ля четности. При отключенном контроле чет-

 

 

ности этот бит постоянно сброшен в 0

 

 

 

7

1

U2X Удвоение скорости обмена. Если этот бит

 

установлен в 1, то коэффициент деления

 

предделителя контроллера скорости передачи

 

уменьшается с 16 до 8, удваивая тем самым

 

скорость асинхронного обмена по последова-

 

тельному каналу. Этот бит используется толь-

 

ко при асинхронном режиме работы и в син-

 

хронном режиме должен быть сброшен

0MPCM Режим мультипроцессорного обмена. Если

этот бит установлен в 1 ведомый микроконтроллер ожидает приема кадра, содержащего адрес. Кадры, не содержащие адреса устройства, игнорируются

Регистр управления UCSRB

 

Номер бита

7

6

5

4

Имя бита

RXCIE

TXCIE

UDRIE

RXEN

 

 

 

 

 

 

 

 

 

 

Номер бита

3

2

1

0

 

 

 

 

 

Имя бита

TXEN

UCSZ2

RXB8

TXB8

 

 

 

 

 

 

 

Биты регистра UCSRB

Бит

Название

Описание

 

 

 

7

RXCIE

Разрешение прерывания по завершении прие-

 

 

ма. Если данный бит установлен в 1, то при

 

 

установке флага RXC регистра UCSRA гене-

 

 

рируется прерывание «прием завершен» (если

 

 

флаг I регистра SREG установлен в 1)

 

 

 

6

TXCIE

Разрешение прерывания по завершении пере-

 

 

дачи. Если данный бит установлен в 1, то при

 

 

установке флага ТХС регистра UCSRA гене-

 

 

рируется прерывание «передача завершена»

 

 

 

8

5

UDRIE

Разрешение прерывания при очистке регистра

 

 

данных UART. Если данный бит установлен

 

 

в 1, то при установке флага UDRE реги-

 

 

стра UCSRA генерируется прерывание «ре-

 

 

гистр данных пуст» (если флаг I регистра

 

 

SREG установлен в 1)

 

 

 

4

RXEN

Разрешение приема. При установке этого би-

 

 

та в 1 разрешается работа приемника USART

 

 

и переопределяется функционирование вывода

 

 

RXD. При сбросе бита RXEN работа прием-

 

 

ника запрещается, а его буфер сбрасывается.

 

 

Значения флагов ТХС, DOR и FE при этом

 

 

становятся недействительными

 

 

 

3

TXEN

Разрешение передачи. При установке этого би-

 

 

та в 1 разрешается работа передатчика UART

 

 

и переопределяется функционирование вывода

 

 

TXD Если бит сбрасывается в 0 во время пе-

 

 

редачи, то выключение передатчика произой-

 

 

дет только после завершения передачи дан-

 

 

ных, находящихся в сдвиговом регистре и бу-

 

 

фере передатчика

 

 

 

2

UCSZ2

Формат посылок. Этот бит совместно с битами

 

 

UCSZ1:0 регистра UCSRC используется для

 

 

задания размера слов данных, передаваемых

 

 

по последовательному каналу

 

 

 

1

RXB8

8-й бит принимаемых данных. При использо-

 

 

вании 9-битиых слов данных этот бит содер-

 

 

жит значение старшего бита принятого слова.

 

 

Содержимое этого бита должно быть считано

 

 

до прочтения регистра данных UDR

 

 

 

9

 

0

 

TXB8

8-й бит передаваемых данных. При использо-

 

 

 

 

 

 

вании 9-битных слов данных содержимое это-

 

 

 

 

 

 

го бита является старшим битом передаваемо-

 

 

 

 

 

 

го слова. Требуемое значение должно быть за-

 

 

 

 

 

 

несено в этот бит до загрузки байта данных в

 

 

 

 

 

 

регистр UDR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Регистр управления UCSRC

 

 

 

 

 

 

 

Номер бита

 

7

 

6

5

4

 

 

 

 

 

 

Имя бита

 

URSEL

UMSEL

UPM1

UPM0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер бита

 

3

 

2

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имя бита

 

USBS

 

UCSZ1

UCSZ0

UCPOL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Биты регистра UCSRC

 

 

 

Бит

 

Название

 

Описание

 

 

 

 

 

 

 

 

 

 

 

7

 

 

URSEL

 

Выбор регистра. Этот бит определяет, в ка-

 

 

 

 

 

 

 

кой из регистров модуля производится запись.

 

 

 

 

 

 

 

Если бит установлен в 1, обращение произво-

 

 

 

 

 

 

 

дится к регистру UCSRC. Если же бит сбро-

 

 

 

 

 

 

 

шен в 0, обращение производится к регистру

 

 

 

 

 

 

 

UBRRH

 

 

 

 

 

 

 

 

 

 

6

 

UMSEL

 

Режим работы USART. Если бит сброшен в

 

 

 

 

 

 

 

0, то модуль работает в асинхронном режиме.

 

 

 

 

 

 

 

Если бит установлен в 1, то модуль работает

 

 

 

 

 

 

 

в синхронном режиме

 

 

 

 

 

 

 

5, 4

UPM1:UPM0

 

Режим работы схемы контроля и формиро-

 

 

 

 

 

 

 

вания бита четности. Эти биты определяют

 

 

 

 

 

 

 

функционирование схем контроля и формиро-

 

 

 

 

 

 

 

вания бита четности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

Соседние файлы в папке новая папка 1