К выполнению лабораторной работы №1 — КиберПедия 

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

К выполнению лабораторной работы №1

2017-09-28 239
К выполнению лабораторной работы №1 0.00 из 5.00 0 оценок
Заказать работу

«ОБМЕН ДАННЫМИ ПО СТАНДАРТУ RS-232»

ПО КУРСУ

Компьютерные сети и протоколы систем автоматизации

для студентов дневной и заочной форм обучения, направление 6.050202

«Автоматизация и компьютерно-интегрированные технологии»

Составитель:

Ст. преп. А.В.Кукуш

 

Мариуполь, 2010


 

УДК

 

Методические указания к выполнению лабораторной работы «Обмен данными по стандарту RS-232». по курсу «Компьютерные сети и протоколы систем автоматизации» (для студентов направления 6.050202).

Составил А.В. Кукуш. Мариуполь: ПГТУ, 2010.- 20с.

 

Изложены теоретические аспекты и операции необходимые для организации обмена данными по стандарту RS-232.

 

Составитель А.В. Кукуш, ст. преп.

 

Отв. за выпуск А.И.Симкин

 

Рецензент. С.П.Сокол

 

Утверждено:

на заседании кафедры АТПиП

«22» 03.2010 р., протокол № 13

 

Согласовано:

Учебно-методической комиссией комиссией факультета

«01» 09. 2010 р., протокол № 1.

 

Декан факультету информационных технологий,

доц., канд. екон. наук

_________________ М. В. Верескун


RS-232 стандарт соединения оборудования, разработанный в 1969 г. рядом крупных промышленных корпораций и опубликован Ассоциацией Электронной Промышленности США (Electronic Industries Association — EIA) как вариант «С» рекомендуемого стандарта (Recommended Standard — RS) номер 232. Министерство обороны США выпустило практически идентичный стандарт Mil-Std-188C.

Модификация "D" RS-232 была принята в 1987 г. В ней определены некоторые дополнительные линии тестирования, а также в качестве наиболее предпочтительного соединителя для рассматриваемого интерфейса рекомендован разъем типа DB-25.

Самой последней модификацией является модификация "Е", принятая в июле 1991г. как стандарт EIA/TIA-232E. В данном варианте нет никаких технических изменений, которые могли бы привести к проблемам совместимости с предыдущими вариантами этого стандарта.

RS-232 (Recommended Standard 232) - промышленный стандарт для асинхронной последовательной двунаправленной передачи данных между терминалом (DTE, Data Terminal Equipment) и конечным устройством (DCE, Data Terminal Equipment).

Интерфейс RS-232 является родоначальником практически всех современных последовательных стандартов передачи данных, таких как: RS-485,Modbus,Profibus, USB, Ethernet, FireWare, Bluetooth и др. Решения, которые заложенные в этот стандарт, используются практически повсеместно.

Интерфейс RS-232 имеет аппаратную реализацию на персональных компьютерах в виде микросхем и разъемов. Очень часто называют COM-портом(Communication port). Программы могут взаимодействовать с СОМ - портами всеми доступными средствами: прямым кодом микропроцессора, аппаратными прерываниями, функциями BIOS, средствами ОС, компонентами языков высокого уровня.

Стандарт RS-232 в общем случае описывает четыре интерфейсные функции:

- определение управляющих сигналов через интерфейс;

- определение формата данных пользователя, передаваемых через интерфейс;

- передача тактовых сигналов для синхронизации потока данных;

- формирование электрических характеристик интерфейса.

 

Основные свойства RS-232:

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

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

Программная независимость. Интерфейс полностью реализован аппаратно и не зависит от программного обеспечения и ОС.

Асинхронная передача - означает то, что РС может послать данные на конечное устройство, не заботясь о синхронности их поступления, конечное устройство само подстраивается под полученные данные. В синхронных протоколах для этого служит специальный сигнал, передающийся по отдельному проводу. В RS-232 синхросигнал встроен в каждый передаваемый байт, в виде стартового и стопового бита.

Технические характеристики:

Рис.1 Вид разъёмов СОМ1 и СОМ2 на материнской плате.

 

Тип разъема: DB9

Аппаратная реализация: микросхемы UART intel 8250/16450/16550

