Смекни!
smekni.com

Канал последовательной связи на основе МС 8251 (стр. 3 из 5)

7

6

5

4

3

2

1

0

DCD

RI

DSR

CTS

DDCD

TERI

DDSR

DCTS

DCD является инвертированным сигналом Data Carrier Detect (DCD). При установленном режиме «шлейфа» (бит LB регистра MCR имеет значение 1) этот бит эквивалентен биту Out2 регистра MCR.

RI является инвертированным сигналом Ring Indicator (RI). При установленном режиме «шлейфа» (бит LB регистра MCR имеет значение 1) эквивалентен биту Out1 регистра MCR.

DSR является инвертированным сигналом Data Set Ready (DSR). В режиме «шлейфа» (бит LB регистра MCR имеет значение 1) эквивалентен биту DTR регистра MCR.

CTS – инвертированный сигнал Clear to Send (CTS). При установленном режиме «шлейфа» (бит LB регистра MCR имеет значение 1) этот бит эквивалентен биту RTS регистра MCR.

Биты DDCD, TERI, DDSR и DCTS являются индикаторами изменения состояния модема и установка любого из этих битов в значение 1 приводит к порождению прерывания по состоянию модема, если оно разрешено в регистре IER.

DDCD является индикатором изменения сигнала Data Carrier Detect (DCD). Этот бит принимет значение 1 при изменении сигнала DCD после последней операции чтения регистра MSR.

TERI является индикатором заднего фронта сигнала RI. Этот бит принимает значение 1 при изменении сигнала RI с уровня логической 1 на уровень логического нуля.

DDSR является индикатором изменения сигнала Data Set Ready (DSR). Этот бит принимает значение 1 при изменении сигнала DSR после последней операции чтение регистра MSR.

DTCS является индикатором изменения сигналаClear to Send (CTS). Этот бит принимает значение 1 при изменении сигнала CTS после последней операции чтения регистра MSR.

Не используемый регистр (Scratch Register). Имеет адрес 7 относительно базового адреса контроллера и доступен по чтения и записи. Регистр не управляет контроллерам и может быть использован в качестве рабочего регистра для хранения каких либо данных.

Программируемый генератор. Программируемый генератор служит для установки частоты контроллера последовательного интерфейса. Частота следования определяется как отношение частоты задающего генератора к делителю частоты. Частота задающего генератора равна 1.8432Мгц. делитель частоты представляет собой 16–ти битовое число, младший и старший байт которого загружаются по отдельности через регистры буфера делителя. После операции записи любой из регистров делителя делитель перезагружается сразу же. В таблице 1.4 приведены необходимые значения делителя для получения требуемой частоты следования.

Таблица 1.4

Требуемая частота

Следования

(в бодах)

Значение делителя для получения требуемой частоты следования

В десятичном

Виде

В шестнадцатеричном виде

50

2304

0900h

75

1536

0600h

150

1536

0600h

300

384

0180h

600

192

00C0h

1200

96

0060h

1800

64

0040h

2400

48

0030h

3600

32

0020h

4800

24

0018h

7200

16

0010h

9600

12

000Ch

19200

6

0006h

38400

3

0003h

57600

2

0002h

115200

1

0001h

Последовательная передача данных

Микропроцессорная система без средств ввода и вывода ока­зывается бесполезной. Характеристики и объемы ввода и вывода в системе определяются, в первую очередь, спецификой ее применения — например, в микропроцессорной системе управления некоторым промышленным процессом не требуется клавиатура и дисплей, так как почти наверняка ее дистанционно программирует и контроли­рует главный микрокомпьютер (с использованием последовательной линии RS–232C).

Поскольку данные обычно представлены на шине микропроцессора в параллельной форме (байтами, словами), их последовательный ввод–вывод оказывается несколько сложным. Для последовательного ввода потребуется средства преобразования последовательных входных данных в параллельные данные, которые можно поместить на шину. С другой стороны, для последовательного вывода необходимы средства преобразования параллельных данных, представленных на шине, в последовательные выходные данные. В первом случае преобразование осуществляется регистром сдвига с последовательным входом и параллельным выходом (SIPO), а во втором — регистром сдвига с параллельным входом и последовательным выходом (PISO).

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

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

D0–D7 — входные–выходные линии данных, подключаемые непосредственно к шине процессора;

RXD — принимаемые данные (входные последовательные данные);

TXD — передаваемые данные (выходные последовательные данные);

CTS — сброс передачи. На этой линии периферийное устройство формирует сигнал низкого уровня, когда оно готово воспринимать информацию от процессора;

RTS — запрос передачи. На эту линию микропроцессорная система выдает сигнал низкого уровня, когда она намерена передавать данные в периферийное устройство.

Все сигналы программируемых микросхем последовательного ввода–вывода ТТЛ–совместимы. Эти сигналы рассчитаны только на очень короткие линии связи. Для последовательной передачи данных на значительные расстояния требуются дополнительные буферы и преобразователи уровней, включаемые между микросхемами последовательного ввода–вывода и линией связи.

Протокол последовательной связи.

Попытка установить последовательный обмен информацией будет бесполезной, если одно из устройств будет включено. Без принимающего устройства передаваемая информация будет бесследно исчезать в канале. К счастью RS – 232 в своих спецификациях выделяет 2 проводника для определения подключения к каждому концу последовательного канала устройства и его состояния ( влкючено ли устройство).

Сигнал, передаваемый по 20 контакту, и называется сигналом готовности терминала (Data Terminal ready – DTR). Он имеет позитивную форму с DTE – устройства для сообщения о том, что оно подключено, обеспечено питание и готово начать сеанс связи.

Аналогично сигнал поступает на контакт 6. Он называется сигналом готовности набора данных (Data set ready – DSR). Этот сигнал так же представляется в позитивном виде и говорит о том что DCE - устройство включено и готово к работе.

В нормальном канале RS – 232 оба эти сигнала должны появиться прежде чем произойдет что-либо. Устройство DTE посылает сигнал DTR устройству DSE, и DSE посылает сигнал DSR устройству DTE. Теперь оба устройства знают, что другое устройство готово к работе.

Обычно аппаратное квитирование модема реализуется при помощи двух различных проводников. Устройства DCE устанавливает положительное напряжение в 5 линии, что говорит о готовности к приёму (Clear to send – CTS). Устройство DTE воспринимает этот сигнал как «путь свободен». С другой стороны канала устройство DTE устанавливает положительное напряжение на 4ом контакте. Этот сигнал называется запрос на передачу (Request to Send – RTS ). Он говорит о том, что DCE должно получить информацию.

Важное правило гласит, если оба сигнала и CTS, RTS не представленные положительным напряжением, информация не будет передаваться ни в одном направлении. Если положительное напряжение отсутствует на контакте CTS, устройство DTE не передаст информацию на DCE. Если же положительное напряжение отсутствует в линии RTS, DCE не передаст информацию DTE.

Ещё один сигнал порождается DCE,который необходим для начала передачи информации. Это сигнал определения передачи информации (Carrier Detect или Data Carrier Detect – CD или DCD). Положительное напряжение в этой линии указывает, что модем DCE получил несущий сигнал с модема с другого конца линии. Если же этот сигнал не выявлен, то последовательность импульсов может быть только шумами в линии. Сигналы CD помогаю DTE узнать, когда следует опасаться помех. В некоторых случаях когда CD не имеют положительного потенциала, DTE будет игнорировать поступающую информацию.