Контролер НГМД
Контролер накопичувача на гнучких дисках (НГМД) (англ. Floppy-disk controller, FDC) — спеціальна мікросхема і пов'язана з нею схема, що реалізує функції керування і доступу для дисковода гнучких дисків.
Однією з перших інтегральних схем контролерів був FD1771[1] від компанії Western Digital. У СРСР дану мікросхему було клоновано як КР1818ВГ93.
Через широке розповсюдження комп'ютерів IBM PC і сумісних з ними, загальновживаними стали дискові контролери на базі мікросхем NEC µPD765 і Intel 8272A. У НДР на підприємстві VEB Kombinat Mikroelektronik Erfurt[de] випускався аналог контролера від Intel — мікросхема U8272[2].
Одна плата контролера дисководів гнучких дисків комп'ютера IBM PC підтримує під'єднання до чотирьох дисководів. Плата контролера вставляється у роз'єм ISA, таким чином з'єднуючись зі системною шиною комп'ютера і з деякими лініями керування (такими, як сигнали керування прямим доступом до пам'яті, або входом контролера переривань — у IBM PC це переривання IRQ 6).
З кінця 1990-х — початку 2000-х років у IBM PC сумісних комп'ютерах все частіше почали відмовлятися від шини ISA. За її відсутності контролер дисковода (зазвичай частина мікросхеми Super I/O) з'єднується з процесором через шину LPC.
Більшість функцій контролера виконується інтегральною схемою (середнього або високого ступеню інтеграції), деякі інші функції, описані нижче, реалізуються допоміжними цифровими і аналоговими схемами.
- Перетворення бітів даних у частотну модуляцію, модифіковану частотну модуляцію, модифіковану MFM, або group coded recording[en] (для здійснення запису), і навпаки (для читання з диска)
- Інтерпретація команд, таких як читання і запис сектора, позиціонування голівки, форматування доріжки і інші
- Виявлення помилок (наприклад, за допомогою контрольних сум, таких як циклічний надлишковий код, CRC)
- Синхронізація даних з фазовим автопідлаштуванням частоти (PLL)
- Вибір дисковода
- Вмикання і вимикання двигуна дисковода
- Обробка сигналів скидання (англ. reset)
- Дозвіл і заборона переривань і DMA контролера
- Data separation logic[уточнити]
- Write precompensation[en]
- Лінійні драйвери
Адресація контролера у IBM PC здійснюється за допомогою наступних портів вводу/виводу:
- Порт даних: адреса 0x3F5, двонаправлений.
- Регістр статусу (англ. Main Status Register, MSR): адреса 0x3F4, напрямок: від контролера до процесора (input). Реалізований у мікросхемі контролера.
- Регістр керування (цифровий): адреса 0x3F2, напрямок: від процесора до контролера (output). Реалізований на мікросхемах дрібної логіки.
- ↑ Western Digital FD1771 datasheet (PDF). Архів оригіналу (PDF) за 12 січня 2019. Процитовано 11 січня 2019.
- ↑ Schaltkreis U8272 (нім.). Архів оригіналу за 20 лютого 2022. Процитовано 1 квітня 2022.