Уровень сигнала для TxD, RxD: 1 = -3...-12В; 0=+3...+12В (сигналы инвертированы)

Уровень сигналов RTS, DTR, CTS, DSR, DCD, RI: 1 (True)=+3...+12В; 0 (False)= -3...-12В

Зона нечувствительности: -3...+3В

Количество портов IBM AT: четыре COM1, COM2, COM3, COM4

Адреса в пространстве ввода/вывода: COM1=3F8h, COM2=2F8h, COM3=3E8h, COM4=2E8h

Аппаратные прерывания: COM1,COM3= IRQ4(IRQ11) COM2,COM4= IRQ3(IQ10)

Функции BIOS: 14h (инициализация, запись, чтение, опрос состояния, настройка)

Скорость бит/сек: 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 56000, 128000, 256000, 512000

Количество бит данных в переданном символе: 4,5,6,7,8

Длина стопового бита: 1, 1.5, 2

Режимы контрольного бита(Parity): N(None), E(Even), M(Mark), O(Odd), S(Space)

Режимы синхронизации обмена (Handshaking): 0-None, 1-XOnXoff, 2-RTS, 3-RTSXOnXoff

Канал передачи данных (инверсный): TxD (3)-GND(5)

Канал приёма данных (инверсный): RxD(2)-GND(5)

Выходные сервисные сигналы: RTS(7)-CND(5); DTR(6)-GND(5)

Входные сервисные сигналы: CTS(8)-GND(5); DSR(6)-GND(5); DCD(1)-GND(5); RI(9)-GND(5)

Расстояния связи: стандартное - 25ft(7.62м), максимальное – зависит от многих факторов

 

№ конт. DB-9 Описание сигнала Аббревиатура От DСЕ От DTE
  Передаваемые данные ТхD   х
  Принимаемые данные RxD x  
  Запрос передачи Готовность к приему RTS   х х
  Готовность к передаче CTS x  
  Готовность DСЕ DSR х  
  Сигнальное заземление SG х х
  Обнаружение несущей DСD х  
  Готовность DСЕ Готовность DТЕ DTR   х х
  Индикатор вызова RI х  

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

 

Назначение сигналов RS-232:

GND(5)-Ground, общий(второй) провод для всех сигналов.(Сигналы передаются всегда по двум проводам!)

TxD(3)- Transmited Data, асинхронный канал для передачи данных.

RxD(2)- Received Data, асинхронный канал для приема данных.

RTS(7)- Request To Send (запрос на передачу), Выход который говорит о том, что у компьютера есть данные для передачи по каналу TxD для конечного устройства.

DTR(4)-Data Terminal Ready(готовность терминала данных), Выход который говорит о том, что компьютер(терминал) готов к обмену данными с конечным устройством

CTS(8)-Clear To Send (очищен для передачи) Вход который говорит о том, что конечное устройство готово принимать данные от терминала по каналу TxD. Обычно этот сигнал выставляет конечное устройство после того, как оно получит от компьютера сигнал RTS=True(запрос на передачу) и будет готово принять данные от компьютера. Если конечное устройство не выставит сигнал CTS=True, то передача по каналу TxD не начнется. Данный сигнал используется для аппаратного управления потоками данных.

DSR(6)-Data Set Ready(установка данных готова), Вход который говорит о том, что конечное устройство выполнило все установки и готово начать передавать и принимать данные от компьютера. Если конечное устройство модем, то установка DSR=True воспринимается компьютером(терминалом) так, что модем уже установил связь с другим модемом и готов начать процедуру обмена между двумя компьютерами оснащенных модемами.

DCD(1)-Data Carrier Detected(обнаружен носитель информации), Вход который информирует компьютер(терминал) об обнаружении другого терминала, то есть конечное устройство, например модем, обнаружил другой модем, который хочет инициализировать обмен данных между терминалами. Модем выставляет сигнал DCD=True, который обнаруживается на входе компьютера(терминала).Если терминал готов к обмену данными, то он на сигнал DCD=True должен выставить сигнал готовности терминала к обмену данными DTR=True, после чего начинается обмен данными между двумя терминалами.

