КР1818ВГ93

КР1818ВГ93 — интегральная микросхема контроллера накопителя на гибких магнитных дисках (НГМД) производства СССР. Функциональный аналог микросхемы FD1793 компании Western Digital. Микросхема обеспечивает управление процессом обмена информацией между компьютером и НГМД, позволяет программно задавать размер и число секторов на дорожке, скорость перемещения магнитных головок. Поддерживаются одинарная и двойная плотность записи. Микросхема использовалась во многих советских и российских персональных компьютерах, начиная с середины 1980-х годов. Выпускалась заводами «Квазар» и «Квантор».

Описание 
Микросхема обеспечивает формирование управляющих сигналов для НГМД, преобразование данных из параллельного кода в последовательный и обратно, чтение и запись данных и индексной информации, контроль целостности информации по контрольной сумме. При записи на диск обеспечивается совместимость с двумя форматами: форматом системы подготовки данных IBM 3740 в режиме одинарной плотности (FM) и форматом  мини-компьютера IBM System/34 в режиме двойной плотности (MFM).

Скорость обмена с НГМД составляет 250 Кбит/с в режиме одинарной плотности и 500 Кбит/с в режиме двойной. В режиме записи формируются сигналы для управления внешней схемой предкомпенсации записи, необходимой для учёта нелинейности характеристик магнитных носителей. Для чтения требуется внешняя схема сепаратора данных. Поиск секторов на дорожке осуществляется по адресным меткам, которые должны быть предварительно записаны на НГМД в режиме разметки. Для контроля информации вычисляется контрольная сумма в виде двух байт с порождающим многочленом

Обмен информацией между компьютером и контроллером НГМД выполняется по 8-разрядной двунаправленной шине данных через 5 программно доступных внутренних регистров: регистр данных, регистр дорожки, регистр сектора, регистр команд и регистр состояния. Выбор требуемого регистра осуществляется с помощью 2-разрядной шины адреса. В таблице приведено соответствие значений разрядов адреса A1 и A0 выбираемым регистрам.

Синхронизация контроллера осуществляется от внешнего тактового генератора частотой 1 или 2 МГц (временные задержки приведены для частоты 2 МГц). Микросхема выпускалась по технологии N-МОП 6 мкм в 40-выводном корпусе DIP. Содержала 5600 интегральных элементов. Питание микросхемы осуществлялось от двух источников, напряжением 5 и 12 В.

Система команд 
Контроллер выполняет 11 команд четырех типов: вспомогательные, записи и чтения информации, записи и чтения индексных данных, принудительного прерывания. Завершение выполнения каждой команды сопровождается установкой сигнала INTRQ. В таблице приведена структура команд контроллера.

Значения флагов команд:
h — флаг установки магнитной головки в рабочее положение (при h = 0 головка поднята, при h = 1 установлена в рабочее положение)
V — флаг проверки номера дорожки (при V = 0 проверка не выполняется, при V = 1 выполняется перевод магнитной головки в рабочее положение, выдерживается пауза в 15 мс, проверяется сигнал HRDY и считывается первая найденная адресная метка. Если номер дорожки совпадает с заданным в регистре дорожки, проверка считается успешной, в противном случае устанавливается флаг ошибки в регистре сосотояния)
r1r0 — код скорости перемещения магнитной головки
u — флаг обновления регистра дорожки (при u = 0 обновление не выполняется, при u = 1 регистр дорожки обновляется при выдаче каждого шагового импульса)
m — флаг операции над несколькими секторами (при m = 0 после выполнения операции с сектором команда завершается, при m = 1 после выполнения операции к регистру сектора прибавляется 1 и операция повторяется до достижения последнего сектора на дорожке или выдачи команды принудительного прерывания)
S — флаг выбора стороны диска
E — флаг задержки установки магнитной головки в рабочее положение (при E = 0 задержка не выполняется, при E = 1 после выдачи сигнала HLD выполняется задержка в 15 мс)
C — флаг проверки стороны дорожки (при C = 0 проверка не выполняется, при C = 1 выполняется проверка номера стороны, считанного из адресной метки, со значением флага S)
a0 — флаг метки данных (при a0 = 0 перед данными сектора записывается метка «данные» в виде байта 0xFB, при a0 = 1 записывается метка «удалённые данные» в виде байта 0xF8). При операции чтения сектора тип метки данных помещается в регистр состояния
I3 — флаг условия прерывания (при I3 = 1 прерывание возникает при переходе контроллера из состояния «не готов» в состояние «готов»)
I2 — флаг условия прерывания (при I2 = 1 прерывание возникает при переходе контроллера из состояния «готов» в состояние «не готов»)
I1 — флаг условия прерывания (при I1 = 1 прерывание возникает при появлении сигнала индексного маркера IP)
I0 — флаг условия прерывания (при I0 = 1 прерывание возникает немедленно)

Применение 
На основе КР1818ВГ93 были построены контроллеры дисководов в компьютерах:
 Башкирия-2М
 ДВК
 Корвет
 Орель БК-08
 Орион-128
 Поиск
 Специалист
 Электроника МС 0515
 Электроника 85
 Электроника МС 1502
 Пентагон 128 и 256 (ZX Spectrum)

Также микросхема использовалась в советских и позже российских клонах ZX Spectrum в составе интерфейса Beta Disk, плате НГМД «Card-93» для компьютера «Агат», и модуле контроллера дисковода «Партнёр 01.51» компьютера «Партнёр-01.01».

Особенность микросхемы: Питание следовало подавать  последовательно 5 В ,а затем 12В. В противном случае микросхема моментально выходила из строя.

Ссылки 

Цифровые интегральные схемы
Микроконтроллеры
К1818