Микроконтроллер AVR (Atmel 8) Последовательная связь Конфигурация USART

Попробуйте наш инструмент устранения неполадок





Микроконтроллер - это устройство управления, которое содержит ряд периферийных устройств, таких как RAM, ROM ТАЙМЕРЫ, последовательная передача данных и т. д., которые необходимы для выполнения некоторых заранее определенных задач. Настоящее время, усовершенствованный тип микроконтроллеров используются в широком спектре приложений в соответствии с их возможностями и осуществимостью для выполнения некоторых желаемых задач, и эти контроллеры включают 8051, микроконтроллер AVR и PIC . В этой статье мы узнаем о продвинутом микроконтроллере семейства AVR и его программировании. .

Микроконтроллер AVR

AVR - это тип устройства управления, произведенный корпорацией Atmel в 1996 году. AVR не означает ничего, это просто название. AVR микроконтроллеры состоят из гарвардской архитектуры , и, следовательно, устройство работает очень быстро с уменьшенным количеством команд машинного уровня (RISC). По сравнению с другими микроконтроллерами микроконтроллеры AVR обладают особыми функциями, такими как 6-спящие режимы, встроенный АЦП, внутренний генератор и последовательный обмен данными и т. Д. Микроконтроллеры AVR доступны в различных конфигурациях: 8, 16 и 32 бит для выполнения различных операций.




Микроконтроллер AVR

Микроконтроллер AVR

Последовательная передача данных USART в микроконтроллере AVR

USART означает универсальный синхронный и асинхронный приемник и передатчик. Это последовательная связь двух протоколов. Этот протокол используется для передачи и приема данных побитно относительно тактовых импульсов по одному проводу. В Микроконтроллер AVR имеет два контакта: TXD и RXD, которые специально используются для последовательной передачи и приема данных. Любой микроконтроллер AVR состоит из протокола USART со своими особенностями.



Коммуникация USART в микроконтроллере AVR

Коммуникация USART в микроконтроллере AVR

Основные характеристики AVR USART

  • Протокол USART поддерживает полнодуплексный протокол.
  • Он генерирует скорость передачи с высоким разрешением.
  • Он поддерживает передачу последовательных битов данных от 5 до 9 и состоит из двух стоповых битов.

Конфигурация контактов USART

USART AVR состоит из трех контактов:


  • RXD: контакт приемника USART (контакт 2 ATMega8 ATMega16 / 32 контакт 14)
  • TXD: контакт передатчика USART (контакт 3 ATMega8 ATMega16 / 32 контакт 15)
  • XCK: контакт синхронизации USART (ATMega8 PIN 6 ATMega16 / 32 Pin 1)

Режимы работы

Микроконтроллер AVR протокола USART работает в трех режимах:

  • Асинхронный нормальный режим
  • Асинхронный двухскоростной режим
  • Синхронный режим
Режимы работы

Режимы работы

Асинхронный нормальный режим

В этом режиме связи данные передаются и принимаются бит за битом без тактовых импульсов с предварительно определенной скоростью передачи, установленной регистром UBBR.

Асинхронный двухскоростной режим

В этом режиме связи данные, передаваемые с удвоенной скоростью передачи, задаются регистром UBBR и устанавливают биты U2X в регистре UCSRA. Это высокоскоростной режим синхронной связи для быстрой передачи и приема данных. Эта система используется там, где требуются точные настройки скорости передачи данных и системные часы.

Синхронный режим

В этой системе для передачи и приема данных относительно тактового импульса в регистре UCSRC установлено значение UMSEL = 1.

Конфигурация USART в микроконтроллере AVR

USART можно настроить с использованием пяти регистров, таких как три регистра управления , один регистр данных и регистр выбора скорости передачи, например UDR, UCSRA, UCSRB, UCSRC и UBRR.

7 шагов для составления программы

Шаг 1: Рассчитайте и установите скорость передачи

Скорость передачи USART / UART устанавливается регистратором UBRR. Этот регистр используется для генерации передачи данных с определенной скоростью. UBRR - это 16-битный регистр. Поскольку AVR - это 8-битный микроконтроллер, и любой размер его регистра 8-битный. Следовательно, здесь 16-битный регистр UBRR состоит из двух 8-битных регистров, таких как UBRR (H), UBRR (L).

