Информация & документация

10.0 АДРЕСУЕМЫЙ СИНХРОННЫЙ/АСИНХРОННЫЙ ПРИЕМОПЕРЕДАТЧИК (USART)

Модуль универсального синхронного/асинхронного приемопередатчика (USART) - это один из двух последовательных модулей ввода/вывода. (USART еще известен как Serial Communication Interface или SCI). USART может быть настроен как полнодуплексная асинхронная система, которую можно соединять с периферийными устройствами, такими как CRT-терминалы и персональные компьютеры. Также он может быть настроен как полудуплексная синхронная система, которую можно соединять с микросхемами АЦП или ЦАП, последовательной памятью EEPROM, и т.д.

USART может быть настроен на следующие режимы: Бит SPEN (RCSTA<7>), и биты TRISC<7:6>, должны быть правильно настроены, для включения выводов RC6/TX/CK и RC7/RX/DT как Универсальный Синхронный/Асинхронный Приемопередатчик.

Модуль USART поддерживает мультипроцессорную связь, используя механизм детектирования 9-битного адреса.


TXSTA: РЕГИСТР СОСТОЯНИЯ И КОНТРОЛЯ ПЕРЕДАЧИ (АДРЕС 98h)
R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0 R-1 R/W-0
CSRC TX9 TXEN SYNC - BRGH TRMT TX9D

бит 7: CSRC: бит выбора источника тактирования
    Асинхронный режим
        Неопределен
    Синхронный режим
        1 = Режим ведущего (тактирование от BRG)
        0 = Режим ведомого (тактирование от внешнего источника)
бит 6: TX9: бит разрешения 9-битной передачи
        1 = Выбрать 9-битную передачу
        0 = Выбрать 8-битную передачу
бит 5: TXEN: бит разрешения передачи
        1 = Передача разрешена
        0 = Передача запрещена
бит 4: SYNC: бит выбора режима работы USART
        1 = Синхронный режим
        0 = Асинхронный режим
бит 3: Незадействован: Читается как '0'
бит 2: BRGH: Выбор диапазона скоростей
    Асинхронный режим
        1 = Диапазон высоких скоростей
        0 = Диапазон низких скоростей
    Синхронный режим
        В этом режиме не используется
бит 1: TRMT: бит состояния регистра сдвига передатчика.
        1 = TSR пуст
        0 = TSR заполнен
бит 0: TX9D: Девятый бит передаваемых данных. Можно использовать как паритет.


RCSTA: РЕГИСТР СОСТОЯНИЯ И КОНТРОЛЯ ПРИЕМА (АДРЕС 18h)
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R-0 R-0 R-x
SPEN RX9 SREN CREN ADDEN FERR OERR RX9D

бит 7: SPEN: бит разрешения последовательного порта
        1 = Последовательный порт разрешен
        0 = Последовательный порт запрещен
бит 6: RX9: бит разрешения 9-битного приема
        1 = Выбор 9-битного приема
        0 = Выбор 8-битного приема
бит 5: SPEN: бит разрешения одного приема
    Асинхронный режим
        Не используется
    Синхронный режим - ведущий
        1 = Разрешить один прием
        0 = Запретить один прием
        Этот бит очищается после завершения приема
    Синхронный режим - ведомый
        В этом режиме не используется
бит 4: CREN: бит разрешения продолжающегося приема
    Асинхронный режим
        1 = Разрешить продолжающийся прием
        0 = Запретить продолжающийся прием
    Синхронный режим
        1 = Разрешить продолжающийся прием, пока CREN сброшен
        0 = Запретить продолжающийся прием
бит 3: ADDEN: бит разрешения детектирования адреса
    Асинхронный режим 9 бит (RX9=1)
        1 = Разрешить детектирование адреса
        0 = Запретить детектирование адреса, все байты принимаются, девятый бит можно использовать как паритет
бит 2: FERR: бит ошибки фреймования
        1 = Ошибка фреймования (обновляется чтением RCREG и приемом нормального байта
        0 = Не было ошибки
бит 1: OERR: Overrun Error bit
        1 = Overrun error (Can be cleared by clearing bit CREN)
        0 = No overrun error
бит 0: RX9D: 9-й бит принятых данных (может использоваться как бит паритета)


10.1 Генератор, задающий скорость обмена данными (BRG (Baud Rate Generator))

BRG поддерживает оба режима USART: синхронный и асинхронный. Он представляет из себя 8-битный генератор скорости передачи данных. Регистр SPBRG управляет периодом свободного запуска 8-битного таймера. В асинхронном режиме скорость передачи данных зависит дополнительно от бита BRGH (TXSTA<2>). В синхронном режиме бит BRGH игнорируется. Таблица 10-1 показывает формулу для вычисления скорости обмена данными для разных режимов USART.

Подставив в формулу из таблицы 10-1 значения необходимой скорости обмена и Fosc, вы можете вычислить ближайшее значение для регистра SPBRG. Из этого значения может быть вычислена погрешность скорости обмена.

ТАБЛИЦА 10-1 ФОРМУЛА ВЫЧИСЛЕНИЯ СКОРОСТИ ОБМЕНА


Hosted by uCoz