Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Сафоненко Практикум по интерфейсам последователной передачи 2012

.pdf
Скачиваний:
2
Добавлен:
12.11.2022
Размер:
4.56 Mб
Скачать

После суммирования по модулю два с кодом 21 коды 10, 11 и 13 преобразуются в коды: 31, 30 и 32. Эти коды предваряются кодом

10. Результат байтстаффинга: FA, EE, 12, 10, 31, 10, 31, 10, 31, 99, 10, 32, 10, 32, 05, 10, 30,10, 31, 88, 10, 30, 10, 30, CC, DD, DD, 10, 30.

Этот результат не содержит управляющих кодов XOFF = 13 и XON = 11. Введём управляющие коды в начало и конец последова-

тельности: 13, FA, EE, 12, 10, 31, 10, 31, 10, 31, 99, 10, 32, 10, 32, 05, 10, 30,10, 31, 88, 10, 30, 10, 30, CC, DD, DD, 10, 30, 11.

Вопросы для подготовки к работе

1.Расскажите о различии между полудуплексным и дуплексным режимом передачи. Что подразумевает симплексный режим?

2.Сколько проводников используется при последовательной дуплексной передаче сигнала?

3.Сколько проводников используется при последовательной полудуплексной передаче сигнала?

4.Сколько проводников для передачи информационного сигнала используется в стандарте RS-232?

5.Расскажите о составе пакета данных при передаче информации по протоколу RS-232.

6.Каково назначение контактов арбитража связи (DTR, DSR, RTS, CTS)?

7.Для каких целей создавались данные контакты по протоколу

RS-232?

8.Оправдано ли в современных системах применение контактов арбитража связи при использовании протокола RS-232?

9.Чем оправдано использование управления передачей данных?

Работа 2

Стандартные операторы MATLAB для управления портом

Цель работы – освоение методики работы с последовательным интерфейсом средствами MATLAB.

141

Задание и порядок выполнения работы

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

1.Разработать, написать и отладить программу связи компьютеров по шине RS-232.

2.Провести анализ передачи данных в системе.

3.Подготовить и провести демонстрацию работы программы.

4.Подготовить отчет о выполненной работе, в состав которого включить:

а) структурную схему системы; б) текст программы с комментариями; в) результаты работы программы;

г) основные выводы по проделанной работе.

Вопросы для подготовки к работе

1.С помощью какой команды системы MATLAB создается объект последовательного порта?

2.Какие свойства и методы поддерживает объект последовательного порта?

3.Какие команды MATLAB позволяют посмотреть и изменить свойства объекта последовательного порта?

4.Какие действия необходимо предпринять для организации работы с объектом последовательного порта?

5.Посредством каких команд MATLAB осуществляется передача информации через последовательный порт?

6.Какие действия необходимо предпринять для завершения работы с объектом последовательного порта и почему?

Работа 3 Алгоритмы и арбитраж протокола связи

Цель работы – организация кадров и сеансов связи, исследование и сравнение свойств порта последовательной связи в симплексном, полудуплексном и дуплексном режимах, подготовка и

142

отладка программ моделирования последовательного интерфейса и протоколов обмена в среде MATLAB.

Задание и порядок выполнения работы

Разработайте и представьте алгоритм протокола связи двух устройств, подключенных к каналу последовательного типа связи. Варианты и характеристики систем перечислены в табл. 3.1. Варианты заданий перечислены в табл. 3.2–3.4. При подготовке алгоритма следует учесть, что виды обменов (симплексный, полудуплексный, дуплексный), а также контрольные параметры протокола связи (контроль числа полученных символов) должны соответствовать варианту задания.

Порядок выполнения работы

1.В среде MATLAB разработать, написать и отладить программу связи компьютеров по протоколу RS-232. Обеспечить прием и передачу данных по событию возникновения внешнего сигнала (асинхронный режим) или по готовности данных на входе приемника (синхронный режим).

