Интерфейс RS-232. Программирование интерфейса RS-232 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Интерфейс RS-232. Программирование интерфейса RS-232



Интерфейс RS-232 относится к интерфейсам с последовательной передачей данных. Рассмотрим общие закономерности таких интерфейсов.

Универсальный асинхронный приемопередатчик (UART) можно разделить на приемник (Receiver) и передатчик (Transmitter). В состав UART входят: тактовый генератор связи (бодрейт - генератор), управляющие регистры, статусные регистры, буферы и сдвиговые регистры приемника и передатчика. Бодрейт - генератор задает тактовую частоту приемопередатчика для данной скорости связи. Управляющие регистры задают режим работы последовательного порта и его прерываний. В статусном регистре устанавливаются флаги по различным событиям. В буфер приемника попадает принятый символ, в буфер передатчика помещают передаваемый. Сдвиговый регистр передатчика - это обойма, из которой в последовательный порт выстреливаются биты передаваемого символа (кадра). Сдвиговый регистр приемника по биту накапливает принимаемые из порта биты. По различным событиям устанавливаются флаги и генерируются прерывания (завершение приема/отправки кадра, освобождение буфера, различные ошибки).

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

Электрический сигнал кадра посылки выглядит так (рис 5.1):

Рисунок 5.1 Формат кадра UART.

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

Скорость связи или бодрейт (baudrate) измеряется в бодах - число передаваемых бит в секунду (включая старт и стоп-биты). Задается эта скорость в бодрейт - генераторе делением системной частоты на задаваемый коэффициент. Типичный диапазон скоростей: 2400 … 115200 бод.

Формат кадра определяет число стоп-битов (1 1.5 или 2), число бит данных (7 или 8), вид четности. Все это зависит от типа контроллера.

Приемник и передатчик тактируются, как правило, с 16-кратной частотой относительно бодрейта. Это нужно для сэмплирования сигнала. Приемник, поймав падающий фронт старт-бита, отсчитывает несколько тактов и следующие три такта считывает (семплирует) порт RX (рис.5.2). Это как раз середина старт-бита. Если большинство значений семплов - "0", старт-бит считается состоявшимся, иначе приемник принимает его за шум и ждет следующего падающего фронта. После удачного определения старт-бита, приемник точно также семплирует серединки битов данных и по большинству семплов считает бит "0" или "1", записывая их в сдвиговый регистр. Стоп-биты тоже семплируются, и если уровень стоп-бита не "1" - UART определяет ошибку кадра и устанавливает соответствующий флаг в управляющем регистре

Рисунок 5.2 – Семплирование сигнала UART.

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

Последовательный интерфейс стандарта RS-232 является наиболее широко применяемым для синхронной и асинхронной связи периферийных устройств. Его отечественным аналогом является стык С2. Максимальная скорость передачи данных составляет 115 200 бод. Рекомендуемая максимальная длина передающей линии составляет примерно 17 м, при этом скорость передачи данных не превышает 20 Кбод.

Уровни напряжений стандартного интерфейса RS-232 не соответствуют ТТЛ – логике. Напряжению в пределах от +5 до +15В соответствует логический «0». Логической «1» соответствует уровень напряжения от -5 до -15В (рис.5.3).

Рисунок 5.3 – Уровни напряжений интерфейса RS-232.

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

В состав IBM PC могут входить до четырех последовательных интерфейсов, работающих в стандарте RS-232 (отечественный аналог - стык С2) и именуемых СОМ1 - СОМ4. Им выделены следующие адреса в области портов ввода-вывода:

СОМ1: 3F8h-3FFh COM3: 338h-33Fh

COM2: 2F8h-2FFh COM4: 238h-23Fh

Каждый интерфейс связан с определенным уровнем контроллера прерываний:

СОМ1 вызывает прерывание IRQ4 (Int 0Ch)

COM2 вызывает прерывание IRQ3 (Int 0Bh)

СОМ3 и СОМ4 не имеют стандартных векторов прерываний.

Каждое из устройств RS-232 представляет собой контроллер, оснащенный 25- или 9- штырьковым разъемом на задней стенке корпуса ПЭВМ. Этот разъем может использоваться для подключения мыши, графопостроителя или организации связи между ПЭВМ.

Контакты стыка RS-232 имеют следующие наименования (табл. 5.1):

Таблица 5.1 – Сигналы и контакты интерфейса RS-232.

