
- •1 Внутренняя память)Обобщенная структурная схема микропроцессорной систем
- •2) Режимы обмена информации с внешними устройствами
- •3) Обобщенная структура мк
- •6) Система комманд и методы адрессации
- •9.3. Типы команд
- •10.4. Начальный запуск мк (сброс)
- •18.2. Блок тактирования (usart baud rate registers – ubrrl & ubbrh)
- •20.2. Работа передатчика.
- •20.5. Работа приемника
- •Пример. Программа измерения длительности импульса
18.2. Блок тактирования (usart baud rate registers – ubrrl & ubbrh)
Блок тактирования вырабатывает все основные тактовые сигналы – как для передатчика, так и для приемника.
Рис. 20.3. Функциональная схема USART.
USART поддерживает 4 режима синхронизации:
-обычный асинхронный;
-асинхронный с двойной скоростью;
-синхронизация от ведущего (Master) устройства;
-синхронизация от ведомого (Slave) устройства.
Константа, записанная в данную пару регистров, определяет скорость передачи информации. Константу можно вычислить при помощи таблицы 20.1.
Таблица 20.1 Соответствие между скоростью передачи и состоянием регистров UBRRL & UBBRH
Режим работы |
Скорость передачи, бод |
Вычисление константы UBRR |
Асинхронный режим |
|
|
Асинхронный режим двойная скорость |
|
|
Синхронный режим |
|
|
fosc – частота генератора микроконтроллера; BAUD – скорость передачи, бод; UBRR – константа, определяющая скорость передачи.
USART Baud Rate Registers – UBRRL and UBRRH
Bit 15 14 13 12 11 10 9 8
URSEL |
- |
- |
- |
UBBR[11:8] |
UBRR[7:0] |
UBRRL
7 6 5 4 3 2 1 0
Рис. 20.4. Регистры UBRRH-UBRRL
Бит 15 – URSEL - данный бит позволяет выбирать между регистром UBRRH и UCSRC регистров. URSEL = 0 при чтении регистра UBRRH. URSEL=1 при записи в регистр UBRRH.
Биты 14:12 – зарезервированы.
Биты 11:0 - старшие биты регистра UBRR.
Биты 7:0 - младшие биты регистра UBRR.
20.2. Работа передатчика.
Передатчик готов к работе при установке разряда TxEN в регистре управления UCSRB. При этом выход передатчика подключается к выводу порта.
Передача данных начинается с загрузки в буфер данных передатчика UDR байта данных. Информация из буфера данных загружается в сдвиговый регистр, как только он будет готов к передаче нового кадра, при этом буфер данных опустошается и в 5-м разряде
Рг А устанавливается «1», что позволит загрузить 2-й байт.
Как только информация загрузилась в сдвиговый регистр, она начинает выдаваться на линию, при этом могут быть добавлены вспомогательные биты – бит четности. При нулевом состоянии бита 2 регистра В формируется кадр из 9 бит данных (всего 11 бит), причем бит ТxB8 указан в разряде «0» Рг В.
Второй и последующий байты сохраняются в Рг UDR до завершения передачи предыдущего кадра, при этом бит UDRE Рг А находится в нулевом состоянии.
После завершении выдачи кадра из последовательного регистра и отсутствии данных в буфере устанавливается бит 6 (ТхС) Рг А, что означает, что передача завершена и при единичном состоянии бита 6 Рг В (TxCIE) подается запрос прерывания.
Разряд ТхС сбрасывается аппаратно при переходе МК к выполнению подпрограммы обработки прерывания или бит может быть сброшен программно.
При единичном состоянии разряда UDRE Рг А и единичном состоянии UDRIE Рг В подается запрос прерывания. Прерывающая программа должна записать данные в буфер, после чего разряд UDRE сбрасывается.