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

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

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ЯДЕРНЫЙ УНИВЕРСИТЕТ «МИФИ»

В.А. Сафоненко, А.В. Просандеев, М.Г. Смирнов

ПРАКТИКУМ ПО ИНТЕРФЕЙСАМ ПОСЛЕДОВАТЕЛЬНОЙ ПЕРЕДАЧИ ДАННЫХ: СТАНДАРТЫ,

ПРОГРАММИРОВАНИЕ, МОДЕЛИРОВАНИЕ

Рекомендовано УМО «Ядерные физика и технологии» в качестве учебного пособия для студентов высших учебных заведений

Москва 2012

УДК 681.3.06 ББК 32.973-018 С 54

Сафоненко В.А., Просандеев А.В., Смирнов М.Г. Практикум по ин-

терфейсам последовательной передачи данных: стандарты, программирование, моделирование: Учебное пособие. М.: НИЯУ МИФИ, 2012. 184 с.

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

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

Рекомендуется использовать при изучении дисциплин «Компьютерные системы и сети», «Автоматизированные системы научных исследований и автоматизации электрофизических установок». Может быть полезно для разработчиков систем автоматизации технологических процессов.

Подготовлено в рамках Программы создания и развития НИЯУ МИФИ

Рецензент ведущий электроник и доцент кафедры ВИТ СарФТИ НИЯУ МИФИ В.А. Павлов

ISBN 978-5-7262-1709-3

© Национальный исследовательский

 

ядерный университет «МИФИ», 2012

 

2

Оглавление

Введение.................................................................................................

6

Глава 1. Общие вопросы стандартизации последовательных

 

интерфейсов и методика их программирования .........

11

Последовательные интерфейсы

 

и последовательный порт: стандарты

 

и соглашения....................................................................

11

Короткий пример работы

 

с последовательным портом...........................................

11

Механизм обмена данными

 

через последовательный порт

 

(по протоколу RS-232). ....................................................

18

Механический стандарт. .............................................

18

Электрический стандарт.............................................

21

Технические характеристики передачи.....................

23

Уровень протокола ВОС. ............................................

25

Буферизация в интерфейсе.......................................

25

Алгоритмы арбитража и сигналы

 

синхронизации передачи. ..........................................

26

Семейство протоколов RS. ........................................

31

Синхронная и асинхронная передача.......................

31

Скорость передачи. ....................................................

33

Передача байта данных. ............................................

33

Короткий пример. .............................................................

34

Низкоуровневое программирование. .............................

35

Пример программирования. ......................................

41

Глава 2. Методика программирования в среде MATLAB............

50

Арбитраж в интерфейсах. Программные и аппаратные

 

механизмы реализации алгоритмов арбитража.

 

Критерии качества интерфейса и сравнительные

 

характеристики методов арбитража передачи...................

50

Операторы MATLAB чтения и записи данных в порт........

53

Организация алгоритмического и событийного

 

методов обмена информацией.

 

События объекта serial в MATLAB.......................................

62

Глава 3. Применение методов массового обслуживания

 

для оценки показателей качества интерфейса.............

74

Методы моделирования дискретных

 

случайных величин. .........................................................

75

3

Моделирование дискретных случайных величин,

 

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

75

Стандартные генераторы случайных чисел. ............

75

Метод Фибоначчи генерации

 

псевдослучайных чисел. ............................................

77

Метод срединных квадратов генерации

 

псевдослучайных чисел. ............................................

79

Линейный конгруэнтный метод генерации

 

псевдослучайных чисел. ............................................

80

Модели дискретных случайных величин

 

с произвольными законами распределения..................

82

Метод ступенчатой аппроксимации. .........................

82

Метод обращения. ......................................................

86

Тестирование генераторов случайных величин............

92

Статистическое тестирование выборки

 

псевдослучайных чисел по критерию

 

Колмогорова–Смирнова. ............................................

93

Критерий независимости случайных чисел..............

94

Методы систем массового обслуживания

 

в интерфейсах..................................................................

96

Однолинейная система обслуживания. ....................

96

Системы с марковскими процессами........................

98

Формула Литтла. .......................................................

102

Системы с управляемыми потоками пакетов

 

в реальных интерфейсах. ........................................

102

Анализ полудуплексного и дуплексного режимов

 

функционирования интерфейса. .............................

103

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

 

буфером.....................................................................

104

Система с распределением времени

 

обслуживания общего вида. ....................................

110

Примеры

 

Пример 1. .............................................................................

115

Пример 2. Применение графического интерфейса.........

122

Лабораторный практикум

 

Работа 1. Программирование последовательного канала:

 

байтовая передача. ..................................................

130

4

Работа 2. Стандартные операторы MATLAB

 

 

для управления портом............................................

141

Работа 3.

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

142

Работа 4.

Асинхронные и синхронные алгоритмы

 

 

ввода-вывода ............................................................

146

Работа 5.

Моделирование генераторов случайных чисел

 

 

в системе MATLAB . .................................................

149

Работа 6.

