Интерфейс АТА/ATAPI

Интерфейс и подключение накопителей на жестких магнитных дисках к компьютерам. Набор регистров устройств и назначение сигналов. Блочный обмен данными с устройствами прямого доступа. Поддержка очередей и возможность перекрытия команд, ленточный кабель.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 10.12.2011
Размер файла 952,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки РФ

ГОУ ВПО

Таганрогский Государственный Технический Университет

Кафедра ВТ

Реферат

По дисциплине «Интерфейсы периферийных устройств»

На тему:

«Интерфейс АТА/ATAPI»

Выполнил студент: 4го курса

3 группы

Иванов В.К.

Проверил:Сепадин В.М.

Таганрог 2011г

.

Интерфейс АТА/ATAPI

Интерфейс ATA (ATAttachmentforDiskDrives) разрабатывался в 1986-1990 гг. для подключения накопителей на жестких магнитных дисках к компьютерам IBMPCAT с шиной ISA. Стандарт, выработанный комитетом ХЗТ10, определяет набор регистров устройств и назначение сигналов 40-контактного интерфейсного разъема. Интерфейс появился в результате переноса стандартного (для PC/AT) контроллера жесткого диска ближе к накопителю, то есть создания устройств со встроенным контроллером -- IDE (IntegratedDriveElectronics). Стандартный контроллер AT позволял подключать до двух накопителей, что в интерфейсе АТА означает параллельное подключение контроллеров двух устройств. В спецификации АТА фигурируют следующие компоненты.

Хост-адаптер -- средства сопряжения интерфейса АТА с шиной компьютера. Хостом мы будем называть компьютер с хост-адаптером интерфейса АТА. Хост-контроллер -- более развитый вариант хост-адаптера.

Ведущее устройство (Master) -- ПУ, в спецификации АТА официально называемое Device-О (устройство 0).

Ведомое устройство (Slave) -- ПУ, в спецификации официально называемоеDevice-1 (устройство 1).

Хост-адаптер и устройства объединяются кабелем-шлейфом, соединяющим параллельно одноименные контакты интерфейсных разъемов. Регистры обоих контроллеров оказываются расположенными в одних и тех же областях пространства ввода-вывода. Для выбора устройства, исполняющего текущую команду, используется бит выбора накопителя (DEV) в регистре номера устройства и головки (drive/headregister). Если бит DEV4), выбрано ведущее устройство, если DEV=1 -- ведомое. Запись в этот регистр воспринимается сразу обоими устройствами, на обращения к остальным регистрам реагирует только выбранное. Достаточно универсальный набор сигналов позволяет подключать любое устройство со встроенным контроллером, которому в пространстве портов ввода-вывода достаточно того же набора регистров, способное поддержать режим выбора устройства через вышеупомянутый бит. Принятая система команд и регистров, являющаяся частью спецификации АТА, ориентирована на блочный обмен данными с устройствами прямого доступа. Для иных устройств существует спецификация ATAPI, основанная на тех же аппаратных средствах, но позволяющая обмениваться пакетами управляющей информации (PackageInterface, PI). Структура и наполнение пакетов позаимствованы из универсального интерфейса SCSI. Пакетный интерфейс позволяет расширить границы применения шины АТА.

Адресация в АТА имеет «дисковые корни»: для накопителей изначально указывали адрес цилиндра (cylinder), головки (head) и сектора (sector) -- так называемая трехмерная адресация CHS. Сначала эта адресация точно соответствовала реальной геометрии -- физически сектор действительно находился по указанному адресу. Позже по ряду причин диски АТА стали описывать внешней геометрией, отличающейся от реальной внутренней (например, разные зоны треков имеют разное число секторов, причем часть секторов может резервироваться на случай замены дефектных). При этом одно и то же устройство может иметь различную внешнюю геометрию. Преобразование адресов в реальные выполняется встроенным контроллером устройства. В системе CHS устройство АТА позволяет адресовать до 267 386 880 (65 536x16x255) секторов (блоков), что при размере сектора в 512 байт дает 136 902 082 560 байт (около 137 Гбайт). Позже пришли к линейнойадресации логических блоков LBA(LogicalBlockAddressing), где адрес блока (сектора) определяется 28-битным числом, что позволяет адресовать до 268 435 455 (228) блоков (немного больше, чем в CHS). Для устройств AT А, поддерживающих и CHS, и LBA, режим адресации определяется для каждой команды битом L (бит 6) регистра D/H; режимы могут чередоваться произвольным образом. Устройства ATAPI используют принятую в SCSI 32-битную логическую адресацию, позволяющую адресовать до 2 Тбайт (при 512-байтном блоке).

Если к шине АТА подключено одно устройство, оно должно быть ведущим. Если подключены два устройства, одно должно быть ведущим, другое -- ведомым. О своей роли (ведущее или ведомое) устройства «узнают» с помощью предварительно установленных конфигурационных джамперов. Если применяется «кабельная выборка» (см. ниже), роль устройства определяется его положением на специальном ленточном кабеле. Оба устройства воспринимают команды от хост-адаптера одновременно. Однако исполнять команду будет лишь выбранное устройство. Выводить выходные сигналы на шину АТА имеет право только выбранное устройство. Такая система подразумевает, что, начав операцию обмена с одним из устройств, хост-адаптер не может переключиться на обслуживание другого до завершения начатой операции. Параллельно могут работать только устройства IDE, подключаемые к разным шинам (каналам) АТА. Спецификация АТА-4 определяет способ обхода этого ограничения, но эту возможность используют редко.

Для устройств IDE существует несколько разновидностей интерфейса.

