Аппаратные интерфейсы ПК. Энциклопедия
Шрифт:
9.1. Интерфейс НГМД
Накопители на гибких магнитных дисках (НГМД) подключаются к контроллеру через специальный стандартный интерфейс. Основные функции по управлению НГМД, а также кодирование-декодирование данных выполняет контроллер, расположенный на большинстве современных системных плат. Раньше контроллер часто выносили на специальную карту расширения («в компании» с интерфейсом НЖМД). На плате электроники, установленной на корпусе НГМД, расположены только схемы приводов двигателей, усилители-формирователи сигналов записи и считывания и формирователи сигналов от датчиков.
9.1.1. Аппаратный интерфейс
Все сигналы интерфейса НГМД являются логическими с уровнями ТТЛ, активный уровень — низкий. Формирователи выходных сигналов накопителя имеют выход типа «открытый коллектор». Интерфейс подразумевает наличие терминаторов — нагрузочных резисторов — для каждой сигнальной линии устройства. Теоретически их предполагалось включать только на последнем дисководе в шлейфе, практически же их никогда и не отключают. Современные трехдюймовые накопители используют «распределенный терминатор» — резисторы с относительно высоким сопротивлением (1–1,5 кОм), постоянно соединяющие входные линии интерфейса с шиной +5 В. Низкие частоты интерфейсных сигналов позволяют не задумываться о точности согласования импеданса шлейфа и сопротивления терминатора. Однако если на шлейфе стоят
Логически интерфейс довольно прост. Для того чтобы заставить накопитель работать, его нужно выбрать сигналом
Для перемещения головок на один шаг контроллер должен подать импульс
Накопители HD при смене дискеты устанавливают сигнал
Заметим, что в интерфейсе нет никаких сигналов, прямо информирующих контроллер о готовности — наличии установленной дискеты. Контроллер может определить готовность, лишь выбрав накопитель и запустив мотор. Тогда отсутствие импульсов Index будет означать неготовность — нет дискеты или она не зафиксирована на шпинделе, или же не подключен дисковод (интерфейс или питание). Наличие дисковода контроллер может определить с помощью команды рекалибровки (см. ниже) — при ее выполнении дисковод должен подать сигнал
Все НГМД, применяемые в 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.
² Пара сигналов, обеспечивающая выборку FDD (Motor On А и Drive Sel 0 для дисковода А: и Motor On В и Drive Sel 1 для дисковода В:).
³ Контакт 34 в XT не используется.
Контроллер НГМД и интерфейсный кабель, принятый в PC, позволяют адресоваться к одному из двух накопителей и включать мотор сигналами
9.1.2. Контроллер НГМД
Программное взаимодействие с НГМД производится через контроллер накопителей на гибких дисках FDC (Floppy Drive Controller), как правило, при участии контроллера DMA и прерываний. Программирование контроллера НГМД для выполнения операций с дискетами — довольно хлопотное занятие (см. [4, 8, 9]). Все функции, необходимые для использования НГМД в качестве устройств хранения данных, реализованы сервисами BIOS
Все контроллеры, применяемые в IBM PC, обеспечивают совместимость с «исторической» микросхемой контроллера NEC PD765, которая является аналогом i8272. Контроллер FDC АТ поддерживает два накопителя; он позволяет работать со скоростями передачи данных 250 Кбит/с (для работы с дискетами SD, DD и QD в старых дисководах 5"), 500 Кбит/с для плотности HD (1,2 и 1,44 Мбайт), а также 300 Кбит/с для работы с дискетами SD, DD и QD в приводах HD 5". Современные контроллеры, поддерживающие накопители ED (2,88 Мбайт), должны обеспечивать и скорость 1000 Кбит/с. Режимы контроллеров, соответствующие скоростям 250/300, 500 и 1000 Кбит/с, обозначаются соответственно 1М, 2М и 4М. В режиме 1М на одном треке умещается 9 секторов (по 512 байт); для этого при частоте вращения 300 об/мин требуется скорость 250 Кбит/с, а при 360 об/мин — 300 Кбит/с. В режиме 2М при частоте вращения 300 об/мин (у дисководов HD 3,5") на одном треке умещается 18 секторов, а при частоте вращения 360 об/мин (у дисководов HD 5") — 15 секторов. Режим 4М, похоже, так и останется невостребованным. Выбор скорости задает частоту синхронизации при записи и форматировании, а также настраивает цепи ФАПЧ сепаратора данных контроллера. Сепаратор данных способен устойчиво выделять данные и синхросигнал из сигнала, принятого с головки, лишь при небольших (порядка ±10%) отклонениях скорости от номинала, поэтому скорость должна быть правильно выбрана для всех операций обмена данными с диском.