Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MIET_A5 / MIET_A5.doc
Скачиваний:
363
Добавлен:
17.04.2013
Размер:
16.21 Mб
Скачать
        1. Использование дополнительного канала связи для разграничения кадров

Вернемся к схеме, показанной на рис.3.11, и попытаемся решить уже знакомую нам задачу разграничения кадров данных (см. п. 3.2). Напомним, что в нашем распоряжении имеется дополнительный канал связи. Рассмотрим два основных варианта решения задачи.

Вариант 1. Начало кадра помечено одним флаговым битом (рис.3.14).

На рисунке приняты следующие обозначения: Х – последний информационный бит предыдущего кадра (0 или 1, заранее неизвестно); Y – первый информационный бит текущего кадра (0 или 1, заранее неизвестно); F – флаговый бит (служебный бит, 0 или 1; не может использоваться для передачи данных).

Передатчик в зависимости от ситуации выбирает значение флагового бита, как показано на рисунке. При этом он преднамеренно нарушает правила кодирования (принятые в системе на рис.3.11) при передаче флагового бита.

Приемник обнаруживает одно или два (размещенные на расстоянии одного такта) нарушения правил кодирования и принимает к

Рис.3.31. Разграничение кадров с использованием дополнительного канала связи – вариант 1

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

Вариант 2. Кадр не содержит флагового бита, т.е. полезная информация соседних кадров размещена “стык-в-стык”, без какого-либо явного разделителя (рис.3.15). При этом для распознавания виртуального флага необходим некоторый “интеллект” приемника.

Последний информационный бит Х предыдущего кадра вплотную подстыкован к первому информационному биту Y текущего кадра. Накладных расходов на передачу флага нет.

Если Y отличается от Х, то передатчик для обозначения межкадровой границы вводит одно нарушение правил кодирования (можно ввести группу из N последовательных нарушений для более надежного распознавания ситуации приемником).

Рис.3.32. Разграничение кадров с использованием дополнительного канала связи – вариант 2

Если Y = X, то передатчик, прежде чем выдать данные в линию, преднамеренно искажает значение бита Y (чтобы создать перепад сигнала) и одновременно нарушает правила кодирования. Но в этой ситуации он при первой возможности нарушает правила еще раз (или, для надежности, М раз). Напомним, что данные скремблированы, так что не придется долго ждать возможности повторного нарушения правил.

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

    1. Аппаратное управление потоком данных с использованием пачек сигналов ТхС

В отличие от традиционного решения задачи управления потоком данных (flow control, см. п. 1.3.4), в [6] предлагается возложить функцию регулирования скорости одного из потоков на синхросигнал ТхС (рис.3.16).

В данном примере компьютер (устройство типа DTE, см. гл. 1) обменивается данными с удаленным абонентом (на рисунке не показан) через модем (устройство типа DCE). Компьютер взаимодействует с модемом по интерфейсу RS-232 или иному, принадлежащему этому же семейству (см. п. 1.2). Скорость передачи данных по линии в каждом направлении равна 160 кбит/с. Скорость приема данных RxD в компьютер также равна 160 кбит/с.

Скорость передачи данных TxD из компьютера в модем выбирается больше скорости передачи данных по линии, и в нашем примере составляет 230 кбит/с. Чтобы этот факт не вызывал недоразумений, сразу отметим, что данные TxD передаются из компьютера в модем не непрерывно, а пачками, по мере необходимости пополнения буферной памяти модема. Так что средняя скорость передачи данных из компьютера в модем равна скорости их выдачи в линию и составляет

Рис.3.33. Аппаратное управление потоком данных TxD путем прерывания потока синхроимпульсов TxC в периоды, когда буфер FIFO близок к заполнению

160 к бит/с, в отличие от мгновенной скорости (230 кбит/с), на которой передаются данные в пачке.

Напомним, что синхросигнал RxC сопровождает сигнал данных RxD. По получении сигнала TxC компьютер формирует очередной бит TxD, который поступает в модем и принимается им. Соответствующая временная диаграмма рассматривалась ранее (см. рис.1.7).

Модем содержит передатчик, приемник и буферную память с блоком управления (другие компоненты сейчас не представляют для нас интереса). Передатчик непрерывно считывает биты из буферной памяти, смешивает их с синхросигналом С и передает полученную смесь в линию. Приемник выделяет из поступающего от удаленного абонента линейного сигнала данные RxD и синхросигнал С, который поступает на вход RxC компьютера. Этот же синхросигнал С, как отмечалось, управляет считыванием данных из буферной памяти и их выдачей в линию.

Буферная память построена по принципу “трубопровода” и работает по принципу “первый вошедший первым выходит” (First Input – First Output или FIFO). Память содержит индикаторы уровня заполнения. Если уровень велик и превышает некоторый порог, например 90%, то срабатывает индикатор максимума МАХ, ключ (логический элемент) SW в блоке управления размыкается. Если уровень мал, например менее 10%, то срабатывает индикатор минимума MIN, ключ SW в блоке управления замыкается. Если уровень лежит в пределах от MIN до МАХ, то предыдущее состояние ключа сохраняется. Генератор G вырабатывает непрерывную последовательность синхроимпульсов частотой 230 кГц.

В исходном состоянии компьютер непрерывно принимает поступающие из линии данные RxD под управлением сигнала RxC. В то же время под управлением сигнала TxC компьютер передает данные в модем. При этом уровень заполнения буферной памяти равномерно пульсирует в диапазоне от MIN до МАХ.

Действительно, предположим, что ключ SW замкнут. Тогда поток данных TxD поступает в буферную память со скоростью 230 кбит/с. Уровень заполнения буфера неуклонно растет, так как скорость рассасывания данных меньше скорости их поступления. В некоторый момент уровень достигает критической отметки (МАХ), ключ SW размыкается, компьютер прекращает выдачу данных TxD, но процесс их рассасывания продолжается. Уровень заполнения монотонно снижается, и когда он пересекает границу MIN, ключ SW замыкается и т.д.

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