Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦМПУ / Новая папка (1) / ЦИМПУ(atmega 128).doc
Скачиваний:
102
Добавлен:
16.04.2015
Размер:
4.2 Mб
Скачать

7.7 Содержание отчета по лабораторной работе

  1. Краткое теоретическое введение

  2. Алгоритм и Блок схема программы самостоятельного задания.

  3. Листинг программы и проектного файла с комментариями.

  4. Выводы по лабораторной работе.

Лабораторная работа №8

«Связь двух микроконтроллеров»

8.1 Цель работы: Ознакомиться с принципом связи двух микроконтроллеров ATmega128 и их совместная работа.

8.2Теоретическая часть

8.2.1 УСАПП

Универсальный синхронный и асинхронный последовательный приемопередатчик (УСАПП) предназначен для организации гибкой последовательной связи.

Отличительные особенности:

  • Полнодуплексная работа (раздельные регистры последовательного приема и передачи)

  • Асинхронная или синхронная работа

  • Ведущее или подчиненное тактирование связи в синхронном режиме работы

  • Высокая разрешающая способность генератора скорости связи

  • Поддержка формата передаваемых данных с 5, 6, 7, 8 или 9 битами данных и 1 или 2 стоп-битами

  • Аппаратная генерация и проверка бита паритета (четность/нечетность)

  • Определение переполнения данных

  • Определение ошибки в структуре посылки

  • Фильтрация шума с детекцией ложного старт-бита и цифровым ФНЧ

  • Три раздельных прерывания по завершении передачи, освобождении регистра передаваемых данных и завершении приема

  • Режим многопроцессорной связи

  • Режим удвоения скорости связи в асинхронном режиме

Совместимость УСАПП с УСАПП других AVR-микроконтроллеров

УСАПП полностью совместим с УАПП AVR-микроконтроллеров по следующим позициям:

  • Расположение бит внутри всех регистров УСАПП

  • Генерация скорости связи

  • Работа передатчика

  • Функционирование буфера передатчика

  • Работа приемника

Однако в схеме буферизации приемника реализовано два улучшения, которые в некоторых случаях может повлиять на совместимость:

  • Добавлен второй буферный регистр. Два буферных регистра работают как циклический буфер FIFO. Поэтому, UDR необходимо опрашивать только один раз при каждом получении данных! Более важным является тот факт, что флаги ошибок (FE и DOR), а также 9-ый бит данных (RXB8) также буферизованы вместе с данными в приемном буфере. Поэтому, состояние статусных бит необходимо всегда считывать перед чтением регистра UDR. В противном случае состояние флагов ошибок будет потеряно, т.к. будет изменено состояние буфера.

  • Сдвиговый регистр приемника действует как трехуровневый буфер. Этим обеспечивается возможность сохранения принятых данных в последовательном сдвиговом регистре до определения нового старт-бита, если буферные регистры заполнены. Таким образом, УСАПП характеризуется более высокой стойкостью к выполнению условия ошибки по переполнению данных (DOR).

У следующих управляющих битах изменены наименования, но сохранены назначение, механизм действия и расположение в регистре:

  • CHR9 заменен на UCSZ2

  • OR заменен на DOR

Генерация тактовых импульсов

Логика генерации тактовых импульсов формирует основную синхронизацию приемника и передатчика. УСАПП поддерживает четыре режима работы синхронизации: нормальная асинхронная, асинхронная с удвоением скорости, ведущая синхронная и подчиненная синхронная. Бит UMSEL в регистре С управления и статуса (UCSRC) позволяют выбрать асинхронную или синхронную работу. Удвоение скорости (только в асинхронном режиме) управляется битом U2X в регистре UCSRA. При использовании синхронного режима (UMSEL = 1) соответствующий бит в регистре направления данных для вывода XCK (DDR_XCK) задает будет ли синхронизация внутренней (ведущий режим) или внешней (подчиненный режим). Вывод XCK активен только при использовании синхронного режима.

На рисунке 1 показана функциональная схема логики синхронизации.

Рис 8.1. Функциональная схема логики синхронизации УСАПП

Описание сигналов:

txclk - синхронизация передатчика (внутренний сигнал)

rxclk - основная синхронизация приемника (внутренний сигнал)

xcki - вход от вывода XCK (внутренний сигнал). Используется для синхронной подчиненной работы.

xcko - выход синхронизации к выводу XCK (внутренний сигнал). Используется в ведущем синхронном режиме.

fosc - вывод частоты XTAL (системная синхронизация).

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