Изучение принципов действия Канала общего пользования (КОП), процессов, происходящих при приёме и передачи данных, синхронизации «Приёмника» и «Источника»

Страницы работы

Фрагмент текста работы

СПХХ – «холостой ход», СПАД – «адресован», СПАК – «активен».

Состояние:

СКАК – состояние контроллера «активен», СПРМ – «приём данных».

Функция  интерфейса  приемник  дает  устройству возможность получать данные (включая данные о состоянии)  через интерфейс от других устройств. Эта  возможность  существует  только  тогда,  когда  функция  адресована  на прием. (Подробно работа данной функции приведена в [1] ).

Синхронизация в КОП происходит согласно алгоритму:

Рис. 6

Алгоритм синхронизации «источника» и «приёмника».


              

1.   «источник» устанавливает СД в высокое состояние (данные недействительны).

2.  «приёмник» устанавливает ДП и ГП в низкое состояние (ничего не принято, никто не готов).

3.   «источник» проверяет ошибку (ДП и ГП в высоком состоянии?), затем посылает байт данных на ШД.

4.  «источник» задерживает подтверждение истинности данных для того, чтобы данные могли поступить через ШД на все «источники» (все данные установились).

5.  Все «приёмники» указали на готовность приёма первого байта данных (ГП переходит в высокое состояние).

6.  После приёма ГП «источник» устанавливает СД в низкое положение (не готов к приёму), затем принимает данные. Остальные «приёмники» работают аналогичным образом, каждый со своим быстродействием.

8.  первый «приёмник» устанавливает ДП в высокое состояние для указания того, что он принял данные, но линия ДП остаётся в низком состоянии, так как остальные «приёмники» удерживают её в этом состоянии.

9.  Последний приёмник устанавливает ДП в высокое состояние. Это показывает «приёмникам», что данные на ШД должны рассматриваться как недействительные.

10.   «источник», приняв информацию о том, что ДП находится в высоком состоянии, устанавливает СД в высокое состояние. Это показывает «приёмникам», что данные на ШД должны восприниматься как недействительные.

11.  «источник» изменяет данные на ШД.

12.   «источник» задерживает подтверждение истинности данных для того, чтобы данные могли установится на ШД.

13.  Первый «приёмник» показывает, что он готов к приёму следующего байта данных, устанавливая ГП в высокое состояние, но линия ГП остаётся в низком состоянии, так как остальные «приёмники» удерживают её в этом состоянии.

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

17.  первый «приёмник» устанавливает ГП в низкое состояние и начинает принимать данные.

18.  Первый «приёмник» устанавливает ДП в высокое состояние для указания того, что он принял данные, но линия ДП остаётся в низком состоянии, так как остальные «приёмники» удерживают её в этом состоянии.

19.  Последний «приёмник»  устанавливает ДП в высокое состояние, Это показывает «приёмникам», что данные на ШД должны рассматриваться  как недействительные.

22.  «приёмник», приняв информацию о том, что СД находится в низком состоянии, устанавливает ДП в низкое состояние, для подготовки к следующему циклу.

Программа - драйвер.

Следующая программа составлена как тестовый вариант (не соблюдены ГОСТы и отсутствуют проверки) по алгоритму синхронизации «источника» и «приёмника» (см. схему). Следует обратить внимание, что при передаче данных через шину данных (порт А) последние инвертируются. Так же надо отметить, что программирование вольтметра (в данном варианте программы используется именно он) производится в определенной последовательности, приведенной в таблице 1.

Табл. 1          

Программируемый параметр

Программируемый идентификатор

Код на разъеме КОП

ЛД6

ЛД5

ЛД4

ЛД 3

ЛД2

ЛД1

ЛД0

H

Род работы:

Измерение постоянного тока:

Измерение сопротивления:

Измерение переменного тока:

Измерение постоянного напряжения:

Измерение переменного напряжения:

Предел:

20 МОм

2000 В, мА, кОм

200 В, мА, кОм

20 В, мА, кОм

2 В, мА, кОм

200 мВ, мА, Ом

АВП

Вид запуска:

Периодический запуск (внутренний):

Внешний запуск:

Конец программы:

F

I

2

3

5

6

В

0

1

2

3

4

5

7

D

0

1

Е

1

