Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка для КП по ИПУ для печати.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
11.35 Mб
Скачать

Модель передачи данных.

Система USB разделяется на 3 уровня с определенными правилами взаимодействия. Устройство USB содержит:

  • интерфейсную часть;

  • логическую часть устройства;

  • функциональную часть.

Хост также делится на 3 части:

  • интерфейсная;

  • системная;

  • ПО обслуживания устройства (клиентское ПО).

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

Адаптеры USB [1, 4, 11, 14].

Если у вас есть несколько устройств, а системная плата поддерживает последнюю версию спецификации USB, можно приобрести специальные адаптеры-преобразователи. Существу­ют следующие типы таких адаптеров:

  • USB-параллельный порт (принтер);

  • USB-последовательный порт;

  • USB-SCSI;

  • USB-Ethernet;

  • USB-клавиатура/мышь;

  • USB-TV/video.

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

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

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

Простое соединение устройства с компьютером (хост-контроллером) требует взаимодействия нескольких уровней аппаратуры и ПО.

  1. На уровне шинного интерфейса USB обеспечивается:

  • физическая;

  • сигнальная;

  • пакетная совместимость.

  1. Уровень логического устройства USB – это то, что видит системное ПО USB при выполнении основных операций с устройством.

  2. На уровне периферийного устройства USB соответствующим ПО через хост-контроллер обеспечиваются дополнительные (специфические) функциональные возможности устройства.

Уровень периферийного устройства и уровень логического устройств имеют логические связи соответственно с уровнями клиентского ПО и системного ПО USB хоста, но реальная передача данных и команд происходит только через уровень шинного интерфейса USB.

Таким образом, хотя физически соединения являются топологией типа пирамида (звезда), однако на логическом уровне хост-контроллер взаимодействует с каждым логическим устройством напрямую.

Физический интерфейс.

Электрические и конструкторские спецификации шины USB.

1. Информационные сигналы и питающее напряжение 5 В передаются по четырехпроводному кабелю. Используется дифференциальный способ передачи сигналов D+ и D- по двум проводам.

2. Уровни сигналов передатчиков в статическом режиме должны быть ниже 0,3 В (низкий уровень) или выше 2,8 В (высокий уровень).

3. Приемники выдерживают входное напряжение в пределах от –0,5 до +3,8 В.

4. Передатчики должны уметь переходить в высокоимпедансное состояние для двунаправленной полудуплексной передачи по одной паре проводов.

Передача по двум проводам в USB не ограничивается дифференциальными сигналами. Каждое устройство имеет также линейные приемники сигналов D+ и D-, а передатчики этих линий управляются индивидуально.

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

Состояние Diff0 и Diff1 определяются по разности потенциалов на линиях D+ и D- более 200 мВ при условии, что на одной из них потенциал выше порога срабатывания VSE (Single – Ended).

Состояние, при котором на общих входах D+ и D- присутствует низкий уровень, называется линейным нулем (SEO – Single-Ended Zero).

Интерфейс определяет следующие состояния:

  • Data J State и Data K State – состояния передаваемого бита (или просто J и K), определяются через состояния Diff 0 и Diff 1;

  • Idle State – пауза на шине;

  • Resume Stateсигнал “пробуждения” для вывода устройства из “спящего режима”;

  • Start of Packet (SOP) – начало пакета (переход из Idle State в K);

  • End оf Packet (EOP) – конец пакета;

  • Disconnect – устройство отключено от порта;

  • Connect – устройство подключено к порту;

  • Reset – сброс.

Состояния определяются сочетаниями дифференциальных и линейных сигналов.

Для полной и низкой скорости состояния Diff0 и Diff1 имеют противоположенное значение. В декодировании состояний Disconnect, Connect и Reset учитывается время нахождения линий (более 2,5 мс) в определенных состояниях.

Шина USB имеет два режима передачи:

  • скорость передачи сигналов USB составляет 12 Мбит/с (для USB 1.0);

  • скорость передачи сигналов USB составляет 480 Мбит/с (для USB 2.0);

  • низкая скорость составляет 1,5 Мбит/с.

Для полной скорости используется экранированная витая пара с импедансом 90 Ом и длиной сегмента до 5 м (для USB 2.0). Для низкой скорости – не витой неэкранированный кабель до 3 м (для USB 1.0).

