Студопедия — Последовательный порт
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Последовательный порт






 

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

Для присоединения линии связи используются два вывода порта Р3: Р3.0RxD (Receiver Data) линия приема данных и Р3.1 – TxD (Transmitter Data) линия передачи данных - которые и образуют последовательный порт УАПП (Универсальный асинхронный приемопередатчик) МК51 (рис.30).

Рис.30. Функционально-структурная схема последовательного

порта

Буфер УАПП осуществляет связь между 8-разрядной внутренней шиной ШВ и 8-разрядной шиной данных ШД, обеспечивая запись, хранение и коммутацию данных.

Буфер передатчика предназначен для приема с внутренней шины ШВ параллельной информации и выдачи ее в виде последовательного потока символов на передатчик последовательного порта.

Буфер приемника предназначен для приема данных в виде последовательного потока символов с последовательного порта, преобразования их в параллельный вид, хранения и выдачи в параллельном виде на внутреннюю шину ШВ. Буфер приемника и буфер передатчика при программном доступе имеют одинаковое имя SBUF и адрес 99Н. Если команда использует SBUF как регистр источника, то обращение происходит к буферу приемника. Если команда использует SBUF как регистр назначения, то обращение происходит к буферу передатчика.

Приемник/передатчик последовательного порта предназначен для приема последовательного потока символов со входа последовательного порта, выделения данных и выдачи их в буфер приемника, а также для приема последовательных данных с буфера передатчика, преобразования их в последовательный поток символов и выдачи его на выход последовательного порта.

Логика управления обеспечивает координацию работы всех элементов структуры последовательного порта.

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

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

В асинхронных режимах 1,2,3 передается и принимается только байт данных, поэтому для разделения байтов друг от друга, каждый из них обрамляется своеобразными «скобками» - стартовым (лог.0) и стоповым (лог.1) битами. Передача и прием происходят младшим битом вперед.

Последовательный порт МК51 может использоваться либо в виде регистра сдвига для расширения ввода-вывода в синхронном режиме работы (рис.32), либо в качестве универсального асинхронного приемопередатчика (УАПП) с фиксированной или переменной скоростью последовательного обмена и возможностью дуплексного включения. Т.е. через последовательный порт можно принимать и передавать данные одновременно для организации связи с другим микроконтроллером (рис.33). Последовательный порт может принимать очередной байт, даже если уже принятый до этого байт не был прочитан из регистра приемника. Однако, если до окончания приема находящийся в регистре приемника байт не будет прочитан, принятый байт теряeтcя.

 

 

Рис.32. Использование последовательного порта в синхронном

режиме для организации дополнительного параллельного порта

 

 

 

Рис.33. Использование последовательного порта в асинхронном режиме для организации связи с другим микроконтроллером

 

Программный доступ к регистрам приемника и передатчика осуществляется обращением к регистру специальных функций SBUF. При записи в SBUF байт загружается в регистр передатчика, а при чтении SBUF байт читается из регистра приемника с адресом 99H, расположенным в области SFR. Вообще, по данному адресу находятся два сдвигающих (параллельно - последовательных) регистра. Один из них – «передатчик» - предназначен для передачи байта данных с внутренней шины данных ШД на линию TxD. Он загружается любой командой, использующей SBUF в качестве регистра назначения. Другой – «приемник» - служит для чтения данных с линии RxD на шину ШД. К нему обращаются любой командой, в которой SBUF является регистром-источником данных.

Управление работой последовательного порта осуществляется регистром SCON (Serial Control), расположенным в области SFR по адресу 98H. Кроме того, в управлении скоростью передачи данных участвует бит SMOD регистра PCON [3].

Регистр SCON содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых данных (RB8 и ТВ8) и биты прерывания приемопередатчика (RI и ТI).

Функциональное назначение бит регистра управления/статуса последовательного порта SCON приводится в табл. 8.

Таблица 8

Символ Позиция Имя и назначение
SM0 SCON.7 Биты управления режимом работы УАПП. Устанавливаются/ сбрасываются программно (см. примечание)
SM1 SCON.6
SM2 SCON.5 Бит управления режимом УАПП. Устанавливается программно для запрета приема сообщения, в котором девятый бит имеет значение 0
REN SCON.4 Бит разрешения приема. Устанавливается/сбрасывается программно для разрешения/запрета приема последовательных данных
TB8 SCON.3 Передача бита 8. Устанавливается/сбрасывается программно для задания девятого передаваемого бита в режиме УАПП-9 бит
RB8 SCON.2 Прием бита 8. Устанавливается/сбрасывается аппаратно для фиксации девятого принимаемого бита в режиме УАПП-9 бит
TI SCON.1 Флаг прерывания передатчика. Устанавливается аппаратно при окончании передачи байта. Сбрасывается программно после обслуживания прерывания
RI SCON.0 Флаг прерывания приемника. Устанавливается аппаратно при приеме байта. Сбрасывается программно после обслуживания прерывания

