2-РПЗ (1061363)
Текст из файла
Московский государственный технический университет им. Н.Э. Баумана
| Утверждаю: | |
| Галкин В.А. | "__"___________2009 г. |
Курсовая работа по дисциплине
«Вычислительные комплексы и сети»
«Локальная безадаптерная сеть»
пояснительная записка
(вид документа)
писчая бумага
(вид носителя)
________22________
(количество листов)
| ИСПОЛНИТЕЛИ: | |
| студенты группы ИУ5-71 | |
| Овечкин С.А. | ______________ |
| Прокофьев К.С. | ______________ |
| Калекин А.О. | ______________ |
Москва - 2009
-
Введение.
Данная программа, шифр «SendMessage», выполненная в рамках курсовой работы по предмету «Вычислительные комплексы и сети», предназначена для организации обмена текстовыми сообщениями между соединёнными с помощью интерфейса RS232C компьютерами. Программы позволяет обмениваться 2 компьютерам, соединенным через COM-порты, текстовыми сообщениями, при условии, запуска этой программы на обоих компьютерах.
-
Требования к программе.
К программе предъявляются следующие требования. Программа должна:
-
устанавливать соединение между компьютерами и контролировать его целостность;
-
обеспечивать правильность передачи и приема данных с помощью алгоритма циклического кодирования пакета;
-
обеспечивать функцию передачи сообщений.
-
Программа должна выполняться под управлением OS Windows 98 или выше. Поэтому было решено выполнить реализацию программы с помощью среды разработки Borland C++ Builder 6.0.
-
Определение структуры программного продукта.
При взаимодействии компьютеров между собой выделаются несколько уровней: нижний уровень должен обеспечивать соединение компьютера со средой передачи, а верхний – обеспечить интерфейс пользователя. Программа разбивается на три уровня: физический, канальный и прикладной (см. Приложение «Структурная схема программы»).
- Физический уровень предназначен для сопряжения компьютера со средой передачи.
- Канальный уровень занимается установлением и поддержанием соединения, формированием и проверкой пакетов обмена протоколов верхних модулей.
- Прикладной уровень занимается выполнением задач программы.
Физический уровень.
-
Функции физического уровня.
Основными функциями физического уровня являются:
-
Задание параметров COM-порта.
-
Установление физического канала.
-
Разъединение физического канала.
-
Передача информации из буфера в интерфейс.
-
Прием информации и ее накопление в буфере.
-
Описание физического уровня.
Последовательная передача данных означает, что данные передаются по единственной линии. При этом биты байта данных передаются по очереди с использованием одного провода. Для синхронизации группе битов данных обычно предшествует специальный стартовый бит, после группы битов следуют бит проверки на четность и один или два стоповых бита ( см. рисунок). Иногда бит проверки на четность может отсутствовать.
Рисунок.
Из рисунка видно, что исходное состояние линии последовательной передачи данных - уровень логической 1. Это состояние линии называют отмеченным — MARK. Когда начинается передача данных, уровень линии переходит в 0. Это состояние линии называют пустым — SPACE. Если линия находится в таком состоянии больше определенного времени, считается, что линия перешла в состояние разрыва связи — BREAK.
Стартовый бит START сигнализирует о начале передачи данных. Далее передаются биты данных, вначале младшие, затем старшие.
Контрольный бит формируется на основе правила, которое создается при настройке передающего и принимающего устройства. Контрольный бит может быть установлен с контролем на четность, нечетность, иметь постоянное значение 1 либо отсутствовать совсем.
Если используется бит четности P, то передается и он. Бит четности имеет такое значение, чтобы в пакете битов общее количество единиц (или нулей) было четно или нечетно, в зависимости от установки регистров порта. Этот бит служит для обнаружения ошибок, которые могут возникнуть при передаче данных из-за помех на линии. Приемное устройство заново вычисляет четность данных и сравнивает результат с принятым битом четности. Если четность не совпала, то считается, что данные переданы с ошибкой. Конечно, такой алгоритм не дает стопроцентной гарантии обнаружения ошибок. Так, если при передаче данных изменилось четное число битов, то четность сохраняется, и ошибка не будет обнаружена. Поэтому на практике применяют более сложные методы обнаружения ошибок.
В самом конце передаются один или два стоповых бита STOP, завершающих передачу байта. Затем до прихода следующего стартового бита линия снова переходит в состояние MARK.
Использование бита четности, стартовых и стоповых битов определяют формат передачи данных. Очевидно, что передатчик и приемник должны использовать один и тот же формат данных, иначе обмен будет невозможен.
Другая важная характеристика — скорость передачи данных. Она также должна быть одинаковой для передатчика и приемника.
Скорость передачи данных обычно измеряется в бодах.
Иногда используется другой термин — биты в секунду (bps). Здесь имеется в виду эффективная скорость передачи данных, без учета служебных битов.
Интерфейс RS232C описывает несимметричный интерфейс, работающий в режиме последовательного обмена двоичными данными. Интерфейс поддерживает как асинхронный, так и синхронный режимы работы.
Последовательная передача данных означает, что данные передаются по единственной линии. При этом биты байта данных передаются по очереди с использованием одного провода. Интерфейс называется несимметричным, если для всех цепей обмена интерфейса используется один общий возвратный провод — сигнальная «земля».
Интерфейс 9-ти контактный разъем.
| Номер контакта | Обозначение | Назначение | Обозначение CCITT |
| 1 | DCD | Обнаружение несущей | 109 |
| 2 | RD | Принимаемые данные | 104 |
| 3 | TD | Отправляемые данные | 103 |
| 4 | DTR | Готовность терминала к работе | 108/2 |
| 5 | SG | Земля сигнала (схемная) | 102 |
| 6 | DSR | Готовность DCE | 107 |
| 7 | RTS | Запрос передачи | 105 |
| 3 | TD | Отправляемые данные | 103 |
| 9 | RI | Индикатор вызова | 125 |
В интерфейсе реализован биполярный потенциальный код на линиях между DTE и DCE. Напряжения сигналов в цепях обмена симметричны по отношению к уровню сигнальной «земли» и составляют не менее +3В для двоичного нуля и не более -3В для двоичной единицы.
Каждый байт данных сопровождается специальными сигналами «старт» — стартовый бит и «стоп» — стоповый бит. Сигнал «старт» имеет продолжительность в один тактовый интервал, а сигнал «стоп» может длиться один, полтора или два такта.
При синхронной передаче данных через интерфейс передаются сигналы синхронизации, без которых компьютер не может правильно интерпретировать потенциальный код, поступающий по линии RD.
1Нуль-модемный интерфейс.
Обмен сигналами между адаптером компьютера и модемом (или 2-м компьютером присоединенным к исходному посредством кабеля стандарта RS-232C) строится по стандартному сценарию, в котором каждый сигнал генерируется сторонами лишь после наступления определенных условий. Такая процедура обмена информацией называется запрос/ответным режимом, или “рукопожатием” (handshaking). Большинство из приведенных в таблице сигналов как раз и нужны для аппаратной реализации “рукопожатия” между адаптером и модемом.
Обмен сигналами между сторонами интерфейса RS-232C выглядит так:
-
компьютер после включения питания выставляет сигнал DTR, который постоянно удерживается активным. Если модем включен в электросеть и справен, он отвечает компьютеру сигналом DSR. Этот сигнал служит подтверждением того, что DTR принят, и информирует компьютер о готовности модема к приему информации;
-
если компьютер получил сигнал DSR и хочет передать данные, он выставляет сигнал RTS;
-
если модем готов принимать данные, он отвечает сигналом CTS. Он служит для компьютера подтверждением того, что RTS получен модемом и модем готов принять данные от компьютера. С этого момента адаптер может бит за битом передавать информацию по линии TD;
-
получив байт данных, модем может сбросить свой сигнал CTS, информируя компьютер о необходимости “притормозить” передачу следующего байта, например, из-за переполнения внутреннего буфера; программа компьютера, обнаружив сброс CTS, прекращает передачу данных, ожидая повторного появления CTS.
Когда модему необходимо передать данные в компьютер, он (модем) выставляет сигнал на разъеме 8 — DCD. Программа компьютера, принимающая данные, обнаружив этот сигнал, читает приемный регистр, в который сдвиговый регистр “собрал” биты, принятые по линии приема данных RD. Когда для связи используются только приведенные в таблице данные, компьютер не может попросить модем “повременить” с передачей следующего байта. Как следствие, существует опасность переопределения помещенного ранее в приемном регистре байта данных вновь “собранным” байтом. Поэтому при приеме информации компьютер должен очень быстро освобождать приемный регистр адаптера. В полном наборе сигналов RS-232C есть линии, которые могут аппаратно “приостановить” модем.
Нуль-модемный интерфейс характерен для прямой связи компьютеров на небольшом расстоянии (длина кабеля до 15 метров). Для нормальной работы двух непосредственно соединенных компьютеров нуль-модемный кабель должен выполнять следующие соединения:
-
RI-1 + DSR-1 — DTR-2;
-
DTR-1 — RI-2 + DSR-2;
-
CD-1 — CTS-2 + RTS-2;
-
CTS-1 + RTS-1 — CD-2;
-
RD-1 — TD-1;
-
TD-1 — RD-1;
-
SG-1 — SG-2;
Знак «+» обозначает соединение соответствующих контактов на одной стороне кабеля.
2Настройка COM-порта средствами WIN32 API.
Прикладной программный интерфейс Win32 API предлагает широкие возможности по настройке COM-порта.
2.0Структура DCB и функции для работы с ней.
Функция SetCommDCB позволяет настроить COM-порт на основе данных, содержащихся в структуре DCB. Прототип этой функции выглядит так:
BOOL SetCommDCB(HANDLE hCom, LPDCB lpDCB);
Как видно, функция очень проста и имеет всего два параметра:
hCom — описатель последовательного порта.
lpDCB — указатель на структуру DCB.
Функция GetCommDCB позволяет заполнить структуру DCB данными, соответствующими текущим параметрам COM-порта. Прототип этой функции выглядит так:
BOOL GetCommDCB(HANDLE hCom, LPDCB lpDCB);
Как видно, функция очень проста и имеет всего два параметра:
hCom — описатель последовательного порта.
lpDCB — указатель на структуру DCB.
Структура содержит основные параметры порта.
typedef struct _DCB {
DWORD DCBlength;
DWORD BaudRate;
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.















