Последовательная передача данных. Способы передачи данных в компьютерах
Способы передачи данных в компьютерах
В компьютерных линиях связи используются два способа передачи:
• параллельный, когда передаются одновременно все биты машинного слова;
• последовательный, когда биты передаются поочередно, начиная с младшего.
1. Канал параллельной передачи
Для одновременной передачи нескольких сигналов, очевидно, требуется линия связи, количество проводников в которой совпадает с числом передаваемых сигналов. Такая линия связи называется шиной. Количество проводников определяет ширину или разрядность шины. Например, во внутренних линиях компьютера могут использоваться 16-ти и 32-х разрядные шины. На рис. 5.2. показана линия параллельной передачи, связывающая регистр АЛУ и ячейку памяти компьютера.
Шина обеспечивает наиболее быстрый способ передачи информации.
Параллельный способ передачи используется во внутренних линиях связи компьютера, а также для связи с внешними устройствами, подключаемыми к параллельному порту компьютера.
Недостатки параллельного способа передачи:
¨ невозможность передачи на большие расстояния (более нескольких метров), поскольку из-за электроемкости между проводниками в них возникают наводки.
¨ данный способ требует многожильных специальных проводов для связи, что существенно повышает стоимость линии.
Для передачи информации на большие расстояния используется последовательный способ передачи. Возможны два режима последовательной передачи: синхронный и асинхронный.
При синхронной передаче каждый передаваемый бит сопровождается импульсом синхронизации, информирующим приемник о наличии в линии информационного бита. Синхронизирующие импульсы управляют приемом информации. Следовательно, между передатчиком и приемником должны быть протянуты минимум три провода, два из которых экранированные: один — для передачи данных, второй — для передачи синхроимпульсов, третий — общий заземленный. Кроме того, такая передача оказывается целесообразной, если передается некоторый массив символов (не отдельные символы). Оба перечисленных обстоятельства приводят к тому, что синхронный способ связи не получил широкого распространения.
Асинхронный способ передачи не требует синхронизации действий приемника и передатчика — поэтому для связи достаточно линии из двух проводников, в том числе пригодны и телефонные линии. При этом источник и приемник информации должны быть согласованы по формату и скорости передачи.
Передача производится машинными словами (информационными битами), дополненными несколькими служебными. Рассмотрим пример передачи 8-битного слова с одним контрольным битом
Передатчик может начать пересылку в любой момент посредством генерации стартового бита — по нему приемник узнает, что передача началась. Затем происходит передача информационных битов, начиная с младшего (0-го). За ними передается контрольный бит четности. Наконец, за ним следует стоповый бит (их может быть два), который вновь переводит линию в состояние ожидания. Вся передаваемая цепочка сигналов от стартового до стопового бита называется кадром.
Передача следующего кадра может начаться сразу после стопового бита, причем, новый стартовый бит может быть послан в любой момент времени (не обязательно кратный t0 ) – поэтому передача и называется асинхронной.
Безусловно, данная схема передачи требует предварительного согласования передатчика и приемника по продолжительности элементарного сигнала. Кроме того, для обеспечения максимальной защищенности сигнала от искажений приемник настраивается на считывание бита в середине его длительности.
Помимо информационных и контрольных битов в последовательном способе передачи кадр, как было сказано, дополняется еще двумя-тремя граничными битами. Это, естественно, приводит к увеличению избыточности кода и суммарной времени передачи. Поскольку биты передаются по очереди, скорость передачи ниже, чем в параллельном способе (при одинаковых частотах генераторов). Тем не менее, и в последовательных линиях скорость может достигать единиц Гбит/с — такой скорости более чем достаточно для передачи, например, телевизионного сигнала. При этом неоспоримым преимуществом данного способа является то, что в нем нет ограничений на дальность передачи.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
Источник
Последовательная и параллельная передача.
Ограничения на передачу сигнала и информационная емкость канала.
Пропускная способность линий связи — это количество бит, передаваемых по линиям связи за единицу времени. Измеряется: бит/сек, Кбит/сек, Мбит/сек, Гбит/сек.
Полоса пропускания линий связи — это диапазон частот, гарантированно воспринимаемых приемником. Это физическая характеристика среды передачи данных и зависит обычно от конструкции, толщины и длины носителя. Сетевой трафик — поток информации, передаваемый по сети. Кроме полезной информации, включает и служебную ее часть — неизбежные накладные расходы на организацию взаимодействия узлов сети.
Каналы связи имеют ограниченную пропускную способность. Она связана с его полосой пропускания и соотношением сигнал/шум в канале.
Первым фактором, определяющим количество информации, которая может быть передана по каналу, является максимальная скорость передачи сигнала, поддерживаемая этим каналом связи.
Наличие изменения в сигнале может рассматриваться как сигнализирующее событие вне зависимости от природы сигнала (аналогового или цифрового).
Для широкополосных систем изменение одной частоты или амплитуды на другую свидетельствует о сигнализирующем событии.
Для узкополосных систем переход от одного дискретного состояния в другое (например, от +12V к -12V) также является подобным событием. Такие сигнализирующие события обычно носят специальное название — боды.
Таким образом, максимальная скорость передачи сигналов, поддерживаемая каналом, эквивалентна максимальной скорости передачи в бодах, поддерживаемых этим каналом связи.
На уровне физических сигналов вместо битовой скорости (бит/сек) оперируют понятием изменения сигнала в линии, измеряемой в бодах. Под ней понимается число изменений различных состояний линии за единицу времени.
В 1924 г. Гарольд Найквист (Bell Telephone Laboratories) открыл зависимость между полосой пропускания канала связи и его максимальной скоростью передачи в бодах.
Скорость в бодах не может превышать полосу пропускания канала более чем вдвое, т.е. для телефонной лини с полосой пропускания 3000 Гц, скорость передачи в бодах не может быть выше, чем 6000 бод.
Во многих схемах кодирования каждый переход сигнала в канале соответствует передаче бита от передатчика (Tx) к приемнику (Rx). Тогда скорость в бодах и битах совпадает (1 бит за один бод).
Другие схемы кодирования (для аналоговой и цифровой) могут передать более одного бита в течение одного сигнализирующего события (несколько бит за один бод). В них скорость в битах будет больше скорости в бодах.
Такие схемы классифицируются в терминах, характеризующих количество бит информации, переданных за каждый переход сигнала.
– dibit — 2 бита/бод
– tribit — 3 бита/бод
– quadbit — 4 бита/бод
Сейчас широко распространена схема кодирования DPSK — относительная фазовая модуляция.
Если демодулятор может распознать разницу между двумя фазами синусоидальной волны, он передает один бит информации с каждым изменением фазы. Для создания такого модема можно назначить ноль одной фазе (например, со сдвигом 0 градусов), а цифровое значение 1 — другой фазе (со сдвигом 180 градусов). Каждый раз при переключении модема между фазами 0 и 180 передается один бит информации. Чувствительность демодулятора можно повысить, чтобы он различал промежуточные фазы (90 и 270 градусов), т.е. при распознавании 4-х фаз волны мы можем назначить каждой фазе 2-х битовое значение.
– 90 градусов — 01
– 180 градусов — 10
– 270 градусов — 11
Последовательная и параллельная передача.
При параллельной передаче все линии используются для передачи данных, кроме одной, зарезервированной для передачи синхросигнала между отправителем и получателем. Биты передаются через линии одновременно с большой скоростью, но это преимущество нейтрализуется явлением, называемым перекосом шины или рассогласованием, при котором устройство реагирует на распространяемый сигнал не одинаково. Т.к. каждая линия канала связи имеет свои электрические характеристики, биты данных в каждом канале могут вести себя по-разному. Тогда биты, помещенные источником в канал, имея разную относительную скорость достигнут приемника в разное время. Этот эффект усиливается с расстоянием, поэтому параллельные имеют ограничение по длине.
В последовательной передаче между источником и приемником существует только один канал связи, поэтому биты должны следовать по каналу один за другим. Это вызывает ограничение по скорости в сравнении с параллельными каналами. В последовательных каналах нет проблемы рассогласования, поэтому их можно использовать для связи на дальних расстояниях. Но возникает другая проблема — необходимость в синхронизации приемника и передатчика.
Побитная синхронизация.
Rx (приемник) должен четко знать, когда нужно обратиться к линии, чтобы снять бит. Проблема решается использованием синхронизирующих устройств (генераторов) на каждом конце линии. Генератор передатчика задает темп передачи бит в линию. Генератор получателя определяет темп, с которым он должен опрашивать линию.
Если генератор передатчика должен выдавать в линию 100 бит/сек, то он настраивается на такую скорость и на ходе получателя тогда биты будут появляться каждую 1/100 сек. Если генератор получателя тоже настроен на 100 бит/сек, то получатель будет опрашивать линию 100 раз в сек.
Получатель обычно опрашивает состояние линии в течение очень короткого времени, чтобы определить находится линия в состоянии 1 или 0. При опросе линии во время перехода от 1 к 0 или наоборот возникает неоднозначность. Лучшей точкой для опроса является положение в центре бита и получатель может найти его, используя переход 1-0 или 0-1 в качестве опорной точки. Получатель может запустить его на одном из этих переходов, подождать половину времени длительности бита и затем опросить состояние линии. Стробирование (опрос) линии выполняется через интервал времени, равный длительности одного бита. Если генераторы Tx и Rx работают с одинаковой частотой, то биты будут опрашиваться в «правильные» моменты времени. При расхождении генераторов возможны ошибки распознания бит. Обычно генераторы всегда будут расходиться в частотах, поэтому необходима постоянная их синхронизация через определенные промежутки времени.
Есть некоторые системы, в которых сигналы синхронизации передаются по линиям вместе с данными, так что получатель может выделить синхроимпульсы, которые точно совпадают с синхроимпульсами самого источника.
Существует два способа синхронизации передатчика и приемника:
– Основывается на явной синхронизации при обмене информацией. Это синхронная передача. Она означает, что передатчик и приемник синхронизируются от одного источника. Приемник работает при этом синхронно с передатчиком (с фазовым сдвигом, обусловленным временем распространения сигнала). Синхросигнал либо передается по отдельной линии связи, либо встроен в основной сигнал с помощью самосинхронизирующего кодирования. При синхропередаче передатчик постоянно активен. Он непрерывно посылает битовую последовательность если не полезных данных, то некоторого заполнителя.
– Основывается на неявной синхронизации взаимодействующих устройств. Это асинхронная передача, т.е. передатчик и приемник не пользуются общим источником синхронизации. Передача очередной порции может быть начата в любой момент времени и время прохождения соседних блоков данных между передатчиком и приемником может быть разным.
Источник
Способы передачи информации последовательный
Использование последовательных линий связи для обмена данными с внешними устройствами возлагает на контроллеры ВУ дополнительные по сравнению с контроллерами для параллельного обмена функции. Во-первых, возникает необходимость преобразования формата данных: из параллельного формата, в котором они поступают в контроллер ВУ из системного интерфейса микроЭВМ, в последовательный при передаче в ВУ и из последовательного в параллельный при приеме данных из ВУ. Во-вторых, требуется реализовать соответствующий режиму работы внешнего устройства способ обмена данными: синхронный или асинхронный.
Синхронный последовательный интерфейс
Простой контроллер для синхронной передачи данных в ВУ по последовательной линии связи (последовательный интерфейс) представлен на рис. 3.7.
Рис. 3.7. Контроллер последовательной синхронной передачи
Восьмиразрядный адресуемый буферный регистр контроллера А1 служит для временного хранения байта данных до его загрузки в сдвиговый регистр. Запись байта данных в буферный регистр с шины данных системного интерфейса производится так же, как и в параллельном интерфейсе (см. Параллельная передача данных и рис. 3.5), только при наличии единицы в одноразрядном адресуемом регистре состояния контроллера А2. Единица в регистре состояния указывает на готовность контроллера принять очередной байт в буферный регистр. Содержимое регистра А2 передается в процессор по одной из линий шины данных системного интерфейса и используется для формирования управляющего сигнала системного интерфейса «Готовность ВУ». При записи очередного байта в буферный регистр A1 обнуляется регистр состояния А2.
Программа записи байта данных в буферный регистр аналогична программе из примера 2.1 за исключением команды перехода: вместо команды JNZ m1 (переход, если не ноль) необходимо использовать команду JZ m1 (переход, если ноль).
Преобразование данных из параллельного формата, в котором они поступили в буферный регистр контроллера из системного интерфейса, в последовательный и передача их на линию связи производятся в сдвиговом регистре с помощью генератора тактовых импульсов и двоичного трехразрядного счетчика импульсов следующим образом.
Последовательная линия связи контроллера с ВУ подключается к выходу младшего разряда сдвигового регистра. По очередному тактовому импульсу содержимое сдвигового регистра сдвигается на один разряд вправо и в линию связи «Данные» выдается значение очередного разряда. Одновременно со сдвигом в ВУ передается по отдельной линии «Синхронизация» тактовый импульс. Таким образом, каждый передаваемый по линии «Данные» бит информации сопровождается синхронизирующим сигналом по линии «Синхронизация», что обеспечивает его однозначное восприятие на приемном конце последовательной линии связи.
Количество переданных в линию тактовых сигналов, а следовательно, и переданных бит информации подсчитывается счетчиком тактовых импульсов. Как только содержимое счетчика становится равным 7, т. е. в линию переданы 8 бит (1 байт) информации, формируется управляющий сигнал «Загрузка», обеспечивающий запись в сдвиговый регистр очередного байта из буферного регистра. Этим же управляющим сигналом устанавливается в «1» регистр состояния. Очередным тактовым импульсом счетчик будет сброшен в «0», и начнется очередной цикл выдачи восьми битов информации из сдвигового регистра в линию связи.
Синхронная последовательная передача отдельных битов данных на линию связи должна производиться без какого-либо перерыва, и следующий байт данных должен быть загружен в буферный регистр из системного интерфейса за время, не превышающее времени передачи восьми битов в последовательную линию связи.
При записи байта данных в буферный регистр обнуляется регистр состояния контроллера. Нуль в этом регистре указывает, что в линию связи передается байт данных из сдвигового регистра, а следующий передаваемый байт данных загружен в сдвиговый регистр.
Контроллер для последовательного синхронного приема данных из ВУ состоит из тех же компонентов, что и контроллер для синхронной последовательной передачи, за исключением генератора тактовых импульсов.
Асинхронный последовательный интерфейс
Организация асинхронного последовательного обмена данными с внешним устройством осложняется тем, что на передающей и приемной стороне последовательной линии связи используются настроенные на одну частоту, но физически разные генераторы тактовых импульсов и, следовательно, общая синхронизация отсутствует. Рассмотрим на примерах организацию контроллеров последовательных интерфейсов для последовательных асинхронных передачи и приема данных.
Простейший контроллер для асинхронной передачи данных в ВУ по последовательной линии связи представлен на рис. 3.8. Он предназначен для передачи данных в формате с двумя стоповыми битами.
Рис. 3.8. Контроллер последовательной асинхронной передачи
После передачи очередного байта данных в регистр состояния А2 записывается 1. Единичный выходной сигнал регистра А2 информирует процессор о готовности контроллера к приему следующего байта данных и передаче его по линии связи в ВУ. Этот же сигнал запрещает формирование импульсов со схемы выработки импульсов сдвига — делителя частоты сигналов тактового генератора на 16. Счетчик импульсов сдвига (счетчик по mod 10) находится в нулевом состоянии и его единичный выходной сигнал поступает на вентиль И, подготавливая цепь выработки сигнала загрузки сдвигового регистра.
Процесс передачи байта данных начинается с того, что процессор, выполняя команду «Вывод», выставляет этот байт на шине данных. Одновременно процессор формирует управляющий сигнал системного интерфейса «Вывод», по которому производятся запись передаваемого байта в буферный регистр А1, сброс регистра состояния А2 и формирование на вентиле И сигнала «Загрузка». Передаваемый байт переписывается в разряды 1, . , 8 сдвигового регистра, в нулевой разряд сдвигового регистра записывается 0 (стартовый бит), а в разряды 9 и 10 — 1 (стоповые биты). Кроме того, снимается сигнал «Сброс» с делителя частоты, он начинает накапливать импульсы генератора тактовой частоты и в момент приема шестнадцатого тактового импульса вырабатывает импульс сдвига.
На выходной линии контроллера «Данные» поддерживается состояние 0 (значение стартового бита) до тех пор, пока не будет выработан первый импульс сдвига. Импульс сдвига изменит состояние счетчика импульсов сдвига и перепишет в нулевой разряд сдвигового регистра первый информационный бит передаваемого байта данных. Состояние, соответствующее значению этого бита, будет поддерживаться на линии «Данные» до следующего импульса сдвига.
Аналогично будут переданы остальные информационные биты, первый стоповый бит и, наконец, второй стоповый бит, при передаче которого счетчик импульсов сдвига снова установится в нулевое состояние. Это приведет к записи 1 в регистр состояния А2. Единичный сигнал с выхода регистра А2 запретит формирование импульсов сдвига, а также информирует процессор о готовности к приему нового байта данных. После завершения передачи очередного кадра (стартового бита, информационного байта и двух стоповых бит) контроллер поддерживает в линии связи уровень логической единицы (значение второго стопового бита).
Рис. 3.9. Контроллер последовательного асинхронного приема
Уровень логической единицы поступает по линии «Данные» в контроллер для асинхронного приема данных (рис. 3.9). Этот уровень создает условия для выработки сигнала, запрещающего работу делителя частоты генератора тактовых импульсов. Действительно, после приема предыдущего байта данных счетчик импульсов сдвига (счетчик по mod 9) находится в нулевом состоянии и на вентиль И поступают два единичных сигнала: со счетчика сдвигов и из линии «Данные». На выходе вентиля И вырабатывается сигнал сброса делителя частоты сигналов тактового генератора, запрещающий формирование импульсов сдвига.
В момент смены стопового бита на стартовый бит (момент начала передачи нового кадра) на линии «Данные» появится уровень логического нуля и тем самым будет снят сигнал сброса с делителя частоты. Состояние 4-разрядного двоичного счетчика (делителя частоты) начнет изменяться. Когда на счетчике накопится значение 8, он выдаст сигнал, поступающий на входы сдвигового регистра и счетчика импульсов сдвига. Так как частота сигналов генератора тактовых импульсов приемника должна совпадать с частотой генератора тактовых импульсов передатчика, то сдвиг (считывание) бита произойдет примерно на середине временного интервала, отведенного на передачу бита данных, т. е. времени, необходимого для выработки шестнадцати тактовых импульсов. Это делается для уменьшения вероятности ошибки из-за возможного различия частот генераторов передатчика и приемника, искажения формы передаваемых сигналов (переходные процессы) и т. п. Следующий сдвиг произойдет после прохождения шестнадцати тактовых импульсов, т. е. на середине временного интервала передачи первого информационного бита.
При приеме в сдвиговый регистр девятого бита кадра (восьмого информационного бита) из него «выдвинется» стартовый бит и, следовательно, в сдвиговом регистре будет размещен весь принятый байт информации. В этот момент счетчик импульсов сдвига придет в нулевое состояние и на его выходе будет выработан единичный сигнал, по которому содержимое сдвигового регистра перепишется в буферный регистр, в регистр состояния А2 запишется 1 и он будет информировать процессор об окончании приема очередного байта, вентиль И подготовится к выработке сигнала «Сброс» (этот сигнал сформируется после прихода первого стопового бита).
Получив сигнал готовности (1 в регистре А2), процессор выполнит команду «Ввод» (см. пример 2.2 Параллельной передачи данных). При этом вырабатывается управляющий сигнал системного интерфейса «Ввод», по которому производятся пересылка принятого байта данных из буферного регистра в процессор (сигнал «Чтение») и сброс регистра состояния А2.
Отметим, что для простоты изложения в контроллере на рис. 14 не показаны схемы контроля стоповых бит принимаемого кадра. Не показаны также схемы контроля четности или нечетности (паритета) передаваемой информации (обычно в передаваемом байте восьмому биту придается значение 0 или 1, так чтобы в этом байте было четное количество единиц). В реальных контроллерах имеются такие схемы, и если контроллер не принимает из линии связи нужного количества стоповых бит или вырабатывается сигнал ошибки паритета в схеме контроля четности, то принятые в текущем кадре биты данных игнорируются и контроллер ожидает поступления нового стартового бита.
Обмен данными с ВУ по последовательным линиям связи широко используется в микроЭВМ, особенно в тех случаях, когда не требуется высокой скорости обмена. Вместе с тем применение в них последовательных линий связи с ВУ обусловлено двумя важными причинами. Во-первых, последовательные линии связи просты по своей организации: два провода при симплексной и полудуплексной передаче и максимум четыре — при дуплексной. Во-вторых, в микроЭВМ используются внешние устройства, обмен с которыми необходимо вести в последовательном коде.
В современных микроЭВМ применяют, как правило, универсальные контроллеры для последовательного ВВ, обеспечивающие как синхронный, так и асинхронный режим обмена данными с ВУ.
Источник