Смекни!
smekni.com

Техническая диагностика средств вычислительной техники (стр. 16 из 50)

Совместимость дисководов разной плотности.

При работе на дисководе высокой плотности с дискетой удвоенной плотности возникают проблемы, Связанные с тем, что ширина дорожки на дискете емкостью 1.2 Мбайт вдвое меньше, чем на дискете емкостью 360 Кбайт:

- если дискета отформатирована на дисководе 360 Кбайт и записи сделаны на таком же дисководе, то такая дискета свободно читается дисководом на 1.2 Мбайт;

- если же на эту дискету записывать информацию на дисководе 1.2 Мбайт, то читаться дисководом на
1.2 Мбайт она будет, а дисководом на 360Кбайт нет, так как более широкая головка дисковода 360 Кбайт будет видеть одновременно две смежные дорожки от записи емкостью 1.2 Мбайт, т.е. информацию, записанную на двух соседних дорожках сразу;

- в случаях крайней необходимости записи информации на дисководе 1,2 Мбайт, а чтения дискеты – дисководом 360 Кбайт, нужно использовать чистую дискету, новую неформатированную, или старую, но специально размагниченную, разметить эту дискету на дисководе 1.2 Мбайт, но в формате 360 Кбайт, командой

FORMATA: /F:360 (для DOS версии 4.0 и выше),

или

FORMATA: /N/T:40 (для DOS версии 3.3),

т. е. разметить диск в формате 40 дорожек, 9 секторов на дорожку и с уменьшенным током записи; тогда, и только тогда, эта дискета, записанная на дисководе 1.2 Мбайт, будет читаться на дисководе малой плотности.

С дисководами 3.5" таких проблем нет, т.к. все 3.5" дисководы имеют одинаковую ширину дорожек.

Сопряжение НГМД с CPU

Функцию сопряжения FDD с CPU выполняет контроллер, освобождающий CPU от низкоуровневого управления приводом FDD: – включение-выключение шпиндельного двигателя, управление позиционированием головок на требуемый цилиндр, поиск и чтение сектора, перевод информации из параллельного кода в последовательный, и дополнение его синхросигналами при записи, обратная процедура при чтении, формирование интерфейса НГМД и т. д. CPU только управляет контроллером с помощью команд и слов состояния. Такая иерархия упрощает программирование ввода-вывода и повышает общую производительность вычислительной системы.

Связь НГМД с контроллером происходит посредством интерфейса SA-450 (фирмы Shugart Associated).

Среда интерфейса – два кабеля:

- кабель питания и

- кабель данных и управления.

Распределение контактов в разъеме питания следующее:

1 - +12в

2 - общий (0v)

3 - общий (0v)

4 - +5в

Распределение интерфейсных сигналов в разъеме данных и управления НГМД приведено в
таблице 1.6.

Таблица 1.6. Распределение сигналов в разъеме данных и управления НГМД:

КОНТАКТ СИГНАЛ ВХОД/ВЫХОД НАЗНАЧЕНИЕ
со стороны ВЫСОК.ПЛОТН. ДВОЙН.ПЛОТН.
контроллера
1,2 reduced write O уменьшить ток записи резерв
3,4 reserved - резерв загрузить
головку
5,6 drive select 3 O выбор привода 3
7,8 index I индекс (начало дорожки)
9,10 drive select 0 O выбор привода 0
11,12 drive select 1 O выбор привода 1
13,14 drive select 2 O выбор привода 2
15,16 motor on O включить шпиндельный двигатель
17,18 direction select O направление шагов
19,20 step O шаг позиционирования головок
21,22 write data O записываемые данные
23,24 write gate O признак записи
25,26 track 0 I головки на нулевой дорожке
27,28 write protect I защита от записи
29,30 read data I считанные данные
31,32 side select O выбор головки (поверхности)
33,34 discette change I дискета сменена готов

все четные контакты разъема - сигналы интерфейса,
все нечетные - общий (0v)

Рекомендованный разработчиками вариант магистральной связи интерфейса НГМД показан на рисунке 1.11.

+5v
SN7438 (К155ЛА3) ┌┴┐ 744LS14 (К155ЛА11,ЛА18)
┌────┐ └┬┘220 oм ┌─────┐
────│ & o─────────┴── ─ ─ ─ ─ ─ ─ ─ ─ ─ ──┬─────o 1 │───>
────│ │ 330 ом ┌┴┐ │ │
└────┘ └┬┘ └─────┘
─┴─

Рисунок 1.11. Магистраль связи для НГМД.

Описание сигналов интерфейса RS232C.

Входные от контроллера:

Reduced Write – уменьшить ток записи в головке для амплитудной коррекции, при высокой плотности записи.

Drive Select 0, 1, 2, 3 – выборка дисковода с закоммутированным адресом (номером), соответствующим затребованному. Разрешает выбранному дисководу принимать все остальные сигналы от контроллера и выдавать данные, осведомительные сигналы и состояние – в контроллер.

Motor On – сигнал на включение шпиндельного двигателя. Через секунду после него возможны операции чтения/записи.

Direction Select – при высоком уровне на этом контакте разъема, сигнал STEP перемещает головки в направлении – от центра дискеты к периферии, при низком – от центра, к периферии.

Step – перемещает головку на один шаг позиционирования (на одну дорожку). Длительность сигнала составляет 1 мксек.

Write Data – импульс, длительностью 150 нсек, вызывает запись бита на диск при активном уровне сигнала Write Gate.

Write Gate – признак записи. Разрешает работу канала записи дисковода. Он должен оставаться активным (нижний уровень) в течение 4–8 мксек после последнего записываемого бита данных. Перед поступлением этого сигнала шпиндельный двигатель должен быть включен, а головки прижаты.

Side Select – выбор верхней (при низком уровне SS = L) или нижней (при высоком уровне SS = H) головки (стороны диска).

Выходные от дисковода:

Index – сигнализирует о начале дорожки.

Track 0 – сообщает контроллеру, что головка находится на начальной, нулевой дорожке.

Write Protect – активный уровень сигнала (WP=L) предупреждает контроллер, что запись на дискету запрещена (заклеено окно защиты записи на дискете 5,25", или поднята задвижка защиты записи на 3,5" дискете). При этом запись невозможна и контроллер, при попытке записи, сообщает программе о защите дискеты от записи.

Read Data – выход считанной с дискеты смеси информационных и синхронизирующих сигналов.

Discette Change – используется только в РС/АТ, для сигнализации о проведенной смене дискеты. В РС/АТ копия таблицы FAT дискеты хранится в буфере ОЗУ и используется для поиска нужных секторов. При смене дискеты старая таблица становится недействительной и должна быть считана с дискеты заново.

Формат дорожки НГМД имееет следующую структуру:

| AMS |CRCams| ПОЛЕ ДАННЫХ | CRC поля Dn | ECC поля данных |

здесь

AMS – адресный маркер сектора в формате: № цил. - № головки - № сектора на дорожке,

CRCams – циклическая контрольная сумма адресного маркера,

ПОЛЕ ДАННЫХ – содержание информации в секторе,

CRC поля Dn – циклическая контрольная сумма поля данных,

ECC – код исправления ошибок в поле данных.

Контроллер i8272 (отечественный аналог – КР1810ВГ72А) предназначен для чтения, записи, форматирования гибких дисков с одинарной (FM), удвоенной (MFM) и высокой плотностью в формате "IBM SYSTEM 34".

Функционирование контроллера НГМД.

Работа контроллера НГМД, на примере чтения сектора.

Процедура чтения сектора состоит из шести шагов:

1) включение шпиндельного двигателя накопителя, соответствующего запрошенному адресу;

2) выполнение команды поиска сектора и ожидание прерывания от контроллера, указывающего, что сектор найден и информация считана в буфер сектора без ошибок;

3) инициализация контроллера DМА, для пересылки данных из буфера сектора контроллера в оперативную память;

4) посылка команды ЧТЕНИЕ буфера сектора и ожидание прерывания от контроллера, указывающего, что пересылка данных в память завершена;

5) получение информации о состоянии (статусе) контроллера;

6) выключение шпиндельного двигателя.

Подробнее:

1) Посылка от CPU байта с адресом дисковода. Например, 1Сh – включить дисковод А:. Бит 2 = 1 в этой команде указывает, что головки должны остаться на текущей дорожке, если же бит 2 = 0, то требуется выполнить рекалибровку дисковода, т.е. предварительно установить головки на нулевую дорожку.

2) Команда ПОИСК передает байт, в котором указан номер искомой дорожки. После окончания поиска дорожки контроллер инициирует прерывание типа IRQ6 (для АТ), по которому BIOS устанавливает бит 7 статуса поиска = 1 (сектор найден).

3) Инициализация DMA (8237), состоящая из пяти шагов:

- посылка кода чтения 46h, или кода записи 4Ah в порты 0В и 0С DMA;

- вычисление 20-битового адреса памяти буфера в DRAM, куда будут посылаться данные из буфера сектора;

- засылка вычисленного адреса в регистры адреса 04h и страницы 81h канала 2 DMA;

- декремент регистра-счетчика байтов канала 2 (порт 05h) DMA;

- разрешение работы канала 2 DMA (передача байта 02h в порт 0Аh).

Инициализация контроллера DMA переводит его в ожидание данных от накопителя, а драйвер обмена данными с контроллером дисковода (BIOS) должен начать посылку командного файла в контроллер НГМД для пересылки данных.

4) Посылка в контроллер дисковода командного файла ЧТЕНИЕ или ЗАПИСЬ, соответственно. После этого через DMA передаются данные из НГМД в ОЗУ, или наоборот.

5) В фазе контроля, контроллером вырабатывается прерывание и происходит его обработка драйвером BIOS, которая считывает и анализирует байты состояния контроллера по команде ЧТЕНИЕ СОСТОЯНИЯ. Если используются процедуры DOS или BIOS, то байты состояния помещаются в область данных BIOS, начиная с адреса 0040:0042, а байт статуса дискеты сохраняется в адресе 0040:0041.

6) Выключение шпиндельного двигателя происходит через 5 секунд после завершения обмена. Выдержка в 5 секунд нужна, чтобы не проводить заново процедуру включения двигателя, если за это время потребуется новое обращение к НГМД.

Контрольные вопросы.

1. Какие частоты синхронизации используются в FDD?

2. Какую емкость сектора FDD поддерживает MS DOS?

3. Можно ли использовать для чтения/записи на дисководе высокой плотности дискету, отформатированную и записанную на дисководе с удвоенной плотностью записи?