Формула скорости передачи данных:

BAUD = Темный / (16 * (UBBR + 1))

Формула регистра УБРР:

УБРР = Темный / (16 * (БАУД-1))

Частота микроконтроллера AVR составляет 16 МГц = 16000000. Предположим, что скорость передачи данных составляет 19200 бит / с, тогда

УБРР = 16000000 / (16 * (19200-1))

УБРР = 16000000 / (16 * (19200-1))

УБРР = 51,099

В конце концов найти скорость передачи

БАУД = 16000000 / (16 * (51 + 1))
UBRR = 19230 бит / с

Шаг 2: Выбор режима данных

Режим передачи данных, стартовый бит и стоповый бит, а также размер символа устанавливаются регистром управления и состояния UCSRC.

Выбор режима данных

Выбор режима данных

Шаг 3: Выбор режима передачи данных

Синхронный и асинхронный режимы выбираются битом UMSEL регистра состояния управления. Если мы зададим UMSEL = 0, то USART работает в асинхронном режиме, в противном случае - в синхронном режиме.

Выбор режима передачи данных

Выбор режима передачи данных

Шаг 4: Стартовый бит и стоповый бит

Стартовый бит и стоповые биты - это способ последовательной отправки и получения данных. Обычно любая слава данных состоит из одного бита статистики и одного стопового бита, но микроконтроллер AVR имеет один стартовый бит и два стоповых бита для обработки данных. Дополнительный стоповый бит может быть полезен для добавления небольшого дополнительного времени обработки приема. Это особенно полезно для высоких скоростей передачи данных, когда скорость передачи данных очень высока, поэтому мы не получаем правильные данные. Таким образом, мы можем увеличить время обработки, используя два стоповых бита для получения правильных данных.

Стартовый бит и стоповый бит

Стартовый бит и стоповый бит

Количество стоповых битов выбирается битом USBS UCSRC - регистра состояния управления. USBS = 0 для одного стопового бита и USBS = 1 для двух стоповых бит.

Шаг 5: Установите размер символа

Как и в случае с базовые микроконтроллеры отправляя и принимая байт данных (8 бит) за раз, будь то в микроконтроллере AVR, мы можем выбрать формат кадра данных в каждом кадре с помощью бита UCSZ регистра UCSRC.

Формат кадра данных

Формат кадра данных

Шаг 6: Сохраните полученные данные

Микроконтроллер AVR состоит из буферного регистра UDR для передачи и приема данных. UDR - это 16-битный буферный регистр, в котором 8 бит используются для приема (RXB) данных, а другие биты используются для передачи данных (TXB). Передаваемый буферный регистр данных будет местом назначения в регистр UDR для записанных данных в его местоположении. Регистр буфера получающих данных будет возвращать содержимое регистра UDR.

Шаг 7: Включение передатчика и приемника

Переданные и полученные данные будут разрешены выводами RXC и TXC микроконтроллера, которые устанавливаются регистром UCSRA микроконтроллера. Этот бит флага, установленный микроконтроллером для данных, завершается приемом и передачей (TXC = RXC = 1).

Удвойте скорость передачи данных

Мы можем удвоить скорость передачи USART-коммуникации AVR. микроконтроллер от 16 бит до 8 бит эффективно с помощью U2X –бита в регистре UCSRA. Этот бит влияет только на асинхронную работу. Если мы можем установить этот бит (U2X = 1), он снизит скорость передачи с 16 бит до 8 бит, эффективно удвоив скорость передачи для синхронной связи.

Это расширенная функция микроконтроллера AVR для быстрой обработки данных.

Программа USART

Каждый микроконтроллер предопределен с определенной IDE, и на основе этой IDE, микроконтроллеры запрограммированы со встроенным C или язык ассемблера. Программирование микроконтроллера AVR разработано студией AVR. Кроме того, если вам нужна дополнительная информация о шаги для создания проектов на основе микроконтроллеров , или подробную информацию по этой теме, вы можете связаться с нами, оставив комментарий ниже.