Одна и та же система может одновременно использовать оба режима: переключение для устройств производится прозрачно. Низкая скорость предназначена для работы с небольшим количеством ПУ, не требующим высокой скорости.

Типы передачи данных.

USB передает данные через “каналы” между буфером памяти, ассоциированным с клиентским ПО на хосте, и конечной точкой на USB устройстве. USB определяет распределение передаваемой информации по пакетам (пакетирование) и для сообщений и для потоков.

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

Каждый тип передачи данных включает в себя различные характеристики коммутационных потоков, в частности такие:

  • формат данных, заданный стандартом USB;

  • направление потока;

  • ограничение по размеру пакетов;

  • ограничение по доступу к шине;

  • ограничение по времени ожидания;

  • требование к последовательности данных;

  • определение ошибок.

Когда “канал” установлен, большинство характеристик передачи фиксируется и не изменяется до сброса “канала”.

В USB различают 4 типа передачи данных:

  • управляющие передачи;

  • сплошные ( групповые) передачи (или передачи массивами);

  • прерывания;

  • изохронные передачи.

Краткие заключительные сведения о модели передачи данных.

Каждое устройство USB представляет собой набор независимых конечных точек, с которыми хост-контроллер обменивается информацией.

Конечная точка описывается следующими параметрами:

  • требуемой частотой доступа к шине и допустимыми задержками обслуживания;

  • требуемой полосой пропускания канала;

  • номером точки;

  • требованиями к обработке ошибок;

  • максимальными размерами передаваемых и принимаемых данных;

  • типом обмена;

  • направлением обмена (для сплошного и изохронного процессов).

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

Кроме нулевой точки, устройства-функции могут иметь дополнительные точки, реализующие полезный обмен данными. Низкоскоростные устройства могут иметь до двух дополнительных точек, полноскоростные – до 16 точек ввода и 16 точек вывода (протокольное ограничение). Точки не могут быть использованы до их конфигурирования (установления согласованного с ними канала) [1, 4, 11, 14].

Последовательный интерфейс.

Преобразователи напряжения.

Выходные сигналы управления (RTS и DTR) и входные сигналы состояния (CTS , DSR , DCD) последовательного порта инвертированы. Последовательные сигналы данных SIN и SOUT не инвертированы. UART работает только с уровнем напряжений ТТЛ/КМОП. Преобразователи напряжений расположены между UART и RS232.

Преобразователи передатчиков конвертируют уровень напряжения ТТЛ в уровень RS232, а преобразователи приемников наоборот.

Базовые адреса COM-портов.

Базовые адреса COM –портов выглядят так:

  • COM1: 3F8h , прерывание IRQ4;

  • COM2: 2F8h , прерывание IRQ3;

  • COM3: 3E8h , прерывание IRQ10;

  • COM4: 2E8h , прерывание IRQ11.

При включение или перезагрузке компьютера BIOS проверяет адреса всех установленных последовательных портов. Если она находит такой порт, то заносит базовый адрес в определенную ячейку памяти. Базовый адрес можно получить, считав их содержимое. Ячейки памяти, в которых содержится информация о базовых адресах установленных последовательных портов, приведены ниже:

  • COM1: 0000:0400h – 0000:0401h;

  • COM2: 0000:0402h – 0000:0403h;

  • COM3: 0000:0404h – 0000:0405h;

  • COM4: 0000:0406h – 0000:0407h.

Параллельный интерфейс.

Интерфейс Centronics.

Стандартный параллельный порт называется SPP (Standard Parallel Port - стандартный параллельный порт). SPP порт является однонаправленным, на его базе программно реализуется протокол обмена Centronics. Порт обеспечивает возможность генерации IRQ по импульсу ACK# на входе. Сигналы порта выводятся на стандартный разъем DB-25S (розетка), который размещен непосредственно на плате адаптера или соединяется с ним плоским шлейфом (в случае, если адаптер интегрирован с материнской платой). Названия сигналов соответствуют названиям сигналов интерфейса Centronics.

