Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Регистр статуса UART - USR - (UART Status Register)





Регистр USR обеспечивает только чтение информации о состоянии UART. Адрес $0B ($2B).

Bit 7 - RXC: Прием завершен. Данный бит устанавливается в состояние 1 при пересылке принятого символа из сдвигового регистра приема в UDR. Бит устанавливается вне зависимости от отсутствия или наличия ошибок приема кадра. При установленном в UCR бите RXCIE и установленном бите RXC выполняется прерывание по завершению приема UART. Бит RXC очищается при считывании UDR. При приеме данных инициированном прерыванием, подпрограмма обработки прерывания по завершению приема UART должна считать UDR, с тем, чтобы очистить RXC, иначе по окончании подпрограммы обработки прерывания произойдет новое прерывание.

Bit 6 - TXC: Передача завершена. Данный бит устанавливается в состояние 1 когда весь символ (включая стоповый бит) выведен из сдвигового регистра передачи и в UDR не записаны новые данные. Этот флаг используется при полудуплексном связном интерфейсе, когда оборудование передачи должно установить режим приема и освободить коммуникационную шину сразу после завершения передачи. При установленном в регистре UCR бите TXCIE установка TXC приведет к выполнению прерывания по завершению передачи UART. Флаг TXC очищается аппаратно при выполнении обработки соответствующего вектора прерывания. Очистить бит TXC можно записью в бит логической 1.

Bit 5 - UDRE: Регистр данных пуст. Данный бит устанавливается в состояние 1 когда символ, записанный в UDR, пересылается в сдвиговый регистр передачи. Установка этого бита означает, что передатчик готов к получению нового символа для передачи. Когда бит UDRIE в UCR установлен, до тех пор пока установлен UDRE, выполняется прерывание по завершению передачи UART. Бит UDRE очищается при записи в UDR. При приеме данных инициированном прерыванием, подпрограмма обработки прерывания по пустому регистру данных UART должна считать UDR, с тем, чтобы очистить UDRE, иначе по окончании подпрограммы прерывания произойдет новое прерывание. Во время сброса бит UDRE устанавливается в состояние 1 с тем, чтобы индицировать готовность передатчика.

Bit 4 - FE: Ошибка кадра. Данный бит устанавливается в состояние 1 при обнаружении условий ошибочного приема кадра, т.е. когда стоповый бит входящего символа в состоянии 0. Бит FE очищается при приеме стопового бита с логическим уровнем 1.

Bit 3 - DOR: Переполнение данных. Бит DOR устанавливается в состояние 1 при обнаружении условий переполнения, т.е. когда символ, уже находящийся в регистре UDR, не считан перед пересылкой нового символа из сдвигового регистра приема. Бит DOR буферирован, что означает, что он будет оставаться установленным пока не будут считаны правильные данные из UDR. Бит DOR очищается (сбрасывается в 0) когда данные приняты и пересланы в UDR.

Bits 2..0 - Res: Зарезервированные биты. Эти биты в микроконтроллерах ATmega603/103 зарезервированы и при считывании всегда покажут состояние 0.

Регистр управления UART - UCR (Адрес $0A ($2A))- (UART Control Register)

Bit 7 - RXCIE: Разрешение прерывания по завершению приема. При установленном в состояние 1 бите RXCIE и установленном разрешении глобального прерывания установка бита RXC в регистре USR приведет к выполнению прерывания по завершению приема.

Bit 6 - TXCIE: Разрешение прерывания по завершению передачи. При установленном в состояние 1 бите TXCIE и установленном разрешении глобального прерывания установка бита TXC в регистре USR приведет к выполнению прерывания по завершению передачи.

Bit 5 - UDRIE: Разрешение прерывания по пустому регистру данных. При установленном в состояние 1 бите UDRIE и установленном разрешении глобального прерывания установка бита UDRE в регистре USR приведет к выполнению прерывания по пустому регистру данных UART.

Bit 4 - RXEN: Разрешение приемника. Установленный в состояние 1 бит RXEN разрешает приемник UART. Если приемник запрещен, то флаги статуса TXC, DOR и FE установить невозможно. Если эти флаги установлены, то очистка бита RXEN не приведет к очистке этих флагов.

Bit 3 - TXEN: Разрешение передатчика. Установленный в состояние 1 бит TXEN разрешает передатчик UART. При запрещении передатчика во время передачи символа, передатчик не будет заблокирован прежде, чем будут полностью переданы символ в сдвиговом регистре плюс любой находящийся в UDR следующий символ.

