Интерфейс ATA

Автор работы: Пользователь скрыл имя, 10 Декабря 2011 в 09:50, реферат

Краткое описание

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

Содержимое работы - 1 файл

Интерфейс АТА.docx

— 227.96 Кб (Скачать файл)

Рис. 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 он не входит. Для устройств хранения на флэш-памяти используется коннектор, соответствующий спецификации 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 окажется сброшенным.
  • DIOR* (Device I/O Read) — строб чтения портов ввода-вывода. Данные фиксируются по положительному перепаду сигнала.
  • DIOW# (Device I/O Write) — строб записи портов ввода-вывода. Данные фиксируются по положительному перепаду сигнала.
  • IORDY (I/O channel Ready) — готовность устройства завершить цикл обмена. Низким уровнем сигнала во время цикла обмена устройство может ввести такты ожидания шины. Сигнал требуется при обмене в РЮ Mode 3 и выше. На хост-контроллере эта линия через резистор 1 кОм должна подтягиваться к шине питания.
  • IOCS16* — разрешение 16-битных операций. Обращение ко всем регистрам, кроме регистра данных, всегда 8-битное. Для РЮ Mode 0,1,2 при активном сигнале обращения 16-битные, при неактивном — 8-битные. Для РЮ 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) — запрос прерывания. Выход должен быть тристабильным, активный сигнал (логическую единицу) вырабатывает только выбранное устройство, когда у него имеется необслуженный запрос прерывания и его вырабатывание не запрещено битом n IE N в регистре Device Control.Запрос сбрасывается по сигналу RESET*, установке бита SRST в регистре Devi се Control, записи в регистр команд или чтении регистра состояния. При обменах PIO запрос устанавливается в начале передачи каждого блока (сектора или группы секторов при многосекторных операциях). Исключения: по командам Format Track, Write Sector(S),Write Buffer и Write 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), приведенный в табл. 9.5. Здесь имеется ряд специфичных сигналов.

  • SELATA* (Select 68-pin ATA) — сигнал, которым хост идентифицирует режим использования разъема, PC Card (сигнал снят) или АТА (сигнал установлен, то есть низкий уровень). Этот сигнал хост должен установить до подачи питания на коннектор. В течение 19 мс после подачи питания устройство игнорирует все интерфейсные сигналы, кроме этого. Если этот сигнал активен, то устройство должно сконфигурироваться на режим АТА. Если сигнал неактивен, оно должно сконфигурироваться на режим PC Card или не отвечать на другие сигналы хоста.
  • CD1 # и CD2# (Card Detect) заземляются в устройстве — по этим сигналам хост определяет присутствие устройства.
  • CS1# (Device chip select 1) — выбор устройства, подается хостом на оба контакта (Ни 42), но устройство воспринимает только один из них. DMARQ, DMACK* и IORDY — не обязательны для использования.
  • M/S# (Master/Slave) — инверсия сигнала CSEL. Хост выдает сигналы M/S# и CSEL до подачи питания, устройство воспринимает лишь один из них.

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

Таблица 9.5.68-контактный интерфейс АТА для PC Card (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#, из которых активным (низкий уровень, «О») может быть только один. В таблице приведены адреса регистров в пространстве ввода-вывода IBM PC-совместимого ПК для первого и второго каналов АТА. При обращении к регистрам сигнал 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: Device Control (DC) — регистр управления
            устройством
3F7 377 1 0 1 1       1 R: Drive Address (DA) —  регистр адреса
            (не используется)1

продолжение^

 

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

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

1      2      CSO# CS1#   DA2   DA1   ОАО 

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

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

Информация о работе Интерфейс ATA