Синхронный способ передачи информации

Передача информации в МПС

При организации последовательного обмена ключевыми могут считаться две проблемы:

  • синхронизацию битов передатчика и приемника;
  • фиксацию начала сеанса передачи.

В МПС существует три способа передачи информации:

  • асинхронный;
  • синхронный;
  • смешанный.

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

Асинхронный способ

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

  • передатчик и приемник настраивают на работу с одинаковой частотой;
  • передатчик формирует стартовый и стоповый биты, отмечающие начало и конец посылки;
  • передача ведется короткими посылками (5..9 бит), а частоты передачи выбираются сравнительно низкими.

Асинхронный способ по методу регистрации сигналов делится на:

Метод стробирования

Строб – дополнительный сигнал, является подтверждением действительности других сигналов.
Стробирование может осуществляться по фронту или по уровню.

Рис. 3.1 Виды стробов.

рис 3.2 Стробируемый метод

рис 3.3 Стробируемый метод

Стробирование по фронту.

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

Стробирование по уровню.

  • легкая аппаратная реализация;
  • легкая программная реализация;
  • легкая организация приема от нескольких источников.
  • нельзя использовать строб сигнал как сигнал синхронизации;
  • меньшее быстродействие.

Метод «запрос-ответ»

рис 3.4 Метод «запрос-ответ»

t1 – передатчик выставляет данные (предварительно проверив отсутствие строба-ответа)
t2 – передатчик с некоторой задержкой выставляет сигнал строб-запрос
t3 – приемник, анализируя состояние линии строб-запрос, обнаруживает наличие определенного сигнала и в этот же момент осуществляет прием данных по линии.
t4 – передатчик, сканируя линию строб-ответ, обнаруживает, что он активен и сбрасывает строб-запрос
t5 – приемник, сканируя линию строб-запрос, обнаруживает, что строб запрос стал неактивен и сбрасывает строб-ответ
t6 – тоже самое, что и t1

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

Синхронный способ

В синхронном способе передачи информации выделяют изохронный метод.

Изохронный метод

В этом методе передачи информации возможна потеря данных. Здесь сам приемник определяет какие данные принимать, а какие нет (например для звуковой информации).

Внешняя синхронизация

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

Внутренняя синхронизация

рис 3.5 Внутренняя синхронизация

SYN – специальный сигнал пересылаемый один раз и запускающий тактовый генератор.

  • достаточно двух линий: сигнал и земля;
  • высокая частота;
  • высокая надежность связи;
  • длина пакета определяется взаимной синхронностью передатчики и приемника.

При синхронном методе передатчик генерирует две последовательности — информационную TxD и синхроимпульсы CLK, которые передаются на приемник по разным линиям (Рис. 3.6).
Рис. 3.6. Последовательный синхронный обмен с внешней синхронизацией
Синхроимпульсы обеспечивают синхронизацию передаваемых бит, а начало передачи отмечается по-разному.
При организации внешней синхронизации сигнал начала передачи BD генерируется передатчиком и передается на приемник по специальной линии (Рис. 3.6).
В системах с внутренней синхронизацией отсутствует линия BD, а на линию данных генерируются специальные коды длиной 1-2 байта — “символы синхронизации”. Для каждого приемника предварительно определяются конкретные синхросимволы, таким образом можно осуществлять адресацию конкретного абонента из нескольких, работающих на одной линии. Каждый приемник постоянно принимает биты с RxD, формирует символы и сравнивает с собственными синхросимволами. При совпадении синхросимволов последующие биты поступают в канал данных приемника.

Асинхронно-синхронный способ

Предположим, что мы умеем преобразовывать каждый байт в поток единиц и нулей, то есть биты, которые могут быть переданы через среду связи (например, телефонную линию). В самом деле, универсальный асинхронный приемопередатчик (UART), как мы увидим ниже, выполняет точно такую же функцию. Обычно, в то время как линия на­ходится в режиме ожидания, для демонстрации того, что линия в по­рядке, по ней передается единица, обозначая незанятость линии. С другой стороны, когда линия находится в состоянии логического ну­ля, говорится, что она стоит в режиме выдерживания интервалов. Таким образом, логические единица и ноль рассматриваются соответс­твенно как MARK и SPACE.
В асинхронной связи изменение условия состояния линии с MARK на SPACE означает начало символа (рис 3.7). Это называ­ется стартовым битом. За стартовым битом следует комбинация битов, представляющая символ, и затем бит контроля четности. Наконец, ли­ния переходит в состояние ожидания MARK, которая представляет со­бой стоповый бит и означает конец текущего символа. Число битов, используемых для представления символа, называется длиной слова и обычно бывает равно семи или восьми. Контрольный бит используется для выполнения элементарной проверки на наличие ошибки.

