РПЗ (1061428), страница 2

Файл №1061428 РПЗ (Готовый курсовой проект 7) 2 страницаРПЗ (1061428) страница 22017-12-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Количество бит данных может составлять 5, 6, 7 или 8 (5- и 6-битные форматы распространены незначительно). Количество стоп-бит может быть 1, 1,5 или 2 (“полтора бита” означает только длительность стопового интервала).

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

  • число информационных бит – 8;

  • количество стоповых бит – 1;

  • бит паритета (контроля четности) – не используется;

  • скорость обмена – 9600.

    1. Реализация физического уровня.

      1. Открытие порта.

В ОС Windows доступ к COM-портам предоставляется посредством файловых интерфейсов. Для работы с портом - функции пространства имён System.IO.Ports из библиотеки классов .NET FRAMEWORK.

ComPort - объект класса SerialPort, который используется для определения COM-порта.

ComPort.Open() – функция открытия COM-порта.

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

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

Установка параметров COM-порта осуществляется с помощью функций:

ComPort.DataBits() – устанавливается число информационных битов;

ComPort.Parity() – осуществляется проверка четности;

ComPort.PortName() - имя порта;

ComPort.StopBits() - число стоповых битов;

ComPort.ReadBufferSize() – устанавливается размер буфера чтения;

ComPort.WriteBufferSize() - устанавливается размер буфера записи;

ComPort.Handshake() - протокол установления связи;

Далее производится настройка тайм-аутов чтения и записи порта с помощью функций:

ComPort.ReadTimeout () - таймаут чтения;

ComPort.WriteTimeout() - таймаут записи;

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

      1. Закрытие порта.

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

Закрытие порта осуществляется с помощью функции ComPort.Close().

      1. Передача и прием данных

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

Функция для передачи данных - ComPort.Write (byte[] InfBytes, int offset, int count);

Функция приема данных – byte ComPort.ReadByte();

Функция считывания символов с порта при приеме - byte ComPort.ReadByte().

  1. КАНАЛЬНЫЙ УРОВЕНЬ.

    1. Защита передаваемой информации.

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

Для обнаружения ошибок применяют разнообразные корректирующие коды. Например: линейный код, код Хемминга, циклический код, логический код 4B/5B.

Для практической реализации циклических кодов могут быть использованы схемы с регистрами сдвига и обратными связями, или таблицы (в программе используется полином X3+X+1).

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

Рассмотрим алгоритм циклического кода:

1. Задана информационная последовательность m(x). Умножить заданный полином степени (k-1) на х(n-k), т.е. сдвинуть в сторону старших разрядов на (n-k); где n = r+k , r - степень образующего полинома , k - число информационных разрядов данной последовательности;

2. Получить остаток от деления полинома х(n-k)*m(x) на g(x) - образующий полином. Степень остатка ≤ n-k-1

3. Объединить остаток р(х) и исходный полином х(n-k)*m(x) для получения кодового слова; p(x)@ х(n-k)*m(x), где @ - конкатенация;

Декодирование циклического кода:

V(x) - передаваемый кодовый полином; r(x) - принятый;

r(x)=g(x)*q(x)+S(x), где q(x) - частное, S(x) - остаток от деления переданного полинома на порождающий полином;

S(x)=S0+S1*x+...+S(n-k-1)*x(n-k-1) - синдром ошибки (если S(x) = 0, ошибки нет или она не обнаружена)

r(x)=V(x)+e(x), где e(x) - вектор ошибки;

e(x)=V(x)+q(x)*g(x)+S(x)=[m(x)+q(x)]*g(x)+S(x)

Задача декодирующего устройства - оценка вектора g(x) по синдрому ошибки.

По значению синдрома ошибки определяется бит, в котором была обнаружена ошибка:

Синдром

Номер бита

001

0

010

1

100

2

011

3

110

4

111

5

101

6

    1. Передача данных.

В программе ведущей станцией автоматически назначается станция, инициирующая передачу. Компьютер – передатчик после выбора пользователем файла для передачи передаёт компьютеру-приёмнику информационные кадры, содержащие имя файла, информационные байты файла (структуру кадра см. на листе «Структура протокольных блоков данных»). Компьютер – приёмник принимает эти кадры и компьютеру – передатчику отправляет положительную квитанцию на каждый из этих кадров. В случае ошибки передачи компьютер – приёмник передаёт компьютеру – передатчику отрицательную квитанцию и передатчик повторяет передачу.

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

После успешной передачи файлов программа возвращается в исходное состояние.

    1. Функции кодирования/декодирования.

Кодирование и декодирование данных в программе осуществляется циклическим кодом с помощью функций:

Кодирование - byte[] Kodir(byte[] Ish, int k, string PorPolinom);

Декодирование - byte[] Dekodir(string Ish, int k, string PorPolinom);

Проверка правильности полученного кода - bool Proverka(string Ish, int k, string PorPolinom).

В этих функциях int k - число кодируемых за раз битов.

    1. Форматы кадров.

Типы кадров:

I - информационный;

A - квитанция с подтверждением об успешной передаче;

R - отрицательная квитанция;

Y - пользователь согласен и готов принимать файл;

N - пользователь отклонил прием файла;

E – конец передачи.

Информационный кадр.

Для передачи информационных кадров:

[стартовый байт][тип кадра][длина информационной части (в байтах)][Информационные байты][стоповый байт] - все поля, кроме информационного - по одному байту

Управляющий кадр.

Структура управляющего кадра:

[стартовый байт][тип кадра][стоповый байт]

Передаем заголовок, затем ждем: если получаем Y - кадр, то передаем сам файл, если получаем N - кадр - ничего не делаем.

E – кадр указывает на то, что передан весь файл.

  1. ПОЛЬЗОВАТЕЛЬСКИЙ УРОВЕНЬ

    1. Формы

Главная форма:

На главной форма присутствуют следующие элементы:

  1. Надписи

    1. «Курсовая работа по курсу «Сетевые технологии»

    2. Надпись состояния подключения («Подключение: Отсутствует», «Подключение: Активно»)

  2. Кнопка «Отправить файл» для выбора и отправки файла

  3. Меню

    1. Действия

      1. Отправить файл – открывает диалог для выбора отправляемого файла

      2. Закрыть – закрывает окно программы

    2. Справка

      1. О программе – выдает диалоговое сообщение с назначением программы и кратким описанием ее применения:

      1. Разработка – выдает диалоговое сообщение с информацией о разработке программы:

Во время передачи файла на принимающей машине появляется надпись «Идет прием файла. Подождите…»:

Во время передачи файла на передающей машине появляется полоса заполнения показывающая ход выполнения передачи:

12

Характеристики

Тип файла
Документ
Размер
351,5 Kb
Тип материала
Высшее учебное заведение

Список файлов курсовой работы

Готовый курсовой проект 7
[2011] Передача файлов (2)
Kurs_NetTechnology_1
Kurs_NetworkTechnology
Properties
AssemblyInfo.cs
Resources.Designer.cs
Resources.resx
Settings.Designer.cs
Settings.settings
bin
Debug
Kurs_NetworkTechnology.exe
Kurs_NetworkTechnology.pdb
Kurs_NetworkTechnology.vshost.exe
Kurs_NetworkTechnology.vshost.exe.manifest
obj
x86
Debug
TempPE
Properties.Resources.Designer.cs.dll
App.g.cs
App.g.i.cs
DesignTimeResolveAssemblyReferences.cache
DesignTimeResolveAssemblyReferencesInput.cache
GenerateResource.read.1.tlog
GenerateResource.write.1.tlog
Kurs_NetworkTechnology.Properties.Resources.resources
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7021
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее