КР1818ВГ93
КР1818ВГ93 — интегральная микросхема контроллера накопителя на гибких магнитных дисках (НГМД) производства СССР[1]. Функциональный аналог микросхемы FD1793 компании Western Digital[2]. Микросхема обеспечивает управление процессом обмена информацией между компьютером и НГМД, позволяет программно задавать размер и число секторов на дорожке, скорость перемещения магнитных головок. Поддерживаются одинарная и двойная плотность записи. Микросхема использовалась во многих советских и российских персональных компьютерах, начиная с середины 1980-х годов. Выпускалась заводами «Квазар» и «Квантор».
Описание
Микросхема обеспечивает формирование управляющих сигналов для НГМД, преобразование данных из параллельного кода в последовательный и обратно, чтение и запись данных и индексной информации, контроль целостности информации по контрольной сумме. При записи на диск обеспечивается совместимость с двумя форматами: форматом системы подготовки данных IBM 3740 в режиме одинарной плотности (FM) и форматом мини-компьютера IBM System/34 в режиме двойной плотности (MFM)[3].
Скорость обмена с НГМД составляет 250 Кбит/с в режиме одинарной плотности и 500 Кбит/с в режиме двойной. В режиме записи формируются сигналы для управления внешней схемой предкомпенсации записи, необходимой для учёта нелинейности характеристик магнитных носителей. Для чтения требуется внешняя схема сепаратора данных[4]. Поиск секторов на дорожке осуществляется по адресным меткам, которые должны быть предварительно записаны на НГМД в режиме разметки. Для контроля информации вычисляется контрольная сумма в виде двух байт с порождающим многочленом
Обмен информацией между компьютером и контроллером НГМД выполняется по 8-разрядной двунаправленной шине данных через 5 программно доступных внутренних регистров: регистр данных, регистр дорожки, регистр сектора, регистр команд и регистр состояния. Выбор требуемого регистра осуществляется с помощью 2-разрядной шины адреса. В таблице приведено соответствие значений разрядов адреса A1 и A0 выбираемым регистрам.
A1 | A0 | Чтение | Запись |
---|---|---|---|
0 | 0 | Регистр состояния | Регистр команд |
0 | 1 | Регистр дорожки | Регистр дорожки |
1 | 0 | Регистр сектора | Регистр сектора |
1 | 1 | Регистр данных | Регистр данных |
Синхронизация контроллера осуществляется от внешнего тактового генератора частотой 1 или 2 МГц (временные задержки приведены для частоты 2 МГц). Микросхема выпускалась по технологии N-МОП 6 мкм[5] в 40-выводном корпусе DIP. Содержала 5600 интегральных элементов[6]. Питание микросхемы осуществлялось от двух источников, напряжением 5 и 12 В.
Система команд
Контроллер выполняет 11 команд четырех типов: вспомогательные, записи и чтения информации, записи и чтения индексных данных, принудительного прерывания. Завершение выполнения каждой команды сопровождается установкой сигнала INTRQ. В таблице приведена структура команд контроллера.
Тип | Команда | Номера бит | |||||||
---|---|---|---|---|---|---|---|---|---|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
I | Восстановление | 0 | 0 | 0 | 0 | h | V | r1 | r0 |
I | Поиск | 0 | 0 | 0 | 1 | h | V | r1 | r0 |
I | Шаг | 0 | 0 | 1 | u | h | V | r1 | r0 |
I | Шаг вперед | 0 | 1 | 0 | u | h | V | r1 | r0 |
I | Шаг назад | 0 | 1 | 1 | u | h | V | r1 | r0 |
II | Чтение сектора | 1 | 0 | 0 | m | S | E | C | 0 |
II | Запись сектора | 1 | 0 | 1 | m | S | E | C | a0 |
III | Чтение адреса | 1 | 1 | 0 | 0 | 0 | E | 0 | 0 |
III | Чтение дорожки | 1 | 1 | 1 | 0 | 0 | E | 0 | 0 |
III | Запись дорожки | 1 | 1 | 1 | 1 | 0 | E | 0 | 0 |
IV | Принудительное прерывание | 1 | 1 | 0 | 1 | I3 | I2 | I1 | I0 |
Значения флагов команд:
- 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М
- ДВК
- Корвет[7]
- Орель БК-08
- Орион-128
- Поиск
- Специалист
- Электроника МС 0515
- Электроника 85
- Электроника МС 1502
- Пентагон 128 и 256 (ZX Spectrum)
Также микросхема использовалась в советских и позже российских клонах ZX Spectrum в составе интерфейса Beta Disk, плате НГМД «Card-93» для компьютера «Агат»[8], и модуле контроллера дисковода «Партнёр 01.51» компьютера «Партнёр-01.01»[9].
Особенность микросхемы: Питание следовало подавать последовательно 5 В ,а затем 12В. В противном случае микросхема моментально выходила из строя.
Ссылки
- ↑ Коваленко В.А., Олейник А.В., Пархоменко Л.П., Солдатенко Л.М. БИС контроллера КР1818ВГ93 для накопителя на гибком диске // Микропроцессорные средства и системы. — 1986. — № 3. — С. 3-8. — ISSN 0233-4844.
- ↑ Все отечественные микросхемы / Перебаскин А.В.. — 2-е изд.. — М.: Издательский дом «Додэка», 2004. — С. 114. — 400 с. — ISBN 5-94120-034-X.
- ↑ FD 179X-02 datasheet . Дата обращения: 13 октября 2018. Архивировано из оригинала 28 июля 2018 года.
- ↑ С. Рюмик. Контроллер дисководов. Канал чтения // Радиолюбитель Ваш компьютер. — 1999. — № 4. — С. 24-25. — ISSN 0869-0510.
- ↑ КР1818ВГ93 - контроллер гибких дисков : фото выходного дня . Дата обращения: 13 апреля 2015. Архивировано 1 февраля 2015 года.
- ↑ Нефедов А.В. Интегральные микросхемы и их зарубежные аналоги. — М.: ИП «Радиософт», 2001. — Т. 12. — 544 с. — ISBN 5-93037-053-2.
- ↑ С. Ахманов, Н. Рой, А.Скурихин. Пользователям о «Корвете». Контроллер накопителя на гибких дисках // Радио. — 1989. — № 6. — С. 34-37. — ISSN 0033-765X.
- ↑ Фотографии различных блоков Агата: контроллеры дисководов . Дата обращения: 13 октября 2018. Архивировано из оригинала 14 октября 2018 года.
- ↑ МКД "Партнер-01.51" . Дата обращения: 22 апреля 2019. Архивировано 22 апреля 2019 года.