0

0

0

0

0

1

0

0

0

0

0

0

0

1

0

0

1

0

1

1

1

1

1

0

1

1

1

1

1

1

1

0

1

1

0

0

1

1

1

1

1

0

1

1

1

1

1

1

1

0

1

1

0

0

0

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

1

1

1

1

0

0

1

1

0

1

1

0

1

1

0

0

1

1

0

0

1

0

0

0

0

0

1

0

1

1

0

0

0

1

0

1

0

1

1

0

0

1

1

46

31

32

33

39

3a

42

30

31

32

33

34

35

36

44

30

31

45

Так же необходимо знать кодировку функций:

Табл. 2

Наименование функции

Единица измерения

Графический символ

Код в КОП

АД   6

АД  5

АД4

АД3

АД 2

АД   1

АД0

Н

Напряжение постоянное:

Напряжение переменное:

Сопративление:

Ток:

Плюс:

Минус:

Перезагрузка:

Разделитель:

Неполярная величина:

Ноль:

Еденица:

Два:

Три:

Четыре:

Пять:

Шесть:

Семь:

Восемь:

Девять:

Перевод строки:

V

V

KOm

A

U

V

R

I

+

-

P

E

H

0

1

2

3

4

5

6

7

8

9

ПС

1

1

1

1

0

0

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

0

0

1

1

1

1

1

1

1

1

1

1

0

1

1

1

0

0

0

1

0

0

1

1

1

1

1

1

1

1

1

1

0

0

0

0

1

1

1

0

0

1

0

0

0

0

0

0

0

0

1

1

1

1

1

0

0

0

1

0

1

0

0

0

0

0

1

1

1

1

0

0

0

0

1

1

0

1

0

0

0

0

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

1

0

1

0

0

1

0

1

0

1

0

1

0

1

0

46

56

52

49

2b

2d

50

45

48

30

31

32

33

34

35

36

37

38

39

A

Табл. 3

Формат вывода данных:

Номер байта

1

2

3

4,5,6,7,8

9

10

11

12

Измеряемая функ -

Ция

Пробел, перезагрузка

Знак мантис сы, пробел.

Мантисса.

Символ порядка.

Знак порядка

Порядок

Перевод строки

U

V

R

I

Пробел

Р

+

-

ХХХХХ

Е

_

Х

ПС

Вывод данных на экран происходит следующим образом:

а) выводится буква измеряемой функции.

б) следующим ставится пробел (код символа: 255).

в) дальше идет знак мантиссы .

г) следующие 5 байтов выделяются для вывода численных значений (Х – цифра в табл. 2)

е) выводится символ порядка (Е).

ж) ставится знак порядка. з) численное значение порядка (1,2,3 и т.д.).

и)  символ «перевод строки», показывающий конец строки данных.

К примеру данные выведенные в полном формате будут выглядеть примерно так: RР00256Е-2ПС

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

Текст программы с пояснениями:

uses crt, dos;                                                   Подключаем необходимые программные модули.

Const                                                              Описание констант:

Port_RUS= $303;                                         Адрес регистра управляющего слова.

Port_A= $300;                                              Адрес порта А.

Port_B= $301;                                              Адрес порта В.

Port_C= $302;                                              Адрес порта С.

Var                                                                  Описание переменных:

reg, i:byte;

w:char;

begin                                                               Начало программы.

clrscr;                                                              Очистка экрана.  

НАСТРОЙКА ВОЛЬТМЕТРА В РЕЖИМ «ПРИЁМНИК»

(КОНТРОЛЛЕР ЯВЛЯЕТСЯ «ИСТОЧНИКОМ»)

asm                                                                 Ассемблерная вставка:

                                           Устанавливаем направление передачи данных в портах А, В, С,

                                                                        путем записи в RUS числа 88Н. Порт А, В, С0-3 =>вывод,           

  С4-7=>ввод.

mov dx, Port_RUS                                    Записываем в регистр dx адрес RUS (303Н).

mov al, 10001000B                                   Записываем в регистр al число 88Н. (число определяет направление передачи).

out dx, al                                                    Запись в порт с адресом dx числа al.

mov dx, Port_B                                          Устанавливаем УП=0 , чтобы установить вольтметр в режим

Похожие материалы

Информация о работе