Аппаратные интерфейсы ПК. Энциклопедия - Михаил Гук
Шрифт:
Интервал:
Закладка:
9.1.1. Аппаратный интерфейс
Все сигналы интерфейса НГМД являются логическими с уровнями ТТЛ, активный уровень — низкий. Формирователи выходных сигналов накопителя имеют выход типа «открытый коллектор». Интерфейс подразумевает наличие терминаторов — нагрузочных резисторов — для каждой сигнальной линии устройства. Теоретически их предполагалось включать только на последнем дисководе в шлейфе, практически же их никогда и не отключают. Современные трехдюймовые накопители используют «распределенный терминатор» — резисторы с относительно высоким сопротивлением (1–1,5 кОм), постоянно соединяющие входные линии интерфейса с шиной +5 В. Низкие частоты интерфейсных сигналов позволяют не задумываться о точности согласования импеданса шлейфа и сопротивления терминатора. Однако если на шлейфе стоят только старые 5"-накопители со снятыми терминаторами, они могут отказаться надежно работать (выходные линии с открытым коллектором останутся без нагрузки).
Логически интерфейс довольно прост. Для того чтобы заставить накопитель работать, его нужно выбрать сигналом Drive Sel и запустить мотор шпинделя сигналом Motor On. Для выборки накопитель имеет четыре сигнала DS0…DS3, но отзывается только на один из них, определенный установкой джамперов. Выбранный накопитель воспринимает управляющие сигналы от контроллера и передает контроллеру свои выходные сигналы. О том, что накопитель выбран, свидетельствует светодиодный индикатор на его лицевой панели.
Для перемещения головок на один шаг контроллер должен подать импульс Step; направление перемещения определяется уровнем сигнала Direction: при низком уровне (сигнал активен) перемещение происходит в сторону центра диска (номер трека увеличивается). Нулевой трек контроллер находит, перемещая головки от центра до появления сигнала Track 00. Выбор номера головки производится сигналом Side 1. Начало трека накопитель отмечает импульсом Index, который вырабатывается при прохождении индексного отверстия вращающейся дискеты мимо датчика. Считываемые данные в закодированном (MFM) виде (но усиленные и сформированные в ТТЛ-сигнал) поступают от накопителя по линии Read Data. Для включения режима записи служит сигнал Write Gate, закодированные данные в цифровом виде поступают от контроллера по линии Write Data. Если установлена дискета, защищенная от записи, накопитель сообщит об этом сигналом Write Protect. Для снижения тока записи, которое требуется при работе накопителей HD с дискетами DD и QD, предназначен сигнал Reduce Write, его иное название — Low Current или FDHDIN. Для переключения головок на «вертикальную запись» (для дискет 2,88 Мбайт) служит сигнал FDEDIN. Оба эти сигнала вырабатываются контроллером, но для самого дисковода они дублируются сигналами от датчиков типа дискеты (сигнал FDEDIN необязателен, дисковод сам переключится по сигналу от датчика). Некоторые модели дисководов позволяют изменить описанный способ работы датчиков типа дискеты, принятый для PC-совместимых ПК, — они могут быть отключены или выполнять информирование контроллера. Однако практически все контроллеры сами управляют линиями интерфейса, соответствующими сигналам от этих датчиков. В этом управлении учитывается тип дисковода, описанный в CMOS Setup, и заказанный формат дискеты. Сигнал Reduce Write (низкий уровень) формируется контроллером при любом обращении к дисководу, описанному в CMOS как HD (High Density — высокая плотность, емкость 1,2 или 1,44 Мбайт), для работы с дискетами DD или QD (360 или 720 Кбайт). В некоторых контроллерах этот сигнал формировался, только когда контроллер настроен на скорость 300 Кбит/с (дискета 360/720 Кбайт в дисководе на 1,2 Мбайт). Такой контроллер может надежно форматировать и записывать дискеты 720 Кбайт в приводе на 1,44 Мбайт только при наличии правильно сконфигурированного датчика HD, иначе он все 3,5" дискеты будет записывать с высоким током записи, недопустимым для дискет QD.
Накопители HD при смене дискеты устанавливают сигнал Disk Changed, который сбрасывается после обращения к этому накопителю. Этот сигнал заслуживает особого внимания. Он имеется только у дисководов HD и ED (Extra High Density, малораспространенные дисководы на 2,88 Мбайт), причем способ использования этого контакта может определяться джамперами дисковода. В PC соответствующий джампер устанавливается в положение DC (Disk Change). Альтернативное использование этой линии — сигнализация готовности устройства, что может обозначаться как RY, RDY или SR, — для PC непригодно.
Заметим, что в интерфейсе нет никаких сигналов, прямо информирующих контроллер о готовности — наличии установленной дискеты. Контроллер может определить готовность, лишь выбрав накопитель и запустив мотор. Тогда отсутствие импульсов Index будет означать неготовность — нет дискеты или она не зафиксирована на шпинделе, или же не подключен дисковод (интерфейс или питание). Наличие дисковода контроллер может определить с помощью команды рекалибровки (см. ниже) — при ее выполнении дисковод должен подать сигнал Track00.
Все НГМД, применяемые в PC, независимо от типа и размера имеют одинаковый интерфейс и унифицированные 34-контактные разъемы двух типов: с печатными двусторонними ламелями у устройств 5" и двухрядными штырьковыми контактами у устройств 3,5". Используемый в PC кабель-шлейф имеет перевернутый фрагмент из 7 проводов с номерами 10–16 (рис. 9.1). Этот поворот позволяет подключать к контроллеру одним шлейфом до двух НГМД, причем адрес накопителя определяется его положением на шлейфе: для привода А: фрагмент перевернут, для В: — нет. Универсальный шлейф с пятью разъемами, изображенный на рисунке, позволяет подключать пару любых дисководов, которые должны располагаться в разных зонах шлейфа. Некоторые разъемы могут и отсутствовать, что сковывает свободу конфигурирования дисководов. В табл. 9.1 описан интерфейсный кабель с сигналами, приходящими на разные накопители. Направление сигналов (I/O — ввод-вывод) указано относительно контроллера.
Рис. 9.1. Кабель интерфейса НГМД
Таблица 9.1. Кабель интерфейса НГМД
Контроллер Дисковод В: Дисковод A: Контакт¹ Сигнал I/O Контакт¹ Сигнал Контакт¹ Сигнал 2 FDHDIN (Reduce Write) О 2 Low Current 2 Low Current 4 Резерв - 4 Резерв 4 Резерв 6 FDEDEIN - 6 FDEDIN (DS3) 6 FDEDIN (DS3) 8 Index I 8 Index 8 Index 10 Motor On A O 10 DS0 16 Motor² 12 Drive Sel 1 O 12 DS11 14 DS2 14 Drive Sel 0 О 14 DS2 12 DS11 16 Motor On В О 16 Motor² 10 DS0 18 Direction О 18 Direction 18 Direction 20 Step О 20 Step 20 Step 22 Write Data О 22 WData 22 Wdata 24 Write Gate О 24 WGate 24 Wgate 26 Track 00 I 26 TR 00 26 TR 00 28 Write Protect I 28 WProt 28 WProt 30 Read Data I 30 RData 30 Rdata 32 Side 1 O 32 Side 1 32 Side 1 34³ Disk Changed I 34³ DC 34³ DC¹ Нечетные контакты 1-33 — земля. Для дисководов 5" ключ между контактами 4–5 и 6–7.