2.Провести сеанс связи.

3.Сравнить результаты передачи данных в системе и результаты теоретического расчета.

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

5.Подготовить и провести демонстрацию работы программы. Обмен данными осуществляется по сигналам прерывания при-

хода данных. Тактирование временных отсчетов производится или по прерываниям системного таймера, или введением дозированного программного цикла.

6. Подготовить отчет о выполненной работе, в состав которого включить:

а) структурную схему системы; б) математическую модель протокола обмена в системе;

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

д) основные выводы по проделанной работе.

143

Таблица 3.1

Варианты и характеристики систем

Параметры

 

Значение параметра

 

протокола

 

 

1

Сигналы пуска и

1.

RTS-CTS

 

останова сеанса

2.

DTR-DSR

 

обмена данными

3.

Break

 

(A)

 

 

2

Сигналы индика-

1.

Сигналы готовности регистров передат-

 

ции приема –

чика и приемника портов

 

передачи данных

2.

Сигналы СTS-RTS – индикаторы блока

 

в синхронном

данных, чтение – по сигналам готовности

 

режиме

регистров передатчика и приемника портов

 

(B)

3.

Сигналы DTR-DSR – индикаторы блока

 

 

данных, чтение – по сигналам готовности

 

 

регистров передатчика и приемника портов

3

Сигналы индика-

1.

Сигнал прерывания по получении дан-

 

ции приема –

ных

 

передачи данных

2.

Прерывание по сигналу RTS – индикатор

 

в асинхронном

передачи байта данных, чтение – по флагу;

 

режиме

3.

Прерывание по сигналу DTR – индика-

 

(С)

тор передачи байта данных, чтение по флагу

 

 

4.

Прерывание по сигналу таймера инди-

 

 

катор передачи байта данных, чтение – по

 

 

флагу

4

Сигналы индика-

1.

Сигнал прерывания по RTS – команда на

 

ции приема –

ожидания байта данных, чтение по готовно-

 

передачи данных

сти ВУ

 

в комбинирован-

2.

Сигнал прерывания по DTR – команда на

 

ном режиме

ожидания байта данных, чтение по готовно-

 

(D)

сти ВУ

5

Протоколы

1.

Симплексный

 

обмена

2.

Полудуплексный

 

(E)

3.

Дуплексный

6

Контрольные

 

Контроль числа полученных символов

 

параметры

 

 

 

протокола связи

 

 

 

(F)

 

 

 

 

 

 

144

 

Варианты заданий для синхронного обмена

 

Таблица 3.2

 

 

 

 

 

 

 

 

 

 

 

 

Варианты

Параметры протокола

Варианты

Параметры протокола

заданий

A

B

E

заданий

A

 

B

 

E

1

1

1

1

12

2

 

2

 

3

2

1

1

2

13

3

 

1

 

1

3

1

1

3

14

3

 

1

 

2

4

1

3

1

15

3

 

1

 

3

5

1

3

2

16

3

 

2

 

1

6

1

3

3

17

3

 

2

 

2

7

2

1

1

18

3

 

2

 

3

8

2

1

2

19

3

 

3

 

1

9

2

1

3

20

3

 

3

 

2

10

2

2

1

21

3

 

3

 

3

11

2

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Варианты заданий для асинхронного обмена

 

Таблица 3.3

 

 

 

 

 

 

 

 

Варианты

Параметры протокола

Варианты

Параметры протокола

заданий

A

C

E

заданий

A

 

C

 

E

1

1

1

1

16

2

 

4

 

1

2

1

1

2

17

2

 

4

 

2

3

1

1

3

18

2

 

4

 

3

4

1

3

1

19

3

 

1

 

1

5

1

3

2

20

3

 

1

 

2

6

1

3

3

21

3

 

1

 

3

7

1

4

1

22

3

 

2

 

1

8

1

4

2

23

3

 

2

 

2

9

1

4

3

24

3

 

2

 

3

10

2

1

1

25

3

 

3

 

1

11

2

1

2

26

3

 

3

 

2

12

2

1

3

27

3

 

3

 

3

13

2

2

1

28

3

 

4

 

1

14

2

2

2

28

3

 

4

 

2

15

2

2

3

30

3

 

4

 

3

145

 

Варианты заданий для комбинированного обмена

Таблица 3.4

 

 

 

 

 

 

 

 

 

 

 

Варианты

Параметры протокола

Варианты

Параметры протокола

заданий

A

 

 

заданий

 

 

 

 

D

E

A

D

 

E

1

1

2

1

9

3

1

 

3

2

1

2

2

10

3

2

 

1

3

1

2

3

11

3

2

 

2

4

2

1

1

12

3

2

 

3

5

2

1

2

13

3

3

 

1

6

2

1

3

14

3

3

 

2

7

3

1

1

15

3

3

 

3

8

3

1

2

 

 

 

 

 

Работа 4 Асинхронные и синхронные

алгоритмы ввода-вывода

Цель работы – получение навыков событийного программирования ввода-вывода под управлением асинхронных событий.

Работа предполагает освоение программных средств системы MATLAB, включая средства командной строки и пользовательские макросы. В качестве примеров событий предлагается рассмотреть события таймеров и событие BytesAvailable, которое возникает в порту после прихода очередного байта данных. В работе применяются два вида таймеров: встроенный таймер системы MATLAB и встроенный таймер последовательного порта. Виртуальные последовательные порты формируются и инициализируются с помощью пакета Eltima Virtual Serial Ports Driver XP непосредственно при проведении лабораторной работы на этапе выполнения подготовительной части.

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

146

Задание и порядок выполнения работы

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

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

Таблица 4.1

Перечень вариантов функций и механизмов обмена

 

Оператор

Механизм

Оператор

записи

записи в порт

чтения

 

в порт

(передачи)

из порта

1

fprintf

 

fscanf

2

fprintf

 

fread

3

fwrite

 

fscanf

4

fwrite

Оператор с

fread

5

fprintf

параметрами

fscanf

 

 

записи в порт

 

6

fprintf

fread

размещается в

7

fwrite

fscanf

 

 

командной

 

8

fwrite

строке

fread

 

 

MATLAB

 

9

fprintf

fscanf

10

fprintf

 

fread

11

fwrite

 

fscanf

12

fwrite

 

fread

13

fprintf

 

fscanf

14

fprintf

Встроенный

fread

15

fwrite

таймер

fscanf

 

 

MATLAB зада-

 

16

fwrite

fread

ет период вы-

17

fprintf

fscanf

зова функции с

18

fprintf

оператором

fread

19

fwrite

записи в порт

fscanf

20

fwrite

 

fread

Механизм чтения из порта

Встроенный таймер MATLAB задает период опроса порта. Данные вывести на экран

Событие Timer порта задает период опроса порта. Данные вывести на экран

Событие BytesAvailable

порта задает период опроса порта. Данные вывести на экран

Встроенный таймер MATLAB задает период опроса порта. Данные вывести на экран

Событие Timer порта задает период опроса порта. Данные вывести на экран

147

 

Оператор

Механизм

Оператор

 

 

 

записи

записи в порт

чтения

 

 

в порт

(передачи)

из порта

 

21

fprintf

Встроенный

fscanf

 

 

 

таймер

 

 

22

fprintf

fread

 

 

 

MATLAB зада-

 

 

23

fwrite

fscanf

 

ет период вы-

 

 

 

 

 

24

fwrite

зова функции с

fread

 

оператором

 

 

 

записи в порт

 

 

25

fprintf

 

fscanf

 

26

fprintf

 

fread

 

27

fwrite

 

fscanf

 

28

fwrite

Событие Timer

fread

 

29

fprintf

fscanf

 

порта задает

 

