Аппаратные и программные средства встраиваемых систем


  Контроллеры последовательных интерфейсов



Pdf көрінісі
бет75/268
Дата07.01.2022
өлшемі3,23 Mb.
#18255
1   ...   71   72   73   74   75   76   77   78   ...   268
2.2.9  Контроллеры последовательных интерфейсов 
Контроллеры  последовательных  интерфейсов  ориентированы  на  решение 
следующих задач: 
•  Связь  встраиваемой  микропроцессорной  системы  с  системой 
управления  верхнего  уровня:  промышленным  или  офисным 
компьютером,  программируемым  контроллером.  Наиболее  часто  для 
этих целей используют интерфейсы RS-232C, RS-422, USB, IrDA. 
•  Связь  с  внешними  по  отношению  к  микропроцессору  периферийными 
микросхемами  (памяти EEPROM, часов  реального  времени (RTC) и 
т.д.),  а  также  с  различными  датчиками  с  последовательным  цифровым 
выходом. Для этих целей наиболее часто применяются интерфейсы SPI, 
I
2
C, MicroWire, uLAN и другие. 
•  Интерфейс связи с локальной сетью в распределенных информационно-
управляющих системах. В этой сфере находят применение интерфейсы 
RS-232C, RS-485, I
2
C, uLAN, CAN, Ethernet. 
•  Внутрисистемное  программирование  резидентной  памяти  программ 
(OTPROM, EPROM, FLASH) или данных (EEPROM) у процессоров для 
встраиваемых  применений.  Обычно  для  этого  используется  интерфейс 


 
96 
RS-232C (ADuC (Analog Devices), MB90Fxxx (Fujitsu), MSP430 (Texas 
Instruments)) или SPI (AVR(Atmel)). 
В  настоящее  время  встроенные  контроллеры  последовательных 
интерфейсов  имеются  почти  у  всех  встраиваемых  процессоров,  исключая 
простейшие 8-16 выводные микросхемы. У большинства процессоров имеются 
несколько таких модулей одного или различных типов.  
Среди  контроллеров  последовательного  обмена  стандартом  «де-факто» 
стал  модуль  универсального  синхронно-асинхронного  приемопередатчика 
(Universal Synchronous/Asynchronous Receiver and Transmitter, USART ). В 
названии  часто  опускают  слово  «синхронный»  и  модуль  не  совсем  корректно 
именуется UART  (чисто асинхронные приемопередатчики сейчас встречаются 
достаточно  редко).  Характеристики  последовательного  порта UART не 
позволяют производить приём и передачу данных за пределы печатной платы. 
Для  связи  с  другими  устройствами,  сигнал  от UART необходимо  пропустить 
через приёмопередатчик, работающий в одном из стандартов: 
•  RS-232; 
•  RS-485; 
•  RS-422. 
Обычно  модули UART  в  асинхронном  режиме  поддерживают  протокол 
обмена  для  интерфейса RS-232 (8N1 или 9N1); в  синхронном  режиме – 
нестандартные синхронные протоколы, в некоторых случаях – протокол SPI. 
Приемопередатчик – преобразователь уровня, как правило, выполненный в 
интегральном  исполнении.  Предназначен  для  преобразования  электрических 
сигналов  из  уровня  ТТЛ  в  уровень,  соответствующий  физическому  уровню 
определенного стандарта. 
Контроллер UART обычно содержит: 
•  Источник тактирования (обычно с увеличенной частотой тактирования 
по  сравнению  со  скоростью  обмена,  чтобы  иметь  возможность 
отслеживать  состояние  лини  передачи  данных  в  середине  передачи 
бита). 
•  Входные и выходные сдвиговые регистры. 
•  Регистры управления приемом/передачей данных; чтением/записью. 
•  Буферы приема/передачи. 
•  Параллельная шина данных для буферов приема/передачи. 
•  FIFO буферы памяти (опционально). 
Упрощенная  структура  приемопередатчика  типа UART представлена  на 
рисунке. 
Генератор  скорости  обмена  представляет  собой  делитель  внутренней 
тактовой  частоты  процессора Fint с  плавно  или  пошагово  (дискретно) 
программируемым 
коэффициентом 
деления. 
При 
«плавном» 
программировании можно настраивать требуемую скорость вне зависимости (в 


 
97 
определенных пределах) от частоты Fint. Для этого используется стандартный 
или  специально  выделенный  таймер-счетчик  в  режиме  автоперезагрузки.  В 
случае  «фиксированных»  коэффициентов  деления  для  поддержания 
стандартного  ряда  скоростей  необходимо  выбирать  определенную  частоту 
тактирования процессора. 
Логика управления
Генератор скорости
обмена
Регистр сдвига
передатчика
Регистр сдвига
приемника
Регистр (буфер) данных
приемника
Регистр (буфер) данных
передатчика
TxD
RI, TI
Fint
Принятые
данные
Передаваемые
данные
RxD
сдвиг
сдвиг
 
Рисунок 45. Модуль UART 
С  выхода  генератора  скорости  сигнал  синхронизации  поступает  на  вход 
тактирования  приемного  и  передающего  сдвиговых  регистров,  которые 
осуществляют  последовательную  выдачу/прием  бит  данных  с  заданной 
скоростью.  Полностью  принятый  байт  попадает  в  регистр – буфер  данных 
приемника.  Байт  для  передачи  помещается  в  сдвиговый  регистр  из  буфера 
передатчика. 
Процессы  приема  и  передачи  в  асинхронном  режиме UART происходят 
независимо.  Таким  образом,  поддерживается  дуплексный  режим  обмена. 
Однако  требуется,  чтобы  приемник  и  передатчик  были  настроены  на  одну 
скорость. 
Более  простым  является  функционирование  в  синхронном  режиме.  Здесь 
каждый принимаемый/передаваемый бит стробируется  специальным сигналом 
и нет необходимости точно согласовывать скорость приемника и передатчика. 
Ошибки UART: 
•  Overrun Error (ошибка  из-за  повышенной  скорости  передачи, 
переполнение буфера приема) 
Эта  ошибка  случается,  когда  приемник UART не  успевает  обрабатывать 
приходящие из канала символы, т. е. буфер переполняется. 
•  Framing Error (ошибка кадрирования) 
Эта  ошибка  случается,  когда  фиксируется  некорректное  состояние  линии 
данных  в  момент  передачи  старт-  или  стоп-бита.  Например,  после  передачи 8 


 
98 
бит  данных  приемник  ожидает  перехода  линии  в  стоп-состояние,  но  этого  не 
происходит. 
•  Break Condition (сигнал прерывания передачи, разрыва связи) 
Этот сигнал информирует о том, что входная линия данных находилась в 
неизменном  нулевом  состоянии  в  течение  времени,  больше  передачи  одного 
символа.  В  буфере  приема  нулевой  байт.  Некоторые  устройства  используют 
такую последовательность, чтобы сообщить передатчику, например, о переходе 
на другую скорость обмена данными. 
Пример  организации  и  работы  контроллера  последовательного  канала 
микроконтроллера ADuC812 (Intel MCS-51) рассмотрен  в  следующем 
подразделе  этой  главы.  В  разделе 6.3 приведен  пример  программирования 
последовательного канала в учебном стенде SDK-1.1. 
Еще  более  упрощается  функционирование  в  режиме SPI: приемник  и 
передатчик  работают  синхронно:  приему  одного  бита  соответствует  передача 
одного  бита,  начало  передачи  байта  совпадает  с  началом  приема,  за  сеанс 
обмена происходит прием одного байта и передача одного байта.  
В  большинстве  случаев  приемопередатчики  работают  с  входными  и 
выходными  сигналами  уровней TTL. Формирование  физических  сигналов  с 
уровнями  напряжения  и  тока,  соответствующими  реализуемому  интерфейсу, 
выполняется с помощью специальных микросхем – трансиверов или адаптеров 
физического  интерфейса.  Например: MAX232 (MAXIM) – RS-232C, MAX485 
(MAXIM) – RS-422/485, PCA82C251 (Philips) – CAN. 
Кроме  рассмотренных  приемопередатчиков USART во  встраиваемых 
процессорах широко используются другие интерфейсы, например, USB, CAN. 
 


Достарыңызбен бөлісу:
1   ...   71   72   73   74   75   76   77   78   ...   268




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет