Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
n Бит 6 – DRDY (Device Ready) указывает на готовность устройства к восприятию любых кодов команд.
n Бит 5 – DF (Device Fault) – индикатор отказа устройства.
n Бит 4 – DSC (Device Seek Complite) – индикатор завершения поиска трека.
n Бит 3 – DRQ (Data Request) – индикатор готовности к обмену словом или байтом данных.
n Бит 2 – CORR (Correct Data) – индикатор исправленной ошибки данных.
n Бит 1 – IDX (Index) – индекс трактуется специфично для каждого производителя. Бит 0 – ERR (Error) – индикатор ошибки выполнения предыдущей операции. Дополнительная информация содержится в регистре ошибок.
n Регистр номера цилиндра (старшего и младшего байта) и номера сектора имеют двоякое назначение в зависимости от выбранной системы адресации (CHS или LBA). Они инициализируются хост-адаптером, а в случае возникновения ошибки при операции устройство поместит в них адрес, по которому встретилась ошибка.
n Регистр номера устройства и головки, кроме хранения части адресной информации, служит для выбора ведущего или ведомого устройства (Device-0 и Device-1 согласно спецификации ATA) и метода адресации.
n Биты 7 и 5 – зарезервированы.
n Бит 6 – единичным значением указывает на применение режима адресации LBA. При нулевом значении бита используется режим CHS.
n Бит 4 – DEV (Device) – выбор устройства. При DEV=0 выбрано устройство-0 (Master), при DEV=1 – устройство-1 (Slave).
n Биты 3-0 имеют двоякое назначение, в зависимости от выбранной системы адресации. В режиме CHS они содержат номер головки, в режиме LBA – старшие биты логического адреса.
n Регистр данных может использоваться как 8-битный и 16-битный, в зависимости от типа данных, передаваемых в текущей команде.
n Регистр ошибок хранит состояние выполнения последней операции или диагностический код.
n Регистр свойств (Features Register) используется в зависимости от команды.
n Регистр счетчика секторов содержит число секторов, участвующих в обмене. Нулевое значение соответствует 256 секторам.
Блок управляющих регистров используется для управления устройством и получения байта его состояния. В состав блока входят альтернативный регистр состояния и регистр управления устройством. Альтернативный регистр состояния имеет те же биты, что и основной, но его чтение не приводит ни к каким изменениям состояния устройства.
В регистре управления устройством биты 7-3 зарезервированы, бит 0 всегда нулевой, используются только два бита:
n Бит 2 – SRST (Software Reset) – программный сброс действует все время, пока бит не будет сброшен. Оба устройства шины воспринимают программный сброс одновременно.
n Бит 1 – IEN# (Interrupt Enable) – инверсный бит разрешения прерывания.
Адреса регистров контроллера устройства 0 определены в файле <linux/hdreg.h>:
#define HD_DATA 0x1f0 /* регистр данных */
#define HD_ERROR 0x1f1 /* регистр ошибок */
#define HD_NSECTOR 0x1f2 /* регистр счетчика секторов */
#define HD_SECTOR 0x1f3 /* регистр стартового сектора */
*/#define HD_LCYL 0x1f4 /* регистр младшего байта номера цилиндра */
#define HD_HCY 0x1f5 /* регистр старшего байта номера цилиндра */
#define HD_CURRENT 0x1f6 /* 101dhhhh, d=устройство, hhhh=головка */