Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерные сети локального массштаба1 (уч. по...doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
7.36 Mб
Скачать

7.3. Использование протокола X.25 для интеграции лкс

Протокол коммутации пакетов X.25, широко используемый в СПДОП–сетях передачи данных общего пользования (PDN–Public Data Network), может служить основой для интеграции сетей различного класса, в том числе и ЛКС. На рис. 7.16 показана организация мультисети, состоящей из нескольких ЛКС, на основе СПДОП с протоколом X.25. В качестве МУИ здесь используются ШС–шлюзовые станции.

Рис. 7.16. Использование СПДОП с протоколом X.25 для интеграции различных ЛКС в единую мультисеть

Протокол X.25 можно использовать в следующих вариантах объединения ЛКС.

Рис. 7.17. Использование шлюзов между ЛКС и ГКС X.25

Рис. 7.18. Использование шлюзов между ЛКС и ГКС X.25

Рис. 7.19. Прямое шлюзовое соединение двух ЛКС (два шлюза)

Рис. 7.20.Прямое шлюзовое соединение двух ЛКС (один шлюз)

Рис. 7.21. Интеграция ЛКС в мультисеть с использованием ГКС X.25

1. ЛКС– ЛКС.

2. ЛКС– ГКС.

3. ЛКС– ГКС– ЛКС.

В указанных вариантах использования протокола X.25 станции ЛКС должны содержать в своей структуре OSI дополнительный (по сравнению с обычным для ЛКС представлением OSI) уровень X.25PLPPacket Layer Protocol (протокол управления пакетным уровнем). Протокол X.25PLP обеспечивает выполнение следующих важных функций сетевого уровня, которые необходимы для управления трафиком между станциями объединяемых сетей.

  1. Адресация.

  2. Мультиплексирование виртуальных каналов для станций ЛКС, поддерживающих работу с несколькими потоками данных.

  3. Установление–разъединение соединения для организации виртуального канала и упорядоченной передачи пакетов данных.

  4. Сегментация и повторная сборка пакетов данных.

  5. Обработка и восстановление ошибок на уровне пакетов.

Существуют две основные возможности применения протокола X.25 для интеграции ЛКС18.

  1. В качестве логического механизма, реализованного в некоторой физической сети X.25 коммутации пакетов и шлюзовых станциях (рис. 7.17, 7.18).

  2. В качестве логического механизма, реализованного в одной или нескольких шлюзовых станциях (рис. 7.19, 7.20), в этом случае физическая сеть X.25 отсутствует.

На рис. 7.21 показан пример интеграции ЛКС в мультисеть с помощью ГКС X.25.

ЧасТь III. Элементная база локальных компьютерных сетей Глава 8. Бис для построения сетевых адаптеров

Большинство БИС ориентированно на построение сетей типа Ethernet, так как она считается стандартной локальной сетью. Обычно сетевые интегральные схемы реализуются в виде двух БИС. Каждая новая пара БИС включает кодек (кодер–декодер) и периферийную микропроцессорную БИС, называемую контроллером. Эти интегральные схемы осуществляют функции 1 уровня (кодек) и уровня 2 (контроллер) эталонной модели соединения открытых систем OSI, если их распространить на локальные сети типа Ethernet

Рассмотрим описание основных зарубежных БИС, выпускаемых для ЛКС. Эти БИС реализуют наиболее распространенные международные протоколы обмена на канальном уровне. Поэтому разрабатываемые отечественные БИС являются аналогами описываемых БИС.

8.1.БИС Am 7990 (МК 68590) и Am 7991 (МК 3891)

Фирмы AMD и MOSTEK в сотрудничестве с фирмой DEC разработали две БИС, которые обеспечивают интерфейсную функцию между рабочими станциями и приемопередатчиком сети Ethernet. Кроме того, эти БИС выполняют функцию управления буферной памятью и сетевыми средствами. Одна из них названа локальным контроллером сети (LANCE), а другая – адаптером последовательного интерфейса (SIA).

Этим БИС фирма AMD присвоила обозначения Am 7990 и Am 7991 соответственно, а фирма MOSTEK –МК 68590 и МК 3891. Эти БИС являются взаимозаменяемыми.

БИС LANCE конструктивно оформлена в 48–контактном корпусе по n–канальной МОП–технологии и ее структура эквивалентна 4000 логических вентилей, 1000 бит оперативной памяти и 12000 бит ПЗУ. LANCE обеспечивает доступ к сети в соответствии с протоколом CSMA/CD. С центральным процессором LANCE связана посредством буферной памяти, управляемой непосредственно LANCE. Так как LANCE обеспечивает сопряжение как с мультиплексированными, так и немультиплексированными шинами, то имеется возможность выбора широкого набора микропроцессоров для использования их в качестве контроллеров подсистемы (8086, 68000, LSI –11, Z8000). Кроме того, LANCE имеет прямой доступ к памяти и может управлять сетью с применением обширных средств контроля и регистрации ошибок. Экспоненциальный двоичный алгоритм выдержки времени при повторной передаче в соответствии с условиями функционирования сети Ethernet также реализуется БИС LANCE.

Рис.8.1. Организация взаимосвязи двух ЛКС с помощью сетевых БИС

При наличии требований от абонентской станции на передачу LANCE путем прямого доступа в буферную память выбирает данные, присоединяет к ним преамбулу и синхросерию, а затем добавляет в конце пакета 32 бита поля контроля в виде циклического избыточного кода. Далее этот пакет передается в последовательный адаптер SIA, который посредством манчестерского кода вырабатывает дифференциальные сигналы. Последние через приемопередатчик транслируются в коаксиальный кабель.

Адаптер SIA—это 24–контактная биполярная БИС, которая позволяет реализовать манчестерское кодирование и декодирование последовательности битов, SIA также является интерфейсом между TTL–схемами LANCE и дифференциальными схемами ЭСЛ приемопередатчика.

Во время приема сигналов из канала SIA разделяет их на синхросигналы и данные приемника. Для этого выполняется манчестерское декодирование. Обе группы сигналов поступают на контроллер LANCE, который вычисляет контрольную сумму данных и сравнивает ее с соответствующим полем пакета.

Организация обмена информацией между двумя сетями Ethernet показана на рис. 8.1. Такая структура обеспечивает возможность взаимодействия параллельных процессов приема–передачи информации в каждой из ЛКС.

Данные, поступающие из сети Ethernet1 через SIA1 и LANCE1, записываются в общую память. LANCE1 генерирует сигналы прерывания микропроцессора, который анализирует операции обмена и информирует контроллер LANCE2, извлекающий требуемые данные из общей памяти и передающий их через SIA2 в сеть Ethernet2. Для исключения одновременного доступа к системной магистрали, а также для увеличения эффективности использования ее пропускной способности один из контроллеров управляется микропроцессором.

Кодек Am7991 (SIA) изготовляют на основе биполярной технологии IMOS. Ошибка стробирования не превышает 5 нс. Чтобы обеспечить такую точность, внутреннюю частоту синхронизации выбирают 40 МГц. БИС SIA обеспечивает подавление сигналов помех длительностью 10 нс в тактах со столкновениями и помехи длительностью 15 нс в каналах передачи данных. БИС связана кабелем с приемопередатчиком, который содержит традиционные схемы приемника и передатчика, средства обнаружения столкновений и схемной проверки для отключения данного узла сети в случае неисправности схемы приемопередатчика.

8.2. БИС i82586, i82501 и i82588

Фирма INTEL выпускает БИС контроллера и кодека, обеспечивающие выход на сеть Ethernet. Связной контроллер i82586 предназначен для построения быстродействующих локальных сетей. БИС i82586 содержит средства управления доступом к памяти, а также средства диагностики. Контроллер i82586 позволяет осуществлять программирование сетевых параметров с протоколом CSMA/CD, т.е. можно построить не только Ethernet, но и любую другую сеть, в которой используется протокол многократного доступа с контролем несущей и обнаружением столкновений. БИС контроллера –это фактически параллельный процессор, который выполняет выбираемые из ведущего процессора команды одновременно с приемом данных через свои схемы последовательного интерфейса для записи их в буферную память. Центральный процессор и контроллер взаимодействуют через разделяемую память посредством двух линий прерывания: «внимание ЦП» и «внимание контроллера».

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

БИС i82586 содержит свыше 56 тыс. элементов. Конструктивно оформлена в 48–контактном корпусе. БИС i82586 имеет четыре канала прямого доступа к памяти, что позволяет при минимальном интервале между кадрами (9,6 мкс) принимать непрерывные блоки кадров. Минимальная скорость передачи данных 1,25 Мбайт/с. При 8 МГц тактовой частоты скорость достигает 4 Мбайт/с, благодаря чему остается запас времени для выполнения дополнительных операций. Контроллер i82586 содержит также средства для сбора статистики о характере функционирования сети и локализации ошибок.

Связь контроллера с приемопередатчиком осуществляется посредством БИС кодека i82501, выполняющего манчестерские кодирование и декодирование передаваемых сигналов. Кодек обеспечивает генерацию сигналов для себя и контроллера i82586. Он выполняет периодическое формирование временной диаграммы и фильтрацию помех. Наряду с этим БИС i82501 формирует сигналы приема, наличия несущей, наличия столкновений.

БИС i82588 является однокристальным контроллером, предназначенным для соединения ПЭВМ с локальной сетью. Он реализует протокол CSMA/CD с двумя схемами обнаружения столкновений. Кроме того, БИС включает кодек, позволяющий кодировать как методом с инверсией без возврата к нулю (NRZ1), так и манчестерским кодом. Путем подключения к контроллеру простого блока доступа или радиочастотного модема достигается выполнение всех аппаратных функций для создания локальных сетей ПЭВМ. Такие функции, как кодирование данных и обнаружение столкновений можно программировать для реализации протоколов различных сетей.

Благодаря объединению в одном кристалле функций контроллера, кодека и обнаружения столкновений, становится возможным создание недорогих локальных сетей ПЭВМ.

Рис. 8.2. Структурная схема контроллера i82588

Скорость передачи данных контроллера достигает 1 Мбит/с для сетей с передачей немодулированных сигналов и 2 Мбит/с для широкополосных сетей. При использовании внешних кодеков скорость передачи может достигать 5 Мбит/с.

Назначение выводов БИС i82588 приведено в табл. 8.1.

Контроллер i82588 состоит из двух секций (рис. 8.2):

  1. параллельного интерфейса (ПРИ) для связи с ЭВМ;

  2. последовательного интерфейса (ПСИ) для сопряжения с сетью.

Первая секция состоит из шинного интерфейса и ряда регистров. Шинный интерфейс содержит 8–битовую информационную шину для связи с ЦП. Имеется четыре шины для прямого доступа к памяти ПЭВМ. Рекомендуется использовать два канала ПДП: один для передачи, другой для приема данных. Скорость записи и считывания в память ПЭВМ через канал ПДП 4 Мбайт/с.

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

Последовательный интерфейс содержит CSMA/CD–схемы и параллельно–последовательный преобразователь. Интерфейс загружает каждый блок данных в регистры конфигурации, вычисляет код циклического контроля (CRC) и в случае обнаружения столкновения повторяет передачу данных.

Контроллер имеет два независимых блока памяти FIFO, каждый из которых передается определенному владельцу - тракту передачи или приема. Блок памяти в среднем содержит регистры общей емкостью 16 байт.

При передаче данных в основной полосе частот форматирование пакетов осуществляется по протоколу IEEE 802.3. В случае же организации широкополосной сети ПЭВМ IBM PC реализуется протокол HDLC. Оба протокола используют 32–битовый CRC для обнаружения ошибок. В контроллере можно также программировать длину адресного поля, приоритетность абонентских станций, формирование пакетов, минимум длины данных, промежутки между передаваемыми данными и др.

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

Назначение выводов БИС i82588 Таблица 8.1

Функция

Обозначение

Номер

вывода

Название и содержание функции

Вход–выход

D7

D6

D5

D4

D3

D2

D1

D0

6

7

8

9

10

11

12

13

Шина данных: линии шины данных двунаправленные, могут находиться в трех состояниях и соединены с шиной данных системы для передачи данных, команд, состояний и параметров

Вход

5

Читать: вместе с , или DACK1. Сигнал «Читать» контролирует передачу данных или состояния регистров i82588

Вход

3

Записать: вместе с , или DACK1. Сигнал «Запись» контролирует передачу данных или команд в регистры i82588

Вход

2

Выбор чипа: когда уровень этого сигнала низкий, CPU выбирает регистр i82588 для передачи команд или состояний. Направление потока данных определяет вход или

Вход

CLK

4

Время: системное время. МОП- совместимый сигнал (или: СИНХРОНИЗАЦИЯ: системная синхронизация. МОП- совместимый сигнал)

Вход

RESET

25

Сброс: сигнал высокого уровня на этом выводе является причиной прекращения текущей деятельности регистров i82588. Это внутренне синхронизируемый сигнал, и уровень его должен поддерживаться высоким в течение по крайней мере четырех циклов синхронизации.

Выход

INT

26

Прерывание: активный сигнал высокого уровня сообщает CPU о запросе на прерывание от регистров i82588

Выход

DRQ0

17

DMA Запрос (канал 0), этот вывод используется регистрами i82588 для запроса передачи DMA. Уровень сигнала остается высоким до тех пор, пока контроллер i82588 требует передачи данных. Импульсные передачи осуществляются путем поддержания сигнала в активном состоянии для многократных передач.

Выход

DRQ1

18

DMA Запрос (канал 1) см. вывод 17

Вход

1

DMA Подтверждение (канал 0): если уровень сигнала низкий, то этот входной сигнал от DMA контроллера уведомляет регистры i82588 о том, что затребованный DMA цикл (т.е. цикл передачи данных) начался. Этот сигнал действует аналогично выбору чипа при передаче данных и параметров с использованием канала 0 DMA.

Вход

27

DMA Подтверждение (канал 1): см. вывод 1.

Вход

Х1/Х2

15/16

Входы генератора: эти входы можно использовать для подсоединения кварцевого кристалла, контролирующего внутренний тактовый генератор в последовательных устройствах. Х1 может также управляться МОП – генератором, частота которого в 8 или 16 раз больше скорости передачи бита при приемо-передаче данных. Если Х1 имеет внешнюю МОП – синхронизацию, то Х2 должен быть оставлен незагруженным (работать в буферном режиме)

Вход

15

Передача синхросигналов: этот сигнал обеспечивает передачу синхронизирующей информации устройствам внутренней последовательной логики; сигнал зависит от режима передачи данных. Для кода NRZ данные поступают на вывод ТхD при переходе сигнала синхронизации с высокого уровня на низкий. Для манчестерского кода передаваемые биты связаны с переходом сигнала ТхС с низкого уровня на высокий.

Вход

16

Прием синхросигналов: этот сигнал обеспечивает синхронизирующей информацией внутреннюю последовательную логику. NRZ-данные, необходимые для приема RxD. Состояние вывода RxD определяется переходом сигнала RxC с высокого уровня на низкий уровень.

Вход

24

В режиме высокой скорости этот вывод используется для считывания. Вход CRS выполняет функцию оповещения устройств i82588 о передаче сигналов на последовательных линиях. В режиме высокой интеграции этот вывод передачи синхросигналов TCLK используется для вывода синхронизирующей информации.

Вход

23

Определение конфликта: этот вывод уведомляет устройство i82588 о возникновении конфликта

Вход

RxD

19

Прием данных: вывод предназначен для приема данных с моноканала. Требуется сигнал МОП – уровня.

Выход

TxD

20

Передача данных: вывод предназначен для передачи данных в моноканал. Уровень сигнала очень высок при отсутствии передачи. Генерирует сигналы МОП – уровня.

Вход

21

Запрос на передачу: при наличии сигнала низкого уровня на этой линии устройства i82588 сообщает внешнему интерфейсу о наличии у них данных для передачи. Уровень сигнала становится высоким после сбора или при остановке передачи данных.

Вход

22

Разрешение передачи: CTS разрешает (делает возможным) устройствам i82588 начать передачу данных. Высокий уровень сигнала прекращает передачу.

VCC

28

Потребляемая мощность: +5В

VCC

14

Земля

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

На рис. 8.3 показана схема подключения контроллера i82588 к системной шине станции. Согласно этой схеме контроллер обеспечивает ввод - вывод информации по линиям Rх, Тх из моноканала и обратно с помощью линейных драйверов - приемников и передатчиков.

Самосинхронизирующийся поток двоичных переменных по линии Rx поступает в последовательном коде D0 D1 ... Di на вход приемника контроллера, в качестве которого обычно применяют микросхему типа АМ7991.

БИС i82588 можно запрограммировать двумя методами для обнаружения столкновений CSMA/CD. При реализации метода обнаружения нарушения принимаемого кода контроллер проверяет нарушения манчестерского или NRZI-кодирования. В случае установления нарушения выдается сигнал обнаружения столкновения. Другой метод – сравнения битов – используется в сетях с отдельными каналами передачи и приема, например в сети StarLan или сети ПЭВМ фирмы IBM. В этом случае контроллер сравнивает сигнатуры циклического кода (CRC) передаваемых данных с сигнатурой CRC принимаемых данных. Управление сетью таким методом дает возможность контроллеру немедленно прекратить передачу и повторить попытку занять канал в случае обнаружения столкновений, не ожидая уведомления от приемного устройства.

Адресация к контроллеру возможна одним из трех способов: индиви­дуальная, групповая и широковещательная. Кроме того, контроллер может работать в «смешанном» режиме, когда принимает любой блок данных, который

Рис. 8.3. Схема подключения контроллера i82588

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

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

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

Рис. 8.4. Формат регистров состояния контроллера i82588

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

В шине возможно выполнение двух разновидностей передачи:

  1. передача команды и состояния;

  2. передача данных.

Первая всегда выполняется ЦП. Например, для инициирования команды TRANSMIT (передать) или CONFIGURE (изменить конфигурации) процессор выдает команды контроллеру. После завершения выполнения команды контроллер выдает прерывание, и ЦП читает состояние контроллера путем опроса каждого из четырех регистров состояния циклическим образом.

Любые параметры или данные, связанные с командой, передаются контроллером через каналы ПДП. Передача данных отличается от передачи команд и состояния и часто выполняется контроллером канала ПДП. Первые три регистра состояния контроллера указывают состояние выполняемых операций. Четвертый регистр хранит метки табуляции об операциях, выпол-няемых на БИС контроллера. Регистры состояния операций подтверждают, что определенная команда выполнена, и хранят любой результат, если он получен (рис. 8.4).

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

Программы составлять намного проще и легче для контроллера, чем для традиционных БИС коммуникации данных, так как он имеет высокий уровень и может управлять полными блоками данных без участия ЦП. Команды контроллера приведены в табл. 8.2.

Команды TRANSMIT (передать), RETRANSMIT (повторно передать), CONFIGURE (изменить конфигурации), DIAGNOSE (диагностика) освобождают центральный процессор от просмотра каждого шага каждой функции обмена, который берет на себя контроллер.

Рассмотрим программы для приема и передачи данных. Программа, написанная на языке PL/M–86, предназначена для передачи пакетов данных. В соответствии с этой программой блок данных формируется в ОЗУ, и его начальный адрес и количество байтов передаются в контроллер ПДП.

Программа 1. Передача пакетов данных

TRANSMIT: PROCEDURE (CHANNEL, BUFFER LEN, BUFFER POINTER) DECLARE CHANNEL BYTE;

DECLARE BUFFER LEN WORD;

DECLARE BUFFER–POINTER POINTER;

TX_BUFFER_588 (00) = BUFFER_LENMOD256;

TX_BUFFER_588(0l) = BUFFER_LEN/256;

TX BUFFER_PTR =

BUFFER– POINTER; /*TEMPORARY STORAGE*/

TX_CHANNELS CHANNEL;

TX_BUFFER_LEN = 2048; /*MAX.FRAME SIZE*/

CALL DMA_LOAD (TX_CHANNEL, 1, TX_BUFFER_LEN,

TX_BUFFER_PTR);

OUTPUT (CS_588)=4 OR SHL(TX_CHANNEL, 4);

/*TRANSMIT*/

RETURN;

END TRANSMIT;

Центральный процессор также вводит параметры ПДП во временную память, чтобы использовать эти параметры в случае обнаружения столкновений. После загрузки контроллера ПДП процессор выдает команду TRANSMIT (передать) в контроллер. Если канал свободен, то пакет передается, в противном случае БИС автоматически задерживает любую попытку процессора передать данные и выставляет ему соответствующие сигналы. Наконец, контроллер прерывает ЦП, который определяет по регистру состояние, была ли передача удачной или нет. В случае обнаружения столкновений процессор активизирует процедуру повторной передачи (программа 2).

Список команд контроллера i82588 Таблица 8.2

Команда

Название

Код

No operation

Холостая операция

0

Set individual adress

Установка индивидуального адреса

1

Configure

Установка конфигурации

2

Set multicats adress

Установка общего адреса

3

Transmit

Передача блока данных

4

Perform time–domain reflectometry

Выполнение измерения временного интервала отраженных сигналов

5

Dump status registers

Печать состояний регистров

6

Diagnose

Диагностика

7

Enable receiver

Приемник открыт

8

Assign next buffer

Назначить следующий буфер

9

Disable receiver

Приемник закрыт

10

Stop receiver

Прекращение приема

11

Retransmit

Повторная передача блока данных

12

Abort command

Удалить команды

13

Reset

Сброс

14

Fix (channel 1) or release (channel 2) pointer

Фиксирование (канал 1) или освобождение (канал 2) указателя

15

Программа 2. Повторение передачи

RETRANSMIT: PROCEDURE; /* parametrers for this command

are taken from the temporary storage used

during the last transmit command */

САLL DМА LOAD(TX_CHANNEL, 1, TX_BUFPER_LEN,

TX_BUFFER_PTR);

OUTPUT(CS_588) = 12 OR SHL(TX_CHANNEL, 4);

/*RETRANSMIT*/

RETURN;

END RETRANSMIT:

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

Наконец, для получения пакета данных процессор готовит буфер в ОЗУ, загружает контроллер ПДП и обеспечивает возможность приема. Когда блок данных поступает, он посылается на хранение в ОЗУ посредством контроллера

Рис. 8.5. Подключение контроллера i82588 к моноканалу

ПДП. Затем работа ЦП прерывается для определения длины и состояния полученного блока данных (программа 3).

Программа 3. Получение сообщения

RCV_ENABLE: PROCEDURE (CHANNEL, BUFFER_PTR);

DECLARE CHANNEL BYTE;

DECLARE BUFFER_PTR POINTER;

CALL DMA_LOAD (CHANNEL, 0, 2048, 'BUFFER_PTR);

OUTPUT (CS_588) = 8 OR SHL(CHANNEL, 4);

END RCV_ENABLE.

В качестве моноканала может применяться коаксиальный кабель или витая пара проводников. Подключение к моноканалу контроллера типа i82588 с помощью стандартного интерфейса RS-422 и скрученных проводников показано на рис. 8.5. Это наиболее простой способ соединения, не претендующий на высокие скоростные качества. Однако он позволяет подключать контроллеры типа i82588 к внешней микросхеме передатчика (приемника) типа АМ7995 или ответвителям на расстоянии до 1220 м. Максимальная скорость передачи сигналов составляет 10 Мбит/с.

Контроллер принимает и передает стандартный кадр ЛКС Еthеrnet. Он способен работать в составе станции, удовлетворяющей требованиям ЛКС Еthernet, т.е. обслуживающей до 1024 станций, содержащей в одном сегменте кабеля до 100 приемников и передатчиков; максимальная удаленность между станциями составляет 2,5 км; максимальная длина кабеля сегмента - до 500 м, максимальная длина блока данных в кадре - до 1522 байт.

8.3. БИС i8023

Эта БИС реализует манчестерское кодирование в соответствии со стандартом IEEE 802.3. Кодек выполняет функции обнаружения столкновений, контроль несущей, а также диагностические операции. Тактовая частота БИС 20 МГц. БИС соединяется с сетью посредством трех 78–омных скрученных пар проводов. С помощью 15 пассивных компонентов (10 резисторов, 4 конденсатора, 1 кварц на 20 МГц) реализуется схема (рис. 8.6), выполняющая функции манчестерского кодирования, которую можно подключить к сетевому контроллеру. Кодек содержит передатчик и приемник.

Рис. 8.6. Схема подключения кодека i8023 в сеть

Рис. 8.7. Структурная схема кодека i8023

Передатчик вырабатывает поток последовательных битов путем выполнения операции “исключающее ИЛИ” синхросигналов с входными данными. Приемник получает из канала поток последовательных битов и генерирует синхросигналы для восстановления исходных данных (рис.8.7).

Кварцевый генератор 20МГц (точность до 0,01%) используется для синхронизации передатчика. Каждый из двух дифференциальных входов соединен с резистором 39,2 Ом. Делитель напряжения создает напряжения смещения 3,5 В. Пара заземленных резисторов обеспечивает смещение дифференциальных выходов, а также уменьшает мощность рассеяния.

Использование контроллера i8023 позволяет реализовать протоколы физического и канального уровней.

Кодирование и передача данных начинается, когда вход TXEN переводится в состояние «1». В течение времени, пока сигнал TXEN активен с помощью синхросигналов, блок данных, подаваемый на вход ТХ последовательным кодом, преобразуется в манчестерский код и передается на выходы DOA и DOB. После преобразования исходного блока данных вход TXEN переводится в состояние «0» и передача прекращается.

Когда возникает столкновение, приемопередатчик (трансивер) генерирует сигнал с частотой 10 МГц, который передается на входы CIA и CIB кодека. Кодек детектирует сигнал столкновения и передает его на выход COLL. Этот сигнал поступает на контроллер i8003 (или i8001), который прекращает передачу и переводит вход TXEN в состояние «0».

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

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

БИС i8023 также можно использовать для реализации сетей на базе витой пары, при этом упрощается блок доступа к сети. Во–первых, требования к качеству сигнала невысокие, так как используются короткие расстояния. Во–вторых, блок доступа к сети можно разместить прямо на станции, поэтому можно исключить три подсистемы: преобразователь тока для питания блока, кабель блока доступа и соответственно трансформаторы, приемник и передатчик; 10–мегагерцевый детектор столкновений. Более того, отпадает необходимость детектирования сигналов столкновений непосредственно в кодеке, что увеличивает быстродействие преобразования (рис. 8.8). Для проведения внутрисистемного самоконтроля кодек имеет вход (рис. 8.6) – шина обратного контроля. При тестировании системы от процессора данные поступают на вход и посредством мультиплексора коммутируются PLL детектором, т.е. процессор контролирует передающие и принимающие блоки сетевого адаптера.