АТА, он же AT-BUS, -- 16-битный интерфейс подключения к шине компьютера AT. Наиболее распространенный 40-проводный сигнальный и 4-проводныйпитающий интерфейс для подключения дисковых накопителей к компьютерамAT. Для миниатюрных (2,5" и менее) накопителей используют 44-проводныйкабель, по которому передается и питание.

PCCardATA -- 16-битный интерфейс с 68-контактным разъемом PCCard (PCMCIA) для подключения к блокнотным PC.XTIDE (8 бит), он же XT-BUS, -- 40-проводный интерфейс, похожий на АТА,но несовместимый с ним.

MCAIDE (16 бит) -- 72-проводный интерфейс, предназначенный специальнодля шины и накопителей PS/2.

АТА-2 -- расширенная спецификация АТА. Включает 2 канала, 4 устройства,PIOMode 3, MultiwordDMAMode 1, Blockmode, объем диска до 8 Гбайт, поддержка LBA и CHS.

Fast АТА-2 разрешает использовать MultiwordDMAMode 2 (13,3 Мбайт/с),PIOMode 4.

АТА-3 -- расширение АТА-2. Включает средства парольной защиты, улучшенного управления питанием, самотестирования с предупреждением приближения отказа -- SMART (SelfMonitoringAnalysisandReportTechnology).

ATA/ATAPI-4 -- расширение АТА-3, включающее режим UltraDMA со скоростью обмена до 33 Мбайт/с и пакетный интерфейс ATAPI. Появляется поддержка очередей и возможность перекрытия команд.

ATA/ATAPI-5 -- ревизия ATA/ATAPI-4: удаляются устаревшие команды и биты, добавляются новые возможности защиты и управления энергопотреблением. Включает режим UltraDMA со скоростью обмена до 66 Мбайт/с.

ATA/ATAPI-6 -- дополнения к ATA/ATAPI-5: потоковое расширение для чтения/записи аудио- и видеоданных, управление акустическим шумом, режимUltraDMA со скоростью обмена до 100 Мбайт/с.

Serial ATA -- последовательный интерфейс.

E-IDE (EnhancedIDE) -- расширенный интерфейс, введенный фирмой WesternDigital. Реализуется в адаптерах для шин PCI и VLB. Позволяет подключатьдо 4 устройств (к двум каналам), включая CD-ROM и стриммеры (ATAPI).Поддерживает РЮ Mode 3, MultiwordDMAMode 1, объем диска до 8 Гбайт,LBA и CHS. С аппаратной точки зрения практически полностью соответствует спецификации АТА-2.

Устройства ATAIDE, E-IDE, АТА-2, Fast АТА-2, АТА-3^ ATA/ATAPI-4, ATA/ ATAPI-5 и ATA/ATAPI-6 электрически совместимы. Степень логической совместимости достаточно высока (все базовые возможности АТА доступны). Однако для полного использования всех расширений необходимо соответствие спецификаций устройств, хост-адаптера и его ПО.

Разработкой спецификаций ATA/ATAPI занимается технический комитет Т13 американского Национального Комитета но стандартизации в области информационных технологий (NCITS). Разработанные им спецификации оформляются в виде стандартов ANSI. Спецификация ATA/ATAPI-6 объявлена последней версией параллельного интерфейса АТА, за которой следует последовательный интерфейс SerialATA.

Параллельный интерфейс АТА

Параллельный интерфейс АТА представляет собой шину, в которой все сигналы соответствуют стандартной логике ТТЛ:

высокий уровень выходного сигнала не ниже 2,4 В (при токе до 400 мкА, сигналDMARQ -- до 500 мкА), низкий уровень не выше 0,5 В (при токе 4 мА, для линииDASP ради совместимости со старыми устройствами -- 12 мА);

высокий уровень входного сигнала не ниже 2,0 В, низкий уровень не выше 0,8 В.

Все информационные сигналы интерфейса передаются через 40-контактный разъем, у которого ключом является отсутствующий на вилке и закрытый на розетке контакт 20. Использование в качестве ключа выступа на корпусе розетки и прорези в бандаже вилки стандартом не приветствуется. Для соединения устройств применяется плоский многожильный кабель-шлейф, длина кабеля не должна превышать 0,46 м(18"), допустимая емкость проводников -- неболее 35 пФ. Терминаторы стандартом не предусматриваются (они имеются в каждом устройстве и хост-адаптере), но если кабель с тремя разъемами (розетками) используют для подключения одного устройства, то устройство и хост-адаптер рекомендуется подключать к противоположным концам кабеля. Состав информационных сигналов интерфейса АТА приведен в табл. 9.3, вид кабеля -- на рис. 9.2. В большинстве кабелей одноименные контакты всех разъемов соединяются своими проводами и все коннекторы равноправны. Встречаются (редко) ленточные кабели с кабельной выборкой, изображенные на рис. 9.3. В них провод 28 перерезан, так что контакт 28 (CSEL) для ведущего устройства заземлен через хост-адаптер, а для ведомого -- не подключен. Кабель должен соответствовать системе адресации, выбранной для обоих устройств.

Таблица 9.3. Интерфейс ATA (IDE)

Сигнал

Тип1

Контакт

Контакт

Тип1

Сигнал

reSet#

1

1

2

-

GND

DD7

I/OTS

3

4

I/OTS

DD8

DD6

I/OTS

5

6

I/OTS

DD9

DD5

I/OTS

7

8

I/O TS

DD10

DD4

I/OTS

9

10

I/OTS

DD11

DD3

I/OTS

11

12

I/O TS

DD12

DD2

I/OTS

13

14

I/OTS

DD13

DD1

I/OTS

15

16

I/OTS

DD14

DDO

I/OTS

17

18

I/OTS

DD15

GND

-

19

20

-

Ключ (нет штырька)

DMARQ

OTS2

21

22

-

GND

DlOWtf/STOP3

1

23

24

-

GND

DIOR#/HDMARDY#/HSTROBE3

1

25

26

-

GND

IORDY/DDMARDY#/DSTROBE3

OTS2

27

28

I/O

SPSYNC/CSEL7

DMACK#

1

29

30

-

GND

INTRQ

OTS2

31

32

ОOK

IOCS16#8

DA1

1

33

34

I,O>

PDIAG#/CBLID3

DAO

1

35

36

1

DA2

CSO#

1

37

38

1

CS1#

DASP#

I/O OK5

39

40

-

GND

+5 В(Logic)

-

41е

426

-

+5 В(Motor)

GND

-

436

446

-

Зарезервирован

Тип сигнала для устройства: I -- вход, О-- выход, I/O -- двунаправленный, TS -- тристабильный, ОК -- открытый коллектор. Для хост-адаптера значения I и О имеют противоположный смысл.

2 У старых устройств сигнал может иметь тип ОК (при разнотипных сигналах на одной шине возможен
конфликт).

3 Сигналы, приведенные после символа /,используются только в режиме UltraDMA (AT A-4).

4 У ведущего устройства --' вход, у ведомого -- выход.

5 У ведомого устройства -- только выход.

6 Контакты 41-44 используются только для миниатюрных дисков.

7 Начиная с АТА-3 - только CSEL.

8 Начиная с АТ А-3 зарезервирован.

Рис. 9.3. Ленточный кабель интерфейса АТА с кабельной выборкой

Начиная с ATA/ATAPI-4 в шлейфах узаконили кабельную выборку и для подключения устройства 1 определили средний коннектор. В нем контакт 28 либо не соединен с проводом, либо просто отсутствует. Вполне понятно, что при использовании кабельной выборки хост-контроллер подключать к среднему коннектору нельзя (как и к правому на рис. 9.3). Если номер устройства назначается джампером, то для 40-проводного кабеля можно подключать устройства и хост-контроллер к любым коннекторам произвольно (но желательно избегать «висячих» концов).

Для устойчивой работы в режиме UltraDMA рекомендуется применение 80-про-водных кабелей, обеспечивающих чередование сигнальных цепей и проводов схемной земли (GND). Такие кабели требуются для режимов UltraDMA выше 2 (скорость выше 33 Мбайт/с). Эти кабели разделываются на специальные разъемы, имеющие 40-контактные гнезда с обычным назначением контактов, но ножевые контакты для врезки 80 проводов. В шлейфе для схемной земли используются либо все четные, либо все нечетные провода -- это зависит от применяемых разъемов (на них должна быть маркировка EVNGND или ODDGND соответственно). Установкана одном шлейфе разнотипных разъемов недопустима (тогда все 80 проводов окажутся соединенными вместе). На 80-проводном кабеле в разъеме для подключения контроллера контакт 34 соединен с шиной GND и не соединен с проводом шлейфа; этим обеспечивается идентификация типа кабеля (CBLID). Провод шлейфа соединяет контакты 34 разъемов устройств, что обеспечивает прохождение сигнала PDIAG* от ведомого устройства к ведущему. С учетом возможности кабельной выборки на 80-проводном шлейфе положение коннекторов уже однозначно.

Коннектор хост-контроллерарасположен на конце шлейфа, у него контакт 34 заземлен и не соединен со шлейфом. Корпус коннектора должен быть синего цвета.

Коннектор устройства 0 расположен на противоположном конце шлейфа, у него все контакты соединены со шлейфом. Корпус коннектора должен быть черного цвета.

Коннектор устройства 1 (необязательный) расположен в середине шлейфа, у негоконтакт 28 не соединен со шлейфом. Корпус коннектора должен быть серого цвета.

Если кабельная выборка не используется, то устройства 0 и 1 можно менять местами.

Спецификация АТА «узаконивает» как 40-контактный интерфейсный разъем, так и 4-контактный разъем питания (рис. 9.4), но для малогабаритных устройств питание может подаваться по 44-проводному интерфейсному кабелю.

А б

Рис. 9.4. Разъемы интерфейса АТА (вилки на устройствах): а -- интерфейсный, б -- питания

Для большинства устройств применяется 40-контактный разъем с шагом контактов 2,54 мм. Рядом с ним могут располагаться дополнительные контакты, служащие для конфигурирования устройства и технологических целей (диагностики и других операций по служебному последовательному интерфейсу). Спецификация ATA/ ATAPI предусматривает два варианта, приведенные на рис. 9.5, а и б. Здесь пустым квадратиком обозначены позиции ключевых (пропущенных) выводов, контакты 1-40 используются для интерфейса (см. табл. 9.3), а контакты А-Н -- для установки джамперов (табл. 9.4) и технологических целей. Для миниатюрных устройств предназначен 50-контактный разъем с шагом выводов 2 мм (рис. 9.5, в), у которого контакты 1-44 соответствуют табл. 9.3, контакты A-D -- табл. 9.4 (используются для конфигурирования, а пара пропущенных контактов является дополнительным ключом). Для 50-контактного кабеля принято назначение выводов накопителей IBMThinkpad/Travelstar:

контакт А через резистор 10 кОм соединяется с шиной +5 В;

контакт В для устройства задает его роль: низкий уровень -- устройство 0, высокий -- устройство 1;контакт С определяет режим устройства по включении питания: низкий уровень -- Standby, высокий -- Idle;

контакт D соединяется с контактом 28 (CSEL) и через резистор 10 кОм -- с шиной +5 В.

Это назначение, позволяющее конфигурировать и адресацию, и режим потребления, применяется не на всех устройствах. На винчестерах фирмы Toshiba контакты А и В могут использоваться как выход и вход последовательного интерфейса (В подтянут к шине +5 В через резистор 47 кОм), С -- GND, D -- роль устройства (низкий уровень для устройства 1).

Рис. 9.5. Дополнительные контакты на разъемах интерфейса АТА: а -- SFF8057, б -- SFF8058, в -- SFF8212 (50-контактный разъем)

Таблица 9.4. Использование дополнительных контактов

Выборка

SFF8057

SFF8058

SFF8212

Toshiba (1996)

Используемые контакты

Е-Н

A-F

A-D

A-D

Кабельная выборка

E-F

A-B

B-D

B-D

Master

G-H

E-F

-

-

Master при наличии Slave

G-H,E-F

E-F

-

-

Slave

-

C-D

A-B

C-D

Для малогабаритных внешних устройств-существует довольно распространенный разъем HP 36, но в спецификацию ATA/ATAPI он не входит. Для устройств хранения на флэш-памяти используется коннектор, соответствующий спецификации CompactFlashAssociation.

В документации на устройства могут быть указаны несколько отличающиеся обозначения сигналов. Здесь приведены обозначения из стандарта ATA/ATAPI-4.

¦ RESET* (DeviceReset) -- сброс устройства (инвертированный сигнал сброса системной шины). Сигнал длительностью не менее 25 мкс вырабатывается после установления питающих напряжений. Сигнал вызывает сброс интерфейса в исходное состояние и устанавливает параметры по умолчанию.

DA[2:0] (DeviceAddress) -- три младших бита системной шины адреса, используемые для выбора регистров устройств.

DD[15:0] (DeviceData) -- двунаправленная 16-битная шина данных между адаптером и устройствами. При 8-битных обменах используются младшие битыD[7:0]. У устройства не должно быть «подтягивающего» резистора на линииDD7 -- на хост-контроллере эта линия через резистор 10 кОм соединена с шиной GND. Это позволяет хосту определить факт отсутствия устройства на шинесразу после аппаратного сброса: при чтении регистра состояния отсутствующего устройства бит BSY окажется сброшенным.

DIOR* (DeviceI/ORead) -- строб чтения портов ввода-вывода. Данные фиксируются по положительному перепаду сигнала.

DIOW# (DeviceI/OWrite) -- строб записи портов ввода-вывода. Данные фиксируются по положительному перепаду сигнала.

IORDY (I/OchannelReady) -- готовность устройства завершить цикл обмена.Низким уровнем сигнала во время цикла обмена устройство может ввеститакты ожидания шины. Сигнал требуется при обмене в РЮ Mode 3 и выше.На хост-контроллере эта линия через резистор 1 кОм должна подтягиватьсяк шине питания.

IOCS16* -- разрешение 16-битных операций. Обращение ко всем регистрам,кроме регистра данных, всегда 8-битное. Для РЮ Mode 0,1,2 при активномсигнале обращения 16-битные, при неактивном -- 8-битные. Для РЮ Mode 3,4и DMA все обмены 16-битные, кроме дополнительных байтов (выходящих заграницу 512-байтного сектора) «длинного» считывания и записи. Начинаяс ATA/ATAPI-3 не используется.

DMARQ (DMARequest) -- запрос обмена по каналу DMA (необязательный).При разрешении обмена сигнал (высокий уровень) вводится устройством поготовности к обмену. Введя сигнал DMARQ, устройство должно дождаться подтверждения от хост-адаптера сигналом DMACK*, после чего может снять запросDMARQ. Для очередной передачи запрос должен быть введен снова. В режимеMultiwordDMA запрос может удерживаться на время передачи всех данных.Выход должен быть тристабильным, во время работы с DMA он может бытьв активном состоянии (0 или 1) только у выбранного устройства. В АТА-1 для этого сигнала мог использоваться как тристабильный, так и стандартный ТТЛ-выход. Работа на одной шине устройств с разнотипными выходами DMARQможет привести к конфликтам. На хост-контроллере линия должна соединяться с шиной GND через резистор 5,6 кОм.

DMACK# (DMA Acknowledge) -- подтверждение DMA. Сигнал вырабатывается хост-адаптером как подтверждение цикла передачи. Передача слова данныхуправляется сигналами DIOR* или DIOW*. Во время обмена по каналу DMAсигналы IOCS16#, CSO# и CS1# не используются, обмен всегда производится 16-битными словами.

INTRQ (Interrupt Request) -- запроспрерывания. Выход должен быть тристабильным, активный сигнал (логическую единицу) вырабатывает только выбранное устройство, когда у него имеется необслуженный запрос прерывания и его вырабатывание не запрещено битом nIE N в регистре DeviceControl.Запрос сбрасывается по сигналу RESET*, установке бита SRST в регистре Devi се Control, записи в регистр команд или чтении регистра состояния. При обменах PIO запрос устанавливается в начале передачи каждого блока (сектора или группы секторов при многосекторных операциях). Исключения: по командам FormatTrack, WriteSector(S),WriteBuffer и WriteLong в начале передачи первого блока данных запрос прерывания не вырабатывается. При обменах DMA запрос прерывания вырабатывается только по завершении операции. На хост-контроллере эта линия через резистор 10 кОм должна подтягиваться к шине GND.

CSO# (ChipSelect 0) -- сигнал выбора блока командных регистров (CommandBlockRegisters). Для первого канала он вырабатывается при наличии на системной шине адреса порта ввода-вывода в диапазоне !FOh-lF7h (сигнал также называют CS1FX*).

CS1# (ChipSelect 1) -- выбор блока управляющих регистров (ControlBlock Registers). Для первого канала он вырабатывается при наличии на системнойшине адреса порта ввода-вывода в диапазоне 3F6h-3F7h (часто этот сигналназывается CS3FX*).

PDIAG* (PassedDiagnostics) -- сигнал о прохождении диагностики. Ведущееустройство наблюдает за этим сигналом, который ведомое устройство должновыработать в ответ на сброс или команду диагностики. Если ведомое устройство обнаружено (по сигналу DASP#), ведущее устройство ожидает сигнал в течение 31с после сброса и 6 с после команды диагностики. Если за это времясигнал не появился, ведущее устройство отмечает этот факт установкой бита 7регистра ошибок. Если ведомое устройство не обнаружено, ведущее обнуляетрегистр состояния ведомого устройства и сообщает свое состояние сразу послезавершения собственной самодиагностики. Сигнал служит только для связидвух устройств и хост-адаптером не используется (в АТА-4 контакт задействован для сигнала CBLID*).

CBLID* (Cable assembly type identifier) -- идентификациятипакабеля. В 80-проводной сборке контакт 34 на разъеме хост-адаптера соединяется с шиной GND,а контакты 34 разъемов устройств соединяются между собой, но связи с разъемом хост-адаптера не имеют. На устройстве эта линия через резистор 10 кОм должна подтягиваться к шине питания. После прохождения сброса (когда сигнал PDIAG* снимается) хост может определить наличие 80-проводного кабеля по низкому уровню сигнала.

¦ DASP# (DeviceActive, SlavePresent) -- сигнал двойного назначения: индикатор активности устройства и присутствия ведомого устройства. Устройстваимеют выход типа «открытый коллектор» с нагрузочным резистором 10 кОмк шине +5 В. После сброса по сигналу RESET* или при инициализации по включении питания оба устройства в течение 1 мс должны деактивировать этот сигнал, после чего не позже чем через 400 мс его вводит ведомое устройство длясообщения о своем присутствии. Ведущее устройство не активирует этот сигнал в течение 450 мс. Сигнал деактивируется ведомым устройством после получения им команды или через 31 с автоматически (смотря что произойдет раньше). После этого сигнал может быть введен любым устройством как индикатор активности. Адаптер использует этот сигнал для включения светодиодного индикатора доступа к диску.

¦ SPSYNC/CSEL (SpindleSynchronization/CableSelect) -- синхронизация шпинделя или выборка кабелем. Сигнал двойного назначения, которое должно бытьединым для обоих устройств. Сигнал SPSYNC позволяет синхронизироватьшпиндели устройств (актуально для RAID-массивов); используется по усмотрению производителя накопителя, начиная с ATA/ATAPI-3 этот сигнал изспецификации изъят. Сигнал CSEL позволяет устройствам определять свой адреспо положению на специальном кабеле с разрывом провода 28 между разъемамидвух устройств (малораспространенная «кабельная выборка»). Эта линия нахост-адаптере заземлена, и ведущее устройство получает заземленную линию,а ведомое -- неподключенную. На устройстве линия подтягивается к высокому уровню резистором 10 кОм. Состояние сигнала (если он управляется хост-адаптером) должно удерживаться по крайней мере 31с после сигнала RESET*.

При использовании режима UltraDMA четыре линии получают новое назначение сигналов.

STOP (StopUltraDMAburst) -- останов передачи пакета UltraDMA.

DDMARDY* (DeviceUltraDMAready) -- готовность устройства при приеме пакета UltraDMA (управление потоком).

DSTROBE (HostUltraDMAdatastrobe) -- строб данных устройства при передаче пакета хосту. Данные передаются по обоим перепадам DSTROBE.

HDMARDY* (HostUltraDMAready) -- готовность хоста при приеме им пакетаUltraDMA (управление потоком).

HSTROBE (HostUltraDMAdatastrobe) -- строб данных хоста при передаче пакета устройству. Данные передаются по обоим перепадам HSTROBE.

Для блокнотных ПК в стандарте имеется вариант интерфейса IDE на 68-контактном разъеме PCMCIA (PCCard), приведенный в табл. 9.5. Здесь имеется ряд специфичных сигналов.

SELATA* (Select 68-pinATA) -- сигнал, которым хост идентифицирует режимиспользования разъема, PCCard (сигнал снят) или АТА (сигнал установлен,то есть низкий уровень). Этот сигнал хост должен установить до подачи питанияна коннектор. В течение 19 мс после подачи питания устройство игнорирует всеинтерфейсные сигналы, кроме этого. Если этот сигнал активен, то устройстводолжно сконфигурироваться на режим АТА. Если сигнал неактивен, оно должносконфигурироваться на режим PCCard или не отвечать на другие сигналы хоста.

CD1 # и CD2# (CardDetect) заземляются в устройстве -- по этим сигналам хостопределяет присутствие устройства.

CS1# (Devicechipselect 1) -- выбор устройства, подается хостом на оба контакта (Ни 42), но устройство воспринимает только один из них.DMARQ, DMACK* и IORDY -- не обязательны для использования.

M/S# (Master/Slave) -- инверсиясигнала CSEL. Хост выдает сигналы M/S# иCSEL до подачи питания, устройство воспринимает лишь один из них.

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

Таблица 9.5.68-контактный интерфейс АТА для PCCard (PCMCIA) Контакт Сигнал Контакт Сигнал

1

GND

35

GND

2

DD3

36

CD1#

3

DD4

37

DD11

4

DD5

38

DD12

5

DD6

39

DD13

6

DD7

40

DD14

7

CSO#

41

DD15

8

42

CS1#

9

SELATA*

43

10

44

DIOR#

11

CS1#

45

DIOW#

12

46

13

47

14

48

15

49

16

INTRQ

50

17

+5 В

51

+5 В

18

52

19

53

20

54

21

55

M/S#

22

56

CSEL

23

57

24

58

RESET#

25

59

IORDY*

26

60

DMARQ

27

DA2

61

DMACK#

28

DA1

62

DASP#

29

DAO

63

PDIAG*

30

DDO

64

DD8

31

DD1

65

DD9

32

DD2

66

DD10

33

67

CD2#

34

GND

68

GND

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

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

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

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

Адрес

Сигналы адресации канала №

Назначение (R -- чтение, W -- запись)

(0 -- низкий уровень, 1 -- высокий)

1

2

CSO#

CS1#

DA2

DA2 DA1О

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: DeviceControl (DC) -- регистр управления

устройством

3F7

377

1

0

1

1 1

R: Drive Address (DA) -- регистрадреса

(не используется)1

Продолжение

Таблица 9.6. (продолжение)

1F0

170

0

1

0

0

0

1F1

171

0

1

0

0

1

1F1

171

0

1

0

0

1

1F2

172

0

1

0

1

0

1F3

173

0

1

0

1

1

1F4

174

0

1

1

0

0

1F5

175

0

1

1

0

1

1F6

176

0

1

1

1

0

1F7

177

0

1

1

1

1

1F7

177

0

1

1

1

1

Адрес Сигналы адресации канала № Назначение (R -- чтение, W -- запись) (0 -- низкий уровень, 1 -- высокий)

1 2 CSO# CS1# DA2 DA1 ОАО

1FX 17Х Command Block Registers -- блок командных регистров

R/W: Data (DR) -- регистр данных

R: Error (ER) -- регистр ошибок

W: Features (FR) -- регистр свойств

R/W: SectorCount (SC) -- регистр счетчика секторов

R/W: Sector Number (SN) -- регистрномера

сектора/LBA[7:0]2

R/W: Cylinder Low (CL) -- регистрмладшего

байта номера цилиндраДВА[15:8]2

R/W: CylinderHigh (CH) -- регистр старшего байта номера цилиндра/1-ВА[23:1 б]2

R/W: Device/Head (D/H) -- регистр номера устройства и головки/1_ВА[27:24]2

R: Status (SR) -- регистр состояния

W: Command (CR) -- регистр команд

1 Рекомендуется, чтобы на сигнал чтения по этому адресу устройство не отвечало.

2 Регистры сектора, цилиндра и головки в режиме LBA содержат указанные биты логического адреса.

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

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

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

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

бит 1 -- nIE N (InterruptEnable) -- инверсный бит разрешения прерывания (принулевом значении бита выбранное устройство может вырабатывать сигнал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 (UncorrectableDataError) -- неисправимая ошибка данных;

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

бит 4 -- IDNF (IDNotFound) -- указывает на ненайденный идентификатор сектора;

бит 3 -- MCR (MediaChangeRequested) -- индикатор запроса смены носителя(после обнаружения запроса смены носителя команды DoorLock будут возвращать бит ошибки ERR и бит MCR, бит MCR сбрасывается командами DoorUnlock, MediaEject или сигналом аппаратного сброса);

бит 2 -- ABRT (AbortedCommand) -- устанавливается, если команда отвергнута как недействительная или в случае возникновения иной ошибки;

бит 1 --TK0NF (TrackONotFound) --указываетна то, что по команде Recalibrateне удалось найти нулевой трек;

бит 0 -- AMNF (AddressMarkNotFound) -- не найден адресный маркер данныхв заголовке сектора.После выполнения любого сброса или команды ExecuteDeviceDiagnosticрегистр ошибок содержит диагностический код. Трактовка битов, за исключением бита 2 (ABRT), может меняться в зависимости от исполненной команды.

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

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

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

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

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

биты 7 и 5 вплоть до АТА-3 должны были быть единичными, в ATA/ ATAPI -4их объявили устаревшими;

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

бит 4 -- DEV (Device) -- выбор устройства, при DEV=0 выбрано ведущее, приDEV=1 -- ведомое;

биты [3:0] имеют двоякое назначение в зависимости от выбранной системы адресации, в режиме CHS они содержат номер головки, в режиме LBA -- старшие биты логического адреса.

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

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

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

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

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

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

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

Бит 6 -- DRDY (DeviceReady) указывает на готовность устройства к восприятию любых кодов команд. Если состояние бита изменилось, оно не может вернуться обратно до чтения регистра состояния. При DRDY=0 устройство воспринимает только команды ExecuteDeviceDiagnostic и InitializeDeviceParameters, прекращая выполнение текущей команды и сообщая об этомфлагом ABRT в регистре ошибок и флагом ERR в регистре состояния. Другиекоманды приводят к непредсказуемым результатам. Устройства ATAPI сбрасывают бит по любому сбросу и команде ExecuteDeviceDiagnostic. Битустанавливается устройством AT A, когда оно готово к выполнению всех команд.Устройство ATAPI устанавливает бит до завершения выполнения команд, заисключением команд DeviceReset и ExecuteDeviceDiagnostic.

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

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

Бит 3 -- DRQ (DataRequest) -- индикатор готовности к обмену словом или байтом данных.

Бит 2 -- CORR (CorrectedData) -- индикатор исправленной ошибки данных.

Бит 1 -- IDX (Index) -- индекс, трактуется особо каждым производителем.

Бит 0 -- ERR (Error) -- индикатор ошибки выполнения предыдущей операции.

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

В стандарте ATA/ATAPI-4 для некоторых команд биты 4 и 5 могут иметь иное назначение, а биты 1 и 2 объявлены устаревшими.Назначение регистра команд CR (lF7h, 177h) очевидно из названия. Устройство начинает исполнять команду сразу, как только ее код записан в данный регистр. Команда DeviceReset выполняется устройством ATAPI независимо от состояния битов BSY и DRQ, и даже в состоянии Sleep.

Полный список команд АТА приведен в литературе [4,5,9].

Протоколы и режимы передачи данных

Программа общается с устройствами АТА через регистры, используя инструкции ввода-вывода IN и OUT. Для передачи данных с максимальной скоростью применяют программный доступ РЮ к регистру данных инструкциями INSW/OUTSW или по каналу DMA. Тип обмена (РЮ или DMA) определяется командой обращения. Программный доступ РЮ обязателен для всех устройств, команды режима DMAустройствами могут не поддерживаться. Параметры различных режимов обмена приведены в табл. 9.7.

диск накопитель регистр команда

Таблица 9.7. Параметры режимов передачи

Режим передачи

Минимальное

Скорость

Интерфейс

время цикла, не

передачи, Мбайт/с

РЮ mode 0

600

3,3

АТА

РЮ mode 1

383

5,2

АТА

РЮ mode 2

240

8,3

АТА

РЮ mode 3

180

11,1

E-IDE, АТА-2

(используется IORDY)

РЮ mode 4

120

16,6

E-IDE, Fast АТА-2

(используется IORDY)

Singleword DMA Mode 0

960

2,08

АТА

Singleword DMA Mode 1

480

4,16

АТА

Singleword DMA Mode 2

240

8,33

АТА

Multiword DMA Mode 0

480

4,12

АТА

Multiword DMA Mode 1

150

13,3

АТА-2

Multiword DMA Mode 2

120

16,6

FastАТА-2

Ultra DMA Mode 0

120'

16,6

ATA/ATAPI-4

Ultra DMA Mode 1

80'

25

ATA/ATAPI-4

Ultra DMA Mode 2

601

33

ATA/ATAPI-4

Ultra DMA Mode 3

451

44,4

ATA/ATAPI-5

Ultra DMA Mode 4

ЗО1

66,6

ATA/ATAPI-5

Ultra DMA Mode 5

201

100

ATA/ATAPI-6

В пакете данных режима UltraDMA за каждый такт передаются два слова данных, один по фронту синхронизирующего сигнала, другой по спаду. Период следования синхросигналов равен удвоенному времени цикла.

Программный доступ РЮ (ProgrammedInput/Output) выполняется в виде следующих друг за другом операций чтения или записи в пространстве ввода-вывода по адресу регистра данных. Готовность устройства проверяется перед началомпередачи блока, после чего хост производит серию операций в определенном темпе, который определяется выбранным режимом РЮ Mode 0-4. Для каждого режима определены допустимые параметры временной диаграммы цикла обмена. Обмен РЮ программно реализуется с помощью процессорных инструкций ввода-вывода строк REPINS или REPOUTS с занесенным в регистр СХ количеством слов (или байтов) в передаваемом блоке. Эти инструкции обеспечивают максимально возможную скорость обмена для данного процессора и системной шины. «Обуздать» процессор в соответствии с выбранным режимом входит в задачу адаптера AT А, который использует для удлинения цикла сигнал готовности шины (для ISA -- IOCHRDY). Традиционные режимы 0,1 и 2 имеют временные параметры, фиксируемые только хост-адаптером. Для прогрессивных режимов АТА-2 (РЮ Mode 3 и выше) устройство может затормозить обмен, используя сигнал готовности IORDY. Программный обмен на все время передачи блока занимает и процессор, и системную шину.

Обмен по каналу DMA занимает исключительно шины ввода-вывода и памяти. Процессору требуется выполнить только процедуру инициализации канала, после чего он свободен до прерывания от устройства в конце передачи блока (этим могут воспользоваться многозадачные системы). Стандартные каналы DMA шины ISAдля интерфейса АТА не используются из-за низкой пропускной способности. Высокопроизводительные адаптеры АТА имеют собственные более эффективные контроллеры. Режимы обмена по каналу DMA бывают одиночными и множественными. При одиночном режиме -- SinglewordDMA -- устройство для передачи каждого слова вырабатывает сигнал запроса DMARQ и сбрасывает его по сигналу DMACK#, подтверждающему цикл обмена. При множественном режиме -- MultiwordDMA -- на сигнал DMARQ хост отвечает потоком циклов, сопровождаемых сигналами DMACK*. Если устройство не справляется с потоком, оно может приостановить его снятием сигнала DMARQ, а по готовности установить его снова. Множественный режим позволяет развить более высокую скорость передачи.

В спецификации ATA/ATAPI-4 появился новый режим -- UltraDMA, позволяющий перешагнуть барьер в 16,6 Мбайт/с, свойственный традиционным режимам и используемому кабелю. При этом обеспечивается и контроль достоверности передачи данных по шине, чего не делалось ни в РЮ, ни в стандартных режимах DMA (а зря!). Стандартом АТА-4 было определено 3 режима UltraDMA (0,1 и 2), впоследствии ввели новые; выбор режима осуществляется командой SetFeatures. В режимах UltraDMA сигналы DMARQ и DMACK* сохраняют свое назначение, а вот смысл сигналов DIOR#, DIQW# и IORDY на время передачи пакета (UltraDMABurst) существенно меняется. В пакете данные на шине сопровождаются стробом, генерируемым источником данных, причем для синхронизации используются оба перепада сигналов. Это позволяет повысить пропускную способность шины до 33 Мбайт/с, не увеличивая частоту переключения сигналов сверх 8,33 с"1 (этот предел для обычного кабеля достигается в режиме РЮ Mode 4 и MultiwordDMAMode 2). Каждое переданное слово участвует в подсчете CRC-кода, который передается хост-контроллером в конце пакета. Подсчет ведется и источником данных, и приемником.При несовпадении принятого устройством кода с ожидаемым кодом фиксируется ошибка передачи, о которой устройство сообщает в конце исполнения команды. Передача в пакете может приостановиться, если приемник снимет сигнал готовности (DDMARDY* или HDMARDY*). Передача пакета может прекращаться по инициативе устройства (снятием сигнала) или хоста (сигналом STOP). Противоположная сторона должна подтвердить окончание цикла сигналом STOP или DMARQ соответственно.

Способ сообщения об ошибке передачи зависит от типа выполнявшейся команды. Для команд READDMA,WRITEDMA, READDMAQUEUED или WRITEDMAQUEUED в регистре ошибок ER устанавливается бит 7 (ICRC) и бит 2 (ABRT). Для пакетной команды REQUESTSENSE (уточнить состояние) в случае ошибки в регистре состояния SR устанавливается бит О (СНК) и сообщается ключ состояния (Sensekey) OBh (команда отвергнута). Для всех других пакетных команд в случае ошибки устанавливается бит СНК и сообщается состояние 04h (аппаратная ошибка), а в последующих командах REQUESTSENSE сообщается значениеЛ5С/А5СО 08h/03h (ошибка CRC при связи с логическим устройством). Получив сообщение об ошибке, хост должен повторить команду. Если ошибки появляются постоянно, хост должен понизить скорость обмена (вплоть до выхода из режима UltraDMA).

Тип режима обмена определяется возможностями хост-адаптера (и его драйвера), устройств и кабеля, и для каждого устройства он будет ограничен минимумом из максимальных возможностей всех этих компонентов. Как правило, режимы устанавливаются системой автоматически, но пользователю дается возможность при необходимости «подрезать крылья» контроллеру настройками BIOSSetup. Для работы в режимах UltraDMAMode 3 и выше требуется 80-проводный кабель, присутствие которого должно быть программно определено до включения этого режима обмена. Правда, в спецификации есть оговорка, что при двухточечном соединении (контроллер--устройство) для режимов 3 и 4 можно использовать 40-проводный кабель (без среднего разъема). Система не должна позволить пользователю применить высокоскоростные режимы на обычном кабеле, при этом желательно, чтобы она сообщала об обнаруженном несоответствии. Для определения типа кабеля есть несколько возможностей [4].

¦ Определение типа кабеля через хост-контроллер, для чего хост-контроллер должен иметь приемник сигнала CBLID*. После включения питания или аппаратного сброса хост ожидает завершения протокола сброса и затем подает команду идентификации Identyf у (Packet) Devi се устройству 1. Устройство 1 стандарта АТА-3 и выше обязано после сброса снять сигнал PDIAG#/CBLID# не позднее, чем по приходу первой команды. Если обнаружено старое устройство, то протокол идентификации кабеля хостом работать не будет (но со старым устройством на шлейфе включать высокоскоростной режим и не стоит). Современное устройство снимет сигнал, и хост-адаптер сможет определить наличие 80-проводного кабеля по низкому уровню CBLID*. Некорректно работающее устройство может удержать низкий уровень сигнала, и в этом случае 40-проводный кабель будет ошибочно трактоваться как 80-проводный.Определение типа кабеля через устройство не требует дополнительного приемника в контроллере -- линия PDIAG#/CBLID# в хост-контроллере заземляется через конденсатор емкостью 0,047 мкФ±20 %. Приемник сигнала идентификации кабеля располагается в устройстве. Для определения типа кабеля хостпосылает команду Identyf у (Packet) Device устройству 1, чтобы оно освободило линию (сняло сигнал PDIAG*). Затем команда идентификации посылаетсяустройству 0. Примерно через 30 мкс после получения команды устройствократковременно обнуляет эту линию, затем отпускает и только через 20-30 мкспосле этого считывает ее состояние и сообщает его в бите 13 слова 93. Линияподтягивается к +5 В резисторами 10 кОм, установленными в устройствах.Если используется 40-проводный кабель, то конденсатор в хост-адаптере неуспеет перезарядиться и устройство сообщит нулевое значение бита. Если кабель80-проводный, то конденсатор оказывается изолированным от линии PDIAG*/CBLID* в устройстве, и оно сообщит единичное значение бита. Если на хост-контроллере нет конденсатора, то даже 40-проводный кабель будет идентифи цироваться как 80-проводный, что опасно при передаче данных. Если некор ректно работающее ведомое устройство своевременно не отпустит линию, то даже 80-проводный кабель будет казаться 40-проводным.

Комбинированный метод определения типа кабеля предполагает наличие на хост-контроллере и приемника сигнала CBLID#, и конденсатора (они друг другу не мешают). Решение о наличии 80-проводного кабеля принимается, толькоесли это подтвердят оба метода. Возможная ошибка идентификации будет безопасной -- при некорректном устройстве 1 на 80-проводном кабеле не будетвключен высокоскоростной режим (наверное, это и к лучшему).

Правильный выбор режима обмена обеспечивает надежность и производительность. Все устройства поддерживают режим РЮ Mode 0, в котором считывается блок параметров идентификации. В блоке имеются поля, описывающие режим обмена по умолчанию и более эффективные режимы обмена, поддерживаемые устройством. Командой SetFeatures можно изменить параметры режима. Иногда накопитель не обеспечивает надежной передачи данных в заявленном высокоскоростном режиме. Если данные начинают пропадать, первым делом следует понизить режим обмена.

BIOS определяет режим обмена с каждым устройством с учетом ограничений, заданных в Setup. Старые диски, не сообщающие своих параметров, могут не работать с новыми режимами PIO. На одном ленточном кабеле (канале ATА) могут присутствовать устройства с разным режимом обмена -- спецификация это допускает. Однако реально могут возникать аппаратные или программные ограничения. Некоторые чипсеты не позволяют независимо программировать режим обмена для устройств канала. В таком случае при подключении двух разных устройств (например, PIOMode 1 и 3) обмен с обоими устройствами будет происходить со скоростью меньшего (PIOMode 1). Поэтому не рекомендуется к одному каналу АТА (порту IDE) подключать быстрый винчестер и медленный CD-ROM. Иногда завязка режимов обмена двух устройств обусловлена ограниченным набором параметров конфигурации в BIOS. Быстрые режимы множественного обмена поDMA реализуются только драйверами ОС. «Глупый» драйвер может попытаться навязать медленный режим обоим устройствам канала, так что смешивать разные устройства не стоит и по этой причине.

Протокол обмена PIO хорош только для однозадачных ОС. Для многозадачных ОС больший интерес представляет обмен по протоколу DMA, если, конечно, поддерживаемый режим обеспечивает приемлемую скорость обмена. С точки зрения драйвера есть различия лишь между типами режимов (РЮ, DMA и UltraDMA); аппаратные нюансы режимов внутри типа влияют только на скорость передачи. Режим UltraDMA значительно отличается от обычного DMA необходимостью обработки возможных ошибок передачи по шине; в случае постоянных ошибок драйвер должен понизить режим UltraDMA (вплоть до перехода на традиционные режимы).

Протокол взаимодействия хоста с устройством выглядит следующим образом.

Хост читает регистр состояния устройства, дожидаясь нулевого значения бита ВSY.Если присутствуют два устройства, хост обращается к ним «наугад» -- состояние будет сообщаться последним выбранным устройством.

Дождавшись освобождения устройства, хост записывает в регистр D/Hбайт,у которого бит DEV указывает на адресуемое устройство. Здесь кроется причина невозможности параллельной работы двух устройств на одной шине AT А:обратиться к устройству можно только после освобождения обоих устройств.


Подобные документы

  • Характеристика внешней памяти компьютера. Виды памяти компьютера и накопителей. Классификация запоминающих устройств. Обзор внешних магнитных носителей: накопители прямого доступа, на жестких магнитных дисках, на оптических дисках и карты памяти.

    курсовая работа [88,6 K], добавлен 27.02.2015

  • Запоминающие устройства на жестких магнитных дисках. Устройство жестких дисков. Интерфейсы жестких дисков. Интерфейс ATA, Serial ATA. Тестирование производительности накопителей на жестких магнитных дисках. Сравнительный анализ Serial ATA и IDE-дисков.

    презентация [1,2 M], добавлен 11.12.2013

  • Технические характеристики накопителей на жестких магнитных дисках и их устройство. Питание и охлаждение накопителей. Неисправности аппаратной и программной частей. Программы для проведения диагностики поверхности накопителя, его головок и электроники.

    курсовая работа [483,6 K], добавлен 19.05.2013

  • Анализ принципа действия накопителей на жестких магнитных дисках персональных компьютеров. Перфокарта как носитель информации в виде карточки из бумаги, картона. Основные функции файловой системы. Способы восстановления информации с RAID-массивов.

    дипломная работа [354,2 K], добавлен 15.12.2012

  • Конструкция, общее устройство и принцип действия накопителей на жестких магнитных дисках. Основные характеристики винчестеров: емкость, среднее время поиска, скорость передачи данных. Наиболее распространенные интерфейсы жестких дисков (SATA, SCSI, IDE).

    презентация [324,3 K], добавлен 20.12.2015

  • Сравнительный анализ и оценка характеристик накопителей на гибких и жестких магнитных дисках. Физическое устройство, организация записи информации. Физическая и логическая организация данных, адаптеры и интерфейсы. Перспективные технологии производства.

    дипломная работа [2,4 M], добавлен 16.04.2014

  • Аппаратные средства ЭВМ должны работать с программным обеспечением, поэтому для них требуется интерфейс. BIOS дает ЭВМ небольшой встроенный стартовый набор для выполнения остального программного обеспечения на гибких дисках (FDD) и жестких дисках (НDD).

    реферат [28,7 K], добавлен 18.07.2008

  • Основные блоки ПК и их значение. Внутримашинный системный интерфейс. Типы системного и локальных интерфейсов. Тип и емкость накопителей на гибких магнитных дисках и лазерных компакт дисков. Имеющееся программное обеспечение и вид операционной системы.

    курсовая работа [137,6 K], добавлен 15.10.2008

  • Операция обмена данными между прикладной программой и шиной USB путем передачи буферов памяти. Основные характеристики каналов. Аппаратная часть USB. Физическая топология шины. Конструкция кабелей и коннекторов. Способы питания устройств от сети.

    контрольная работа [218,4 K], добавлен 27.01.2014

  • Описание особенностей работы устройств для стирания записей с носителей на жестких магнитных дисках, а также с неоднородных полупроводниковых носителей. Изучение способов стирания информации с флеш–памяти. Выбор системы виброакустического зашумления.

    контрольная работа [2,9 M], добавлен 23.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.