Радио-86РК/Радио 1,2-93/Контроллер накопителя на ГМД
Данный материал защищён авторскими правами!
Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей. Автор: Е. СЕДОВ, А. МАТВЕЕВ |
Радиолюбительский компьютер «Радио-86РК», как и большинство простейших микро-ЭВМ, для долговременного хранения данных использует обычный бытовой магнитофон. Низкая скорость ввода-вывода данных, трудности поиска нужной программы, риск при новой записи ошибочно стереть еще нужную старую и многое другое вынуждают радиолюбителей искать альтернативные способы хранения информации. Для этой цели применяются разные варианты ROM дисков, ПЗУ, но наиболее радикальное решение этой проблемы — использование накопителя на гибком магнитном диске. Предлагаемая вниманию читателей разработка контроллера НГМД отличается простотой, удачными решениями аппаратной и программной частей, невысокой стоимостью. Идея использовать для управления НГМД не специализированную БИС, а микропроцессор самого компьютера — вполне на уровне гениальной простоты «Радио-86РК».
Специально разработанная с учетом всех особенностей компьютера версия дисковой операционной системы, развитое программное обеспечение, скромный, но достаточный для нормальной работы сервис на экране делают описываемую конструкцию весьма привлекательной. Похоже, что, наконец, владельцы «Радио-86РК» получат то, что так долго ждали.
Прошло более шести лет с тех пор, как журнал «Радио» познакомил своих читателей с радиолюбительским компьютером «Радио-86РК». Простота конструкции, низкая стоимость, подробное описание схемы, процессов сборки, регулировки и настройки сделали этот компьютер доступным для повторения в домашних условиях. Десятки и десятки тысяч энтузиастов компьютерной техники с успехом эксплуатируют эту несложную и удобную в работе машину.
Компьютерный «голод» (на внутреннем рынке) в середине восьмидесятых годов подтолкнул отечественную промышленность к разработке и выпуску бытовых персональных вычислительных машин класса «Home Computer». Естественно, что в основу некоторых из них легли принципиальные решения, удачно зарекомендовавшие себя в «Радио-86РК». Наиболее близкими к оригиналу являются компьютеры «Электроника КР-01», «Электроника КР-02» и «Микроша», имеющие лишь небольшие отличия в архитектуре и в системной программе МОНИТОР. Эти отличия столь незначительны, что для опытного пользователя «Радио-86РК» или «Микроши» не составляет особого труда перевод программного обеспечения с одного компьютера на другой.
В свое время компьютеры, подобные «Радио-86РК», сыграли роль катализатора в процессе массовой компьютеризации и имели неплохие характеристики (объем ОЗУ — до 32 Кбайт, объем ПЗУ — 2 Кбайта, быстродействие — более 300 тысяч операций в секунду). Однако сейчас, вследствие возрастания сложности задач, решаемых с помощью ЭВМ, возможности таких компьютеров становятся явно недостаточными и во многих случаях уже не могут удовлетворить пользователя. В наибольшей степени это относится к графическому разрешению экрана, объему ОЗУ и набору периферийного оборудования. Но стоит ли отказываться от проверенных в работе простых компьютеров ради покупки современной дорогостоящей машины, несовместимой с «Радио-86РК»? Ведь за шесть прошедших лет наработан значительный объем программного обеспечения, охватывающий весь спектр применений: от языков программирования и программ поддержки баз данных до игровых и обучающих программ.
Целесообразным представляется иной путь — разработка внешних модулей, подключение которых к «Радио-86РК» в какой-то степени приблизит характеристики компьютера к требованиям сегодняшнего дня. Тем более что архитектура «Радио-86РК» позволяет сделать такое подключение без существенных схемотехнических доработок. Эта статья посвящена описанию одного из таких модулей: контроллеру накопителя на гибких магнитных дисках (НГМД).
Принцип работы НГМД и преимущества записи-чтения с дискет уже рассматривались на страницах журнала «Радио» [1]. Остановимся лишь на основных моментах.
Гибкий магнитный диск представляет собой полимерную пластину круглой формы, на обе поверхности которой нанесен слой магнитного материала. Гибкий диск, называемый также дискетой, заключен в специальный конверт, предохраняющий магнитные слои от механических воздействий. В конверте сделаны радиальные прорези (окна), через которые магнитные головки НГМД входят в соприкосновение с магнитными слоями диска при записи или считывании информации. Кроме окон в дискете есть индексное отверстие, являющееся своеобразной точкой отсчета при поиске того или иного участка диска. На левой стороне конверта расположен вырез защиты записи, а в НГМД имеется специальный датчик, проверяющий состояние этого выреза. Если информация, хранящаяся на диске, не должна модифицироваться, то вырез заклеивают, и запись на диск станет невозможной.
Накопитель на гибких магнитных дисках является устройством внешней памяти, которое осуществляет запись и считывание информации с дискеты. В отличие от накопителя на магнитной ленте (магнитофона), в НГМД являются подвижными как носитель информации, так и магнитная головка. Тем самым достигается произвольный доступ к данным, что обусловливает высокую скорость записи и чтения. Существует несколько типов НГМД, отличающихся конструкцией, размерами используемого диска, максимальным объемом хранимой информации, плотностью записи и т. д. Наиболее распространенными в настоящее время являются двусторонние 80 дорожечныс накопители с рабочим диском диаметром 5,25 дюйма. Такие НГМД выпускаются как в нашей стране (ЕС5311, ЕС5313 и т. п.), так и за рубежом (ЕС5323.01, FD55 и т. п.). Их основные технические характеристики близки:
- плотность записи — одинарная (FM) или двойная (MFM);
- емкость памяти. Мбайт— 0,5 (FM) или 1,0 (MFM);
- скорость обмена, Кбайт/сек — 15,6 (FM) или 31,25 (MFM);
- число рабочих дисков — 1;
- число магнитных головок — 2;
- число дорожек на одной стороне — 80;
- скорость вращения диска, об/мин — 300 + /-4,5.
Каждый НГМД имеет разъем для подключения к ЭВМ, через который НГМД производит обмен данными с ЭВМ, а также принимает от компьютера и посылает ему необходимые сигналы управления. Полный перечень входных и выходных линий обычно приводится в паспорте на НГМД. Кроме этого, с ним можно ознакомиться в [1]. Конструкцией «Радио-86РК» не предусмотрена возможность прямого подключения к нему НГМД. Роль посредника, обеспечивающего взаимосвязь этих устройств, берет на себя контроллер НГМД.
Основными функциями контроллера являются:
- организация интерфейса между ПЭВМ и НГМД;
- преобразование восьмиразрядного кода данных в последовательность бит в формате FM при записи информации на диск и обратное преобразование при ее считывании;
- выработка сигналов управления шаговыми двигателями магнитных головок и двигателем вращения диска НГМД;
- прием и обработка сигналов состояния НГМД;
- синхронизация всех процессов приема и передачи информации.
В состав контроллера входит ПЗУ, содержащее дисковую операционную систему (ДОС). Дисковая операционная система—это специальная программа, которая организует запись, чтение, модификацию и хранение информации на диске. Диалог с ДОС пользователь ведет с помощью выдачи с клавиатуры определенных команд, называемых командами ДОС. Команды ДОС подразделяются на внутренние, подпрограммы выполнения которых содержатся в ПЗУ контроллера, и на внешние — хранящиеся на диске. Одной из основных функций ДОС является организация обмена информационными потоками между устройствами (каналами) ввода-вывода. Стандартными для данной версии ДОС являются каналы ввода: клавиатура и файл на диске, а вывода — дисплей, принтер и файл. Разработано специальное программное обеспечение (ПО), использующее ресурсы ДОС, подобно тому, как многие программы пользователя используют подпрограммы системного МОНИТОРА. В его состав входят языки программирования Бейсик, Паскаль, Си, Фортран, новая версия редактора «Микрон». Кроме того, любое программное обеспечение, созданное ранее для «Радио-86РК», может быть перенесено на диск и успешно функционировать. Схема контроллера и ресурсы ДОС позволяют подключить к компьютеру сразу два НГМД.
Накопители на гибких магнитных дисках, как отмечалось ранее, могут производить запись информации на диск, как с одинарной, так и с двойной плотностью. С целью максимального упрощения устройства данный вариант контроллера обеспечивает функционирование НГМД лишь в первом режиме. Запись с одинарной плотностью осуществляется методом частотной модуляции (FM метод). При FM методе сигналы записи представляют собой биты данных, каждый из которых предварен тактовым импульсом (синхробитом).Как видно из рис.1 частота сигналов записи в случае записи единичных битов в два раза выше, чем при записи нулевых. Запись на диск смеси информационных и синхросигналов позволяет увеличить надежность считывания, но в два раза снижает плотность записи.
В процессе считывания магнитная головка НГМД воспринимает магнитный поток с поверхности диска и при каждом изменении его вектора вырабатывает импульс сигнала считывания (рис.2). Специальная схема контроллера, называемая схемой синхронизации или сепаратором данных, выделяет из сигналов считывания окна данных, а затем и информационные биты.
Приведенный выше алгоритм описывает классический FM метод записи и чтения. Однако из-за схемотехнических особенностей рассматриваемого контроллера указанный алгоритм реализован не полностью. Особенности процессов записи и считывания будут подробно рассмотрены при анализе принципиальной электрической схемы.
Перед занесением на гибкий диск информации его предварительно подвергают форматированию под управлением команд дисковой операционной системы. В процессе разметки каждая поверхность диска разбивается на 80 концентрических дорожек (треков). Таким образом, на диске образуется 160 треков. Каждому треку присваивается порядковый номер от 0 до 159. Треки с четными номерами 0, 2, 4,…, 158 — располагаются на одной стороне диска, а с нечетными 1, 3,5,…, 159 — на противоположной. Нулевая дорожка располагается у внешнего края диска. Расстояние между соседними дорожками 0,264 мм. Так как трек имеет форму кольца, то за начало трека принимается воображаемая линия, выходящая из центра гибкого диска и проходящая через центр индексного отверстия [2].
Каждый трек в свою очередь разделяется на пять секторов. Этим секторам присваиваются порядковые номера от 0 до 4. Идентификация сектора производится по двум параметрам: номеру трека и номеру сектора. По ходу часовой стрелки от начала трека размещение секторов происходит в следующем порядке: сначала 0-й сектор, затем 3-й, 1-й, 4-й и 2-й секторы. Такое расположение существенно уменьшает время записи и считывания. В пределах одного сектора может быть записано до 512 байт. Таким образом, при общем числе секторов 800 на диске может храниться до 400 Кбайт информации.
Особая роль на диске отведена треку с номером 32. При стандартном форматировании его пять секторов использует дисковая операционная система для размещения карты и каталога диска. На эту дорожку не записываются данные и, следовательно, реальная емкость гибкого диска несколько меньше — 397,5 Кбайт.
При форматировании в начале каждого сектора ДОС размещает специальный заголовок. В заголовке указывается вся необходимая информация, требующаяся для идентификации сектора. Общий формат сектора приведен на рис. 3.
Синхробайты, размещаемые в начале заголовка сектора и поля данных, необходимы для обеспечения достоверности считывания последующей информации. Следующие пять нулевых байтов формируют временную задержку, которая необходима для установки параметров подпрограммы считывания. Метки адреса и данных можно считать началом информационной части заголовка и поля данных. Именно они (ЕА и D3 — для заголовка, DD и F3 — для поля данных) определяют, какую часть сектора считывает в настоящий момент НГМД, а значит, и как интерпретировать следующие за меткой байты. Нулевые байты после байтов контрольных сумм обеспечивают временную задержку, во время которой ДОС производит подсчет контрольных сумм считанного заголовка или блока данных и их сравнение с эталонными. R0 и R1 — разделители между заголовком и полем данных. Физически они представляют собой запись пяти последовательных нулевых байтов. Число байтов данных, записываемых в один сектор, может быть меньше 512. Тогда сектор будет занят не полностью. Длина блока данных сектора указывается после метки данных, что обеспечивает считывание из сектора только необходимого числа байтов.
Карта диска (VTOC) занимает на 32-м треке сектор 0 и представляет собой таблицу из 160 байтов, каждый элемент которой соответствует одному треку. Байты таблицы в своих младших пяти битах содержат информацию о наличии на соответствующем треке свободных и занятых секторов. Например, первые десять байтов VTOC имеют следующий вид:
1E - Заняты 1,2,3 и 4 секторы трека 00 1F - Все секторы трека 01 заняты 0B - Заняты 0,1 и 3 секторы трека 02 00 - Трек 03 свободен 0F - Заняты 0,1,2 и 3 секторы трека 04 00 - Трек 05 свободен 00 - Трек 06 свободен 00 - Трек 07 свободен 00 - Трек 08 свободен 00 - Трек 09 свободен
При записи файлов на диск, а также при удалении их с диска ДОС соответствующим образом модифицирует содержимое VTOC. Под файлом подразумевается любой набор данных, снабженных заголовком (именем) и размещенных дисковой операционной системой на дискете. Таким набором данных могут быть программа в машинных кодах, программа на Бейсике, текст и т. д. Перечень имен файлов, находящихся на дискете, составляет ее каталог. Каталог занимает на 32-м треке секторы с 1-го по 4-й.
Формат каталога диска в среде ДОС может быть рассмотрен на следующем примере. Допустим, на диске имеется файл PROGR.СОМ. Расширение .СОМ указывает на тип файла, о чем более подробно будет рассказано в статье, посвященной описанию ДОС. Сейчас важно лишь то, что расширение является неотъемлемой частью имени файла. Предположим также, что при записи файла на диск ДОС разместила его на трех секторах: на секторе 1 дорожки 12 и секторах 3 и 4 дорожки 15. Тогда формат сектора каталога может быть таким:
20 02 - Трек и сектор (адрес) следующего сектора каталога 00 00 00 00 00 - В данной версии ДОС не используется 50 52 4F 47 52 00 00 00 00 00 - Имя файла (10 байт) 00 - Нулевой байт 43 4F 49 - Расширение имени файла (3 байта) 03 01 - Трек и сектор (адрес) размещения T/S LIST файла 00 11 - Начальный адрес загрузки файла в ОЗУ 03 00 - Количество занимаемых файлом секторов 01 - Атрибут файла 41 42 43 56 00 00 00 00 00 00 - Начало имени следующего файла
При форматировании дискеты секторы с первого по четвертый трека 32 (2011) отводятся под каталог диска. В начале каждого из них ДОС будет делать ссылку на следующий сектор каталога. Эта ссылка размещается в двух первых байтах сектора и представляет собой адрес сектора продолжения каталога. В рассматриваемом примере каталог будет продолжен на секторе 2 трека 32. В начале сектора 4 ДОС записывает вместо адреса сектора продолжения два нулевых байта, что является признаком последнего сектора каталога.
После пяти нулевых байтов, не используемых ДОС, следуют коды литер, составляющих имя файла. Имя может состоять не более чем из десяти литер.
Нулевой байт, расположенный прямо за именем, играет важную роль при удалении файла с диска. Для ДОС достаточно трудно физически удалить информацию со всех секторов, занятых удаляемым файлом, поэтому изменения затрагивают только каталог. Вместо кода первой литеры имени записывается код FF, а сам код переписывается как раз на место нулевого байта. Эта процедура необходима для того, чтобы дать пользователю возможность восстановить ошибочно удаленный файл. Таким образом, если имя файла в каталоге начинается с кода FF, то этот файл считается уничтоженным.
После кодов литер расширения ДОС размещает адрес трек — секторного списка (T/S LIST) файла. Трек — секторный список — это запись, в которой последовательно перечисляются адреса всех секторов, занимаемых файлом. Такой список является необходимым для обеспечения правильной последовательности считывания данных с диска в ОЗУ. Под T/S LIST каждого файла на диске отводится, как минимум, один сектор. Если же файл имеет значительный размер, его список может занимать два, три и более секторов. В рассматриваемом примере под T/S LIST файла PROGR.СОМ операционная система отвела сектор 1 на треке 3. Формат этого сектора при принятых в примере условиях следующий:
00 00 - Адрес продолжения T/S LIST (продолжения нет) 0C 01 - первый сектор файла (трек 12 сектор 1) 0F 03 - второй сектор файла (трек 15 сектор 3) 0F 04 - третий сектор файла (трек 15 сектор 4) 00 00 - признак конца T/S LIST
Так же, как и в начале сектора каталога, первые два байта указывают на сектор продолжения T/S LIST. Если на указанном месте расположены два нулевых байта, то продолжения списка не последует. Далее перечисляются секторы, занятые файлом PROGR.СОМ, а затем следует признак окончания T/S LIST— два нулевых байта.
В формате каталога после указания адреса T/S LIST файла ДОС размещает адрес начальной загрузки указанного файла в ОЗУ компьютера и общую длину файла в секторах (с учетом секторов, занятых T/S LIST). Последним байтом в записи имени файла в каталоге является атрибут. ДОС может запретить или, наоборот, разрешить запись нового файла под тем же самым именем. Кроме этого, средства ДОС могут запретить чтение имени файла при выводе на экран каталога диска. Как раз режимы разрешения или запрета содержатся в байте атрибута.
Вслед за байтом атрибута ДОС размещает имя следующего файла. Если вместо первой литеры имени на диске записан код 00, то это свидетельствует о достижении конца каталога.
Принципиальная электрическая схема</a> контроллера НГМД приведена на рис. 7. В нем можно выделить несколько функциональных узлов:
- DD1 — интерфейс;
- DD2 — сдвиговый регистр (преобразует параллельный код данных в последовательный при записи и выполняет обратное преобразование при чтении);
- DD3 — буферный регистр данных чтения (служит для промежуточного хранения считанного байта и имеет адрес F004H;
- DD4, DD5 — ПЗУ контроллера (содержит ДОС);
- DD13.1, DD13.2, DD13.3 — формирователь сигналов записи;
- DD7, DD8, DD14.4, DD15.1, DD15.2 — формирователь последовательностей импульсов селекции синхробитов ИСС и импульсов селекции битов данных ИСД (выделяет из сигналов считывания информационные биты, также см. рис. 8):
- D011.1 — триггер селекции синхробитов;
- DD11.2 — триггер селекции битов данных;
- DD12.1 -триггер промежуточного хранения считанного бита;
- DD9 — счетчик битов;
- DD10 — формирователь сигнала «8 бит», а также синхробайтов записи;
- DD12.2 — триггер готовности байта;
- DD6 — выходной буферный регистр-усилитель сигналов управления НГМД;
- DD15.4, DD16.1, DD16.2, DD16.4 — схема формирования сброса триггера готовности в режимах записи и считывания;
- DD14.2, DD14.5, DD17.2 — схема формирования сигнала выбора регистра DD3 в режиме считывания.
Взаимосвязь контроллера и компьютера осуществляется через порты А, В и С параллельного интерфейса DD1. Канал А, занимающий в адресном пространстве адрес F000H, программируется на вывод из ПЭВМ в контроллер записываемого байта. Канал В, имеющий адрес F001H, запрограммирован на ввод из контроллера в компьютер следующих сигналов:
- РВЗ-защита записи (сигнал характеризует состояние выреза защиты записи на конверте дискеты);
- РВ4 — готовность НГМД (сигнализирует о переводе НГМД в рабочее состояние вставлен диск, частота вращения двигателя диска достигла номинального значения и т. д.);
- РВ5 — трек 00 (сигнал вырабатывается в момент достижения магнитной головкой нулевого трека);
- РВ6 — индекс (активизируется при прохождении индексного отверстия диска между фотодатчиками НГМД);
- РВ7 — состояние триггера готовности (сигнализирует о накоплении в промежуточном буфере хранения восьмибитового кода данных).
Линии РВ0, РВ1 и РВ2, показанные на схеме штрихами, в этой версии контроллера не задействованы.
По линиям порта С, имеющего адрес F002H, контроллеру передаются управляющие сигналы:
- РС0 — переключение режима «Чтение/ Запись»;
- РС1 — направление шага (сообщает магнитной головке НГМД направление перемещения по радиусу диска);
- РС2 — выбор поверхности гибкого магнитного диска;
- РСЗ — выбор второго накопителя (производится активизация накопителя с логическим именем В:);
- РС4 — шаг (при поступлении сигнала магнитная головка НГМД перемещается на один шаг в заданном направлении);
- PC5 — выбор первого накопителя (производится активизация накопителя с логическим именем А:);
- РС6 — включение режима формирования синхробайтов (сигнал разрешает работу соответствующей схемы контроллера при записи данных на диск);
- РС7 — управление выходным буферным регистром.
Работу контроллера НГМД удобно рассмотреть отдельно в режимах записи и считывания байта данных.
Режим записи включается низким уровнем линии РС0(вывод 14 DD1). При этом НГМД переводится в режим «Запись» (активен сигнал WRDATA). Записываемый байт заносится в порт А и его восьмиразрядный код поступает на вход многофункционального регистра DD2. Управление режимом работы этого регистра осуществляется битовым счетчиком DD9 и дешифратором DD10. После записи предыдущего байта, счетчик находится в состоянии сброса, и на всех его выходах присутствуют сигналы логического нуля. При таком состоянии входных сигналов дешифратор DD10 на выводе 7 формирует сигнал логического нуля, который совместно с низким уровнем на выводе 2 элемента DD17.1 разрешает запись параллельного кода в регистр DD2. При любом другом состоянии счетчика регистр переводится в режим сдвига.
Низким уровнем РС0 на элементе DD13. 4 блокируется канал считывания информации с НГМД RDDATA. Логический нуль, поступающий на входы S триггера DD11.1 после инвертирования элементом DD14.1 сигнала блокировки, устанавливает логическую единицу на выводе 5 триггера DD11.1. Через инвертор DD14.3 на входы сброса счетчиков DD7 и DD8 поступает сигнал низкого уровня, что обеспечивает их непрерывную работу. Сигналы, снимаемые с 8 и 9 вывода счетчика DD8, на элементах DD14.4,DD15.1, DD15.2 формируют соответственно последовательности ИСС и ИСД. Импульс ИСД после инвертирования элементом DD14.6 поступает на тактовый вход регистра DD2. При поступлении тактового импульса происходит сдвиг вправо параллельного кода, записанного в регистр, и на выводе 20 появляется очередной бит этого кода. Сигналы записи формируются элементами DD13.1,DD13.2 и DD13.3. В момент действия высокого уровня ИСД на выводе 2 DD13.1 присутствует записываемый бит. Через элементы DD13.1 и DD13.2 бит поступает на вход буферного усилителя DD6, а затем и на линию сигнала записи НГМД (WRDATA). Согласно временной диаграмме, приведенной на рис. 8, сигнал ИСС находится в это время в состоянии логического нуля. Поэтому прохождение сигналов через элемент DD133 запрещено. После того, как сигнал ИСД перейдет в состояние логического нуля, прохождение информационного бита на запись через элемент DD13.1 станет невозможно. При активном уровне ИСС через открытые элементы DD13.3, DD13.2 и буфер DD6 на линию WR DATA поступит логическая единица, сформированная на выводе 12 дешифратора DD10. Таким образом, в момент действия ИСД на линию записи НГМД будут поступать информационные биты, а в момент действия ИСС — единичные синхробиты. Подсчет количества записанных бит ведет счетчик DD9. После прохождения восьмого импульса ИСД его выводы перейдут в нулевое состояние, что вызовет установку триггера готовности: на выводе 9 DD12.2 появится логическая единица. Состояние триггера готовности программно опрашивается ДОС по линии РВ7. При обнаружении единицы в этом разряде ПЭВМ запишет новый байт в порт А DD1 (адрес F000H), при этом на элементах DD15.4, DD16.4, DD16.1, DD16.2 сформируется сигнал сброса триггера готовности.
Для синхронизации контроллера в режиме считывания перед записью полезной информации на диске размещаются синхробайты. Их формирование производится при низком уровне сигнала на линии РС6 DD1. В порт А записывается число 6. Низкий уровень РС6 запрещает при записи числа на диск выдачу предпоследнего синхробита за счет низкого уровня, вырабатываемого в этот момент дешифратором DD10 на выводе 12. Формат синхробайта показан на рис. 9.
Режим считывания контроллера включается высоким уровнем сигнала РС0 DD1. Этот сигнал разрешает поступление сигналов считывания через элемент DD13.4, запрещает режим параллельной загрузки кода регистра DD2, а также переводит НГМД в режим «Чтение». За работой контроллера в режиме считывания удобно проследить по временной диаграмме, приведенной на рис. 10.
Сигналы считывания, поступающие в контроллер НГМД с линии RDDATA, имеют инверсный вид, что отражено на диаграмме. Первый считанный синхроимпульс устанавливает триггеры DD11.1 и DD11.2 в единичное состояние. При переключении триггера DD11.1 на элементах R1, C1, DD14.3 формируется короткий импульс сброса счетчиков DD7 и DD8, в результате чего тракт считывания приводится в исходное состояние. Эта процедура повторяется с приходом каждого синхробита, то есть происходит битовая синхронизация схемы.
Через 2 мкс триггер DD11.2 фронтом импульса ИСС сбрасывается. Импульс данных, если он присутствует в сигнале считывания, повторно устанавливает DD11.2 в единицу, а передний фронт ИСД переписывает состояние этого триггера в триггер промежуточного хранения бита DD12.1 и сбрасывает триггер DD11.1, подготавливая его для приема следующего синхроимпульса. По спаду сигнала ИСС происходит сдвиг регистра DD2, на последовательный вход которого (вывод 2) поступает считанный бит из триггера DD12.1. Битовый счетчик DD9 после приема восьмого бита устанавливает через дешифратор DD10 триггер готовности DD12.2 и производит запись принятого байта в регистр DD3. ПЭВМ, также как и в режиме записи, опрашивает линию готовности РВ7 и, при обнаружении логической единицы, производит чтение байта из регистра DD3 (адрес F004H), разрешение выбора которого формируется элементами DD14.2, DD17.2 и DD14.5. При этом триггер готовности автоматически сбрасывается.
Узел считывания функционирует таким образом, что если через 10 мкс после приема синхробита контроллер не обнаружит следующий синхробит, то произойдет сброс битового счетчика высоким уровнем на выводе 6 DD11.1 и ИСС, то есть схема перейдет к вводу нового байта. Необходимость такого построения определяется рядом причин.
Как видно из приведенного выше алгоритма считывания вся работа схемы привязана к первому синхроимпульсу байта. Однако, где уверенность в том, что первый встреченный магнитной головкой НГМД бит, является синхробитом, а не битом данных? Для точной установки на первый синхробит служат синхробайты, записываемые в начале заголовка и поля данных сектора.
Последовательности ИСС и ИСД сформированы контроллером таким образом, что первый, считанный с диска бит, всегда воспринимается как синхронизирующий. Допустим, что после позиционирования на нужный сектор магнитная головка НГМД начала считывание синхробайта с момента, обозначенного буквой А на рис. 9. Тогда первый считанный бит действительно является синхробитом. Однако через 10 мкс следующий синхробит не поступает, что вызывает начальную установку схемы. Следующий считанный бит, хотя и является битом данных, трактуется контроллером как синхробит. Так как через 10 мкс новый синхробит не поступает, следует повторный сброс. В результате этого контроллер точно настраивается на прием первого синхроимпульса байта, следующего за синхробайтом. Аналогичным образом происходит синхронизация и в том случае, когда первым считанным битом является бит данных (момент В на рис. 9). Таким образом, после считывания синхробайта производится полная байтовая синхронизация устройства. В целях повышения надежности считывания в начале заголовка и поля данных сектора записывается не один, а пять синхробайтов.
Конструктивно контроллер НГМД для «Радио-86РК» представляет собой внешний модуль, подключаемый к компьютеру через слот, который необходимо установить на ПЭВМ. При этом требуется некоторая доработка ПЭВМ. В «Микроше» такой слот уже имеется (разъем «Внутренний интерфейс») и эту ПЭВМ дорабатывать не надо. Контроллер позволяет подключать и обслуживать в качестве внешней памяти один или два НГМД типа ТЕАС, FD55 или его аналоги: ЕС5323.01, ЕС5311 и ЕС5313. Контроллер и НГМД соединяются ленточным кабелем длиной не более 500 мм.
Контроллер потребляет от источника +5 В ток около 300 мА. Для работы НГМД требуются напряжения питания +5 В при максимальном токе 0,9 А и +12 В при токе 0,8 А. Источником напряжения +5 В для НГМД и контроллера может являться источник +5 В ПЭВМ, если он обеспечивает достаточный ток (этот вариант показан на рис. 7). При этом для питания +12 В НГМД необходим отдельный источник, установленный в корпусе НГМД, или оформленный отдельным блоком.
Для надежного переноса данных контроллер желательно питать именно от ПЭВМ. Если используются отдельные источники, то необходимо установить в контроллере напряжение питания точно такое же, как и в ПЭВМ.
Перед первым включением необходимо проверить, установлены ли в НГМД матрицы, резисторов, соединяющие все входные линии к цепи +5 В (они установлены в панельки). Необходимо проверить их номиналы — они должны иметь сопротивление 300—1000 Ом. Если используются два НГМД, эти резисторы должны быть установлены только во втором. Подключение второго НГМД производится к разъему первого параллельно, ленточным кабелем длиной не более 200 мм.
Назначение контактов НГМД и контроллера приведено в табл. 1. Здесь ХТ1 — разъем питания дисковода, ХТ2 — разъем интерфейса дисковода. Напомним, что источник питания +12 В в данной версии — внешний.
Технологическими перемычками НГМД должен быть установлен «логический адрес 0» для первого и «логический адрес 1» для второго НГМД. Перемычками установки логики сигналов «Старт» и «Выбор» необходимо перевести НГМД в режим «Выбор независимо от старта» (если такие установки невозможны, то на разъеме НГМД соедините перемычкой контакты сигналов «Старт» и «Выбор 0» для первого, «Старт» и «Выбор 1» — для второго НГМД). Если в НГМД предусмотрен переключатель питания шагового двигателя, то необходимо перевести его в положение «+12 В».
Доработка «Радио-86РК» сводится к установке дополнительного дешифратора на плате компьютера (см. рис. 11) и разъема (будем называть его как и в «Микроше» — «Внутренний интерфейс»). Это не ухудшит работу ПЭВМ и позволит значительно расширить возможности компьютера. Например, появится возможность в неиспользуемом ранее адресном пространстве разместить дополнительное ОЗУ, ПЗУ с наиболее часто используемыми программами, оформив их в виде отдельных модулей, подключаемых к разъему «Внутренний интерфейс». Разъем должен иметь два ряда с числом контактов в каждом не менее 30. Назначение контактов этого разъема приведено в табл. 2. Нумерация микросхем в ней дана согласно схеме, приведенной в журнале «Радио» № 5 за 1986 год.
Сигналы, отмеченные символом «*», формируются на дешифраторе (D30), устанавливаемом дополнительно на плате ПЭВМ.
Связи D2/11 и D4/10 с D11/7 разрываются и выполняются в соответствии с рис. 11.
С введением дополнительного дешифратора видоизменяется распределение памяти в области старших адресов (рис. 12). Последний блок адресного пространства (E000- FFFF) делится на 4 части по 2 килобайта каждая. При этом в первой части, выбираемой сигналом CS1 дешифратора, во время записи активизируется контроллер прямого доступа в память D2, а во время чтения — дополнительное ПЗУ, содержащее ДОС.
Блоки, выбираемые сигналами CS2 и CS3, полностью свободны и используются только контроллером, а блок CS4 занят МОНИТОРОМ.
Для проверки работоспособности собранный контроллер нужно установить в разъем «Внутренний интерфейс». Во избежание замыканий подсоединение нужно производить при выключенном питании ПЭВМ. Подключите НГМД к контроллеру, удалите из него предохраняющий вкладыш. Включите питание ПЭВМ и НГМД и нажмите клавишу «Сброс». Работоспособность компьютера нарушиться не должна. В противном случае следует внимательно проверить правильность распайки контактов системного разъема, отсутствие сигналов выбора ПЗУ (контакты 18 микросхем DD4, DD5) и регистра DD3 контроллера. Обратите особое внимание на отсутствие замыканий между линиями адреса, данных, RD и WR компьютера. При условии исправности всех микросхем правильно собранный контроллер не требует дополнительных регулировок.
Если старт ПЭВМ происходит без ошибок, наберите на клавиатуре:
GE000
и нажмите «ВК». На экране появится надпись DOS 2.9", загорится индикатор выбора накопителя на НГМД и включится двигатель, вращающий диск. Через некоторое время на экране появятся сообщения:
NO DISK А>
Последняя строка содержит приглашение к вводу команд ДОС. Система готова к работе, и пользователь может начинать диалог с ДОС. Правила этого диалога будут рассмотрены в следующей статье, посвященной описанию операционной системы.
Для проверки работоспособности схемы контроллера в режимах записи и чтения используется специальная тестовая программа, машинные коды которой с построчными контрольными суммами приведены в табл. 3 (общая контрольная сумма В152). Эта программа может быть введена в ОЗУ компьютера, а затем сохранена на магнитной ленте для дальнейшего использования. Для тестирования достаточно подключить контроллер с НГМД к ПЭВМ, включить питание компьютера, нажать клавишу «Сброс», ввести и запустить тестовую программу с нулевого адреса. Диск при тестировании не должен находиться в накопителе.
Работа программы может происходить в пяти режимах. Выбор того или иного режима производится нажатием клавиши с соответствующей цифрой. Контроль за работоспособностью узлов схемы ведется с помощью осциллографа.
В первом режиме теста проверяются схема формирования импульсов селекции ИСС, ИСД и сигналы управления НГМД. Необходимо убедиться в соответствии диаграмме на рис. 8 сигналов, сформированных на выводах 3 и 6 DD15. На выводах 2, 5, 6, 9 и 12 DD6 должен присутствовать сигнал логической единицы, а на выводе 15 — логический ноль.
Во втором режиме производится проверка схемы записи контроллера. При этом на запись выдаются только нулевые байты. На выводе 19 DD6 должны присутствовать сигналы записи, сформированные DD13.1, DD13.2 и DD13.3 в соответствии с правилами FM метода. Кроме этого, нужно проверить наличие на выводе 7 дешифратора DD10 сигнала «8 бит», сигнализирующего о подсчете восьми импульсов ИСД счетчиком DD9. Функционирование триггера готовности проверяется путем установки щупа осциллографа на вывод 9 DD12.2. Форма сигнала, снимаемого с этого контакта, должна соответствовать рис. 13.
Третий режим теста аналогичен второму с той лишь разницей, что сигнал на линии WRDATA (контакт 19 DD6) имеет в два раза большую частоту.
Четвертый режим предназначен для проверки правильности работы схемы формирования синхробайта. Сигналы записи, передаваемые на вывод 19 DD6 в этом режиме, должны соответствовать рис. 9.
В пятом режиме производится проверка линий передачи сигналов управления. На контактах 9, б, 13, 5, 7, 4 печатной платы контроллера должны наблюдаться сигналы меандра кратной частоты. Сигнал с самой высокой частотой должен приходить на контакт 9, а с самой низкой — на контакт 4.
На рис. 7 у разъема X1 позиционное обозначение контакта Б21 следует исправить на Б24.
В заключение несколько слов о применяемых радиоэлементах и их заменах. Микросхемы серий К155, К555 могут быть заменены микросхемами с аналогичными функциями серий КМ555 и КР1533, КР580-К580. Все используемые в схеме контроллера резисторы имеют тип МЛТ-0,125, а конденсаторы КМ-56. Вместо них можно установить элементы других типов с идентичным номиналом.
Е. СЕДОВ, А. МАТВЕЕВ, г. Москва
Отсканировано с журнала РАДИО № 1, 2 1993 г.
Отредактировано Лесных Ю. И. 2002 г.