Выбрать главу

Для обеспечения «горячего» подключения разъем для цепи GND обеспечивает более раннее соединение при подключении и более позднее при отключении. В устройстве сигналы CS0#, CS1#, RESET# и SELATA# подтягиваются к пассивному состоянию.

Для компьютеров класса XT существует 8-битная версия интерфейса, называемая XT-IDE, реже — XT-Bus. Этот интерфейс [2, 5], как и ATА, реализован на 40-проводном кабеле, и многие его сигналы совпадают с 16-битной шиной AT А. Интерфейс XT-IDE можно рассматривать как подмножество AT А, хотя прямой совместимости нет. Ряд устройств ATA имеют джампер выбора режима XT/AT (в накопителях Seagate на это указывает окончание «АХ» в обозначении модели).

Регистры устройств

Каждое устройство ATA имеет стандартный набор регистров, адресуемых сигналами от хост-адаптера (CS0#, CS1#, DA2, DA1, DA0, DIOR# и DIOW#). Набор регистров (табл. 9.6) состоит из двух блоков, выбираемых сигналами CS0# и CS1#, из которых активным (низкий уровень, «0») может быть только один. В таблице приведены адреса регистров в пространстве ввода-вывода IBM PC-совместимого ПК для первого и второго каналов ATA. При обращении к регистрам сигнал DMACK# должен быть неактивным. Блок командных регистров служит для посылки команд устройству и чтения информации о его состоянии. Блок управляющих регистров используется для управления устройством и получения более подробной информации о его состоянии. На действительность содержимого регистров командного блока и альтернативного регистра состояния указывает нулевое значение бита BSY регистра состояния. Запись в регистры должна производиться лишь при BSY=0 и DRQ=0, кроме особо оговоренных случаев. Если устройство поддерживает управление энергопотреблением, в «спящем» режиме содержимое этих регистров недействительно и запись игнорируется, кроме особо оговоренных случаев.

Таблица 9.6. Регистры контроллеров устройств ATA

Адрес Сигналы адресации канала № (0 — низкий уровень, 1 — высокий) Назначение (R — чтение, W — запись)
1 2 CS0# CS1# DA2 DA1 DA0 
    1 1 x x x Нет обращения (шина данных в третьем состоянии)
    0 0 x x x
Недопустимый адрес (шина данных в третьем состоянии)
3FX 37Х Control Block Registers — блок управляющих регистров
    1 0 0 X x Не используется (шина данных в третьем состоянии)
    1 0 1 0 x Не используется (шина данных в третьем состоянии)
3F6 376 1 0 1 1 0 R: Alternate Status (AS) — альтернативный регистр состояния
3F6 376 1 0 1 1 0 W: Device Control (DC) — регистр управления устройством
3F7 377 1 0 1 1 1 R: Drive Address (DA) — регистр адреса (не используется)¹
1FX 17Х Command Block Registers — блок командных регистров
1F0 170 0 1 0 0 0 R/W: Data (DR) — регистр данных
1F1 171 0 1 0 0 1 R: Error (ER) — регистр ошибок
1F1 171 0 1 0 0 1 W: Features (FR) — регистр свойств
1F2 172 0 1 0 1 0 R/W: Sector Count (SC) — регистр счетчика секторов
1F3 173 0 1 0 1 1 R/W: Sector Number (SN) — регистр номера сектора/LBA[7:0]²
1F4 174 0 1 1 0 0 R/W: Cylinder Low (CL) — регистр младшего байта номера цилиндра LBA[15:8]²
1F5 175 0 1 1 0 1 R/W: Cylinder High (CH) — регистр старшего байта номера цилиндра/LBA[23:16]²
1F6 176 0 1 1 1 0 R/W: Device/Head (D/H) — регистр номера устройства и головки/LBA[27:24]²
1F7 177 0 1 1 1 1 R: Status (SR) — регистр состояния
1F7 177 0 1 1 1 1 W: Command (CR) — регистр команд