Название сигнала Имя цепи С2 Номер контакта Назначение Направление
    9-шт 25-шт.    
DCD       Связь модемов установлена В ПЭВМ
RX       Принимаемые данные В ПЭВМ
TX       Передаваемые данные Из ПЭВМ
DTR 108/2     Готовность ПЭВМ к работе Из ПЭВМ
SG       Сигнальная земля  
DSR       Готовность модема к работе В ПЭВМ
RTS       Запрос на передачу Из ПЭВМ
CTS       Готовность модема к передаче В ПЭВМ
RI       Индикатор вызова В ПЭВМ
FG   -   Защитная земля  

 

Контроллер стыка RS-232 является полностью программируемым устройством; вы можете задать следующие параметры обмена: количество битов данных и стоп-битов, вид четности и скорость обмена в бодах (бит/с).

Ниже описаны порты ввода-вывода для СОМ1, имеющего базовый адрес 3F8h. Обратите внимание, что порты 3F8h и 3F9h имеют разное назначение в зависимости от бита 7 порта 3F8h (т. н. бит DLAB - Divisor Latch Access Bit).

Порт Операция Описание

3F8h Запись Регистр передатчика - сюда засылается байт для

передачи

Чтение Регистр приемника - отсюда извлекается принятый

байт

Запись Если DLAB=1, то сюда засылается младший байт

скорости обмена (см. порт 3F9h)

3F9h Запись Если DLAB=1, то сюда засылается старший байт

делителя, равным 115200/V, где V - скорость

в бодах. Например, для скорости 9600 бод

делитель равен 115200/9600=12=0Ch, поэтому

нужно вывести 0Ch в порт 3F8h и 0 в порт 3F9h.

Запись Регистр управления прерываниями (1 = разрешить

прерывание) (рис 5.4):

Рисунок 5.4 - Регистр управления прерываниями

3FAh Чтение Регистр идентификации прерывания. Когда

произошло прерывание, здесь содержится

причина, вызвавшая его (рис 5.5):

Рисунок 5.5 - Регистр идентификации прерывания.

3FBh Чтение/ Регистр управления линией (рис 5.6):

Запись

Рисунок 5.6 - Регистр управления линией.

 

3FCh Запись Регистр управления модемом (рис 5.7):

Рисунок 5.7 - Регистр управления модемом.

 

3FDh Чтение Регистр состояния линии (рис. 5.8). Биты 1-4

вызывают прерывание по ошибке, если оно

разрешено:

 

Рисунок 5.8 - Регистр состояния линии.

 

3FEh Чтение Регистр состояния модема (рис. 5.9). Биты 0-3

вызывают прерываниe по изменению состояния

модема, если оно разрешено:

Рисунок 5.9 - Регистр состояния модема.

"Изменилось состояние линии..." означает, что данная линия RS-232 изменила свое состояние по сравнению с последним чтением этого регистра.

 

Ниже, в качестве примера программирования интерфейса RS-232, приведена программа, позволяющая работать с промышленным компьютером MicroPC в режиме терминала.

Program MicroCom2; {программа приема/передачи данных по RS-232 (COM2)}

uses Dos, Crt;

Var

Int0BSave: Pointer; указательный тип

buf, Save21, Out21: byte;

Key: char; символьный тип

Label

N1; метка перехода

 

Procedure InitCom2; {процедура инициализации СОМ2}

Begin

Port[$2FB]:= $80;{Установить бит 7 в 1(режим задания скорости)}

Port[$2F8]:= $0C;{Скорость 9600 бот }

Port[$2F9]:= $0; { 115200/9600 = 12 = 0CH}

Port[$2FB]:= $03;{8 бит данных, 2 стоп, без проверки четности}

Port[$2F9]:= $01;{разрешить прерывание по приему байта}

Port[$2FC]:= $0B;{установить DTR, RTS, OUT2 }

end;

 

Procedure InpCom2; interrupt; {процедура обработки прерывания}

Begin

buf:= Port[$2F8]; {прием байта из СОМ2}

Port[$20]:= $63; {сигнал окончания обработки прерывания}

write (chr(buf)); {вывод принятого символа}

end;

 

begin {main}

Asm

cli {запретить прерывания}

end;

InitCom2; {Инициализация СОМ2}

GetIntVec($0B, Int0BSave); {сохранить вектор прерывания 0Bh в

Int0BSave}

SetIntVec($0B, @InpCom2); {записать по адресу вектора 0Bh адрес

процедуры обработки прерывания InpCom2}

Save21:= Port[$21]; {чтение маски прерываний из порта 21}

Out21:=(Save21 and $F7);{разрешение прерывания по СОМ2, бит 3=0 }

Port[$21]:= Out21; {вывод маски прерываний в порт 21 контроллера

прерываний}

Asm

sti {разрешить прерывания}

end;

N1: repeat until KeyPressed; {пустой цикл пока не нажата любая

клавиша}

Key:= ReadKey; { чтение символа нажатой клавиши}

While Port[$2FD] and $20 = 0 do; {ожидание разрешения передачи}

Port[$2F8]:= ord (Key); {передача кода нажатой клавиши}

if Key <> chr (27) then goto N1; {если не Esc то переход на метку N1}

Asm

cli {запретить прерывания}

end;

SetIntVec($0B, Int0BSave); {восстановить старый вектор прерывания}

Port[$21]:= Save21; {восстановить старую маску прерываний}

Asm

sti {разрешить прерывания}

end;

end.

{ interrupt – директива, вызывает генерацию машинных кодов, обеспечивающих помещение регистров процессора в стек при входе в процедуру обработки прерывания и извлечение их из стека при выходе из нее}.

Интерфейс RS-485

Интерфейс RS-485 (другое название - EIA/TIA-485) - один из наиболее распространенных стандартов физического уровня связи. Физический уровень - это канал связи и способ передачи сигнала (1 уровень модели взаимосвязи открытых систем OSI).

Сеть, построенная на интерфейсе RS-485, представляет собой приемопередатчики, соединенные при помощи витой пары - двух скрученных проводов. В основе интерфейса RS-485 лежит принцип дифференциальной (балансной) передачи данных. Суть его заключается в передаче одного сигнала по двум проводам. Причем по одному проводу (условно A) идет оригинальный сигнал, а по другому (условно B) - его инверсная копия. Другими словами, если на одном проводе "1", то на другом "0" и наоборот. Таким образом, между двумя проводами витой пары всегда есть разность потенциалов: при "1" она положительна, при "0" – отрицательна (рис. 5.10).

Рисунок 5.10 – Дифференциальная передача данных.

Именно этой разностью потенциалов и передается сигнал. Такой способ передачи обеспечивает высокую устойчивость к синфазной помехе. Синфазной называют помеху, действующую на оба провода линии одинаково. К примеру, электромагнитная волна, проходя через участок линии связи, наводит в обоих проводах потенциал. Если сигнал передается потенциалом в одном проводе относительно общего, как в RS-232, то наводка на этот провод может исказить сигнал относительно хорошо поглощающего наводки общего ("земли"). Кроме того, на сопротивлении длинного общего провода будет падать разность потенциалов земель - дополнительный источник искажений. А при дифференциальной передаче искажения не происходит. В самом деле, если два провода пролегают близко друг к другу, да еще перевиты, то наводка на оба провода одинакова. Потенциал в обоих одинаково нагруженных проводах изменяется одинаково, при этом информативная разность потенциалов остается без изменений.

Аппаратная реализация интерфейса - микросхемы приемопередатчиков с дифференциальными входами/выходами (к линии) и цифровыми портами (к портам UART контроллера). Существуют два варианта такого интерфейса: RS-422 и RS-485.

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

Рисунок 5.11 – Приемопередатчики интерфейсов RS-422 и RS-485.

D(driver) - передатчик; R (receiver) - приемник;

DI (driver input) - цифровой вход передатчика;

RO (receiver output) - цифровой выход приемника;

DE (driver enable) - разрешение работы передатчика;

RE (receiver enable) - разрешение работы приемника;

A - прямой дифференциальный вход/выход;

B - инверсный дифференциальный вход/выход;

Y - прямой дифференциальный выход (RS-422);

Z - инверсный дифференциальный выход (RS-422).

RS-422 - полнодуплексный интерфейс. Прием и передача идут по двум отдельным парам проводов. На каждой паре проводов может быть только по одному передатчику.

Остановимся поподробнее на приемопередатчике RS-485. Цифровой выход приемника (RO) подключается к порту приемника UART (RX). Цифровой вход передатчика (DI) к порту передатчика UART (TX). Поскольку на дифференциальной стороне приемник и передатчик соединены, то во время приема нужно отключать передатчик, а во время передачи - приемник. Для этого служат управляющие входы - разрешение приемника (RE) и разрешения передатчика (DE). Так как вход RE инверсный, то его можно соединить с DE и переключать приемник и передатчик одним сигналом с любого порта контроллера. При уровне "0" - работа на прием, при "1" - на передачу (рис 5.12).

Рисунок 5.12 - Приемопередатчик RS-485.

Приемник, получая на дифференциальных входах (AB) разность потенциалов (UAB) переводит их в цифровой сигнал на выходе RO. Чувствительность приемника может быть разной, но гарантированный пороговый диапазон распознавания сигнала производители микросхем приемопередатчиков пишут в документации. Обычно эти пороги составляют ± 200 мВ. То есть, когда UAB > +200 мВ - приемник определяет логическую "1", когда UAB < -200 мВ - приемник определяет логический "0". Если разность потенциалов в линии настолько мала, что не выходит за пороговые значения - правильное распознавание сигнала не гарантируется. Кроме того, в линии могут быть и не синфазные помехи, которые исказят столь слабый сигнал.

Все устройства подключаются к одной витой паре одинаково: прямые выходы (A) к одному проводу, инверсные (B) - к другому.

Входное сопротивление приемника со стороны линии (RAB) обычно составляет 12 КОм. Так как мощность передатчика не беспредельна, это создает ограничение на количество приемников, подключенных к линии. Согласно спецификации RS-485 c учетом согласующих резисторов передатчик может вести до 32 приемников. Однако есть ряд микросхем с повышенным входным сопротивлением, что позволяет подключить к линии значительно больше 32 устройств.

Максимальная скорость связи по спецификации RS-485 может достигать 10 Мбод. Максимальное расстояние - 1200 м. Если необходимо организовать связь на расстоянии большем 1200 м или подключить больше устройств, чем допускает нагрузочная способность передатчика - применяют специальные повторители (репитеры).

Стандартные параметры интерфейсов RS-422 RS-485
Допустимое число передатчиков / приемников 1 / 10 32 / 32
Максимальная длина кабеля 1200 м 1200 м
Максимальная скорость связи 10 Мбит/с 10 Мбит/с
Диапазон напряжений "1" передатчика +2...+10 В +1.5...+6 В
Диапазон напряжений "0" передатчика -2...-10 В -1.5...-6 В
Допустимый диапазон напряжений приемника -7...+12 В -7...+7 В
Пороговый диапазон чувствительности приемника ±200 мВ ±200 мВ
Максимальный ток короткого замыкания драйвера 150 мА 250 мА
Допустимое сопротивление нагрузки передатчика 100 Ом 54 Ом
Входное сопротивление приемника 4 кОм 12 кОм

 

Согласование и конфигурация линии связи. При больших расстояниях между устройствами, связанными по витой паре и высоких скоростях передачи начинают проявляться так называемые эффекты длинных линий. Причина этому - конечность скорости распространения электромагнитных волн в проводниках. Скорость эта существенно меньше скорости света в вакууме и составляет немногим больше 200 мм/нс. Электрический сигнал имеет также свойство отражаться от открытых концов линии передачи и ее ответвлений. Грубая аналогия - желоб, наполненный водой. Волна, созданная в одном конце, идет по желобу и, отразившись от стенки в конце, идет обратно, отражается опять и так далее, пока не затухнет. Для коротких линий и малых скоростей передачи этот процесс происходит так быстро, что остается незамеченным. Однако, время реакции приемников - десятки/сотни нс. В таком масштабе времени несколько десятков метров электрический сигнал проходит отнюдь не мгновенно. И если расстояние достаточно большое, фронт сигнала, отразившийся в конце линии и вернувшийся обратно, может исказить текущий или следующий сигнал. В таких случаях нужно каким-то образом подавлять эффект отражения.

Решение этой проблемы следующее. У любой линии связи есть такой параметр, как волновое сопротивление Zв. Оно зависит от характеристик используемого кабеля, но не от длины. Для обычно применяемых в линиях связи витых пар Zв=120 Ом. Оказывается, что если на удаленном конце линии, между проводниками витой пары включить резистор с номиналом равным волновому сопротивлению линии, то электромагнитная волна, дошедшая до "тупика", поглощается на таком резисторе. Отсюда его названия - согласующий резистор или "терминатор".

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

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

Линия связи должна представлять собой один кабель витой пары. К этому кабелю присоединяются все приемники и передатчики. Расстояние от линии до микросхем интерфейса RS-485 должно быть как можно короче, так как длинные ответвления вносят рассогласование и вызывают отражения.

В оба наиболее удаленных конца кабеля (Zв=120 Ом) включают согласующие резисторы Rt по 120 Ом (0.25 Вт). Если в системе только один передатчик и он находится в конце линии, то достаточно одного согласующего резистора на противоположном конце линии (рис 5.13).

Рисунок 5.13 – Согласование линий связи интерфейса RS-485.

БИС программируемого параллельного интерфейса КР580ВВ55А (82С55А)

Микросхема КР580ВВ55А представляет универсальную программно – программируемую интерфейсную БИС, с помощью которой возможна организация обмена в параллельном формате практически с любым периферийным оборудованием. Она размещена в пластиковом корпусе с 40 выводами, потребляет мощность 350мВт и требует напряжения питания 5В. Микросхема может быть использована для организации синхронного и асинхронного обмена, обмена в режиме прерывания программы.

Рисунок 5.14 – КР580ВВ55А

В состав БИС входят три 8-разрядных канала А, В, С. Обмен информацией между каналами ввода/вывода и шиной данных микропроцессорной системы производится через двунаправленную шину ЛД(0÷7) (рис. 5.14).

В БИС используются следующие сигналы:

ВМ – выбор микросхемы. Разрешение работы БИС. При ВМ=1 выводы шины данных ЛД(0÷7) находятся в состоянии с высоким выходным сопротивлением.

А0, А1 – адрес. Обращение к одному из трех каналов или регистру управляющего слова.

ЧТ – чтение. Чтение данных из КР580ВВ55А на шину данных.

ЗП – запись. Запись байта данных с шины данных в КР580ВВ55А.

СБР – сброс. Все регистры, включая регистр управляющего слова, устанавливаются в нулевое состояние. Все каналы переводятся в режим ввода.

Перед началом работы, программным способом, путем передачи в БИС специальных команд инициализации, назначаются режимы работы каждого из каналов. Иначе говоря, в управляющий регистр рассматриваемой БИС программным способом заносится соответствующее управляющее слово. Содержимое этого слова задает один из трех возможных режимов работы каналов ввода/вывода: основного (режим 0), стробируемого однонаправленного (режим 1), стробируемого двунаправленного (режим 2). Режимы работы каналов А и В могут быть заданы независимо друг от друга. Канал С делится на две части С4-С7, С0-С3, режимы работы которых можно задавать независимо, кроме того каждым разрядом канала С можно управлять отдельно.

Формат управляющего слова для задания режимов следующий (рис.5.15):

Рисунок 5.15 – Управляющее слово для задания режимов.

На рисунке 5.16 приведен формат управляющего слова для поразрядного управления каналом С.

Рисунок 5.16 – Поразрядное управление каналом С.

Интерфейс КОП

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

Для создания гибких, легко перестраиваемых и наращиваемых автоматизированных систем, необходимых в лабораторных исследованиях, рассмотренный выше подход не используется, так как физическая нагрузочная способность магистрали микро-ЭВМ ограничена. Непосредственное подключение к магистрали большого количества разнородных элементов измерительной аппаратуры и элементов управления практически не представляется возможным, поскольку увеличение числа нагрузок приводит к снижению надежности работы ЭВМ и всего комплекса в целом. В основном магистраль предназначена для подключения стандартной по отношению к ЭВМ периферии. Кроме того, измерительный комплекс оказывается жестко связанным с конкретной ЭВМ и смена типа ЭВМ приводит к необходимости заново создавать весь комплекс.

Альтернативный путь создания ИВК основан на использовании средств сопряжения, не зависящих от типа ЭВМ и представляющих собой совокупность специальных элементов (модулей) с магистральным принципом организации. Обмен информацией между отдельными элементами системы происходит по правилам, определяемым конкретной системой, которые не зависят от типа используемой ЭВМ. Связь между системой и ЭВМ осуществляется с помощью специального интерфейса или контроллера, структура которого определяется типом ЭВМ. Это направление оказалось столь перспективным, что был предложен и получил развитие ряд систем, использующих концепцию магистрального сопряжения. Можно отметить следующие достоинства такого подхода:

ü создание гибких измерительных комплексов, которые
можно легко наращивать и модернизировать;

ü создание банков совместимых компонентов системы —
модулей, приборных интерфейсов, контроллеров, разрабатываемых в различных организациях и странах;

ü независимость структуры комплекса от типа ЭВМ (смена
ЭВМ приводит к необходимости замены только одного элемента системы — контроллера).

В России наибольшую известность получили три вида унифицированных систем сопряжения: МЭК-625, КАМАК и ВЕКТОР.

Рассмотрим более подробно систему МЭК-625.

Интерфейс для приборных систем был предложен фирмой Hewlett-Packard и принят в качестве стандарта в 1975 г. В настоящее время эта концепция интерфейса известна под названием МЭК-625, или магистраль IEEE 488, или интерфейсная магистраль Hewlett-Packard (HP-IB), или GPIB (приборная шина общего назначения). В России этот интерфейс принят в качестве ГОСТ (26.003-80) и известен под названием КОП (канал общего пользования). Система МЭК-625 основана на последовательно - параллельном байтовом сопряжении с ЭВМ в стандарте кода ASCII, использует уровни ТТЛ и допускает подключение до 15 устройств на общее расстояние до 20 м. Магистраль, выполненная в стандарте МЭК-625, содержит всего 16 линий и обеспечивает скорость передачи до 1 Мбод. Выпускается ряд приборов с выходом на магистраль МЭК-625, в которых интерфейсная плата устанавливается заводом - изготовителем, например цифровой запоминающий осциллограф С9-8, цифровые вольтметры В7-34, В7-43, В7-53 и т.д. Магистраль МЭК-625 ориентирована на системы невысокого быстродействия, получившие распространение в промышленных и заводских условиях.

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

Активные цепи и магистраль, выполненная обычно в виде кабеля того или иного типа, на каждом конце которого имеется двусторонний разъем с винтовыми зажимами, образуют собственно магистраль. Конструкция разъема обеспечивает установку одного разъема на другой, что позволяет собирать системы любой произвольной конфигурации: однолинейную, звездой и т.д.

Рассмотрим логическую организацию интерфейса КОП.

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

Функциональные устройства соединяются при помощи 24 сквозных линий, по восьми передается сигнальный нуль, шесть из которых образуют с сигнальными шинами передачи и управления витые пары, что повышает помехоустойчивость. По всем линиям шины КОП передаются сигналы с уровнем ТТЛ, но в связи с тем, что этой шиной управляют формирователи с открытым коллектором, в ней используется инверсная логика. Это означает, что напряжения менее 0.8В соответствуют логической 1, а выше 2.5В – логическому 0.

Основные 16 линий магистрали по функциональному назначению подразделяются на три отдельные шины (табл. 5.2).

Таблица 5.2 – Назначение линий и их распределение по контактам.

  Наименование Обозначение Число линий Контакты РПМ7-24
Русское Латинское Линия Нуль
Шина данных
Линии данных ЛД0-ЛД7 DI01-DI08   1,3,5,7, 2,4,6,8 -
Шина синхронизации
Сопровождение данных СД DAV      
Готов к приему ГП NRFD      
Данные приняты ДП NDAC      
Шина управления
Управление УП ATN      
Конец передачи или идентификация КП EOI     -
Запрос на обслуживание ЗО SRQ      
Очистить интерфейс ОИ IFC      
Дистанционное управление ДУ REN     -
Логическое заземление    
Экран    

 

Схема подключения и структура магистрали КОП представлена на рис. 5.17.

Рассмотрим назначение шин и сигналов магистрали.

Шина данных – предназначена для передачи информации: адресов функциональных устройств, адресованных и не адресованных многолинейных универсальных команд, цифровых данных, данных о состоянии. Расположение разрядов байта соответствует номеру линии шины.

Рисунок 5.17 - Схема подключения и структура магистрали КОП

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

1. СД (DAV) – сопровождение данных. Низкий уровень на этой линии указывает, что информация на линиях данных доступна для считывания. Этот сигнал переводится в низкое состояние передающим устройством.

2. ГП (NRFD) – готов к приему. Устройства - приемники используют эту линию для сигнализации о своей готовности к приему. Когда все устройства переходят в состояние готовности, они переводят эту линию в высокое состоян6ие. Устройства не адресованные на прием должны постоянно поддерживать высокое состояние линии ГП.

3. ДП (NDAC) – данные приняты. Устройства – приемники используют эту линию для сигнализации устройству – передатчику о том, что данные успешно считаны. Когда устройство примет данные, оно переводит линию в высокое состояние.

Шина управления – содержит пять линий, по которым действуют управляющие сигналы при обмене информацией.

