Контроллер флоппи-диск ( FDC ) представляет собой чип специального назначения и связанный контроллер диска схема , которая направляет и контролирует чтение и запись компьютер дисковода гибких дисков (FDD). Эта статья содержит общие концепции для FDC на базе NEC µPD765 и Intel 8272A или 82072A и их потомков, которые использовались в IBM PC и совместимых с 1980-х и 1990-х годах. Эти концепции могут быть, а могут и не быть применимыми или иллюстративными для других контроллеров или архитектур.
Обзор [ править ]
Одна плата контроллера гибких дисков (FDC) может поддерживать до четырех дисководов гибких дисков . Контроллер связан с системной шиной компьютера и отображается как набор портов ввода- вывода для ЦП . Часто он также подключается к каналу контроллера DMA . На ПК x86 контроллер гибких дисков использует IRQ 6, в других системах могут использоваться другие схемы прерывания . Контроллер гибких дисков обычно выполняет передачу данных в режиме прямого доступа к памяти (DMA).
На схеме ниже показан контроллер гибких дисков, который взаимодействует с ЦП через шину стандартной архитектуры (ISA) или аналогичную шину и взаимодействует с дисководом гибких дисков с помощью 34-контактного ленточного кабеля. Альтернативная компоновка, более обычная в последних разработках, включает FDC, включенный в микросхему Super I / O , которая обменивается данными через шину Low Pin Count (LPC).
Большинство функций контроллера гибких дисков (FDC) выполняются интегральной схемой, но некоторые выполняются внешними аппаратными схемами. Список функций, выполняемых каждым из них, приведен ниже.
Функции контроллера гибких дисков (FDC) [ править ]
- Переводите биты данных в форматы FM , MFM , M²FM или GCR , чтобы иметь возможность их записывать
- Интерпретировать и выполнять такие команды, как поиск, чтение, запись, форматирование и т. Д.
- Обнаружение ошибок с генерацией и проверкой контрольных сумм , например CRC
- Синхронизация данных с фазовой автоподстройкой частоты (ФАПЧ)
Внешние аппаратные функции [ править ]
- Выбор дисковода гибких дисков (FDD)
- Включение двигателя дисковода гибких дисков.
- Сигнал сброса для IC контроллера гибких дисков
- Включение / отключение сигналов прерывания и DMA в контроллере гибких дисков (FDC)
- Логика разделения данных
- Запишите логику предварительной компенсации
- Линейные драйверы для сигналов к контроллеру
- Линейные приемники сигналов от контроллера
Порты ввода / вывода для обычного контроллера x86-PC [ править ]
FDC имеет три порта ввода- вывода. Это:
- Порт данных
- Регистр основного статуса (MSR)
- Порт цифрового управления
Первые два находятся внутри FDC IC, а порт управления находится во внешнем оборудовании. Адреса этих трех портов следующие.
Адрес порта [шестнадцатеричный] | Имя порта | Место расположения | Тип порта |
---|---|---|---|
3F5 | Порт данных | Двунаправленный ввод / вывод | |
3F4 | Регистр основного статуса | FDC IC | Вход |
3F2 | Порт цифрового управления | Внешнее оборудование | Выход |
Порт данных [ править ]
Этот порт используется программным обеспечением для трех разных целей:
- При подаче команды на FDC IC байты команд и командных параметров выдаются на FDC IC через этот порт. FDC IC хранит различные параметры и команды во внутренних регистрах.
- После выполнения команды FDC IC сохраняет набор параметров состояния во внутренних регистрах. Они считываются ЦП через этот порт. Различные байты состояния представляются FDC IC в определенной последовательности.
- В режиме программирования и прерывания передачи данных порт данных используется для передачи данных между FDC IC и инструкцией CPU IN или OUT.
Регистр основного статуса (MSR) [ править ]
Этот порт используется программным обеспечением для чтения общей информации о состоянии, касающейся FDC IC и FDD. Перед запуском операции с дискетой программное обеспечение считывает этот порт, чтобы подтвердить состояние готовности FDC и дисководов для проверки состояния ранее инициированной команды. Различные биты этого регистра представляют:
Кусочек | Представление |
---|---|
0 | FDD 0: занято в режиме поиска |
1 | FDD 1: занято в режиме поиска |
2 | FDD 2: занято в режиме поиска |
3 | FDD 3: занято в режиме поиска |
4 | FDC Занят; Выполняется команда чтения / записи |
5 | Режим без DMA |
6 | ДИО; Указывает направление передачи данных между FDC IC и CPU |
7 | MQR; Указывает, что регистр данных готов к передаче данных |
Пояснения | |
---|---|
MQR | 1 = регистр данных готов, 0 = регистр данных не готов |
DIO | 1 = контроллер имеет данные для ЦП, 0 = контроллер ожидает данные от ЦП |
Без прямого доступа к памяти | 1 = Контроллер не в режиме DMA, 0 = Контроллер в режиме DMA |
FDC Занят | 1 = занято, 0 = не занято |
ФДД 0,1,2,3 | 1 = работает, 0 = не работает |
Порт цифрового управления [ править ]
Этот порт используется программным обеспечением для управления определенными функциями FDD и FDC IC. Назначения битов этого порта:
Кусочек | Представление |
---|---|
0 и 1 | Номер устройства для выбора |
2 | СБРОС FDC IC (низкий) |
3 | Включить сигналы прерывания FDC и запроса DMA |
От 4 до 7 | Включите двигатель в дисководе 0, 1, 2 или 3 соответственно. |
Интерфейс к дисководу гибких дисков [ править ]
Контроллер подключается к диску с помощью плоского ленточного кабеля с 34 разъемами, разделенными между хостом, 3,5-дюймовым и 5,25-дюймовым дисками. Этот тип кабеля называется универсальным разъемом. [1] В семействе IBM PC и его совместимых устройствах скрученный кабель используется для распознавания дисководов по разъему, к которому они подключены. Все приводы устанавливаются с одним и тем же набором адресов выбора привода, и изгиб кабеля меняет местами линию выбора привода в розетке. В приводе, который находится на самом дальнем конце кабеля, дополнительно должен быть установлен согласующий резистор для поддержания качества сигнала. [2]
№ контакта | Название сигнала | Описание |
2 | / REDWC | Выбор плотности 1 = низкая / 0 = высокая |
4 | N / C | Зарезервированный |
6 | N / C | Зарезервированный |
8 | /ИНДЕКС | 0 = индекс |
10 | / MOTEA | 0 = включение двигателя, привод 0 |
12 | / DRVSB | Выбор диска 1 |
14 | / DRVSA | Выбор диска 0 |
16 | / MOTEB | 0 = включение двигателя, привод 1 |
18 | / DIR | 0 = выбор направления |
20 | /ШАГ | 0 = Шаг головы |
22 | / WDATA | Запись данных |
24 | / WGATE | Разрешение записи на дискету, 0 = шлюз записи |
26 | / TRK00 | 0 = дорожка 00 |
28 | / WPT | 0 = защита от записи |
30 | / RDATA | Прочитать данные |
32 | / SIDE1 | 1 = Сторона 0/0 = Сторона 1 |
34 | / ДСКЧГ | 1 = смена диска / 0 = готов |
Нечетные контакты с 1 по 33 заземлены |
| Контроллер | Привод А | Привод B | Описание |
Провод 1-9 | 1-9 | 1-9 | 1-9 | Без изменений |
Провод 10 | 10 | 16 | 10 | Разрешение двигателя, привод 0/1 |
Провод 11 | 11 | 15 | 11 | Земля, без изменений |
Провод 12 | 12 | 14 | 12 | Выбор привода 0/1 |
Провод 13 | 13 | 13 | 13 | Земля, без изменений |
Провод 14 | 14 | 12 | 14 | Выбор привода 0/1 |
Провод 15 | 15 | 11 | 15 | Земля, без изменений |
Провод 16 | 16 | 10 | 16 | Разрешение двигателя, привод 0/1 |
Провод 17-34 | 17-34 | 17-34 | 17-34 | Без изменений |
- Дальнейшее описание интерфейсных сигналов содержится в спецификациях контроллеров или приводов. [3]
Форматировать данные [ редактировать ]
Возможны многие взаимно несовместимые форматы гибких дисков; Помимо физического формата на диске, также возможны несовместимые файловые системы.
Водить машину | Формат | Емкость | Скорость передачи [ кбит / с ] | Об / мин | Треки | TPI | Комментарий |
---|---|---|---|---|---|---|---|
8-дюймовый SD | 8-дюймовый SD | 80 КБ | 33,333 | 360 | 32 | 48 | Только на старых контроллерах. [4] |
5,25-дюймовый SD | 5,25-дюймовый SD | 160 КБ | 125 | 40 | Только на старых контроллерах. | ||
5,25-дюймовый SSDD | 5,25-дюймовый SSDD | 171 КБ | 250–308 | 300 | 35 год | 48 [5] | Только на C1541 совместимых. |
5,25-дюймовый SD | 5,25-дюймовый SD | 180 КБ | 150 | 40 | Только на старых контроллерах. | ||
5,25-дюймовый DD | 5,25-дюймовый DD | 320/360/400 КБ | 250 | 300 | 40 | 48 | [6] 8/9/10 512-байтовых секторов соответственно. |
5,25-дюймовый DD (96 т / д) | 5,25-дюймовый QD (2DD) | 800 КБ | 250 | 300 | 80 | 96 | [3] |
5,25-дюймовый HD | 5,25-дюймовый DD | 360 КБ | 300 | 360 | 40 | 48 | [7] [8] |
5,25 дюйма HD | 5,25 дюйма HD | 1200 КБ | 500 | 360 | 80 | 96 | До 83 треков. Другой ток смещения. [7] [8] |
5,25 дюйма HD | 5,25 дюйма HD | 720 КБ | 300 | 360 | 80 | До 83 треков. [6] | |
3,5 дюйма DD | 3,5 дюйма DD | 720 КБ | 250 | 300 | 80 | 135 | До 83 треков. [6] [9] |
3,5 дюйма DD | 3,5 дюйма DD | 800 КБ | 394–590 | 80 | Используется Apple Macintosh . [10] | ||
3,5 дюйма DD | 3,5 дюйма DD | 800 КБ | 250 | 300 | 80 | Используется Commodore 1581 . | |
3,5 дюйма DD | 3,5 дюйма DD | 880 КБ | 250 | 300 | 80 | До 83 треков. Используется компьютерами Amiga . | |
3,5 дюйма DD | 3,5 дюйма DD | 360 КБ | 250 | 300 | 40 | [6] | |
3,5 дюйма HD | 3,5 дюйма DD | 720 КБ | 250 | 300 | 80 | До 83 треков. [6] | |
3,5 дюйма HD | 3,5 дюйма HD | 1440 КБ | 500 | 300 | 80 | 135 | До 83 треков. [6] [11] |
3,5 дюйма HD | 3,5 дюйма HD | 1760 КБ | 250 | 150 | 80 | Используется компьютерами Amiga . | |
3,5 дюйма ED | 3,5 дюйма ED | 2880 КБ | 1000 | 300 | 80 | 135 | До 83 треков. [9] [12] |
[13]
Стороны:
- SS (или 1S) - односторонний
- DS (или 2S) - двусторонний
Плотность:
- SD (или 1D) - одинарная плотность ( FM )
- DD (или 2D) - двойная плотность (чаще всего MFM )
- QD (или 4D) - четверная плотность
- HD - высокая плотность
- ED - сверхвысокая плотность
- TD - тройная плотность
"3-режимный" дисковод гибких дисков [ править ]
В основном в Японии существуют 3,5-дюймовые дисководы для гибких дисков высокой плотности, которые поддерживают три режима форматов дисков вместо обычных двух - 1440 КБ (2 МБ неформатированных), 1,2 МБ (1,6 МБ неформатированных) и 720 КБ (1 МБ неформатированных). , режим высокой плотности для 3,5-дюймовых дисководов гибких дисков в Японии поддерживал только емкость 1,2 МБ вместо 1440 КБ, которая использовалась где-либо еще. [14] В то время как более распространенный формат 1440 КБ вращался со скоростью 300 об / мин, формат 1,2 МБ вместо этого вращался со скоростью 360 об / мин, что очень похоже на формат 1,2 МБ с 15 секторами на дорожку, ранее использовавшийся на 5,25-дюймовых гибких дисках с высокой плотностью. В дисководы гибких дисков включена поддержка обоих форматов высокой плотности (а также формата двойной плотности), отсюда и название 3-mode. Некоторые BIOS имеют параметр конфигурации, позволяющий включить этот режим для дисководов гибких дисков, которые его поддерживают. [15]
См. Также [ править ]
- Список форматов гибких дисков
- Western Digital FD1771
- Интегрированная машина Воза (IWM)
- Паула (контроллер Amiga)
Ссылки [ править ]
- ↑ Дэвис, Ларри (13 июня 2015 г.). «Распиновка дисковода гибких дисков, названия сигналов, описание выводов и разводка кабеля» . www.interfacebus.com . Проверено 29 января 2019 .
- ^ Скотт Мюллер, Обновление и ремонт ПК, второе издание , Que, 1992, ISBN 0-88022-856-3 , стр. 487
- ^ a b «Технические характеристики односторонних и двусторонних дисководов серии TM100 5 1/4 дюйма, 48, 96 и 100 дорожек на дюйм» (PDF) . Дата обращения 5 ноября 2014 .
- ^ hypertextbook.com - Угловая скорость гибкого диска
- ^ "C 64 Workshop / C = 8 бит и периферия" . 19 мая 1998 . Проверено 18 апреля 2016 года .
- ^ a b c d e f "unifr.ch - sys / src / kernel / floppy.c" . Архивировано из оригинального 19 июля 2011 года . Дата обращения 5 мая 2011 .
- ^ a b iesleonardo.info - Это руководство по работе с дискетами содержит техническую информацию о дискетах.
- ^ a b oldskool.org - Пусть диски HD 5,25 "FDD работают со скоростью 300 об / мин вместо 360 об / мин.
- ^ a b intel.com - Intel 82077SL для сверхплотных дискет, архивирование 8 октября 2012 г. на Wayback Machine
- ↑ Джонсон, Герберт Р. (22 декабря 2016 г.). «Техническая информация о дисководе гибких дисков» . Проверено 14 января 2017 года .
- ^ yi.org - Гибкие диски высокой плотности Mf2hd Disk 3 5 1 Pk [ постоянная мертвая ссылка ]
- ^ mcamafia.de - IBM Personal system / 2, 3,5-дюймовые дисководы для дискет, Технический справочник
- ^ "Linux-2.6.17 / drivers / block / floppy.c" .[ постоянная мертвая ссылка ] 090504 gelato.unsw.edu.au
- ^ books.google.com - Почини свой компьютер, Кори Сэндлер
- ^ rojakpot.com - поддержка трехрежимных дискет
- де Бойн Поллар, Джонатан (2003). «Не бывает 3,5-дюймовых гибких дисков» . Часто задаваемые ответы .
- ISO / IEC 8860-1: 1987 Двойная плотность (DD)
- ISO / IEC 9529-1: 1989 Высокая плотность (HD)
- ISO 10994-1: 1992 Сверхвысокая плотность (ED)
- ECMA-147
Дальнейшее чтение [ править ]
- NEC µPD72070 - Спецификация контроллера гибких дисков, версия 2.0 (PDF) . 2.0 предварительная. Корпорация NEC . Октябрь 1991. Архивировано из оригинала (PDF) 20 марта 2017 года . Проверено 20 марта 2017 года .
- Шах, Катен А. (1996) [сентябрь 1992 г., апрель 1992 г.]. Intel 82077SL для сверхплотных дискет (PDF) (Примечание по применению) (2-е изд.). Корпорация Intel , IMD Marketing. АП-358, 292093-002. Архивировано из оригинального (PDF) 19 июня 2017 года . Проверено 19 июня 2017 .
Внешние ссылки [ править ]
- viralpatel.net Учебное пособие по программированию контроллера гибких дисков
- isdaman.com Программирование контроллеров гибких дисков