Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Вопрос-3: Асинхронный универсальный приёмопередатчик (на примере Atmega 16).Поиск на нашем сайте Назначение. Послед-ая связь – это послед-ая реализация 3ёх процессов: преобразование данных в некоторый сигнал, передача сигнала по каналу связи и обратное преобразование сигнала в данные. Для того, чтобы освободить ЦП от работы, связанной с управлением последовательной передачей данных, был создан УАПП. USART Универсальный синхронно-асинхронный последовательный приемопередатчик (USART) – гибкое средство связи. Структурная схема USART представлена на рис. 69. Доступные регистры и порты ввода-вывода отмечены жирным начертанием.
Пунктиром выделены три основных блока: тактовый генератор, передатчик и приемник. Управляющие регистры доступны всем блокам. Тактовый генератор состоит из синхронизирующей схемы для внешнего источника тактирования (при ведомом режиме синхронной передачи) и непосредственно генератора. Вывод XCK используется только в режиме синхронной работы. Передатчик состоит из буфера, последовательного сдвигового регистра, генератора четности, и управляющей логики, определяющей режимы работы. Буфер поддерживает длительную непрерывную передачу без пауз между данными. Приемник – наиболее полный блок USART из-за своих схем восстановления данных и коррекции частоты. Схемы восстановления используются для приема в асинхронном режиме. Также приемник включает: бит четности, управляющую логику, сдвиговый регистр и двухуровневый регистр приема данных UDR. Приемник поддерживает те же форматы данных, что и передатчик, и может определять ошибки формата, переполнения и четности. USART поддерживает четыре режима: нормальный асинхронный, асинхронный двойной скорости, синхронный ведущий и синхронный ведомый. Бит UMSEL в регистре UCSRC (USART Control and Status Register C – регистр управления и статуса) определяет синхронный или асинхронный режим. Двойная скорость определяется в регистре UCSRA битом U2X. При синхронном режиме (UMSEL = 1) регистр определения входа-выхода Data Direction Register определяет внешнюю или внутреннюю синхронизацию состоянием регистра для вывода XCK (DDR_XCK). Вывод XCK задействован только в синхронном режиме. Режим двойной скорости. Скорость передатчика может быть удвоена установкой бита U2X в регистре UCSRA. Установка этого бита возымеет результат только в режиме асинхронной передачи. Установка этого бита сокращает предделитель вдвое, эффективно удваивая скорость, но понижая безошибочность приемника. На передатчик негативных воздействий не оказывается. Внешняя синхронизация. Внешняя синхронизация используется в синхронном ведомом режиме. Обработка сигнала с вывода XCK регистром синхронизации и детектором границ занимает два такта ЦПУ, поэтому частота внешней синхронизации должна быть по крайней мере вчетверо меньше тактовой частоты:
Стабильность тактовой частоты зависит от источника тактирования. Рекомендуется увеличить отступ частот, чтобы избежать потери данных из-за отклонений частоты. Синхронный режим работы. В синхронном режиме вывод XCK работает как вход (ведомый) или выход (ведущий). Биты данных разделяются по границам синхроимпульсов, как по фронтам, так и по спадам. Простое правило: прием данных дискретизируется по противоположной границе импульса вывода XCK от передачи. Рис. 71. Бит UCPOL регистра UCRSC определяет, какая из границ импульса на выводе XCK используется для фрагментирования, и какая для получения данных. На рис. 71 изображено как получение данных происходит при UCPOL = 1 по фронту и при UCPOL = 0 по спаду. А фрагментирование напротив при UCPOL= 0 по фронту и при UCPOL = 1 по спаду. Фреймы данных. Фрейм последовательных данных состоит из бит данных, бит синхронизации и опционально из битов четности. USART поддерживает 30 различных вариантов фреймов следующей структуры: - 1 старт бит; - от 5 до 9 бит данных; - ничего, или четный/нечетный бит четности; - 1 или 2 стоп-бита. Фрейм начинается со старт-бита. Следующими приходят биты данных, до 9. В конце биты четности, если включены и стоп-биты. За одним фреймом может тут-же последовать другой или же линия может быть переведена в режим ожидания (высокий уровень). Возможный формат фрейма показан на рис. 72. Рис. 72. Формат данных задается битами UCSZ2:0, UPM1:0, USPS в регистрах UCSRB и UCSRC. Формат задается одновременно для передатчика и приемника. Биты UCSZ2:0 (USART CharacterSize) задают количество бит данных; UPM1:0 (USART ParityMode) включают биты четности и определяют их четность; USPS (USART Stop Bit Selection) определяет, один или два бита четности будет завершать фрейм. Приемник всегда игнорирует второй стоп-бит. Наличие низкого уровня на стоп-бите вызывает ошибку данных FE (Frame Error). Инициализация USART. Перед использованием USART нужно инициализировать. Инициализация обычно заключается в установке скорости и формата фрейма. Для того, чтобы использовать прерывания в работе USART, прерывания должны быть глобально запрещены на время инициализации. При переинициализации, затрагивающей изменение скорости и формата, стоит удостовериться, что передача данных временно не ведется. Флаг TXC используется, чтобы удостовериться в том, что передатчик завершил передачу, а флаг RXC показывает наличие непрочитанных данных в принимающем буфере. TXC должен быть сброшен перед записью в UDR (передачей). Далее приведен пример инициализации на ассемблере и C. Оба примера эквивалентны. В примерах устанавливается асинхронный режим без опроса (прерывания выключены) и фиксированный формат фреймов. Скорость передается как аргумент функции. В ассемблерном варианте как псевдоним скорости используются регистры r17:r16. Передатчик USART включается установкой бита TXEN регистра UCSRB. Когда передатчик включен, вывод TxD перехватывается приемопередатчиком и используется для последовательной передачи данных. При синхронной передаче, вывод XCK также перехватывается. Инициализация должно быть проведена до проведения любых передач. USART приемник. Прием данных. Приемник включается установкой бита RXEN регистра UCSRB в 1. Когда приемник включен, вывод RxD перехватывается приемником и работает как последовательный вход. Инициализация должна проводиться до приема данных. В синхронном режиме вывод XCK также перехватывается приемопередатчиком. Асинхронный прием данных. Приемопередатчик USART включает блоки восстановления частоты и данных. Блок восстановления частоты нужен для синхронизации внутренней частоты передачи данных с поступающими данными на выводе RxD. Блок восстановления данных фрагментирует сигнал и пропускает его через фильтр низкой частоты, что увеличивает помехоустойчивость приемника. Работа в асинхронном режиме приема данных зависит от точности генератора тактовой частоты, скорости приема и формата принимаемых фреймов. Восстановление частоты в асинхронном режиме. Блок восстановления частоты синхронизирует внутреннее тактирование с принимаемыми данными. На рис. 73 показан процесс фрагментирования старт-бита принимаемого фрейма. Частота восстановителя-фрагментатора в 16 раз больше частоты принимаемого сигнала, и в 8 раз больше для режима двойной скорости. Рис. 73. Когда блок восстановления частоты регистрирует изменение из высокого (ожидание) до низкого (старт-бит) уровня, регистрируется старт-бит. Восстановление данных в асинхронном режиме. Когда приемник синхронизировался со старт-битом, начинается восстановление фрейма. Рис. 74 показывает, как происходит восстановление бит данных и бит четности. Определение логического уровня принятого бита производится по анализу напряжения трех центральных фрагментов по следующей схеме: если хотя бы два фрагмента имеют высокий уровень, значит принята единица. Восстановления производится до принятия первого стоп-бита. Рис. 75 показывает фрагментирование первого стоп-бита, и определение возможного начала следующего старт-бита. Рис. 75.
Если стоп-бит регистрируется в низком уровне, устанавливается флаг FE. При стандартной скорости старт-бит ожидается в точке А, при двойной в точке В. Отметка С означает полную продолжительность стоп-бита. Раннее распознание старт-бита влияет на рабочий диапазон приемника (The early start bit detection influences the operational range of the receiver).
|
||
|
Последнее изменение этой страницы: 2024-07-06; просмотров: 26; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.214 (0.009 с.) |