Продолжение табл. 8

Примечание
SM0 SM1 Режим работы УАПП
    Сдвигающий регистр расширения ввода/вывода
    УАПП-8 бит. Изменяемая скорость передачи
    УАПП-9 бит. Фиксированная скорость передачи
    УАПП-9 бит. Изменяемая скорость передачи

 

Последовательный порт можно запрограммировать на работу в одном из четырех режимов установкой разрядов SM0, SM1 регистра SCON, как показано в табл. 9.

Таблица 9

Режим SM0 SM1 Наименование Кадр, бит Скорость передачи
      Синхронный   fclk /12
      Асинхронный   Переменная(TC1)
      Асинхронный   fclk /32 или fclk /64
      Асинхронный   Переменная(TC1)

 

Во всех режимах передача инициируется любой командой, использующей SBUF в качестве регистра назначения. Прием в режиме 0 осуществляется при условии, что RI = «0» и REN = «1». В режимах 1, 2, 3 прием начинается с приходом старт-бита, если

REN = «1».

В бите ТВ8 программно устанавливается значение девятого бита данных, который будет передан в режиме 2 или 3. В бите RB8 фиксируется в режимах 2 и 3 девятый принимаемый бит данных. В режиме 1, если SM2 = «0», в бит RB8 заносится стоп-бит. В режиме 0 бит RB8 не используется.

Флаг прерывания передатчика ТI устанавливается аппаратно в конце периода передачи восьмого бита данных в режиме 0 и в начале периода передачи стол-бита в режимах 1,2 и 3. Соответствующая подпрограмма обслуживания прерывания должна сбрасывать бит ТI.

Флаг прерывания приемника RI устанавливается аппаратно в конце периода приема восьмого бита данных в режиме 0 и в середине периода приема стоп-бита в режимах 1, 2 и 3. Подпрограмма обслуживания прерывания должна сбрасывать бит RI.

 

Прием и выдача байта данных начинается с младшего разряда и заканчивается старшим разрядом (!). Для разрешения приема необходимо установить «1» в разряде REN регистра управления SCON.

 

2.3.2.1. Особенности работы последовательного порта

в различных режимах

 

Режим 0. На рис.34 показана временная диаграмма работы последовательного порта в режиме 0. Данные передаются и принимаются через вывод RXD. Через вывод TXD выдаются синхросигналы сдвига.

 

Рис. 34. Временная диаграмма работы последовательного порта

в режиме 0

 

Передача начинается любой командой, по которой в SBUF поступает байт данных. В момент времени S6P2 устройство управления МК51 по сигналу Запись в буфер записывает байт в сдвигающий регистр передатчика, устанавливает триггер девятого бита и запускает блок управления передачей, который через один машинный цикл вырабатывает разрешающий сигнал Посылка. При этом в момент S6P2 каждого машинного цикла содержимое сдвигающего регистра сдвигается вправо (младшими битами вперед) и поступает на вывод RXD. В освобождающиеся старшие биты сдвигающего регистра передатчика записываются нули. При получении от детектора нуля сигнала Передатчик пуст, блок управления передатчиком снимает сигнал Посылка и устанавливает флаг TI (момент S1P1 десятого машинного цикла после поступления сигнала Запись в буфер).

Прием начинается при условии REN = «1» и RI = «0». В момент S6P2 следующего машинного цикла блок управления приемником формирует разрешающий сигнал Прием, по которому на выход TXD передаются синхросигналы сдвига и в сдвигающем регистре приемника начинают формироваться значения бит данных, которые считываются с входа RXD в моменты S5P2 каждого машинного цикла. В момент S1P1 десятого машинного цикла после сигнала Запись в SCON блок управления приемником переписывает содержимое сдвигающего регистра в буфер, снимает разрешающий сигнал Прием и устанавливает флаг RI.

Режим 1. На рис. 35 показана временная диаграмма работы последовательного порта при приеме и передаче данных.

Рис.35. Временная диаграмма работы последовательного порта в

режиме 1

Через вывод TXD УАПП передает, а с вывода RXD принимает 10 бит: старт-бит («0»), 8 бит данных и стоп-бит («1»). При приеме стоп-бит поступает в бит RB8 регистра SCON.

Передача инициируется любой командой, в которой получателем байта является регистр SBUF. Генерируемый при этом управляющий сигнал Запись в буфер загружает «1» в девятый бит сдвигающего регистра передатчика, запускает блок управления передачей и в момент времени S1P1 формирует разрешающий сигнал Посылка. По этому сигналу на вывод TXD сначала поступает старт-бит, а затем (по разрешающему сигналу Данные) биты данных. Каждый период передачи бита равен 16 тактам внутреннего счетчика.