RI(9) - Ring Indicator(индикатор звонка), Вход который говорит компьютеру(терминалу) что на конечное устройство поступает сигнал вызова. Например, на модем поступил сигнал вызова с телефонной станции, совсем не обязательно, что этот вызов закончится обменом данных.

 

Уровни сигналов:

RS232С использует уровни сигналов -12в....+12в (RS232A, RS232B имеют другие уровни сигналов). Зона нечувствительности, то есть отсутствие сигналов считается напряжение -3в...+3в. При этом обратите внимания, что принимаемые/передаваемые данные инвертированы.

Рис.2 Уровни сигналов для стандарта RS232c

 

Исходные состояния:

1. порт не инициализирован - на всех линиях напряжения находятся в диапазоне -3в...+3в

2. режим ожидания - на всех линиях напряжение находится в диапазоне -3в...-12в

Синхронизация:

Переход из режима ожидания к напряжению +3...+12в по линии RxD запустит синхронизацию приёмника.

 

Описание контрольных битов (Parity Control Bit):

Режимы контрольного бита: N(None), E(Even), M(Mark), O(Odd), S(Space)

N(None) - проверка на паритет не используется и бит не выставляется;

E(EVEN) - проверка на четность, дополняет передаваемый символ так, чтобы количество единиц в передаваемом символе было четным:

O(Odd)- проверка на нечетность, дополняет передаваемый символ так, чтобы количество единиц в передаваемом символе было нечетным;

M(MARK) - бит паритета всегда равен единицы;

S(SPACE)- бит паритета всегда равен нулю.

 

 

Передача данных:

При передачи данных символы передаются из буфера передатчика последовательно (первым пришел первым вышел). Термин символами, а не байтами, применен специально чтобы подчеркнуть различия между двумя понятиями, символы могут иметь размер от 4 до 8 бит.

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

Рис.3 Показана передача символов "0" "0" без паритета, с одним стоповым битом

 

На рисунке 3 хорошо видно, что стоповый бит разделяет два переданных символа. При необходимости можно увеличить этот интервал до 2 стоповых битов, если конечное устройство не успевает разделять символы.

Рис.4 Показана передача символов "0" "0" с проверкой на четность (EVEN), с одним стоповым битом

 

 

Рис. 4.1. Представление кода буквы А уровнями ТТЛ (а) и на сигнальных линиях интерфейса RS-232 (б)

Часто используются национальные расширения кода ASCII, который полностью включает в себя 128 стандартных ASCII -символов и дополнительно содержит еще 128 символов с единицей в старшем бите. Среди дополнительных символов используются буквы ряда европейских алфавитов, буквы греческого алфавита, математические символы и символы псевдографики. В Украине наибольшее распространение получила альтернативная кодировка ASCII. Число всех символов расширенного кода ASCII равно 256 и, следовательно, каждый такой символ кодируется восьмью битами (2 =256). Удобнее передавать каждый символ расширенной кодировки в виде отдельного старт-стопного символа. Поэтому часто используется формат, состоящий из одного стартового бита, восьми информационных и одного стопового бита. При этом бит паритета не используется.

Таким образом, полный асинхронно передаваемый символ данных состоит из 10—11 бит при том, что собственно пользовательские данные состоят из 7—8 бит. Для приведенного примера старт-стопный символ, соответствующий букве А, состоит из 11 бит и записывается в виде 01000001011. Здесь используется четный паритет, поэтому девятый бит содержит 0.

Обычно передача данных осуществляется на одной из нескольких дискретных скоростей: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600 или 115200 Бод.

В основе контроллера последовательного порта передачи данных лежит микросхема — 16450, 16550, 16550А. Эта микросхема является асинхронным приемопередатчиком UART (Universal Asinchronouse Receiver Transmitter). Микросхема 16550А содержит регистры передатчика и приемника данных, а также ряд служебных регистров. Точная последовательность операций, выполняемых UART в каждой конкретной ситуации, контролируется внешними параметрами. В общих чертах работу UART в режимах приема/передачи можно описать следующим образом. При передаче символа UART должен выполнить следующие операции:

- принять символ в параллельной форме через системную шину PC;

- преобразовать символ в последовательность отдельных битов (параллельно-последовательное преобразование);