Стандартный порт имеет три 8-битных регистра, расположенных по соседним адресам в пространстве ввода/вывода, начиная с базового адреса порта (BASE).

  1. Data Register (DR) - регистр данных. Данные, записанные в этот порт, выводятся на выходные линии интерфейса.

  2. Status Register (SR) - регистр состояния; представляет собой 5-битный порт ввода сигналов интерфейса, отображающих состояние принтера (Busy, Ack, Paper End, Select, Error).

  3. Control Register (CR) - регистр управления. Предназначен для программного управления принтером путем активизации линий Select, Init, AutoLF, Strobe# , задания режима прерывания и направления передачи данных

Контроллер параллельного интерфейса поддерживает 8-битную шину данных, 5-битную шину сигналов состояния и 4-битную шину управляющих сигналов. Обычно поддерживаются три 8-битных регистра в пространстве ввода-вывода и одна линия запроса прерывания. Схемотехника порта LPT базируется на TTL-логике. Скорость обмена не выше 150 Кбайт/с при значительной загрузке процессора [4, 11, 14].

Процедура вывода байта по интерфейсу Centronics включает следующие шаги (в скобках приведено требуемое количество шинных операций процессора).

  1. Вывод байта в регистр данных (1 цикл IOWR#).

  2. Ввод из регистра состояния и проверка готовности устройства (бит SR. 7 - сигнал Busy). Этот шаг зацикливается до получения готовности или до срабатывания программного тайм-аута (минимум 1 цикл IORD#).

  3. По получении готовности выводом в регистр управления устанавливается строб данных, а следующим выводом строб снимается (2 цикла IOWR#).

Для вывода одного байта требуется 4-5 операций ввода/вывода с регистрами порта (в лучшем случае, когда готовность обнаружена по первому чтению регистра состояния). Главный недостаток вывода через стандартный порт - невысокая скорость обмена при значительной загрузке процессора. Порт может обеспечить скорость не более 100-150 Кбайт/с при полной загрузке процессора.

Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в адресном пространстве устройств ввода/вывода. Количество регистров зависит от типа порта, однако три из них стандартны и присутствуют всегда - регистр данных, регистр состояния и регистр управления. Адреса регистров отсчитываются от базового, стандартные значения которого 3BCh, 378h, 278h. Порт может использовать аппаратное прерывание (IRQ7 или IRQ9). Многие современные системы позволяют изменять режим работы порта, его адрес и IRQ из настроек BIOS Setup. Например, в AWARD BIOS имеется раздел Integrated Peripherals, позволяющий настраивать режим, адрес и IRQ порта [4, 11, 14].

При начальной загрузке BIOS пытается обнаружить параллельный порт, причем делает это не всегда корректным образом - по возможным базовым адресам портов передается тестовый байт, состоящий из чередующегося набора нулей и единиц (55h или AAh), затем производится чтение по тому же адресу, и если прочитанный байт совпал с записанным, то считается, что по данному адресу найден LPT порт. Определить адрес порта LPT4 BIOS не может. Для работы с ПУ в BIOS предусмотрено прерывание INT 17h, предоставляющее возможность передавать данные (побайтно), инициализировать ПУ и получать информацию о его состоянии.

В IBM PC-совместимых компьютерах за параллельными портами закреплены специальные логические имена, поддерживаемые системой - LPT1, LPT2, LPT3. Имя устройства PRN является эквивалентным LPT1. Эти логические имена необязательно должны совпадать с указанными выше адресами портов ввода-вывода. При загрузке система анализирует наличие параллельных портов по каждому из трех базовых адресов. Поиск всегда выполняется в следующем порядке: ОЗВСЬ, 0378h и затем 0278h. Первому найденному параллельному порту присваивается имя LPT1, второму — LPT2, третьему — LPT3. В результате реализации такой схемы назначения имен можно быть уверенным в том, что в системе всегда будет порт LPT1 (PRN) не зависимо от присвоенного ему адреса порта ввода-вывода, при условии, что компьютер оборудован хотя бы одним адаптером параллельного порта.

Стандартный параллельный порт предназначен только для односторонней передачи информации. Работа же с каналами связи предполагает реализацию как передачи, так и приема данных [4, 11, 14].

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

Имеется также ограничение на длину линии связи устройства, подключенного к интерфейсу Centronics. Оно должно располагаться на расстоянии не более 1,5 - 2 метров от компьютера.

Особенностью интерфейса Centronics является отсутствие на его разъеме шин питания (есть только "земля"). Это означает, что сопрягаемое устройство должно использовать внешний источник питания [4, 11, 14].

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

Порядок обмена по интерфейсу Centronics [4, 14].

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

Сигналы Centronics имеют следующее назначение (тип выходных каскадов для всех сигналов - ТТЛ).

  1. D0 ... D7 - 8-разрядная шина данных для передачи из компьютера в принтер. Логика сигналов положительная.

  2. nSTROBE - сигнал стробирования данных. Данные действительны как по переднему, так и по заднему фронту этого сигнала. Сигнал говорит приемнику (принтеру), что можно принимать данные.

  3. nACK - сигнал подтверждения принятия данных и готовности приемника (принтера) принять следующие данные. То есть здесь реализуется асинхронный обмен.

  4. BUSY - сигнал занятости принтера обработкой полученных данных и неготовности принять следующие данные. Активен также при переходе принтера в состояние off-line или при ошибке, а также при отсутствии бумаги. Компьютер начинает новый цикл передачи только после снятия -ACK и после снятия BUSY.

  5. nAUTOFEED - сигнал автоматического перевода строки. Получив его, принтер переводит каретку на следующую строку.

  6. PE - сигнал конца бумаги. Получив его, компьютер переходит в режим ожидания. Если в принтер вставить лист бумаги, то сигнал снимается.

  7. SELECT- сигнал готовности приемника. С его помощью принтер говорит о том, что он выбран и готов к работе. У многих принтеров имеет постоянно высокий уровень.

  8. nSELECTIN - сигнал принтеру о том, что он выбран и последует передача данных.

  9. nERROR - сигнал ошибки принтера. Активен при внутренней ошибке, переходе принтера в состояние off-line или при отсутствии бумаги.

  10. nINIT - сигнал инициализации (сброса) принтера. Его длительность не менее 2,5 мкс. Происходит очистка буфера печати.

Перед началом цикла передачи данных компьютер должен убедиться, что сняты сигналы BUSY и nACK. После этого выставляются данные, формируется строб, и снимаются данные. Принтер должен успеть принять данные с выбранным темпом. При получении строба принтер формирует сигнал BUSY, а после окончания обработки данных выставляет сигнал nACK, снимает BUSY и снимает nACK. Затем может начинаться новый цикл.

Все сигналы интерфейса Centronics передаются в уровнях ТТЛ и рассчитаны на подключение одного стандартного входа ТТЛ. Максимальная длина соединительного кабеля по стандарту - 1,8 м.

Формирование и прием сигналов интерфейса Centronics производится путем записи и чтения выделенных для него портов ввода/вывода. В компьютере может использоваться три порта Centronics, обозначаемых LPT1 (базовый адрес 278h), LPT2 (базовый адрес 278h) и LPT3 (базовый адрес 3BCh). При этом LPT3 используется в том случае, когда контроллер принтера находится на плате графического адаптера Hercules или EGA. Прерывания портов принтеров (IRQ5 для LPT2 и IRQ7 для LPT1) используются очень редко.

Базовый адрес порта используется для передачи принтеру байта данных. Установленные на линиях данные можно считать из этого же порта. Следующий адрес (базовый +1) служит для чтения битов состояния принтера (бит 3 соответствует сигналу nERROR, бит 4 - сигналу SELECT, бит 5 - сигналу PE, бит 6 - сигналу nACK, бит 7 - сигналу BUSY). Последний используемый адрес (базовый + 2) предназначается для записи битов управления принтером (бит 0 соответствует сигналу nSTROBE, бит 1 - сигналу nAUTOFEED, бит 2 - сигналу nINIT, бит 3 - сигналу nSELECTIN и наконец бит 4, равный единице, разрешает прерывание от принтера).

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

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

Алгоритм должен включать в себя.

  1. Подготовку устройства к работе(первое включение, настройка).

  2. Описание основного режима функционирования.

  3. Описание внештатных ситуаций и их обработку.

  4. Описание алгоритма работы с компьютерными системами верхнего уровня.

  5. Описание алгоритма работы с пользователем.