Моделирование систем массового

 

 

обслуживания в системе MATLAB .........................

154

Приложение 1. Термины и определения из области

 

 

информационных технологий

 

 

и расшифровка аббревиатур

 

 

международных организаций и терминов ..............

161

Приложение 2. Структуры регистров страниц ввода – вывода. .....

174

Приложение 3. Алфавитный список свойств. ..................................

179

Список литературы.............................................................................

181

5

Введение

Историческая справка

Ключевое свойство прогресса, отражающее философский закон «отрицание отрицания», заключается в смене старых технологий новыми. В истории науки и техники можно найти исключения. Примером может послужить дизельный двигатель CPU Intel 80186, архитектура которого, возможно, пройдет через века, и интерфейс RS-232 обмена данными в электронных устройствах, обычно именуемый как COM-порт. Аббревиатура COM-порт (Communication Port) отражает только факт обмена информацией. Корректное название – последовательный порт (Serial Port), отражает последовательную во времени передачу отдельных символьных разрядов. В технике передачи данных последовательный порт вне конкуренции. Это связано с тем, что параллельный интерфейс по критериям пропускной способности и помехоустойчивости эффективен на коротких расстояниях. В распределенных мобильных системах устройства с последовательным интерфейсом остаются наиболее эффективными. В этой связи стандарт RS-232 можно без ложной скромности из категории «широко известные» переквалифицировать в категорию «легендарные».

Философия мироздания демонстрирует неразрывную связь трех категорий: материи, энергии и информации. Невозможно передать информацию без средств передачи и затрат энергии. В наших силах наблюдать и преобразовать материю, энергию и информацию. В этой связи интерфейс можно определить как комплекс соглашений о физическом, информационном и энергетическом взаимодействии субъектов. Описание правил передачи информации назовем протоколом. В технике имеется некоторая неоднозначность применения терминов «интерфейс» и «протокол». В первом случае «интерфейс» рассматривают как понятие, включающее и «протокол» передачи. Во втором случае «интерфейс» рассматривают как техническое устройство, созданное по заявленному «протоколу». Мы будем придерживаться первого варианта. В этом случае «интерфейс» и «стандарт» будем считать синонимами. В приложении 1 приведены некоторые термины и определения по тематике интерфейсов пере-

6

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

Новый интерфейс USB (Universal Serial Bus) существенно потеснил интерфейс RS-232, так что многие материнские платы персональных компьютеров выпускаются без интерфейса RS-232. Тем не менее в промышленных вычислительных системах интерфейс RS-232 по-прежнему широко распространен, что подчеркивает живучесть и гибкость протокола связи, надежность механических соединений (разъема), достаточный уровень электромагнитной совместимости (ЭМС). Современные производители учитывают этот факт и выпускают микросхемы, которые позволяют компоновать интерфейсы RS-232 и USB.

Интерфейс RS-232 (Recommended Standard 232 рекомендован-

ный стандарт) имеет полное наименование «Interface Between Data Terminal Equipment and Data Circuit-Terminating Equipment Employing Serial Binary Data Interchange» (интерфейс между терминалом данных и передающим оборудованием линии связи, применяющий последовательный обмен двоичными данными, англ.) был разработан в качестве терминального средства связи в 1962 году. К этому времени наблюдалось бурное развитие телекоммуникационных технологий. Отсутствие международного стандарта по последовательной передачи данных тормозило развитие телекоммуникационной отрасли. Многочисленные фирмы выпускали оборудования связи по собственным стандартам передачи данных, что вызывало проблемы их совместимости. Протоколы применяли кодировку символов и четырьмя, и пятью и восемью битами. В 1962 году EIA предложила лояльный стандарт («Рекомендованный стандарт 232») с кодировкой символов от 5 до 8 бит. Допустимое напряжение сигналов устанавливалось от ±3 до ±25 В. Допускалось использование до 16 сервисных сигналов в синхронном и асинхронном режимах передачи данных. В 1969 году EIA выпустила редакцию стандарта RS-232C, в котором был узаконен 25-контактный разъем DB25 и электрические характеристики сигнала. Эта редакция определила основные свойства последовательных интерфейсов и каналов связи на многие годы вперед. Международные и национальные стандарты стали включать части стандарта RS-232C в свои структуры.

В 1983 году фирма IBM выпустила персональные компьютеры IBM XT и 1984 году IBM AT с встроенными универсальными

7

приемопередатчиками UART (Universal Asynchronous RecieverTransmitter). Схемы UART разрабатывались по стандарту RS-232C и поддерживали передачу данных только в асинхронном режиме. Чтобы узаконить использование разъема DB9, TIA выпустила новый стандарт TIA-574. Ассоциация TIA выпустила ещё две редакции стандарта RS-232C с наименованием TIA/EIA 232-E (1991) и TIA/EIA 232-F(1997), практически полностью повторяющими стан-

дарт RS-232C.