- сформировать старт-стопный символ путем добавления к информационным разрядам стартового, стопового и, возможно, бита паритета (четности или нечетности);

- передать старт-стопный символ на интерфейс с требуемой скоростью;

- сообщить о готовности к передаче следующего символа.

- при приеме символа UART должен выполнить обратную последовательность действий:

- принять данные в последовательной форме;

- проверить правильность структуры старт-стопного символа: стартовый бит, информационные разряды, бит паритета; если выявлена ошибка — выдать сигнал ошибки;

- осуществить проверку паритета; если выявлена ошибка — выдать сигнал ошибки паритета;

- преобразовать старт-стопный символ в информационный и передать его в параллельной форме в PC;

- сообщить, что символ принят.

Первые адаптеры последовательной связи фирмы IBM были построены на микросхеме INS8250 фирмы National Semiconductor. За прошедшее время эта микросхема несколько раз модернизировалась. Выпускались и многочисленные функциональные аналоги другими производителями микросхем. Тем не менее, все модификации микросхемы 8250 идентичны между собой по большинству своих функциональных характеристик. Микросхемы 8250 рассчитаны на максимальную скорость 38400 бит/с. В настоящее время UART такого типа практически не используются.

Появившиеся позже микросхемы UART серии 16450 рассчитаны на максимальную скорость 115200 бит/с. При их разработке были исправлены некоторые ошибки микросхем серии 8250.

Работая со скоростями порядка 9600 бит/с микросхемы 8250 и 16450 превосходно выполняли свои функции, полностью соответствуя по своим характеристикам невысокому (в прошлом) быстродействию PC и однозадачным операционным системам. Однако на сегодняшнем уровне техники связи с ее высокими скоростями передачи информации и многозадачными операционными системами (ОС) микросхемы такого типа стали «узким местом» коммуникационной аппаратуры. Чтобы исправить ситуацию были разработаны и выпущены микросхемы типа 16550 (PC16550C/NS16550AF и ряд их функциональных аналогов).

По умолчанию микросхема 16550 работает в режиме микросхемы 8250 и может быть установлена вместо микросхемы 8250. В совместимом режиме, она является полным функциональным аналогом UART 8250 и 16450 и в отличие от микросхем UART более ранних выпусков микросхема 16550 имеет второй режим работы, предусматривающий сокращение вмешательства центрального процессора в процедуру последовательной передачи данных. В этом режиме внутренние буферные регистры приемника и передатчика расширяются от 1 до 16 байтов и управляются с использованием логики FIFO (First In — First Out — первым пришел — первым вышел). Буфер FIFO приемника используется также для хранения трех битов информации об ошибках для каждого символа. Ошибки паритета, форматирования и сигналы прерывания (BREAK -сигналы) буферируются вместе с символом, к которому они относятся. Микросхема 16550 выполняет следующие функции:

- обеспечивает простой интерфейс между шиной PC и модемом или другими внешними устройствами;

- автоматически добавляет, удаляет и проверяет форматирующие биты;

- генерирует и проверяет биты паритета под управлением специальной программы;

- выделяет указатели состояния операций передачи и приема, а также состояния линии передачи данных и устройства сопряжения;

- содержит встроенные сдвиговые регистры и регистры хранения для операций передачи и приема данных, что исключает необходимость точной синхронизации работы процессора с потоком последовательных данных;

- содержит программируемый генератор-контроллер скорости передачи, работающий с внешним опорным сигналом частотой до 24 МГц;

- содержит встроенные средства самотестирования;

- может работать под управлением программного обеспечения, разработанного для микросхем 8250 и 16450;

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

Асинхронный последовательный порт подключается к внешним устройствам через специальный разъем. Существует два стандарта на разъемы интерфейса RS-232 — это DB-25 и DB-9. Первый имеет 25, а второй — 9 контактов.

Рис. 4.2. Расположение контактов разъемов DB-25 и DB-9

Организация обмена данных между терминалами:

Входы TxD и RxD используются устройствами DTE и DCE по-разному. Устройство DTE использует линию TxD для передачи данных, а линию RxD — для приема данных. И наоборот, устройство DCE использует линию TxD для приема, а линию RxD — для передачи данных. Поэтому для соединения терминального устройства и устройства передачи данных их необходимо соединить напрямую, как показано на (рис. 4.3)

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

 

