Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IPU_GOS_OK.doc
Скачиваний:
60
Добавлен:
12.03.2015
Размер:
2.27 Mб
Скачать

1. Связь ПК с принтером по интерфейсу Centronics. Управление работой принтера.

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

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

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

- информационные сигналы;

- сигналы управления передачей данных;

- сигналы состояния периферийного устройства;

- заземление и питание.

Стандартом предусматривается, что информационные сигналы и сигналы управления передачей данных формирует и выдает системное устройство (источник), а сигналы состояния – периферийное устройство (приемник).

Рассмотрим назначение сигналов интерфейса Centronics.

Информационные сигналы:

D0-D7 – 8-разрядные данные.

Сигналы управления передачей данных:

#STROBE – сигнал стробирования данных. Сигнал #STROBE низкого уровня сообщает приемнику, что данные источником выставлены, и их можно принимать.

#INIT – сигнал инициализации (сброса) периферийного устройства. Низкий уровень сигнала служит для установки регистров приемника в начальное состояние.

# SLCT IN – выбор. Сигнал сообщает приемнику, что он выбран и для него последует передача данных.

#AUTO FD – сигнал автоматического перевода строки. По этому сигналу печатающее устройство перемещает бумагу для печати на следующей строке.

Сигналы состояния периферийного устройства:

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

а) во время ввода данных;

б) во время печати;

в) в состоянии «ошибки»;

г) в автономном режиме и др.

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

#ACK – сигнал подтверждения принятия данных. Высокий уровень сигнала #ACK говорит о том, что приемник готов к приему данных. переход сигнала в ноль сообщает, что приемник принял предыдущие данные, но не готов принять новые.

SLCT – сигнал готовности приемника. Высокий уровень сигнала говорит о том, что приемник выбран и готов к приему данных.

#ERROR – сигнал ошибки приемника. Логический ноль означает ошибку в приемнике и требует прекращения передачи.

PE – сигнал конца бумаги. По этому сигналу источник прекращает передачу данных и переходит в состояние ожидания.

Обычно используются те или иные сигналы, в зависимости от назначения приемника. Для того чтобы обеспечить функционирование интерфейса, достаточно использовать только 8 бит данных (D0-D7), сигнал стробирования данных #STROBE, сигнал подтверждения #ACK и сигнал занятости приемника BUSY, либо сигнал готовности приемника SLCT.

Временные диаграммы сигналов при передаче информации по внешнему интерфейсу Centronics приведены на рис. 2.8. Интервалы Т1-Т7 определяются применяемыми в передатчике и приемнике типами микропроцессорных элементов. Приемник готов принять данные, когда (BUSY = 0) & (#ACK = 1). Только в этом случае передатчик, выставив данные D0-D7, выдает сигнал стробирования данных #STROBE.

Рис. 2.8. Временные диаграммы цикла передачи данных

по интерфейсу Centronics

2.3.2. Аппаратная реализация контроллера интерфейса Centronics.

Обменом информацией между ПК и периферийным параллельным устройством управляет контроллер внешнего параллельного интерфейса Centronics, который с одной стороны подключается к системному интерфейсу, а с другой – по интерфейсу Centronics к периферийному устройству. ПК может работать с тремя параллельными контроллерами, которые обозначаются как LPT-порты (Line PrinTer) и имеют логические адреса LPT1, LPT2 и LPT3.

Блок-схема контроллера интерфейса приведена на рис. 2.9. Структура контроллера представляет собой типичную регистровую структуру. Центральный процессор ПК может адресоваться к трем регистрам контроллера:

  • регистру данных;

  • регистру управления;

  • регистру состояния ПУ.

Адреса этих регистров для ПК имеют стандартные значения:

378h, 379h и 37Ah - для LPT1; 278h, 279h и 27Ah - для LPT2;

3ВСh, 3ВDh и 37Eh - для LPT3.

Рис.2.9. Структура контроллера интерфейса Centronics

Первые адреса называются базовыми адресами портов. Область данных BIOS содержит базовые адреса для каждого контроллера. Базовый адрес для LPT1 находится в ячейке 0040:0008, для LPT2 – 0040:000А, для LPT3 – 0040:000С. При инициализации ПК базовому адресу присваивается значение 0, когда соответствующий порт не установлен.

Управление передачей информации по интерфейсу организуется в соответствии с временными диаграммами работы интерфейса Centronics, приведенными на рис. 2.8. Через регистр данных CPU посылает код данных в параллельном формате в ПУ по линиям D0-D7 интерфейса Centronics. Код, выводимый на интерфейс, фиксируется в регистре чтения данных, и его можно прочитать для контроля передаваемых данных.

Регистр состояния ПУ содержит информацию о ПУ. Значения битов этого регистра приведены на рис. 2.10. CPU при передаче данных в ПУ опрашивает регистр состояния ПУ, чтобы определить момент, когда ПУ готово к приему, и можно посылать данные. Этот момент определяется соотношением сигналов BUSY (занято) и #ACK (подтверждение). Регистр состояния сообщает также, что произошла ошибка в работе ПУ или что ПУ не готово из-за отсутствия бумаги (при работе с принтером).

Рис.2.10. Формат регистра состояния LPT-порта

  • Бит В7 – инверсное отображение сигнала BUSY на линии интерфейса.

  • Бит В6 – отображение сигнала на линии #ACK.

  • Бит В5 – отображение сигнала на линии PE.

  • Бит В4 - отображение сигнала на линии SELECT.

  • Бит В3 - отображение сигнала на линии #ERROR.

  • Биты В2-В0 не используются.

Через регистр управления в ПУ передаются сигналы инициализации ПУ (#INIT), управления выводом данных (#STROBE), т другие сигналы управления. Семантика битов этого регистра приведена на рис. 2.11. Установкой бита В4 в единичное состояние CPU переводит контроллер интерфейса в режим передачи данных по прерыванию. В этом режиме, когда ПУ готово к приему очередного кода данных, контроллер интерфейса посылает запрос на прерывание. Однако передача данных в ПУ в режиме прерывания практически не используется.

Рис. 2.11. Формат регистра управления

Назначение битов регистра управления LPT – порта:

  • биты В7-В5 не используются;

  • бит В4 – единичное значение разрешает прерывание по спаду сигнала на линии #ACK – сигнал запроса следующего байта;.

  • бит В3 – “1” формирует низкий активный уровень сигнала #SLCT IN;

  • бит В2 – “0” формирует низкий активный уровень сигнала #INIT;

  • бит В1 – “1” формирует низкий активный уровень сигнала #AUTO FD;

  • бит В0 – “1” формирует низкий активный уровень сигнала #STROBE;

По стандарту определено два варианта физической реализации интерфейса Centronics. В ПК принято устанавливать 25-контактный разъем DB-25 или 36-контактный разъем. В таблице 2.1 приведены название и назначение сигналов LPT-порта, соответствующие интерфейсу Centronics с разъемом DB-25.

2. Этапы выполнения дисковых операций на примере операции «Чтение данных».

Последовательность этапов выполнения дисковых операций рассмотрим на примере операции «Чтение данных».

  1. Включение двигателя накопителя и короткое ожидание, пока он не наберет обороты.

  2. Позиционирование магнитной головки. При установке магнитной головки на заданную дорожку вырабатывается сигнал прерывания INT, поступающий на один из входов БИС контроллера прерываний (в ПЭВМ – на вход IR6).

  3. По заданному числу секторов определяется объем считываемой информации. Выполняется инициализация БИС контроллера ПДП ( в ПЭВМ – канала 2 этого контроллера) для пересылки в оперативную память.

  4. В накопитель выдается сигнал чтения. При прохождении заданного сектора под магнитной головкой контроллер считывает данные с дискеты, преобразует их и посылает байт за байтом в память в режиме ПДП. По окончании пересылки данных БИС КНГМД снова вырабатывает сигнал прерывания INT, указывая на завершение этого этапа.

  5. Центральный процессор читает содержимое регистров состояния STO-ST3, анализируя правильность выполнения операции. При наличии ошибок выдается соответствующее сообщение.

  6. Выключение двигателя.

3. Контроллер fdd. Назначение узлов и регистров контроллера.

Накопителями на гибких магнитных дисках (FDD) управляют контроллеры FDD. Непосредственно накопитель – это дискета, устанавливаемая в блок накопителя, электроника которого состоит из трех узлов: система привода (схема запуска двигателя), схема позиционирования магнитной головки, схема записи-считывания.

Контроллеры управляют накопителями по командам, каждая из которых загружается в контроллер многобайтовой пересылкой из центрального процессора. Команда содержит код операции и атрибуты (информацию, необходимую для ее выполнения). В состав атрибутов входят: номер дорожки, номер головки, номер сектора, длина сектора и др. параметры. Выполнение команды происходит за три фазы. В фазе «Ввод команды» контроллер получает от CPU всю информацию необходимую для выполнения команды. Это код команды и ее атрибуты. В фазе «Выполнение команды» контроллер выполняет заданную командой операцию с накопителем. В фазе «Фаза результата» CPU получает от контроллера информацию о состояниях контроллера и дисковода, определяющих параметры процесса выполнения команды. Фазы выполняются автоматически друг за другом.

Передача данных ведется в режиме ПДП. При этом в ПК один канал контроллера ПДП i8237А используется при работе с контроллером FDD, другой – для работы с контроллером НDD. В современных ПК при работе с накопителем НDD обмен данными с накопителем может быть организован и в режиме программного ввода-вывода. По завершении операции с накопителем и при возникновении условий, требующих вмешательства центрального процессора, генерируется сигнал прерывания.

Основным элементом контроллера FDD является БИС управления, в качестве которой в первых разработках ПК применялась БИС NEC PD765 (собственно контроллер накопителя на гибком магнитном диске (КНГМД)), которая является аналогом БИС К580ВГ72. БИС КНГМД функционально подчинена центральному процессору, от которого получает команды на выполнение операций. В соответствии с командами она управляет работой контроллера накопителя и сам накопителем.

Доступ к контроллеру FDD осуществляется центральным процессором через три порта ввода-вывода. Два порта – регистр данных (RIO) и регистр статуса (RS) находятся в БИС КНГМД. Адреса этих регистров в адресном пространстве ввода-вывода ПК соответственно 3F5h и 3F4h. Регистр RIO предназначен для обмена данными между контроллером накопителя и ПК и для обмена служебной информацией. В этот регистр загружается команда и поступает информация о состоянии контроллера, накопителя и о возникающих при выполнении операции ошибках. Указанная информация читается из регистров состояния STO-ST3 БИС КНГМД по окончании выполнения операции. Регистр RS КНГМД – основной регистр статуса, определяющий состояние контроллера. Его содержимое центральный процессор может прочитать в любое время работы.

Третий порт контроллера FDD – цифровой порт управления (регистр цифрового вывода (DOR) – адрес регистра 3F2h) предназначен для формирования общих сигналов управления накопителем (выбора накопителя и запуска двигателя накопителя). Кроме того, состояние бита 3 этого регистра управляет разрешением работы контроллера в режиме прерывания.

Отметим основные функции БИС КНГМД.

  1. Прием данных из ПЭВМ, преобразование параллельного кода данных в последовательный, кодирование последовательности данных MFM-методом, вывод данных (DO).

  2. Прием данных из накопителя (DI), отделение информационных импульсов от импульсов синхронизации, преобразование последовательного кода в параллельный, вывод данных в ПЭВМ.

  3. Анализ сигналов состояния, поступающих от накопителя (индекс, дорожка 0, запись запрещена).

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

  5. Формирование и выдача в ПЭВМ сигналов запроса прерывания и запроса ПДП.

В контроллере накопителя для синхронизации работы схем контроллера с работой вращающегося накопителя используется тактовый генератор (ГТИ), формирующий синхроимпульсы WR CLK (рис 3.13). При скорости вращения НГМД 360 об/мин и кодировании MFM частота тактовых импульсов равна 1 МГц. Блок базовой подстройки частоты предназначен для формирования сигналов DW, с помощью которых в БИС КНГМД информационные импульсы отделяются от синхроимпульсов.

Операции БИС КНГМД. Эта БИС может выполнять 15 различных операций – запись данных, чтение данных, форматирование дорожек, чтение состояния и др. Выполнение операций производится за 3 фазы: командную, выполнения и результата. В командной фазе контроллер получает от центрального процессора всю информацию, необходимую для выполнения операции (код операции и ее атрибуты – номера накопителя, магнитной головки, дорожки, сектора). В фазе выполнения контроллер выполняет действия, заданные командой. По ее окончании выполняется фаза результата. В этой фазе формируется содержимое регистров состояния STO-ST3. Центральный процессор считывает содержимое этих регистров, получая информацию об условиях, при которых заканчивается выполнение операции.

Последовательность этапов выполнения дисковых операций рассмотрим на примере операции «Чтение данных».

  1. Включение двигателя накопителя и короткое ожидание, пока он не наберет обороты.

  2. Позиционирование магнитной головки. При установке магнитной головки на заданную дорожку вырабатывается сигнал прерывания INT, поступающий на один из входов БИС контроллера прерываний (в ПЭВМ – на вход IR6).

  3. По заданному числу секторов определяется объем считываемой информации. Выполняется инициализация БИС контроллера ПДП ( в ПЭВМ – канала 2 этого контроллера) для пересылки в оперативную память.

  4. В накопитель выдается сигнал чтения. При прохождении заданного сектора под магнитной головкой контроллер считывает данные с дискеты, преобразует их и посылает байт за байтом в память в режиме ПДП. По окончании пересылки данных БИС КНГМД снова вырабатывает сигнал прерывания INT, указывая на завершение этого этапа.

  5. Центральный процессор читает содержимое регистров состояния STO-ST3, анализируя правильность выполнения операции. При наличии ошибок выдается соответствующее сообщение.

  6. Выключение двигателя.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]