30

fprintf

период вызова

fread

 

31

fwrite

функции с

fscanf

 

 

 

оператором

 

 

32

fwrite

fread

 

записи в порт

 

33

fprintf

fscanf

 

34

fprintf

 

fread

 

35

fwrite

 

fscanf

 

36

fwrite

 

fread

 

Продолжение табл. 4.1

Механизм чтения из порта

Событие BytesAvailable

порта задает период опроса порта. Данные вывести на экран

Встроенный таймер MATLAB задает период опроса порта. Данные вывести на экран

Событие Timer порта задает период опроса порта. Данные вывести на экран

Событие BytesAvailable

порта задает период опроса порта. Данные вывести на экран

Вопросы для подготовки к работе

1. Какие возможности предлагает пакет Eltima Virtual Serial Ports Driver XP для создания системы виртуальных портов:

a)число возможных пар портов;

b)разрешенные скорости передачи;

c)допустимые форматы кодирования данных;

d)протоколы связи: симплексный, дуплексный, полудуплекс-

ный;

e)виды асинхронных событий в портах;

f)какие из перечисленных возможностей регламентированы микросхемой UART, а какие возможности дополнительно предла-

гает сервис Eltima VSPD?

148

Работа 5 Моделирование генераторов случайных чисел в системе MATLAB

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

Задание и порядок выполнения работы

Провести исследование качества генераторов случайных чисел по критерию отклонения математического ожидания, дисперсии и среднего квадратического отклонения.

Пояснение. Известно, что при равномерном законе распределения случайной непрерывной величины в интервале (0, 1) соответствующее математическое ожидание M, дисперсия D и среднеквадратичное отклонение S имеют следующие теоретические значения:

M = 0.5, D = 1/12, S = 1/√12.

Используя критерий сравнения теоретических параметров равномерного распределения с реальными значениями, полученными для конечной выборки, провести анализ качества ГСЧ системы

MATLAB.

Приведите пример решения задачи в системе MATLAB. Практически для всех версий используется функция rand, реа-

лизующая равномерно распределенные числа в интервале (0, 1). Среднее значение массива чисел определяется функцией mean,

дисперсия – функцией var, среднее квадратическое отклонение – функцией std.

Программный код М-файла: clear, clc

%%Генерирование выборки 500 случайных чисел

x= rand(500, 1);

%%Вычислениесреднего значения выборки

M = mean(x);

fprintf('Математическое ожидание: %f\n', M);

%%Вычислениедисперсии данной выборки

D = var(x); fprintf('Дисперсия: %f\n', D);

%%Вычислениесреднего квадратического отклонения

149

S = std(x);

fprintf('среднеe квадратическоe отклонение: %f\n', S);

%%Расчет относительных погрешностей впроцентах

%%по математическомуожиданию

m = 0.5;

Dm = abs((M – m)/m)*100;

fprintf('Относительная погрешность по математическому ожида-

нию: %5.2f%%\n', Dm); %% по дисперсии d = 1/12;

Dd = abs((D – d)/d)*100;

fprintf('Относительная погрешность по дисперсии: %5.2f%%\n', Dd);

%% по среднему квадратическому отклонению s = sqrt(d);

Ds = abs((S – s)/s)*100;

fprintf('Относительная погрешность по среднему квадратиче-

скому отклонению: %5.2f%%\n', Ds);

%%Генерирование дополнительной выборки y = rand(500, 1);

%%Диаграмма оценки равномерности случайных чисел plot(x,y,'o', 'markersize', 4);

title('Проверка на равномерность случайных чисел'); str = 'Случайные числа';

xlabel(str)

ylabel(str)

В результате моделирования получен массив чисел. Оценим средние характеристики совокупности:

математическое ожидание 0.500111;

дисперсия 0.084744;

среднее квадратическоe отклонение 0.291108;

относительная погрешность по математическому ожиданию

0.02 %;

150

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]