Синхронный асинхронный способ передачи данных
8. МЕТОДЫ ПЕРЕДАЧИ ДАННЫХ КАНАЛЬНОГО УРОВНЯ
8.1. Асинхронная и синхронная передачи
При обмене данными на физическом уровне единицей информации является бит, поэтому средства физического уровня всегда поддерживают побитовую синхронизацию между приемником и передатчиком.
Канальный уровень оперирует кадрами данных и обеспечивает синхронизацию между приемником и передатчиком на уровне кадров. В обязанности приемника входит распознавание начала первого байта кадра, распознавание границ полей кадра и распознавание признака окончания кадра.
Обычно достаточно обеспечить синхронизацию на указанных двух уровнях — битовом и кадровом, — чтобы передатчик и приемник смогли обеспечить устойчивый обмен информацией. Однако при плохом качестве линии связи (обычно это относится к телефонным коммутируемым каналам) для удешевления аппаратуры и повышения надежности передачи данных вводят дополнительные средства синхронизации на уровне байт.
Такой режим работы называется асинхронным или старт-стопным. Другой причиной использования такого режима работы является наличие устройств, которые генерируют байты данных в случайные моменты времени. Так работает клавиатура дисплея или другого терминального устройства, с которого человек вводит данные для обработки их компьютером.
В асинхронном режиме каждый байт данных сопровождается специальными сигналами «старт» и «стоп» (рис. 32, а). Назначение этих сигналов состоит в том, чтобы, во-первых, известить приемник о приходе данных и, во-вторых, чтобы дать приемнику достаточно времени для выполнения некоторых функций, связанных с синхронизацией, до поступления следующего байта. Сигнал «старт» имеет продолжительность в один тактовый интервал, а сигнал «стоп» может длиться один, полтора или два такта, поэтому говорят, что используется один, полтора или два бита в качестве стопового сигнала, хотя пользовательские биты эти сигналы не представляют.
Асинхронным описанный режим называется потому, что каждый байт может быть несколько смещен во времени относительно побитовых тактов предыдущего байта. Такая асинхронность передачи байт не влияет на корректность принимаемых данных, так как в начале каждого байта происходит дополнительная синхронизация приемника с источником за счет битов «старт». Более «свободные» временные допуски определяют низкую стоимость оборудования асинхронной системы.
При синхронном режиме передачи старт-стопные биты между каждой парой байт отсутствуют. Пользовательские данные собираются в кадр, который предваряется синхробайтами (рис. 32, б). Синхробайт — это байт, содержащий заранее известный код, например 0111110, который оповещает приемник о приходе кадра данных. При его получении приемник должен войти в байтовый синхронизм с передатчиком, то есть правильно понимать начало очередного байта кадра. Иногда применяется несколько синхробайт для обеспечения более надежной синхронизации приемника и передатчика. Так как при передаче длинного кадра у приемника могут появиться проблемы с синхронизацией бит, то в этом случае используются самосинхронизирующиеся коды.
Рис. 32. Асинхронная (а) и синхронная (6) передачи на уровне байт
Источник
Синхронная и асинхронная передача данных: терминология и отличия
Сегодня будем с вами разбираться, что такое синхронная и асинхронная передача данных в программировании и как они реализуются в разных языках.
Сложность современных компьютерных программ связана с длительными процессами, которые происходят «внутри». Бывают такие процессы, обработка которых требует много времени. И если в процессе обработки такого процесса программа будет «стоять», то это чревато снижением продуктивности и вероятным и убыткам и . Для этого и придумано асинхронное программировани е , чтобы улучшить общую эффективность программы путем отмены блокирования основного потока программы.
Асинхронная передача данных — это современная популярная тенденция в разработке. Многие нынешние инструменты по программированию имеют собственные инструменты для реализации асинхронных задач. Никто не любит просто ждать, поэтому всегда нужно тщательно определять, когда налаживать синхронное, а когда — асинхронное взаимодействие программы.
Синхронное представление в быту
У нас есть некая занятая девушка, которая запланировала на вечер познакомить родителей со своим молодым человеком. Чтобы все прошло идеально, ей нужно:
доделать дела на работе;
подготовить вечерний наряд;
сделать прическу, маникюр и накрасит ь ся;
попросить маму накрыть на стол.
Без законченных дел на работе, подготовки вечернего наряда, приукрашивания себя самой и накрытого стола знакомство с родителями точно не состоится! Девушка живет в таком мире, что , пока не доделана одна работа, она не м ожет приступить к следующей.
Девушка берет телефон в руки и начинает звонить. Набрала маму и попросила на вечер накрыть стол. Мама принялась готовить. Девушка з аказала красивое вечернее платье и согласовала адрес его доставки. Съездила сделала себе маникюр и прическу. Наступил вечер, знакомство не состоялось. Почему? Девушка была так занята подготовкой, что не успела доделать дела на работе, потому что целый день провела с телефоном , отдавая команды и ожидая подтверждения, что все готово.
Если бы девушка жила в асинхронном мире, то знакомство с родителями не зависело бы от накрытого стола или выглаженного платья. Отдав команды по телефону на выполнение необходимых задач, ей не пришлось бы постоянно перезванивать и спрашивать, все ли готово . Она бы спокойно выполняла свою основную работу, а все остальные просто отзвонились бы , как только ее команда была бы выполнена. И тогда знакомство бы состоялось.
Асинхронная передача данных в программировании
При синхронном программировании каждая функция, передающая данные , прежде чем приступить к своему выполнению , ожидает окончани я выполнения предыдущей. Если одна из функций выполняется очень долго, то программа может просто «зависнуть».
Асинхронная передача данных — это когда долго выполняемую функцию убирают из основного потока выполнения программы. Она не завершается, а продолжает работать в каком-нибудь другом месте. А сама программа не «зависает» и не «тормозит», а продолжает свое выполнение.
Рассмотрим на реальном примере, как происходит асинхронная передача данных. Допустим , у нас есть некий ресурс с фильмами. Пользователь заходит на ресурс. В фильтре указывает параметры для подбора какого-нибудь фильма и нажимает кнопку для старта фильтра. Ресурс отправит соответствующий запрос для поиска подходящих фильмов. В целом такая обработка запроса на сервере может происходить довольно долго. Если ресурс будет работать синхронно, то его страница «зависнет» , пока не будет обработан запрос, соответственно , никак нельзя будет взаимодействовать со страницей, даже просто прокрутить ее вниз. Если ресурс будет работать асинхронно, тогда пользователь не замети т «подвисания» и сможет взаимодействовать со страницей , пока ресурс не выдаст ему результаты запроса.
То есть при работе ресурса с фильмами выполнение главного потока программы разделится на 2 части: одна будет поддерживать взаимодействие со страницей, а вторая будет отправлять запрос и ожидать ответа от сервера. Таких асинхронных задач в программе может быть несколько. Для большого их количества придумали даже специальную очередь, которая работает по принципу : кто первый пришел, тот первый ушел.
Терминология асинхронности
Когда организуется асинхронная передача данных, то неизбежно будут всплывать близкие к этому процессу термины . Все они связаны с асинхронным выполнением, но обозначают разные его варианты:
Конкурентность. Данны й термин оз начает, что происходит одновременное выполнение нескольких задач. Эти задачи могут быть вообще не связаны друг с другом, поэтому не будет иметь значени я, какая из них завершит выполнение раньше, а какая — позже. Каждая такая задача формирует отдельный поток выполнения.
Параллелизм. Данный термин подразумевает выполнение одной задачи несколькими потоками. То есть фактически происходит разделение одной задачи на несколько небольших частей. Все это делается для того, чтобы ускорить общее выполнение большой з а дачи.
Многопоточность. Данный термин обозначает наличие нескольких потоков выполнения программы.
Асинхронность. Данный термин означает, что начало и конец одной функции мо гут происходить в разных частях кода. Чтобы такая функция завершилась , должно пройти немного времени, но сколько точно — сказать невозможно.
Заключение
Синхронная и асинхронная передача данных может осуществляться во многих сферах. Мы показали на примере программирования, как работают синхронные и асинхронные события. У обоих подходов есть свои достоинства и недостатки, поэтому использовать их в своих программах нужно обдуманно.
Нельзя утверждать, что асинхронная передача данных — это единственно правильный подход. Это совсем не так, потому что синхронный подход тоже до сих пор очень популярен и часто используется.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Источник
Синхронная и асинхронная передача данных
Синхронный способ передачи данных — способ передачи цифровых данных по последовательному интерфейсу, при котором приемнику и передатчику известно время передачи данных, то есть, передатчик и приемник работают синхронно, в такт. Синхронизация приемника и передатчика достигается либо путем ввода синхронизирующей последовательности (например, в начале передачи данных передается детерминированный сигнал с известным переключением состояний из «нуля» в «единицу», по времени прихода происходит синхронизация приемника и передатчика, путем выставления стробирующих импульсов в центр битового интервала), либо путем применения способа кодирования с самосинхронизацией при передаче каждого бита данных [1] . К самосинхронизирующим кодам относят: RZ, Манчестер-II, MLT-3. Асинхронныйспособ передачи данных — такой способ передачи цифровых данных от передатчика к приемнику по последовательному интерфейсу, при котором данные передаются в любой момент времени. Для того, чтобы приёмник инициировал прием данных, вводятся специальные битовые последовательности, обрамляющие данные. Перед началом передачи данных передается стартовый бит, в конце передачи данных передается стоповый бит[1].
Понятие об узкополосном и широкополосном способе передачи данных
Узкополосная система (baseband) использует цифровой способ передачи сигнала. Хотя цифровой сигнал имеет широкий спектр и теоретически занимает бесконечную полосу частот, на практике ширина спектра передаваемого сигнала определяется частотами его основных гармоник. Именно они дают основной энергетический вклад в формирование сигнала. В узкополосной системе передача ведется в исходной полосе частот, не происходит переноса спектра сигнала в другие частотные области. Именно в этом смысле система называется узкополосной. Сигнал занимает практически всю полосу пропускания линии. Для регенерации сигнала и его усиления в сетях передачи данных используют специальные устройства – повторители (repeater, репитор).
Примером реализации узкополосной передачи являются локальные сети и соответствующие спецификации IEEE (например, 802.3 или 802.5).
Ранее узкополосная передача из-за затухания сигналов использовалась на расстояниях порядка 1-2 км по коаксиальным кабелям, но в современных системах, благодаря различным видам кодирования и мультиплексирования сигналов и видам кабельных систем, ограничения отодвинуты до 40 и более километров.
Термин широкополосная (broadband) передача изначально использовался в системах телефонной связи, где им обозначался аналоговый канал с диапазоном частот (шириной полосы пропускания) более 4 КГц. С целью экономии ресурсов при передаче большого числа телефонных сигналов с полосой частот 0,3-3,4 КГц были разработаны различные схемы уплотнения (мультиплексирования) этих сигналов, обеспечивающие их передачу по одному кабелю.
В высокоскоростных сетевых приложениях широкополосная передача означает, что для передачи данных используется не импульсная, а аналоговая несущая. По аналогии термин «широкополосный Интернет» означает, что вы используете канал с пропускной способностью более 128 Кбит/c (в Европе) или 200 Кбит/c (в США). Широкополосная система обладает высокой пропускной способностью, обеспечивает высокоскоростную передачу данных и мультимедийной информации (голос, видео, данные). Примером являются сети АТМ, B-ISDN, Frame Relay, сети кабельного вещания CATV.
Оценка качества коммуникационной сети
Для оценки качества коммуникационной сети можно использовать следующие характеристики:
§ Скорость передачи данных по каналу связи
§ Пропускную способность канала связи
§ Достоверность передачи информации
§ Надёжность канала связи и модемов
Скорость передачи данных по каналу связи измеряется количеством битов информации, передаваемых за единицу времени – секунду.
Скорость передачи данных зависит от типа и качества канала связи, типа используемых модемов и принятого способа синхронизации.
Так, для асинхронных модемов и телефонного канала связи диапазон скоростей составляет 300-9600 бит/с, а для синхронных – 1200-19200 бит/с.
Для пользователей вычислительных сетей значение имеют не абстрактные биты в секунд, а информация, единицей измерения которой служат байты или знаки. Поэтому более удобной характеристикой канала является его пропускная способность, которая оценивается количеством знаков, передаваемых по каналу за единицу времени – секунду. При этом в состав сообщения включаются и все служебные символы. Теоретическая пропускная способность определяется скоростью передачи данных. Реальная пропускная способность зависит от ряда факторов, среди которых и способ передачи, и качество канала связи, и условия его эксплуатации, и структура сообщений.
Единица измерения пропускной способности канала связи – знак в секунду.
Существенной характеристикой коммуникационной системы любой сети является достоверность передаваемой информации. Так как на основе обработки информации о состоянии объекта управления принимаются решения о том или ином ходе процесса, то от достоверности информации, в конечном счете, может зависеть судьба объекта. Достоверность передачи информации оценивают как отношение количества ошибочно переданных знаков к общему числу переданных знаков. Требуемый уровень достоверности должны обеспечивать как аппаратура, так и канал связи. Нецелесообразно использовать дорогостоящую аппаратуру, если относительно уровня достоверности канал связи не обеспечивает необходимых требований.
Дата добавления: 2018-06-27 ; просмотров: 2576 ; Мы поможем в написании вашей работы!
Источник