|
||||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[36] Прием данных Шина данных XTAL Бод-генератор Бод x 16 Логика управления выводом
/16 Бод Сохранение UDR Логика восстановления данных Регистр данных I/O UART (UDR) 10(11)-разрядный сдвиговый] регистр приема -Г -7 CN Ш Z Z о; СО (й( j ( , QL ШШт-CQcQУ У Q Регистр управления UART (UCR) Шина данных dd dd dd Регистр статуса UART (USR) и RXC IRQ Рис. 43 Приемник UART. Логика восстановления данных производит выборку состояний вывода RXD с частотой в 16 раз большей, чем частота бодов. При нахождении линии в пассивном состоянии одиночная выборка нулевого логического уровня будет интерпретироваться как падающий фронт стартового бита и будет запущена последовательность детектирования стартового бита. Считается, что первая выборка обнаружила первый нулевой логический уровень вероятного стартового бита. На выборках 8, 9 и 10 приемник вновь тестирует вывод RXD на изменение логических состояний. Если две или более из этих трех выборок обнаружат логические 1, то данный вероятный стартовый бит отвергается как шумовой всплеск и приемник начнет выявлять и анализировать следующие переходы из 1 в 0. Если же был обнаружен действительный стартовый бит, то начинает производиться выборка следующих за стартовым битом информационных битов. Эти биты также тестируются на выборках 8, 9 и 10. Логическое состояние бита принимается по двум и более (из трех) одинаковым состояниям выборок. Все биты вводятся в сдвиговый регистр приемника с тем значением, которое было определено тестированием выборок. Тестирование выборок битов принимаемых символов показано на Рис. 44. RXD Стартовый Вы6орки\бит D0 X D1X D2 X D3 X D4X D5 X D6 X D7 Стобпитвый приемника.......Ill.............Ill.............Ill.............Ill.............Ill.............Ill.............Ill.............Ill.............Ill.............Ill....... Рис. 44. Тестирование выборок принимаемых данных При поступлении стопового бита необходимо чтобы не менее двух выборок из трех подтвердили прием стопового бита (показали высокий уровень). Если же две или более выборок покажут состояния 0, то, при пересылке принятого байта в UDR, в регистре статуса UART (USR) устанавливается бит ошибки кадра FE (Framing Error). Для обнаружения ошибки кадра пользователь перед чтением регистра UDR должен проверять состояние бита FE. Флаг FE очищается при считывании содержимого регистра данных UART (UDR). Вне зависимости от того принят правильный стоповый бит или нет, данные пересылаются в регистр UDR и устанавливается флаг RXC в регистре статуса UART (USR). Регистр UDR фактически является двумя физически отдельными регистрами, один из которых служит для передачи данных и другой для приема. При считывании UDR обращение ведется к регистру приема данных, при записи обращение ведется к регистру передачи. Если выбран режим обмена 9-разрядными словами данных (установлен бит CHR9 регистра UCR), при пересылке данных в UDR бит RXB8 регистра UCR загружается в бит 9 сдвигового регистра передачи. Если после получения символа к регистру UDR не было обращения, начиная с последнего приема, в регистре UCR устанавливается флаг переполнения (OR). Это означает, что новые данные, пересылаемые в сдвиговый регистр не могут быть переданы в UDR и потеряны. Бит OR буферирован и доступен тогда, когда в UDR читается байт достоверных данных. Пользователю, для обнаружения переполнения, необходимо всегда проверять флаг OR после считывания содержимого регистра UDR. При очищенном (сброшенном в логическое состояние 0) бите RXEN регистра UCR приемник запрещен. Это означает, что вывод PE0 может использоваться в качестве вывода I/O общего назначения. При установленном бите RXEN, приемник UART подключается к выводу PE0, который работает как вывод входа, вне зависимости от установки бита DDE0 в DDRE. При установке UART вывода PE0 на работу в качестве входа, бит PORTE0 может использоваться для управления нагрузочным резистором вывода. Управление UART РЕГИСТР ДАННЫХ UART - UDR - (UART I/O Data Register) Бит7 6 5 4 3 2 10 $0C ($2C)IMSB jjjIIII LSB j UDR Чтение/ЗаписьR/W R/W R/W R/W R/W R/W R/W R/W Начальное значение00000000 В действительности регистр UDR является двумя физически разделенными регистрами - регистром передачи данных и регистром приема данных, использующими одни и те же адреса I/O. При записи в регистр запись производится в регистр передачи данных UART, при чтении происходит чтение содержимого регистра приема данных UART. РЕГИСТР СТАТУСА UART - USR - (UART Status Register) Бит7 6 5 4 3 2 10 $0B ($2B)IRXC TXC UDRE FE DOR - - - ~ USR Чтение/ЗаписьRR/W RRRRRR Начальное значение00000000 Регистр USR обеспечивает только чтение информации о состоянии UART. •Bit 7 - RXC: UART Receive Complete - Прием завершен Данный бит устанавливается в состояние 1 при пересылке принятого символа из сдвигового регистра приема в UDR. Бит устанавливается вне зависимости от отсутствия или наличия ошибок приема кадра. При установленном в UCR бите RXCIE и установленном бите RXC выполняется прерывание по завершению приема UART. Бит RXC очищается при считывании UDR. При приеме данных инициированном прерыванием, подпрограмма обработки прерывания по завершению приема UART должна считать UDR, с тем, чтобы очистить RXC, иначе по окончании подпрограммы обработки прерывания произойдет новое прерывание •Bit 6 - TXC: UART Transmit Complete - Передача завершена Данный бит устанавливается в состояние 1 когда весь символ (включая стоповый бит) выведен из сдвигового регистра передачи и в UDR не записаны новые данные. Этот флаг используется при полудуплексном связном интерфейсе, когда оборудование передачи должно установить режим приема и освободить коммуникационную шину сразу после завершения передачи. При установленном в регистре UCR бите TXCIE установка TXC приведет к выполнению прерывания по завершению передачи UART. Флаг TXC очищается аппаратно при выполнении обработки соответствующего вектора прерывания. Очистить бит TXC можно записью в бит логической 1. •Bit 5 - UDRE: UART Data Register Empty - Регистр данных пуст Данный бит устанавливается в состояние 1 когда символ, записанный в UDR, пересылается в сдвиговый регистр передачи. Установка этого бита означает, что передатчик готов к получению нового символа для передачи. Когда бит UDRIE в UCR установлен, до тех пор пока установлен UDRE, выполняется прерывание по завершению передачи UART. Бит UDRE очищается при записи в UDR. При приеме данных инициированном прерыванием, подпрограмма обработки прерывания по пустому регистру данных UART должна считать UDR, с тем, чтобы очистить UDRE, иначе по окончании подпрограммы прерывания произойдет новое прерывание. Во время сброса бит UDRE устанавливается в состояние 1 с тем, чтобы индицировать готовность передатчика. •Bit 4 - FE: Framing Error - Ошибка кадра Данный бит устанавливается в состояние 1 при обнаружении условий ошибочного приема кадра, т.е. когда стоповый бит входящего символа в состоянии 0. Бит FE очищается при приеме стопового бита с логическим уровнем 1. •Bit 3 - DOR: Data OverRun - Переполнение данных Бит DOR устанавливается в состояние 1 при обнаружении условий переполнения, т.е. когда символ, уже находящийся в регистре UDR, не считан перед пересылкой нового символа из сдвигового регистра приема. Бит DOR буферирован, что означает, что он будет оставаться установленным пока не будут считаны правильные данные из UDR. Бит DOR очищается (сбрасывается в 0) когда данные приняты и пересланы в UDR. |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||||