Лекции.ИНФО


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



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

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

 

Таблица 2.38.Параметры программных режимов передачи (PIO mode)

PIO mode Минимальное время цикла, нс Скорость передачи, Мбайт/с Интерфейс
3,3 АТА
5,2 АТА
8,3 АТА
11,1 E-IDE, АТА-2 (используется IORDY)
16,6 E-IDE, Fast АТА-2 (используется IORDY)
5- 22,2 -

 

Таблица 2.39. Параметры режимов передачи по каналам DMA

Режим Минимальное время цикла, нс Скорость передачи, Мбайт/с Интерфейс
Singleword DMA Mode 0 2,08 АТА
Singleword DMA Mode 1 4,16 АТА
Singleword DMA Mode 2 8,33 АТА
Multiword DMA Mode 0 4,12 АТА
Multiword DMA Mode 1 13,3 ATA-2
Multiword DMA Mode 2 16,6 FastATA-2
Ultra DMA Mode 0 1201 16,6 ATA/ATAPI-4
Ultra DMA Mode 1 801 ATA/ATAPI-4
Ultra DMA Mode 2 601 ATA/ATAPI-4
Ultra DMA Mode 3 451 44,4 ATA/ATAPI-5
Ultra DMA Mode 4 301 66,6 ATA/ATAPI-5
Ultra DMA Mode 5 201 ATA/ATAPI-6

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

 

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

В спецификации ATA/ATAPI-4 появился новый режим - Ultra DMA, позволяющий перешагнуть барьер в 16,6 Мбайт/с, свойственный традиционным режимам и используемому кабелю. При этом обеспечивается и контроль достоверности передачи данных по шине, чего не делалось ни в PIO, ни в стандартных режимах DMA. Стандартом АТА-4 было определено 3 режима Ultra DMA (0,1 и 2), впоследствии ввели новые; выбор режима осуществляется командой Set Features. В режимах Ultra DMA сигналы DMARQ и DMACK# сохраняют свое назначение, а вот смысл сигналов DIOR#, DIOW# и IORDY на время передачи пакета (Ultra DMA Burst) существенно меняется. В пакете данные на шине сопровождаются стробом, генерируемым источником данных, причем для синхронизации используются оба перепада сигналов. Это позволяет повысить пропускную способность шины до 33 Мбайт/с, не увеличивая частоту переключения сигналов сверх 8,33 МГц (этот предел для обычного кабеля достигается в режиме PIO Mode 4 и Multiword DMA Mode 2). Каждое переданное слово участвует в подсчете CRC-кода, который передается хост-контроллером в конце пакета. Подсчет ведется и источником данных, и приемником.

