Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МП устройства СУ / Конспект лекций (дополнительный, обновленный).doc
Скачиваний:
127
Добавлен:
19.03.2015
Размер:
552.45 Кб
Скачать

13.5.1. Интерфейс rs-232.

Приведем в качестве примера организацию наиболее часто используемых в микроконтроллерных системах интерфейсов. Начнем с интерфейса RS-232. Принято также обозначение EIA-232 этого стандарта. Этот интерфейс обеспечивает последовательный мультиплексный режим связи. Для него сигнал логической единицы имеет уровень напряжения менее –3 В (обычно –10 В) и сигнал логического нуля - уровень напряжения более +3 В (обычно +10 В). Гарантированная длина кабеля для надежной работы интерфейса может быть до 30 м в зависимости от скорости передачи. Есть микросхемы, которые выполняют преобразование стандартных ТТЛ-уровней в уровни стандарта RS-232. Примером может служить микросхема MAX232A производства фирмы Maxim, условное графическое обозначение и типавая схема включение которой показаны на рис.13.3. Микросхема преобразует уровни напряжений стандарта ТТЛ (уровень нуля 0,2 В и уровень единицы 3,5 В, рельно 0 В и 5 В) в уровни напряжения стандарта RS-232 (уровень единицы –10 В и уровень нуля +10 В) и наоборот для двух равноценных каналов 1 и 2. Вывод T1in микросхемы является входом усилителя первого канала с входными напряжениями ТТЛ, вывод T1out - выходом усилителя первого канала с уровнями напряжений RS-232. Вывод R1in является входом усилителя первого канала с входными напряжениями RS-232, вывод R1out - выходом усилителя первого канала с уровнями напряжений ТТЛ. Аналогично назначение выводов второго канала. Существет аналогичная микросхема MAX242, отличающаяся от рассмотренной тем, что у нее ТТЛ-выходы усилителей обоих каналов выполнены по трехстабильной схеме. Для управления состояниями этих выходов микросхема MAX242 имеет дополнительный управляющий вход .

Рис.13.3. УГО и схема включения микросхемы MAX232A.

Передача данных по протоколу стандарта RS-232 осуществляется обычно побайтно бит за битом (в общем случае от 5 до 8 бит) по независимым двум каналам для каждого направления. Канал передачи данных от передатчика называется каналом TxD (передача данных), а канал приема данных в приемник – каналом RxD (чтение данных). Пассивному состоянию линии передачи соответствует уровень напряжения логической единицы (-10 В). Наибольшее распространение получил асинхронный режим передачи интерфейса RS-232, поскольку именно он реализован для COM-портов персонального компьютера. В этом режиме передаче основного байта предшествует выдача на линию передатчиком логического нуля (стартовый бит), а завершение передачи заканчивается выдачей логической единицы (стоповый бит) (рис.13.4). Может также использоваться контрольный бит четности, предшествующий передаче стопового бита. Бит четности дополняет общую сумму единиц основного байта до четного (нечетного) количества единиц. Такой способ контроля может выявить на принимающей стороне ошибку, если общее количество единиц приходит нечетным (четным). При пересылке данных между устройствами необходимо, чтобы оба устройства были настроены в один режим и на одну скорость. Типовые значения скорости передачи данных для интерфейса RS-232 составляют: 2400, 4800, 9600, 19200 Бод.

Рис.13.4. Временная диаграмма протокола интерфейса RS-232.

Как правило, функции интерфейса RS-232 реализуются аппаратно. Для этого существуют специализированные микросхемы последовательных приемопередатчиков. Если такие микросхемы реализуют асинхронный режим последовательной связи, то они называются UART-преобразователями (от англ. «Universal Asynchronous Receiver/Transmitter»). Примером подобной микросхемы является i8251A (отечественный аналог КР580ВВ51А). Эта микросхема не является в чистом виде асинхронным приемником-передатчиком. Она поддерживает как асинхронный режим, так и синхронный. Т.е. ее можно охарактеризовать как USART-преобразователь. Обмен может быть как полудуплексным, так и дуплексным. Структурная схема микросхемы i8251A приведена на рис. 13.5. Микросхема выполняет следующие функции:

  • прием данных из устройства, осуществляющего передачу, преобразование их из параллельного формата в последовательный и передачу через последовательный канал периферийному устройству;

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

Рис.13.5. Структурная схема микросхемы i8251A.

Назначение выводов микросхемы следующее (стрелка внутрь соответствет входу, стрелка наружу – выходу):

  • D0…D7 – двунаправленные трехстабильные выводы параллельных данных;

  • RESET– сброс;

  • CLK– синхронизация (вход подачи последовательности прямоугольных импульсов с типовым значением частоты 2 МГц);

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

  • - разрешение вывода данных или слова состояния на выводы параллельного канала;

  • - разрешение ввода данных с параллельного канала;

  • - выбор кристалла;

  • - готовность микросхемы передавать данные по последовательному каналу;

  • - готовность приемника терминала;

  • - готовность микросхемы принять данные по последовательному каналу;

  • - готовность передатчика терминала;

  • TxD – последовательный канал передачи данных;

  • TxEnd – буфер передатчика пустой;

  • TxRDY – готовность передатчика к приему данных с выводов параллельного канала;

  • - синхронизация передачи данных;

  • RxD – последовательный канал приема данных;

  • SynDet – определяет вид синхронизации - внутренней или внешней. Состояние вывода определяется программно;

  • RxRDY – данные на выводах параллельного канала готовы для считывания их микропроцессором;

  • - синхронизация приема данных.

Несмотря на то, что микросхема имеет большое количество управляющих выводов, для связи терминала и периферийного устройства в асинхронном режиме используется обычно всего 2 вывода: RxD и TxD. Причем вход RxD терминала соединяется кабелем с выходом TxD периферийного устройства и выход TxD терминала соединяется с входом RxD периферийного устройства. Рассмотрим работу микросхемы в наиболее часто используемом режиме – асинхронном. В этом режиме скорость обмена кратна частоте сигналов синхронизации ив соответствующих направлениях обмена. На эти входы подаются синхроимпульсы в виде последовательности прямоугольных импульсов. Коэффициент кратности задается программно и может быть выбран из ряда 1:1, 1:16 и 1:64. Для задания режима работы в микросхему необходимо по параллельному каналу записать слово инициализации. Это слово определяет асинхронный или синхронный режим работы микросхемы, кратность коэффициента деления, длину передаваемых/принимаемых данных по последовательному каналу, наличие или отсутствие бита контроля на четность или нечетность, блительность стоп-бита. В асинхронном режиме биты параллельного кода слова инициализации определяются следующими значениями:

  • D0=1, D1=0 - коэффициент кратности равен 1;

  • D0=0, D1=1 - коэффициент кратности равен 16;

  • D0=1, D1=1 - коэффициент кратности равен 64;

  • D2=0, D3=0 - формат передаваемых данных – 5 бит;

  • D2=1, D3=0 - формат передаваемых данных – 6 бит;

  • D2=0, D3=1 - формат передаваемых данных – 7 бит;

  • D2=1, D3=1 - формат передаваемых данных – 8 бит;

  • D4=1, D5=0 - контроль по четности;

  • D4=1, D5=1 - контроль по нечетности;

  • D4=0, D5=1 - без контроля;

  • D6=1, D7=0 - длина стоп-бита 1;

  • D6=0, D7=1 - длина стоп-бита 1,5;

  • D6=1, D7=1 - длина стоп-бита 2.

Слово инициализации устанавливается один раз. Смена слова инициализации необходима тогда, когда необходимо сменить режим работы микросхемы. Также в процессе передачи может возникнуть потребность задавать слова команды, определяющие функции и этапы передачи. Разряды слова команды задают следующие функции:

  • D0 – разрешение на передачу (при нулевом значении разряда передача не возможна, при единичном – возможна);

  • D1 – запрос готовности передатчка (при единичном значении разряда на выводе микросхемы устанавливается ноль);

  • D2 – разрешение приема (при нулевом значении разряда прием не возможен, при единичном – возможен);

  • D3 – конец передачи (при нулевом значении разряда – нормальная работа канала передачи, при единичном – установка высокого уровня на выходе TxD микросхемы);

  • D4 – сброс меток ошибок (при единичном значении разряда сбрасываются все флажки-признаки ошибок);

  • D5 - запрос готовности приемника терминала (при единичном значении разряда на выводе микросхемы устанавливается ноль);

  • D6 – программный сброс (единичное значение разряда равноценно подаче сигнала RESET);

  • D7 – поиск синхроимпульсов (при единичном значении разряда выполняется поиск синхроимпульсов в синхронном режиме).