Читайте также:  Изменить способ исполнения решения суда по алиментам

Рис.3.7. Асинхронно-синхронный способ передачи информации

Длитель­ность каждого бита определяется генераторами тактовых импульсов приемника и передатчика. Отметим, однако, что генераторы в прием­нике и передатчике должны иметь одну и ту же частоту, но не требу­ется, чтобы они были синхронизированы. Выбор частоты генератора зависит от скорости передачи в бодах, которая означает число изме­нений состояния линии каждую секунду. Номинально, тактовая частота «16-кратная скорость передачи в бодах» означает, что линия прове­ряется достаточно часто для надежного распознавания стартового би­та.
Рассмотренные принципы асинхронной последовательной связи ре­ализованы в ряде стандартов для передачи информации, среди которых наиболее популярным является стандарт RS-232С.
Эти же принципы последовательной связи реализованы в ряде БИС последовательных приемо-передатчиков, среди которых наиболее из­вестные: 6850, Intel8251 (КР580ВВ51А), Z80-SIO, 8250, 16450, 16550, 16550А.

Принципы работы интерфейса RS-232

В состав PC AT входит оборудование, которое обеспечивает об­мен данными между различными устройствами в последовательном коде по асинхронному методу. Это оборудование соответствует требованиям стандарта США RS-232C и рекомендациям V.24 и V.28 международного консультативного комитета по телефонии и телеграфии МККТТ (CCITT). Этим стандартам соответствуют ГОСТ 18145-81 и ГОСТ 23675-79 со­ответственно.
В дальнейшем будем называть такое оборудование наиболее расп­ространённым термином — интерфейсом RS-232C, или последовательным асинхронным интерфейсом.
Обычно PC имеют в своем составе два интерфейса RS-232C, кото­рые обозначаются COM1 и COM2. Возможна установка дополнительного оборудования, которое обеспечивает функционирование в составе PC четырех, восьми и шестнадцати интерфейсов RS-232C.
Интерфейс RS-232C обеспечивает следующие возможности:
1) применение PC в качестве абонентского пункта в системах и сетях телеобработки данных. В этом случае PC подключается через этот интерфейс к устройствам преобразования сигналов (модемам), которые в свою очередь подключаются к каналам связи;
2) подключение к PC различных устройств ввода-вывода (графо­построителей, принтеров, графических манипуляторов, внешних НГМД, стриммеров и т.д.);
3) объединение нескольких PC между собой и с другими ЭВМ для организации перекачки файлов между ними.
Широкое применение интерфейса RS-232C объясняется его универ­сальностью в части диапазона скоростей передачи информации (от 50 до 115 000 бит в секунду), «прозрачностью», т.е. отсутствием зап­рещенных к использованию для передачи данных кодовых комбинаций, наличием специализированных БИС и ИС, на которых достаточно эффек­тивно реализуется данный интерфейс, простотой конструкции соедини­тельных кабелей.
Основные принципы обмена информацией по интерфейсу RS-232C заключаются в следующем:
1) обмен данными обеспечивается по двум цепям, каждая из ко­торых является для одной из сторон передающей, а для другой прием­ной;
2) в исходном состоянии по каждой из этих цепей передается двоичная единица, т.е. стоповая посылка. Передача стоповой посылки может выполняться сколько угодно долго;
3) передаче каждого знака данных предшествует передача стар­товой посылки, т.е. передача двоичного нуля в течение времени, равного времени передачи одного бита данных;
4) после передачи стартовой посылки обеспечивается последова­тельная передача всех разрядов знака данных, начиная с младшего разряда. Количество разрядов знака может быть 5, 6, 7 или 8;
5) после передачи последнего разряда знака данных возможна передача контрольного разряда, который дополняет сумму по модулю 2 переданных разрядов до четности или нечетности. В некоторых систе­мах передача контрольного разряда не выполняется;
6) после передачи контрольного разряда или последнего разряда знака, если формирование контрольного разряда не предусмотрено, обеспечивается передача стоповой посылки. Минимальная длительность посылки может быть равной длительности передачи одного, полутора или двух бит данных.
Обмен данными по описанным выше принципам требует предвари­тельного согласования приемника и передатчика по количеству ис­пользуемых разрядов в символе, правилам формирования контрольного разряда и длительности передачи бита данных.
Последнее согласование обеспечивается путем стандартизации ряда скоростей: 50, 75, 100, 110, 200, 300, 600, 1200, 2400, 4800, 9600, 19 200, 38 400, 57 000 или 115 000 бит в секунду. Установ­ленная скорость должна отличаться от номинальной не более чем на 2 %, что гарантированно обеспечивается применением генераторов с кварцевыми резонаторами.
Обычно используется генератор с частотой 1,8432 МГц.