Bit 2 - CHR9: Режим 9-разрядных символов. При установленном в состояние 1 бите CHR9 передаются и принимаются 9-разрядные символы плюс стартовый и стоповый биты. Девятые биты читаются и записываются с использованием битов RXB8 и TXB8 (соответственно) регистра UCR. Девятый бит данных может использоваться как дополнительный стоповый бит или бит контроля четности.

Bit 1 - RXB8: Прием 8-разрядных данных. При установленном в состояние 1 бите CHR9 бит RXB8 является девятым битом данных принятого символа.

Bit 0 - TXB8: Передача 8-разрядных данных. При установленном в состояние 1 бите CHR9 бит TXB8 является девятым битом данных передаваемого символа.

Бод-генератор (Baud Rate Generator)

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

BAUD = fCK/16 (UBRR + 1), где BAUD - частота в бодах, fCK - частота кварцевого генератора, UBRR - содержимое регистра UBRR (Baud Rate register = 0 - 255).

Регистр БОД-генератора UART- UBRR.

Регистр UBRR является 8-разрядным регистром, с возможностью чтения/записи, определяющим скорость UART. Адрес регистра $09 ($29)

 

Лекция №

Последовательный интерфейс I2C

Общие положения и введение в логику работы шины I2C

Разработанная фирмой Philips шина I2C ("Inter-Integrated Circuit"), - это двунаправленная асинхронная шина с последовательной передачей данных и возможностью адресации до 128 устройств. Физически шина I2C содержит две сигнальные линии, одна из которых (SCL) предназначена для передачи тактового сигнала, вторая (SDA) для обмена данными. Для управления линиями применяются выходные каскады с открытым коллектором, поэтому линии шины должны быть подтянуты к источнику питания +5 В через резисторы сопротивлением 1...10 кОм, в зависимости от физической длины линий и скорости передачи данных. Длина соединительных линий в стандартном режиме может достигать 2-х метров, скорость передачи - до 100 кбит/с.

Все абоненты шины делятся на два класса - "Master" и "Slave". Устройство "Master" генерирует тактовый сигнал (SCL) и, как следствие, является ведущим. Оно может самостоятельно выходить на шину и адресовать любое "Slave" - устройство с целью передачи или приема информации. Все "Slave"-устройства "слушают" шину на предмет обнаружения собственного адреса и, распознав его, выполняют предписываемую операцию. Кроме того, возможен так называемый "Multi Master" - режим когда на шине установлено несколько "Master"-абонентов, которые либо совместно разделяют общие "Slave"-устройства, либо попеременно являются то "Master"-устройствами, когда сами инициируют обмен информацией, то "Slave", когда находятся в режиме ожидания обращения от другого "Master"-устройства. Режим "Multi Master" требует арбитража и распознавания конфликтов. Естественно, он сложнее в реализации (имеется ввиду программная реализация) и, как следствие, реже используется в реальных изделиях.

Рассмотрим пример. Поскольку в качестве ведущих обычно выступают микроконтроллеры, давайте рассмотрим пример пересылки данных между двумя микроконтроллерами, подключенными к шине. Пример покажет взаимоотношения передатчик-приемник и ведущий-ведомый, существующие в шине I2C. Необходимо заметить, что эти отношения не постоянны, а зависят только от направления пересылки данных в данный момент времени. Пересылка данных будет происходить следующим образом:

1. Пусть микроконтроллер А желает послать информацию в микроконтроллер В:

-микроконтроллер А (ведущий) адресует микроконтроллер В (ведомый)

-микроконтроллер А (ведущий-передатчик) посылает данные микроконтроллеру В (ведомый-приёмник)

-микроконтроллер А заканчивает пересылку

2. Пусть микроконтроллер А желает принять информацию от микроконтроллера В:

-микроконтроллер А (ведущий) адресует микроконтроллер В (ведомый)

-микроконтроллер А (ведущий-приемник) принимает данные от микроконтроллера В (ведомый-передатчик)

-микроконтроллер А заканчивает пересылку

В обоих случаях ведущий (микроконтроллер А) генерирует синхроимпульсы и заканчивает пересылку.

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

Двунаправленный обмен по двум линиям

Высокая скорость обмена - до 100 кбит и выше

Возможность адресации до 128 устройств

Простота программной реализации "Master"-абонента

Преимущества для конструктора

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

Вот некоторые достоинства I2C-совместимых микросхем, которые касаются конструкторов:

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







Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.