При несовпадении принятого устройством CRC-кода с ожидаемым - фиксируется ошибка передачи, о которой устройство сообщает в конце исполнения команды. Передача в пакете может приостановиться, если приемник снимет сигнал готовности (DDMARDY# или HDMARDY#). Передача пакета может прекращаться по инициативе устройства (снятием сигнала) или хоста (сигналом STOP). Противоположная сторона должна подтвердить окончание цикла сигналом STOP или DMARQ соответственно.

Способ сообщения об ошибке передачи зависит от типа выполнявшейся команды. Для команд READ DMA,WRITE DMA,READ DMA QUEUED или WRITE DMA QUEUED в регистре ошибок ER устанавливается бит 7 (ICRC) и бит 2 (ABRT). Для пакетной команды REQUEST SENSE (уточнить состояние) в случае ошибки в регистре состояния SR устанавливается бит 0 (СНК) и сообщается ключ состояния (Sense key) 0Bh (команда отвергнута). Для всех других пакетных команд в случае ошибки устанавливается бит СНК и сообщается состояние 04h (аппаратная ошибка), а в последующих командах REQUEST SENSE сообщается значение ASC/ASCQ 08h/03h (ошибка CRC при связи с логическим устройством). Получив сообщение об ошибке, хост должен повторить команду. Если ошибки появляются постоянно, хост должен понизить скорость обмена (вплоть до выхода из режима Ultra DMA).

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

· Определение типа кабеля через хост-контроллер, для чего хост-контроллер должен иметь приемник сигнала CBLID#. После включения питания или аппаратного сброса хост ожидает завершения протокола сброса и затем подает команду идентификации Identyfy (Packet) Device устройству 1. Устройство 1 стандарта АТА-3 и выше обязано после сброса снять сигнал PDIAG#/CBLID# не позднее, чем по приходу первой команды. Если обнаружено старое устройство, то протокол идентификации кабеля хостом работать не будет (но со старым устройством на шлейфе включать высокоскоростной режим и не стоит). Современное устройство снимет сигнал, и хост-адаптер сможет определить наличие 80-проводного кабеля по низкому уровню CBLID#. Некорректно работающее устройство может удержать низкий уровень сигнала, и в этом случае 40-проводный кабель будет ошибочно трактоваться как 80-проводный.

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

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

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

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

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

 

Электрический интерфейс

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

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

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

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

В большинстве кабелей одноименные контакты всех разъемов соединяются своими проводами и все коннекторы равноправны. Встречаются (редко) ленточные кабели с кабельной выборкой, изображенные на рис. 2.60 б. В них провод 28 перерезан, так что контакт 28 (CSEL) для ведущего устройства заземлен через хост-адаптер, а для ведомого - не подключен. Кабель должен соответствовать системе адресации, выбранной для обоих устройств.

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

Сигнал Тип1 Контакт Контакт Тип1 Сигнал
RESET# I - GND
DD7 I/O TS I/O TS DD8
DD6 I/O TS I/O TS DD9
DD5 I/O TS I/O TS DD10
DD4 I/O TS I/O TS DD11
DD3 I/O TS I/O TS DD12
DD2 I/O TS I/O TS DD13
DD1 I/O TS I/O TS DD14
DD0 I/O TS I/O TS DD15
GND - - Ключ (нет штырька)
DMARQ O TS2 - GND
DIOW#/STOP3 I - GND
DIOR#/HDMARDY#/HSTROBE3 I - GND
IORDY/DDMARDY#/DSTROBE3 O TS2 I/O SPSYNC/CSEL7
DMACK# I - GND
INTRQ O TS2 О ОК IOCS16#8
DA1 I I, O4 PDIAG#/CBLID3
DAO I I DA2
CSO# I I CS1#
DASP# I/O OK5 - GND
+5 В (Logic) - 416 426 - +5 В (Motor)
GND - 436 446 - Зарезервирован

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

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

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

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

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

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

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

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

 

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

 

а)

б)

Рис. 2.60. Ленточный кабель интерфейса АТА: а) - обычный; б) - с кабельной выборкой

 

Если номер устройства назначается джампером, то для 40-проводного кабеля можно подключать устройства и хост-контроллер к любым коннекторам произвольно (но желательно избегать «висячих» концов). Для устойчивой работы в режиме Ultra DMA рекомендуется применение 80-проводных кабелей, обеспечивающих чередование сигнальных цепей и проводов схемной земли (GND). Такие кабели требуются для режимов UltraDMA выше 2 (скорость выше 33 Мбайт/с). Эти кабели разделываются на специальные разъемы, имеющие 40-контактные гнезда с обычным назначением контактов, но ножевые контакты для врезки 80 проводов. В шлейфе для схемной земли используются либо все четные, либо все нечетные провода — это зависит от применяемых разъемов (на них должна быть маркировка EVN GND или ODD GND соответственно). Установка на одном шлейфе разнотипных разъемов недопустима (тогда все 80 проводов окажутся соединенными вместе).

На 80-проводном кабеле в разъеме для подключения контроллера контакт 34 соединен с шиной GND и не соединен с проводом шлейфа; этим обеспечивается идентификация типа кабеля (CBLID). Провод шлейфа соединяет контакты 34 разъемов устройств, что обеспечивает прохождение сигнала PDIAG# от ведомого устройства к ведущему. С учетом возможности кабельной выборки на 80-проводном шлейфе положение коннекторов уже однозначно.

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

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

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

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

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

 

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

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

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

Для 50-контактного кабеля принято назначение выводов накопителей IBM Thinkpad/Travelstar:

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

· контакт В для устройства задает его роль: низкий уровень - устройство 0, высокий - устройство 1;

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

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

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

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

