РПЗ (1061429), страница 2
Текст из файла (страница 2)
Открытие порта.В ОС 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.4.2.
Закрытие порта.Перед закрытием порта производится его сброс. Порт очищается сам при считывании всехбайтов с помощью функции ComPort.ReadExisting().Закрытие порта осуществляется с помощью функции ComPort.Close().1.4.3. Передача и прием данныхДля передачи/приема данных нет специальных функций - выполняются по логикепрограммы с помощью операций записи/чтения из буферов порта.Функция для передачи данных - ComPort.Write (byte[] InfBytes, int offset, int count);Функция приема данных – byte ComPort.ReadByte();Функция считывания символов с порта при приеме - byte ComPort.ReadByte().72.
КАНАЛЬНЫЙ УРОВЕНЬ.2.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-13. Объединить остаток р(х) и исходный полином х (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) по синдрому ошибки.По значению синдрома ошибки определяется бит, в котором была обнаруженаошибка:Синдром Номербита00100101100201131104111510162.2.Передача данных.Компьютер – передатчик после выбора пользователем файла для передачи передаѐткомпьютеру-приѐмнику информационные кадры, содержащие имя файла и его длину(структуру кадра см.
на листе «Структура протокольных блоков данных»). Компьютер –приѐмник принимает эти кадры и компьютеру – передатчику отправляет положительную8квитанцию на каждый из этих кадров. В случае ошибки передачи компьютер – приѐмникпередаѐт компьютеру – передатчику отрицательную квитанцию и передатчик повторетпередачу.В случае прихода положительной квитанций на получение заголовка файла и согласияна прием, компьютер-передатчик начинает поблочную передачу файлов, дожидаясьприхода положительной квитанции после отсылки каждого блока.
В случае ошибкипередачи компьютер – приѐмник передаѐт компьютеру – передатчику отрицательнуюквитанцию и передатчик повторет передачу.После успешной передачи файлов программа возвращается в исходное состояние.2.3.Функции кодирования/декодирования.Кодирование и декодирование данных в программе осуществляется циклическимкодом с помощью функций:Кодирование - byte[] Kodir(byte[] Ish, int k, string PorPolinom);Декодирование - byte[] Dekodir(string Ish, int k, string PorPolinom);Проверка правильности полученного кода - bool Proverka(string Ish, int k, stringPorPolinom).В этих функциях int k - число кодируемых за раз битов.2.4.Форматы кадров.Типы кадров:I - информационный;A - квитанция с подтверждением об успешной передаче;R - отрицательная квитанция;Y - пользователь согласен и готов принимать файл;N - пользователь отклонил прием файла;E – конец передачи.Информационный кадр.Для передачи информационных кадров:[стартовый байт][тип кадра][длина информационной части (вбайтах)][Информационные байты][стоповый байт] - все поля, кроме информационного по одному байтуУправляющий кадр.Структура управляющего кадра:[стартовый байт][тип кадра][стоповый байт]Передаем заголовок, затем ждем: если получаем Y - кадр, то передаем сам файл, еслиполучаем N - кадр - ничего не делаем.E – кадр указывает на то, что передан весь файл.93.
ПОЛЬЗОВАТЕЛЬСКИЙ УРОВЕНЬ3.1.ФормыГлавная форма:На главной форма присутствуют следующие элементы:1. Надписиa. «Курсовая работа по курсу «Сетевые технологии»b. Надпись состояния подключения («Подключение: Отсутствует»,«Подключение: Активно»)2. Кнопка «Отправить файл» для выбора и отправки файла3.
Менюa. Действияi. Отправить файл – открывает диалог для выбора отправляемого файлаii. Закрыть – закрывает окно программыb. Справкаi. О программе – выдает диалоговое сообщение с назначениемпрограммы и кратким описанием ее применения:ii. Разработка – выдает диалоговое сообщение с информацией оразработке программы:10Во время передачи файла на принимающей машине появляется надпись «Идет приемфайла. Подождите…»:Во время передачи файла на передающей машине появляется полоса заполненияпоказывающая ход выполнения передачи:11.