В настоящее время применение интерфейса регламентировано стандартом EIA RS-232-C и поддержано рекомендациями V.24 CCITT. Стандарты МККТТ (CCITT) V.24/V.28, X.20bis/X.21bis и ISO IS2110 повторяют RS-232. Следует отдать должное предшественнику – интерфейсу «20 мА токовая петля», который активно применялся вплоть до 1980-х годов. Интерфейс использовал в качестве носителя токовую составляющую электрического сигнала, и по этой причине имел повышенную, в сравнении с RS-232, помехоустойчивость к сигналам синфазных помех. Скорость передачи на расстоянии 600 м составляла 19.2 КБод. Интерфейс не оговаривал сигналы квитирования и предполагал симплексный режим передачи.

Рекомендации, принятые Международным консультативным комитетом по телефонии и телеграфии (CCITT, ныне ITU-T), обозначаются комбинацией из заглавной латинской буквы и точки. Фактически эти рекомендации являются стандартами, которые соблюдаются пропорционально степени их распространения (V.24 – всегда, V.35, V.36 – по мере возможности). Буквой обозначается область применения стандарта, например V относится к передаче данных через телефонные сети, а X – к сетям и взаимодействию открытых систем.

Приведем краткое описание и обозначение некоторых наиболее распространенных типов интерфейсов «оборудование связи/оконечное оборудование (DCE/DTE)».

V.24 – это эквивалент RS-232, Com-порт, асинхронный порт (кстати, он умеет работать и в синхронном режиме). Порт низкоскоростной (от 50 бит/с до 230 Кбит/с, с разрешающей способностью 1 бит/с), хотя в последнее время стали появляться материнские платы со скоростью до 230–400 Кбит/с. Его характеристики ограничены наличием только одного «земляного» провода и высо-

8

ким уровнем логических единицы и нуля – 3 В и +3 В соответственно. Стандартный разъем – вилка DB-25 или DB-9 на оконечном устройстве (DTE, компьютер) и розетка DB-25 на устройстве связи (DCE, модем). Электрическая спецификация соответствует стандарту EIA RS-232. Физический стык DB25F (розетка).

V.35 первоначально разрабатывался как стандарт на высокоскоростные модемы, однако прижился только разработанный в рамках этого стандарта высокоскоростной интерфейс DCE/DTE. Он имеет низкий уровень логических единицы и нуля и дифференциальные линии передачи данных. Тип разъема не определен, но чаще всего применяется большой многорядный разъем с золочеными контактами. Используется, как и другие высокоскоростные интерфейсы, обычно в синхронном режиме. Электрическая спецификация соответствует стандарту ITU-T V.35. Физический стык DB25F (розетка).

V.36 тоже изначально имел отношение не к определенному типу модема, а к интерфейсам передачи данных. Употребляется как обозначение электрического интерфейса, отличающегося от V.35 тем, что управляющие линии (DTR, RTS и проч.) здесь также выполнены дифференциальными парами и используется несколько иной набор сигналов. Обычно соответствует интерфейсу RS-449. Как и V.35, применяется, как правило, в синхронном режиме. Стандартно используется двухрядный разъем DB37.

X.21 – интерфейс, используемый для подключения DTE-DCE в синхронном режиме. Работает на скоростях до 2 Мбит/с. Использует двухрядный разъем DB15 и имеет упрощенный набор управляющих линий. Встречается нечасто. Электрическая спецификация соответствует стандарту ITU-T X.21. Физический стык DB15F (розетка).

Интерфейс G.703 соответствует стандарту ITU-T G.703 со скоростью 2048 Кбит/с. Электрическое подключение осуществляется по витой паре с сопротивлением 120 Ом линейным кодом HDB3. Формат линейного кодирования HDB-3 был специально разработан для решения проблем синхронизации, возникающих в случае использования AMI – кода с чередованием полярности импульсов. В формате HDB-3 последовательность из четырех последовательных нулей замещается вставкой из двух разнополярных импульсов. Оборудование на удаленном конце принимает поток и заменяет двухимпульсные вставки на последовательность нулей, восстанав-

9

ливая исходную последовательность данных. Таким образом, код HDB-3 обеспечивает большую плотность импульсов в потоке, что дает лучшие параметры синхронизации по принимаемому сигналу.

Непосредственная стыковка устройств, использующих разные интерфейсы, не предусмотрена стандартами. Существуют активные преобразователи интерфейсов, например V.24-V.35, конвертирующие все необходимые параметры – электрические уровни, управляющие сигналы и проч. На практике стыковка разнородных интерфейсов приводит к потере помехоустойчивости и надежности канала.

Перечень комитетов по стандартизации и ссылки на основные стандарты последовательной передачи приведены в приложении 1.

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

Впособии применяются следующие обозначения:

шестнадцатеричные коды чисел и символов будут иметь префикс «0x» или постфикс «h», в соответствии с контекстом;

последовательности бит будут оформлены в угловых скобках (например, <0011001>) или завершены символом ‘b’, например 001001b. При этом крайний правый бит будем считать младшим двоичным разрядом в слове.

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

10

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