1. УП (ATN) – управление. Этот сигнал используется контроллером, управляющим шиной, для оповещения о том, что происходит передача команды или адреса. Низкий уровень на этой линии означает, что передаваемый в данный момент от контроллера байт является командой или адресом.

2. ОИ (IFC) – очистить интерфейс. Через эту линию контроллер приводит в исходное состояние все подключенные к шине устройства. Когда сигнал на ней переходит в низкое состояние, прекращается вся работа КОП и все устройства освобождают себя от адресов и переходят в состояние холостого хода.

3. ЗО (SRQ) – запрос на обслуживание. Линию ЗО подключенные к шине устройства используют для того, чтобы передать на контроллер сигнал о том, что они нуждаются в обслуживании. Обнаружив низкий логический уровень на линии ЗО, устройство – контроллер должно опросить все подключенные к шине устройства, чтобы установить, какое их них нуждается в обслуживании.

4. ДУ (REN) – дистанционное управление. Сигнал на эту линию выдается контроллером шины для того, чтобы разрешить всем устройствам на шине принимать программы их работы. Если на линии ДУ низкий логический уровень, это означает, что все подключенные устройства могут управляться через шину КОП.

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

Информация передается по магистрали КОП байт за байтом и координируется при помощи трех сигналов СД, ГП, ДП. Это дает гарантию того, что байт будет подан на шину только при условии, что все устройства – приемники готовы считать его, что считывание не будет начато ранее, чем байт будет действительно подан, и что байт будет оставаться на шине, пока его успешно не примут все устройства – приемники.

Перед любым обменом данными через шину контроллер шины должен указать, какие устройства будут источниками, а какие – приемниками. Для реализации этих функций используются адреса и команды, передаваемые контроллером через шину при низком состоянии линии УП. Адреса приемников строятся как 32+N (20h+N), источников как 64+N (40h+N), где N – номер устройства, задаваемый DIP-переключателями на панели устройства.

Временная диаграмма сигналов при передаче байта данных приведена на рис. 5.18.

Рассмотрим более подробно эту диаграмму:

· Исходное состояние устройств: на линии СД установлен высокий уровень сигнала (т.е. данные на шине ЛД не достоверны), а на линиях ГП и ДП низкий (т.е. ни один из приемников не готов к приему информации и не принял ее).

 

Рисунок 5.18 – Временная диаграмма сигналов синхронизации.

· Источник проверяет начальное состояние приемника, если исходное состояние правильное, то он выставляет на шине ЛД байт данных и ожидает поступления сигнала ГП, если же не верно, то сигнализирует о наличии ошибки.

· Приемники указывают на готовность принять данные, меняя уровень на линии ГП с низкого на высокий.

· Под действием высокого потенциала на линии ГП источник понижает уровень сигнала СД. Это означает, что все данные выставлены и верны, т.е. пригодны к приему.

· Приемник в ответ на изменение сигнала СД снимает сигнал ГП, указывая, что состояние готовности к приему сменяется на прием данных. Вслед за этим осуществляется прием выставленного на шине ЛД байта информации.

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

· В ответ на повышение уровня на линии ДП источник изменяет уровень согнала СД с низкого на высокий.

· Приемник под действием высокого уровня сигнала на линии СД меняет уровень на линии ДП на низкий, подготавливаясь к следующему циклу обмена.

Алгоритмическая схема работы приемника и источника, реализующая рассмотренную выше временную диаграмму при передаче байта, приведена на рис. 5.19.

Как правило, стандартные компьютеры не оснащаются интерфейсом КОП. Для этого выпускаются платы расширения, которые устанавливаются в слоты шины ISA или PCI. Схемотехника таких плат различна, но в основном они строятся на базе одного или двух программируемых параллельных интерфейсов КР580ВВ55А. Обобщенная структурная схема такой платы приведена на рис. 5.20. Здесь необходимо учесть, что перед началом работы нужно запрограммировать ППИ1 и ППИ2. Как видно из рис. 5.20, в ППИ1 каналы А и В работают на ввод, канал С на вывод, в ППИ2 канал В на ввод, каналы А и С на вывод. Оба программируемых параллельных интерфейса работают в основном режиме (режиме 0). Внешние сигналы интерфейса инверсны относительно сигналов на шине ISA.

Рисунок 5.19 – Алгоритмы работы источника и приемника.



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 2933; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.239.148 (0.132 с.)