русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 1873; Нарушение авторских прав


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

Альтернативный регистр состояния AS (для первого канала адрес 3F6h, для второго - 376h) имеет те же биты, что и основной (см. ниже), но его чтение не приводит ни к каким изменениям состояния устройства.

Регистр управления устройством DC (3F6h, 376h) служит для программного сброса обоих устройств одновременно и управления разрешением прерывания выбранного устройства. Запись в этот регистр возможна в любой момент. Программный сброс через регистр DC должен отрабатываться ив состоянии Sleep. Назначение битов регистра DC:

· биты [7:3] зарезервированы;

· бит 2 -SRST (Software Reset) — программный сброс,

действует все время, пока бит не будет снят (оба устройства на шине воспринимают программный сброс одновременно);



· бит 1 - n IE N (Interrupt Enable) — инверсный бит

разрешения прерывания (при нулевом значении бита выбранное устройство может вырабатывать сигнал INTRQ через тристабильный выход);

· бит 0 - 0.

Регистр адреса устройства DA (3F7h, 377h) использовался только в первой версии АТА для совместимости со старыми контроллерами, чтением этого регистра можно было определить адресованный привод и головку. Регистр выпадает из блока (он совпадает с диагностическим регистром состояния контроллера НГМД) и рекомендуется, чтобы устройство АТА не отвечало на чтение этого регистра. Если устройство отвечает на чтение, то оно не должно управлять битом DD7 во избежание конфликта с контроллером НГМД, у которого по этой линии передается бит смены носителя. Из-за несоблюдения этого требования могут возникать проблемы, когда контроллер (адаптер) АТА и контроллер НГМД находятся на разных платах. Назначение битов регистра DA:

· бит 7 - (HiZ) - высокоимпедансный, при считывании не

выдается на шину;

· бит 6 - nWTG - инверсный признак записи (во время

физического выполнения записи на носитель бит нулевой);

· биты [5:2] - nHS [3 :0] - номер головки (инверсные

биты);

· биты [1:0] - nDS [1:0] - выбор устройства (инверсные

биты): 10 - выбрано устройство 0, 01 - выбрано устройство 1.

Регистр данных DR (IFOh, 170h) может использоваться как 8-битный или 16-бит¬ный в зависимости от типа данных, передаваемых в текущей команде. Обращение к этому регистру происходит в режиме обмена РЮ (когда сигнал DMACK* неактивен), при выполнении передач протокола РО (РЮ Out) хост производит запись в этот регистр, при PI (РЮ In) — чтение. В режиме DMA обмен данными происходит через порт данных, при этом активны сигналы DMARQ и DMACK*, а сигналы CSO# и CS1# неактивны.

Регистр ошибок ER (IFlh, 171h) хранит состояние выполнения последней операции или диагностический код. После завершения операции на наличие ошибки указывает бит ERR регистра состояния.

Назначение битов регистра ER:

· бит 7 - зарезервирован;

· бит 6 - UNC (Uncorrectable Data Error) - неисправимая

ошибка данных;