Рис. 4.3. Подключение DTE к DCE

Рис 4.4. Подключение DTE к DTE

 

При соединении двух персональных компьютера друг с другом, необходимо произвести перекрестное соединение линий TxD и RxD, как показано на (рис 1.4)

 

Нуль-модемное соединение.

При таком соединении компьютеры(терминалы) соединяются между собой непосредственно через СОМ-порты. Так как компьютеры обладают большой скоростью обработки данных, то синхронизировать их работу не нужно. Поэтому предполагается, что режим синхронизации обмена (Handshaking): 0-None, то есть сервисные сигналы не влияют на процедуры обмена данными. Для этого используется нуль-модемный кабель.

 

Рис.5 Нуль-модемный кабель для Handshaking = 0 (None)

 

Так как режим синхронизации обмена на СОМ портах может быть включен, то часто сервисные сигналы СОМ портов замыкают самих на себя, тем самым исключая их влияния на процедуру обмена.

Рис.6 Нуль-модемный кабель для любых режимов Handshaking

 

Если необходимо можно использовать полный кабель, но при этом СОМ-порты должны быть настроены на аппаратную синхронизацию обмена.

Рис.7 Нуль-модемный кабель для аппаратного режима синхронизации Handshaking=2


Модемное соединение.

Модемное соединение подразумевает соединение двух компьютеров(терминалов) через модемы. Модемы (модуляторы-демодуляторы) - специальные устройства, позволяющие вести обмен данными практически на неограниченное расстояния, используя для этого модуляцию и демодуляцию информационных сигналов. Поэтому модемное соединение подразумевает подключение СОМ-порта компьютера(терминала) к конечному устройству (модему). Обычно в таком соединении используют аппаратный режим синхронизации Handshaking=2 (RTS). Этот режим позволяет модемам управлять процессом передачи данных.

Рис.8 Типичный модемный кабель.

 

Управление потоком

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

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

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

Рассмотрим организацию обмена данных при аппаратном режиме синхронизации:

Аппаратный режим синхронизации обмена данными RTS/CTS (hardware flow control) Handshaking =2, использует сервисные сигналы RS232 для управления потоком данных.

 

Рис.9 Организация обмена при аппаратной синхронизации.

1. DTR=True компьютер указывает на желание использовать модем

2. В ответ модем сигнализирует о установлении соединения с другим модемом и своей готовности выставив DSR=True.

3. Сигналом RTS=True компьютер запрашивает разрешение на передачу и заявляет о своей готовности принимать данные от модема.

4. Сигналом CTS=True модем уведомляет о своей готовности к приему данных от ком­пьютера и передаче их в линию. По этому сигналу начинается обмен данными между терминалами через модемы.

5. Установкой CTS=False модем сигнализирует о невозможности дальнейшего приема, компьютер должен приостановить передачу данных.

6. Установкой CTS=True, модем сообщает, что он может продолжать обмен данными.

7. Установкой RTS=False компьютер сообщает модему о временной приостановке обмена.

8. Модем получив сигнал остановки обмена RTS=False, сообщает о приостановки обмена сигналом CTS=False

9. Компьютер вновь готов принимать данные и он выставляет сигнал RTS=True

10. Модем получив сигнал от компьютера о готовности к обмену выставляет свою готовность CTS=True. После чего возобновляется обмен данных.

11. Компьютер указывает на завершение обмена выставив RTS=False

12. Модем подтверждает завершение обмена сигналом CTS=False

13. Компьютер снимает сигнал DTR, что является сообщением для модема разорвать соединение и повесить трубку.

14. Модем подтверждает разрыв соединения установкой сигнала DSR=False

 

Как видно из рис.9 модем использует сигнал CTS, который позволяет остановить передачу данных, если приемник не готов к их приему. Передатчик начинает передачу очередного байта только при включенной линии CTS. Байт, который уже начал передаваться, задержать сигналом CTS невозможно (это гарантирует целостность посылки). Аппаратный протокол обеспечивает самую быструю реакцию передатчика на состояние приемника.

 


Поделиться с друзьями:

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.099 с.