- •Содержание
- •Часть 1. Организация и построение локальных компьютерных сетей 14
- •Глава 1. Первое знакомство 14
- •Глава 2. Локальные компьютерные сети магистрального типа 53
- •Глава 3. Локальные компьютерные сети кольцевого типа 71
- •3.1. Основные методы доступа к моноканалу 71
- •Введение
- •Часть 1. Организация и построение локальных компьютерных сетей Глава 1. Первое знакомство
- •1.1. Что такое локальные компьютерные сети ?
- •1.2. Основные понятия и определения
- •1. Скорость передачи данных в физической коммуникационной среде.
- •2. Скорость передачи данных между узлами сети.
- •1.3. Основные топологии локальных компьютерных сетей
- •1.4. Физические среды, используемые при построении общего канала передачи данных
- •1.5. Основные способы представления данных при передаче через моноканал
- •1.6. Многоуровневая эталонная модель архитектуры локальных компьютерных сетей
- •1.7. Основные этапы преобразования данных в рабочей станции
- •1.8. Основы организации сетевых адаптеров
- •Глава 2. Локальные компьютерные сети магистрального типа
- •2.1. Основные методы доступа к моноканалу
- •Pure aloha (Истинная Алоха)
- •Slotted aloha (Тактированная Алоха)
- •Csma–Carrier Sense Multiple Access (Множественный доступ с контролем несущей)
- •Csma/cd–Carrier Sense Multiple Access with Collision Detection (Множественный доступ с контролем несущей и обнаружением конфликтов)
- •Csma/ca–Carrier Sense Multiple Access with Collision Avoidance (Множественный доступ с контролем несущей и избежанием конфликтов)
- •Token Bus или Token Passing (Маркерный доступ к шине или Метод передачи маркера)
- •2.2. Типовая организация сетевого адаптера магистральной лкс
- •2.3. Организация адаптера с методом доступа csma/cd
- •Т2.4. Организация адаптера с методом доступа Token Bus
- •Глава 3. Локальные компьютерные сети кольцевого типа
- •3.1. Основные методы доступа к моноканалу
- •Register Insertion Ring (Метод вставки регистра)
- •Slotted Ring (Тактированное кольцо или Тактированный метод доступа к кольцу)
- •Token Ring (Маркерное кольцо или Маркерный метод доступа к кольцу)
- •3.2. Типовая организация приемопередатчика
- •3.3. Организация адаптера с методом доступа Slotted Ring
- •3.4. Организация адаптера с методом доступа Token Ring для централизованной лкс
- •Режим транзитной передачи.
- •Режим вывода данных (опроса рабочих станций сети)
- •Режим ввода данных
- •3.5. Организация адаптера с методом доступа Register Insertion Ring
- •Режим нормальной работы.
- •Передача кадра.
- •Прием кадра.
- •Режим конфликтной работы.
- •Работа са при конфликте первого вида.
- •Работа са при конфликте второго вида.
- •Режим изъятия кадра.
- •Часть II. Сетевые технологии локальных компьютерных сетей Глава 4. Классические технологии лкс
- •4.1. Сетевая технология arcNet
- •4.2. Сетевая технология Ethernet
- •Общие характеристики лкс EtherNet
- •”Тонкий“ Ethernet (Thin Ethernet)
- • ”Толстый” Ethernet (Thick Ethernet)
- •Комплексирование лкс
- •Глава 5. Перспективные высокопроизводительные технологии лкс
- •5.1. Сетевая технология Token Ring Network
- •5.2. Сетевая технология fddi
- •5.3. Сетевая технология Radio Ethernet
- •Глава 6. Широкополосные лкс
- •6.1. Использование поликаналов в широкополосных лкс с двунаправленной шиной
- •6.2. Широкополосные лкс на базе catv
- •Глава 7. Интеграция компьютерных сетей. Мультисети
- •7.1. Межсетевые устройства интеграции
- •7.2. Основные способы интеграции лкс
- •7.3. Использование протокола X.25 для интеграции лкс
- •ЧасТь III. Элементная база локальных компьютерных сетей Глава 8. Бис для построения сетевых адаптеров
- •8.4. Бис сети Cheapernet
- •8.5. Микросхемы для кольцевой сети с маркерным доступом
- •8.6. Контроллер маркерного доступа wd 2840
- •Интерфейс с модемом
- •Передача данных
- •Метод доступа
- •Удаление станции
- •Литература
- •Компьютерные сети локального масштаба
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.25PLP–Packet Layer Protocol (протокол управления пакетным уровнем). Протокол X.25PLP обеспечивает выполнение следующих важных функций сетевого уровня, которые необходимы для управления трафиком между станциями объединяемых сетей.
Адресация.
Мультиплексирование виртуальных каналов для станций ЛКС, поддерживающих работу с несколькими потоками данных.
Установление–разъединение соединения для организации виртуального канала и упорядоченной передачи пакетов данных.
Сегментация и повторная сборка пакетов данных.
Обработка и восстановление ошибок на уровне пакетов.
Существуют две основные возможности применения протокола X.25 для интеграции ЛКС18.
В качестве логического механизма, реализованного в некоторой физической сети X.25 коммутации пакетов и шлюзовых станциях (рис. 7.17, 7.18).
В качестве логического механизма, реализованного в одной или нескольких шлюзовых станциях (рис. 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):
параллельного интерфейса (ПРИ) для связи с ЭВМ;
последовательного интерфейса (ПСИ) для сопряжения с сетью.
Первая секция состоит из шинного интерфейса и ряда регистров. Шинный интерфейс содержит 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 |
Читать:
вместе с
|
Вход |
|
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
Процесс чередования каналов продолжается до тех пор, пока весь пакет данных не загружен в память. Таким образом, получаемый пакет записывается в ряд буферов, и ЦП имеет описание последовательности цепочки буферов.
В шине возможно выполнение двух разновидностей передачи:
передача команды и состояния;
передача данных.
Первая всегда выполняется ЦП. Например, для инициирования команды 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 детектором, т.е. процессор контролирует
передающие и принимающие блоки сетевого
адаптера.