· бит 5 - МС (Media Changed) - смена носителя (после

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

· бит 4 -IDN F (ID Not Found) - указывает на

ненайденный идентификатор сектора;

· бит 3 - MCR (Media Change Requested) — индикатор

запроса смены носителя (после обнаружения запроса смены носителя команды Door Lock будут возвращать бит ошибки ERR и бит MCR, бит MCR сбрасывается командами Door Unlock, Medi a Ej ect или сигналом аппаратного сброса);

· бит 2 - ABRT (Aborted Command) - устанавливается, если

команда отвергнута как недействительная или в случае возникновения иной ошибки;

· бит 1 -TK0NF (Track ONot Found) - указываетна то, что по

команде Recalibrate не удалось найти нулевой трек;

· бит 0 - AMNF (Address Mark Not Found) - не найден

адресный маркер данных в заголовке сектора.

После выполнения любого сброса или команды Execute Device Diagnostic регистр ошибок содержит диагностический код. Трактовка битов, за исключением бита 2 (ABRT), может меняться в зависимости от исполненной команды.

Регистр свойств FR (IFlh, 171h) используется в зависимости от команды. В команде Set Features через него задается код подкоманды. Некоторые старые устройства могут игнорировать запись в этот регистр. До принятия спецификации АТА-2 в этот регистр помещали значение рекомендуемого номера цилиндра для предкомпенсации записи.

Регистр счетчика секторов SC (lF2h, 172h) содержит число секторов, участвующих в обмене. Хост инициализирует этот регистр до подачи команды (нулевое значение соответствует 256 секторам). По успешному завершению операции доступа к данным регистр должен обнулиться. Если команда завершилась с ошибкой, в регистре будет число секторов, которые должны быть переданы для успешного завершения предыдущего запроса. Команды Initialize Device Parameters или Write Same могут переопределить значение этого регистра. В некоторых командах регистр используется для передачи иных параметров.

Регистры номера сектора S N (1 F3h, 173h) и номера цилиндра — младшего С L (1 F4h, 174h) и старшего байта СН (lF5h, 175h) — имеют двоякое назначение в зависимо¬сти от выбранной системы адресации (CHS или LEA). Они инициализируются хост-адаптером, а в случае возникновения ошибки при выполнении операции устройство поместит в них адрес, по которому встретилась ошибка.

Регистр номера устройства и головки D/H (IFGh, 176h) кроме хранения части адресной информации служит для выбора ведущего или ведомого устройства и метода адресации.

Назначение битов регистра D/H:

· биты 7 и 5 вплоть до АТА-3 должны были быть

единичными, в AT A/ AT API -4 их объявили устаревшими;

· бит 6 — L — единичным значением указывает на

применение режима адресации LBA, при нулевом значении бита используется режим CHS;

· бит 4 — DEV (Device) — выбор устройства, при DEV=0

выбрано ведущее, при DEV=1 — ведомое;

· биты [3:0] имеют двоякое назначение в зависимости от

выбранной системы адресации, в режиме CHS они содержат номер головки, в режиме LBA — старшие биты логического адреса.

Как и предыдущие (5М,СНиС1_), адресный регистр D/H инициализируется хост-адаптером, а в случае возникновения ошибки при операции устройство поместит в них адрес, по которому встретилась ошибка. До принятия спецификации АТА-2 считалось, что адресные регистры должны модифицироваться и после успешного выполнения операции, отражая текущее значение адреса в носителе. Регистр состояния S R (l F7h, 177h) отражает текущее состояние устройства в процессе выполнения команд: занятость, готовность, наличие ошибок и др. Чтение регистра состояния разрешает дальнейшее изменение его битов и сбрасывает запрос аппаратного прерывания.

Назначение битов регистра SR описано ниже.

· Бит 7 - BSY (Busy) указывает на занятость устройства,

значение этого бита действительно всегда. При BSY=1 устройство игнорирует попытки записи в командный блок регистров, а чтение этих регистров дает неопределенный результат. При BSY=0 регистры командного блока доступны, в это время устройство не может устанавливать бит DRQ, изменять значение битов Е RR и содержимое остальных командных регистров (могут меняться только значения битов IDX, DRDY, DF, DSC и CORR). Бит может устанавливаться на кратковременный интервал, так что хост может этого не заметить. Бит устанавливается:

- при сбросе устройства;

- по получении команды, если не устанавливается DRQ;

- между передачами блоков данных в режиме РЮ и после них, пока не обнулился DRQ;

- во время передач данных в режиме DMA.

· Бит 6 - DRDY (Device Ready) указывает на готовность

устройства к восприятию любых кодов команд. Если состояние бита изменилось, оно не может вернуться обратно до чтения регистра состояния. При DRDY=0 устройство воспринимает только команды Execute Device Diagnostic и Initialize Device Parameters, прекращая выполнение текущей команды и сообщая об этом флагом ABRT в регистре ошибок и флагом ERR в регистре состояния. Другие команды приводят к непредсказуемым результатам. Устройства AT API сбрасывают бит по любому сбросу и команде Execute Device Diagnostic. Бит устанавливается устройством AT A, когда оно готово к выполнению всех команд. Устройство AT API устанавливает бит до завершения выполнения команд, за исключением команд Device Reset и Execute Device Diagnostic.

· Бит 5 - DF (Device Fault) - индикатор отказа устройства.

· Бит 4 - DSC (Device Seek Complete) - индикатор

завершения поиска трека. В командах, допускающих перекрытие, бит называется SERV (Service Required) - устройство требует обслуживания.

· Бит 3 - DRQ (Data Request) — индикатор готовности к

обмену словом или байтом данных.

· Бит 2 — CORR (Corrected Data) — индикатор

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

· Бит 1 - I DX (Index) - индекс, трактуется особо каждым

производителем.

· Бит 0 - ERR (Error) - индикатор ошибки выполнения

предыдущей операции.

Дополнительная информация содержится в регистре ошибок. Если установлен бит ERR, до приема следующей команды, программного или аппаратного сброса устройство не изменит состояние этого бита, а также регистра ошибок, регистра количества секторов и регистров цилиндра, головки и номера сектора. Для команд PacketnService бит называется СНК и служит признаком исключительной ситуации.

В стандарте ATA/ATAPI-4 для некоторых команд биты 4 и 5 могут иметь иное назначение, а биты 1 и 2 объявлены устаревшими.

Назначение регистра команд CR (lF7h, 177h) очевидно из названия. Устройство начинает исполнять команду сразу, как только ее код записан в данный регистр. Команда Device Reset выполняется устройством AT API независимо от состояния битов BSY и DRQ, и даже в состоянии Sleep.



<== предыдущая лекция | следующая лекция ==>
Устройства, адаптеры, контроллеры и интерфейсы IDE | Топология сети CAN.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.