Читайте также:  Очень весело способ связи

Универсальный асинхронный прие­мопередатчик (УАПП) RS-232C

Основные функции, выполняемые оборудованием интерфейса RS-232C:
1) обеспечение преобразования параллельного кода в последова­тельный при передаче данных и обратное преобразование при их прие­ме;
2) формирование стартового, контрольного и стопового разрядов при передаче данных;
3) контроль правильности приема стартового, контрольного и стопового разрядов при приеме. Анализ их «переполнения», когда ра­нее принятые знаки не переписываются в системную шину до приема очередного знака;
4) прием и передача знака на фиксированных скоростях;
5) формирование и контроль состояния сигналов в интерфейсе RS-232C;
6) организация диагностической проверки без использования подключаемого к интерфейсу RS-232C оборудования.
Оборудование, выполняющее перечисленные выше функции, реали­зуется в виде БИС, которые получили наименование «универсальный асинхронный приемопередатчик» (УАПП) (UART). УАПП реализованы в виде целого ряда БИС различных конструкций и компоновки. Эти БИС могут располагаться как на базовой плате РС, так и входить в раз­личных комбинациях в адаптеры интерфейсов.

Источник

Синхронная и асинхронная передача данных: терминология и отличия

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

Сложность современных компьютерных программ связана с длительными процессами, которые происходят «внутри». Бывают такие процессы, обработка которых требует много времени. И если в процессе обработки такого процесса программа будет «стоять», то это чревато снижением продуктивности и вероятным и убыткам и . Для этого и придумано асинхронное программировани е , чтобы улучшить общую эффективность программы путем отмены блокирования основного потока программы.

Асинхронная передача данных — это современная популярная тенденция в разработке. Многие нынешние инструменты по программированию имеют собственные инструменты для реализации асинхронных задач. Никто не любит просто ждать, поэтому всегда нужно тщательно определять, когда налаживать синхронное, а когда — асинхронное взаимодействие программы.

Синхронное представление в быту

У нас есть некая занятая девушка, которая запланировала на вечер познакомить родителей со своим молодым человеком. Чтобы все прошло идеально, ей нужно:

доделать дела на работе;

подготовить вечерний наряд;

сделать прическу, маникюр и накрасит ь ся;

попросить маму накрыть на стол.

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

Девушка берет телефон в руки и начинает звонить. Набрала маму и попросила на вечер накрыть стол. Мама принялась готовить. Девушка з аказала красивое вечернее платье и согласовала адрес его доставки. Съездила сделала себе маникюр и прическу. Наступил вечер, знакомство не состоялось. Почему? Девушка была так занята подготовкой, что не успела доделать дела на работе, потому что целый день провела с телефоном , отдавая команды и ожидая подтверждения, что все готово.

Читайте также:  Классификация сигналов по способу задания

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

Асинхронная передача данных в программировании

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

Асинхронная передача данных — это когда долго выполняемую функцию убирают из основного потока выполнения программы. Она не завершается, а продолжает работать в каком-нибудь другом месте. А сама программа не «зависает» и не «тормозит», а продолжает свое выполнение.

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

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

Терминология асинхронности

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

Конкурентность. Данны й термин оз начает, что происходит одновременное выполнение нескольких задач. Эти задачи могут быть вообще не связаны друг с другом, поэтому не будет иметь значени я, какая из них завершит выполнение раньше, а какая — позже. Каждая такая задача формирует отдельный поток выполнения.

Параллелизм. Данный термин подразумевает выполнение одной задачи несколькими потоками. То есть фактически происходит разделение одной задачи на несколько небольших частей. Все это делается для того, чтобы ускорить общее выполнение большой з а дачи.

Многопоточность. Данный термин обозначает наличие нескольких потоков выполнения программы.

Асинхронность. Данный термин означает, что начало и конец одной функции мо гут происходить в разных частях кода. Чтобы такая функция завершилась , должно пройти немного времени, но сколько точно — сказать невозможно.

Заключение

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

Нельзя утверждать, что асинхронная передача данных — это единственно правильный подход. Это совсем не так, потому что синхронный подход тоже до сих пор очень популярен и часто используется.

Мы будем очень благодарны

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

Источник

Оцените статью
Разные способы