Выборка SFF8057 SFF8058 SFF8212 Toshiba (1996)
Используемые контакты Е-Н A-F A-D A-D
Кабельная выборка E-F А-В B-D B-D
Master G-H E-F - -
Master при наличии Slave Q-H, E-F E-F - -
Slave - C-D A-B C-D

 

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

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

RESET# (Device Reset) — сброс устройства (инвертированный сигнал сброса системной шины). Сигнал длительностью не менее 25 мкс вырабатывается пос­ле установления питающих напряжений. Сигнал вызывает сброс интерфейса в исходное состояние и устанавливает параметры по умолчанию.

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

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

DIOFW (Device I/O Read) — строб чтения портов ввода-вывода. Данные фикси­руются по положительному перепаду сигнала.

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

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

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

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

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

INTRQ (Interrupt Request) — запрос прерывания. Выход должен быть триста­бильным, активный сигнал (логическую единицу) вырабатывает только вы- бранное устройство, когда у него имеется необслуженный запрос прерывания и его вырабатывание не запрещено битом nIEN в регистре Device Control. За­прос сбрасывается по сигналу RESET#, установке бита SRST в регистре Device Control, записи в регистр команд или чтении регистра состояния. При обме­нах PIO запрос устанавливается в начале передачи каждого блока (сектора или группы секторов при многосекторных операциях). Исключения: по командам Format Track,Write Sector (S), Write BuffernWrite Long в начале пере­дачи первого блока данных запрос прерывания не вырабатывается. При обме­нах DMA запрос прерывания вырабатывается только по завершении операции. На хост-контроллере эта линия через резистор 10 кОм должна подтягиваться к шине GND.

CSO# (Chip Select 0) — сигнал выбора блока командных регистров (Command Block Registers). Для первого канала он вырабатывается при наличии на сис­темной шине адреса порта ввода-вывода в диапазоне !FOh-lF7h (сигнал так­же называют CS1FX#).

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

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

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

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

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

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

STOP (Stop Ultra DMA burst) — останов передачи пакета Ultra DMA.

DDMARDY# (Device Ultra DMA ready) — готовность устройства при приеме па­кета Ultra DMA (управление потоком).

DSTROBE (Host Ultra DMA data strobe) — строб данных устройства при пере­даче пакета хосту. Данные передаются по обоим перепадам DSTROBE.

HDMARDY# (Host Ultra DMA ready) — готовность хоста при приеме им пакета Ultra DMA (управление потоком).

HSTROBE (Host Ultra DMA data strobe) — строб данных хоста при передаче па­кета устройству. Данные передаются по обоим перепадам HSTROBE.

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

SELATA# (Select 68-pin ATA) — сигнал, которым хост идентифицирует режим использования разъема, PC Card (сигнал снят) или ATA (сигнал установлен, то есть низкий уровень). Этот сигнал хост должен установить до подачи питания на коннектор. В течение 19 мс после подачи питания устройство игнорирует все интерфейсные сигналы, кроме этого. Если этот сигнал активен, то устройство должно сконфигурироваться на режим ATA. Если сигнал неактивен, оно должно сконфигурироваться на режим PC Card или не отвечать на другие сигналы хоста.

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

CS1# (Device chip select 1) — выбор устройства, подается хостом на оба кон­такта (11 и 42), но устройство воспринимает только один из них.

DMARQ, DMACK# и IORDY — не обязательны для использования.

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

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

 

Таблица 2.42. 68-контактный интерфейс АТА для PC Card (PCMCIA)

Контакт Сигнал Контакт Сигнал Контакт Сигнал Контакт Сигнал
GND GND    
DD3 CD1#    
DD4 DD11    
DD5 DD12   M/S#
DD6 DD13   CSEL
DD7 DD14    
CSO# DD15   RESET»
  CS1#   IORDY#
SELATA#     DMARQ
  DIOR# DA2 DMACK#
CS1# DIOW# DA1 DASP#
    DAO PDIAG#
    DDO DD8
    DD1 DD9
    DD2 DD10
INTRQ     CD2#
+5В +5В GND GND

 

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

 

Более подробную информацию об интерфейсе ATA/ATAPI (IDE), его системной поддержке, принципах использования и программирования можно найти в [2, 50-54].

 









Читайте также:

Последнее изменение этой страницы: 2016-03-22; Просмотров: 110;


lektsia.info 2017 год. Все права принадлежат их авторам! Главная