
- •Введение
- •1. Общие принципы построения эвм и вычислительных систем
- •2.1. Взаимодействие клавиатуры с эвм
- •2.2. Устройство и программирование манипулятора мышь"
- •3. Видеосистемы
- •3.1. Структура видеосистем
- •3.2. Программирование видеосистем
- •3.4. Мониторы
- •3.5. Плазменные панели
- •3.6. Электронный цифровой проектор
- •4. Накопители информации на магнитных дисках
- •4.1. Структура накопителей информации на магнитных дисках
- •4.2. Физические принципы магнитной записи. Магнитная головка
- •4.3. Конструкция магнитных дисков
- •4.4. Кодирование и сжатие записываемой информации
- •4.5. Программирование работы диковых накопителей
- •5. Накопители цифровой информации типа cd-rom
- •5.1. Общие сведения о накопителях цифровой информации типа cd-rom
- •5.2. Структура каналов записи и чтения в системе cd
- •5.3. Circ кодирование
- •5.4. Circ декодирование
- •5.5. Конструкция оптического блока
- •5.6. Система слежения за дорожкой
- •5.6. Многофункциональные цифровые оптические диски - dvd
- •6.1. Назначение и устройство модемов
- •6.2. Программирование модемов
- •7. Сетевые устройства
- •7.1. Основные элементы сетей эвм
- •7.2. Сетевые адаптеры
- •7.3. Сетевое программное обеспечение
- •8. Звуковые платы
- •8.1. Структура зуковых плат
- •8.2. Программирование звуковых плат
- •9. Устройства ввода изображений в эмв
- •9.1. Сканеры
- •9.2. Программное обеспечение сканеров
- •9.3. Фотокамеры и видеокамеры
- •10. Принтеры
- •10.1. Устройство и принципы работы принтеров
- •10.2. Программирование принтеров
- •11. Многофункциональные измерительные платы
- •11.1. Характеристики и структура измерительных плат
- •11.2. Аналого-цифровые преобразователи
- •11.3. Цифро-аналоговые преобразователи
- •12. Цифровые системы связи и навигации
- •12.1. Системы цифровой подвижной связи
- •12.2. Спутниковые системы связи
- •12.3. Спутниковые навигационные системы
7.2. Сетевые адаптеры
Сетевой адаптер - это периферийное устройство ЭВМ, осуществляющее логическое и электрическое сопряжение ЭВМ и сетевой среды. Функции сетевого адаптера принято разделять на две группы:
магистральные функции и
сетевые функции.
Магистральные функции реализуют сопряжение адаптера с системной шиной ЭВМ, обычно, с 16-разрядной шиной ISA. Эта магистраль имеет раздельные шины адреса и данных и поддерживает программный обмен, обслуживание прерываний и прямой доступ к памяти. Магистральные функции жестко определяются протоколом системной шины. Основные функции данного типа состоят в следующем:
электрическое буферирование сигналов магистрали,
распознавание собственного адреса на магистрали,
обработка стробов обмена на магистрали.
Сетевые функции реализуют принятый в сети протокол обмена. Часть этих функций может выполняться аппаратурой адаптера или программным обеспечением ЭВМ. Основные функции данного типа состоят в следующем:
Гальваническая развязка компьютера и сети.
Преобразование уровней сигналов из логических в сетевые при передаче и обратное преобразование при приеме.
Кодирование и декодирование сигналов при передаче и приеме соответственно.
Распознавание своего пакета при приеме.
Буферирование передаваемых и принимаемых данных в буферном ОЗУ.
Проведение арбитража обмена по сети (контроль состояния сети, разрешение конфликтов).
Подсчет контрольной суммы пакета при передаче и при приеме.
Первые четыре функции всегда реализуются аппаратно, остальные - комбинацией аппаратных и программных средств.
Структурная схема сетевого адаптера и его взаимодействия с ЭВМ и сетевой средой приведена на рис.7.2.
Рис.7.2. Структура сетевого адаптера
Блок сетевого интерфейса выполняет функцию гальванической развязки аппаратуры и линии связи. Для гальванической развязки часто применяются импульсные трансформаторы или оптронные пары. Контроллер адаптера выполняет функции кодирования и декодирования, распознавания адресованных ему пакетов информации в соответствии с сетевым номером и буферирование информации в своем ОЗУ. Адаптер может формировать аппаратное прерывание IRQ c номером, который присваивается в процессе инсталляции его программного обеспечения и реализуется контроллером прерываний КП. Принимаемая и передаваемая информация накапливается в буферной области ОЗУ и обрабатывается программой пользователя. Обмен информацией между ОЗУ процессора и адаптера может осуществляться с помощью контроллера прямого доступа к памяти (КПДП).
7.3. Сетевое программное обеспечение
Основным элементом сетевого программного обеспечения служит NETBIOS - программное обеспечение, записаное в ПЗУ сетевых адаптеров, устанавливаемое на каждом компьютере сети, и позволяющее реализовать пять уровней протоколов передачи данных (включая сеансовый). NETBIOS'ом также принято называть сам интерфейс между сетевым программным обеспечением и программами персонального компьютера.
Для того, чтобы использовать сеть необходимо:
задать свое имя в таблице имен адаптера,
используя таблицу своего адаптера или другого адаптера сети определить имя нужного абонента и установить с ним сеанс связи,
используя этот сеанс посылать и принимать сообщения.
Команды NETBIOS'а формируются с использованием блока управления сетью - NCB (Network Control Block), который заполняется в соответствии со своей спецификацией. Формат блока NCB приведен в нижеследующей табл.7.1.
Табл.7.1.
Имя поля |
Формат и назначение |
NCB_COMMAND |
DB 00H; поле команды |
NCB_RETCODE |
DB 00H; поле кода возврата |
NCB_LSN |
DB 00H; поле локального номера сеанса |
NCB_NUM |
DB 00H; номер вашего имени |
NCB_BUFFER@ |
DD 00000000H; указатель на адрес буфера сообщения (смещение: сегмент) |
NCB_LENGTH |
DW 0000H; длина буфера NCB (в байтах) |
NCB_CALLNAME |
DB 16 DUP(0); имя локального или удаленного адаптера; для команды CHAIN SEND первые 2 байта показывают длину второго буфера, а следующие 4 байта - адрес второго буфера |
NCB_NAME |
DB 16 DUP(0); имя локального адаптера |
NCB_RTO |
DB 00H; значение тайм-аута для приема |
NCB_STO |
DB 00H; значение тайм-аута для передачи |
NCB_POST@ |
DD 00000000H; указатель на post- подпрограмму (смещение: сегмент) |
NCB_LANA_NUM |
DB 00H; номер адаптера: для первого адаптера 00H, для второго - 01H |
NCB_CMD_CPLT |
DB 00H; поле состояния команды |
NCB_RESERV |
DB 14 DUP(0); резервная область |
Адрес NCB помещают в регистровую пару ES:BX и вызывается программное прерывание INT 5Ch. Результаты выполнения команды помещаются либо в регистр AL, либо в поле кода возврата блока NCB.
Команды NCB делятся на четыре категории:
общие (используются для включения адаптера в сеть, чтения состояния и управления выполняющимися командами других категорий);
поддержки имен (позволяют идентифицировать компьютер в сети посредством имени);
поддержки сеансов (позволяют устанавливать в сети логическое соединение «сеанс», посылать и принимать сообщения, завершать сеансы и читать состояние сеанса, одновременно может выполняться более одной команды, поскольку соединение устанавливается в дуплексном режиме.);
поддержки дейтаграмм (сообщений для группы абонентов сети).
Перечень команд и их краткое содержание приведены в нижеследующей таблице.
Табл.7.2.
Название команды |
Содержание команды |
Общие команды. |
|
RESET |
Сброс |
CANCEL |
Прервать |
ADAPTER STATUS |
Получить состояние адаптера |
Поддержка имен. |
|
ADD NAME |
Добавить имя |
ADD GROUP NAME |
Добавить групповое имя |
DELETE NAME |
Уничтожить имя |
Поддержка сеансов. |
|
CALL |
Вызвать |
LISTEN |
Ждать вызов |
HANG UP |
Закрыть |
SEND |
Передать |
CHAIN SEND |
Передать последовательность |
RECEIVE |
Принять |
RECEIVE ANY. |
Принять от любого |
SESSION STATUS. |
Получить состояние сеанса |
Поддержка дейтаграмм. |
|
SEND DATAGRAM. |
Передать дейтаграмму |
SEND BROADCAST DATAGRAM. |
Послать общую дейтаграмму |
RECEIVE DATAGRAM. |
Принять дейтаграмму |
RECEIVE BROADCAST DATAGRAM. |
Принять общую дейтаграмму |
Каждая команда любой категории (за исключением команд RESET и CANCEL) в свою очередь может различаться в зависимости от режима ее использования - "ожидание" или "неожидание". Режим "ожидание" означает, что, когда вы вызываете команду, процессор ждет ее завершения, прежде чем взять следующую. Режим "неожидание" означает, что процессор обращается к следующей команде сразу после запуска предыдущей и что команда прерывается по post-адресу, когда ее выполнение завершается.
Каждая приведенная в табл.7.2. команда имеет определенный номер, который в шестнадцатеричном коде записывается в соответствующее поле блока NCB. После выполнения команды в NCB формируются соответствующие коды возврата результатов.
Например, команда ADAPTER STATUS (получить состояние адаптера) имеет номер 33h, если требуется ожидание ее завершения, и B3h, если ожидание не нужно. Эта команда возвращает информацию о состоянии локального или удаленного адаптера, имя которого указано в поле NCB_CALLNAME. Информация размещается по указанному в NCB_BUFFER@ адресу буфера, а поле длины NCB_LENGTH показывает число байтов в полученном ответе.
Порядок использования функций NETBIOS состоит в следующем:
создается NCB с именем абонента в поле имени NCB_NAME и кодом команды ADD NAME,
вызывается NETBIOS через прерывание INT 5Ch,
посылаются данные абоненту используя сеанс, предварительно создав NCB для команды CALL, и вызывается INT 5Ch,
проверяется код возврата в регистре AL, когда команда завершается,
формируются команды передачи или чтения,
передача (или прием) данных завершается командой HANG UP.
Для передаваемых и принимаемых данных выделяется буфер, параметры которого указываются в NCB.