Прием начинается при обнаружении перехода сигнала на входе RXD из состояния «1» в состояние «0». Для этого под управлением внутреннего счетчика вход RXD опрашивается 16 раз за период представления бита. Как только переход из «1» в «0» на входе RXD обнаружен, в сдвигающий регистр приемника загружается код 1FFH, внутренний счетчик по модулю 16 немедленно сбрасывается и перезапускается для выравнивания его переходов с границами периодов представления принимаемых бит. Таким образом, каждый период представления бита делится на 16 периодов внутреннего счетчика. В состояниях 7, 8 и 9 счетчика в каждом периоде представления бита производится опрос сигнала на входе RXD. Считанное значение принимаемого бита - это то, которое было получено по меньшей мере дважды из трех замеров (мажоритарное голосование по принципу "два из трех"). Если значение, принятое в первом такте, не равно «0», то блок управления приемом вновь возвращается к поиску перехода из «1» в «0». Этот механизм обеспечивает подавление ложных (сбойных) старт-бит. Истинный старт-бит сдвигается в регистре приемника, и продолжается прием остальных бит посылки. Блок управления приемом сформирует сигнал Загрузка буфера, установит RB8 и флаг RI только в том случае, если в последнем такте сдвига выполняются два условия:

1) бит RI = «0»;

2) либо SM2 = «0», либо принятый стоп-бит равен «1».

Если одно из этих двух условий не выполняется, то принятая последовательность бит теряется. В это время вне зависимости от того, выполняются указанные условия или нет, блок управления приемом вновь начинает отыскивать переход из «1» в 0 на входе RXD.

Режимы 2, 3. Через вывод TXD последовательный порт передает или с вывода RXD принимает 11 бит: старт-бит («0»), 8 бит данных, программируемый девятый бит и стоп-бит («1»). На временной диаграмме на рис. 36 показана работа УАПП при передаче и приеме данных в режимах 2 и 3.

 

 

Рис.36. Временная диаграмма работы последовательного порта

в режимах 2,3

 

Как видно, режимы 2 и 3 отличаются от режима 1 только наличием девятого программируемого бита. Вследствие этого несколько изменяются условия окончания цикла приема: блок управления приемником сформирует управляющий сигнал Загрузка буфера, загрузит RB8 и установит флаг RI только в том случае, если в последнем такте сдвига выполняются два условия:

1) бит RI = «0»;

2) либо SM2 = «0», либо значение принятого девятого бита данных равно «1».

 

2.3.2.2. Установка скорости приема – передачи данных

последовательного порта

 

Скорость приема - передачи, т.е. частота работы УАПП в различных режимах, определяется различными способами.

В режиме 0 частота передачи зависит только от резонансной частоты кварцевого резонатора f0 =fCLK/12. За один машинный цикл последовательный порт передает один бит информации.

В режимах 1, 2 и 3 скорость приема/передачи зависит от значения управляющего бита SMOD в регистре специальных функций PCON. Если бит SMOD установлен в «1», то скорость передачи вдвое больше, чем при SMOD = «0»

В режиме 2 частота передачи определяется выражением

f2 = (2MOD/64) × fCLK иными словами, при SMOD = «0» частота передачи равна (1/64) × fCLK, а при SMOD = «1» равна (1/32) × fCLK.

В режимах 1 и 3 в формировании частоты передачи кроме управляющего бита SMOD принимает участие таймер 1. При этом частота передачи зависит от частоты переполнения (OVT1) и определяется следующим образом:

f1, 3 = (2SMOD/32) × fOVT1.

Прерывание от таймера 1 в этом случае должно быть заблокировано. Сам T/C1 может работать и как таймер, и как счетчик событий в любом из трех режимов. Однако наиболее удобно использовать режим таймера с автоперезагрузкой (старшая тетрада TMOD = 0010В). При этом частота передачи определяется выражением

f1, 3 = (2SMOD/32) × (fCLK/12)/(256-(TH1)).

В табл. 10 приводится описание способов настройки Т/С1 для получения типовых частот передачи данных через УАПП.

Таблица 10

Частота приема-передачи (BAUD RATE) Частота резонатора, МГц SMOD Таймер/счетчик 1
C/T Режим (MODE) Перезагружаемое число
Режим 0, макс: 1 МГц   X X X X
Режим 2, макс: 375 кГц     X X X
Режимы 1, 3: 62.5 кГц         0FFH
19.2 кГц 11.059       0FDH
9.6 кГц 11.059       0FDH
4.8 кГц 11.059       0FAH
2.4 кГц 11.059       0F4H
1.2 кГц 11.059       0E8H

Продолжение табл.10

137.5 Гц 11.059       1DH
110 Гц         72H
110 Гц         0FEEBH

 







Дата добавления: 2015-08-12; просмотров: 1098. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Виды и жанры театрализованных представлений   Проживание бронируется и оплачивается слушателями самостоятельно...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.013 сек.) русская версия | украинская версия