Для малогабаритных внешних устройств существует довольно распространенный разъем 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) — готовность устройства завершить цикл обмена. Низким уровнем сигнала во время цикла обмена устройство может ввести такты ожидания шины. Сигнал требуется при обмене в PIO Mode 3 и выше. На хост-контроллере эта линия через резистор 1 кОм должна подтягиваться к шине питания.
♦ IOCS16#
— разрешение 16-битных операций. Обращение ко всем регистрам, кроме регистра данных, всегда 8-битное. Для PIO Mode 0, 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) только у выбранного устройства. В ATA-1 для этого сигнала мог использоваться как тристабильный, так и стандартный ТТЛ-выход. Работа на одной шине устройств с разнотипными выходами DMARQ
может привести к конфликтам. На хост-контроллере линия должна соединяться с шиной GND через резистор 5,6 кОм.
♦ DMACK#
(DMA Acknowledge) — подтверждение DMA. Сигнал вырабатывается хост-адаптером как подтверждение цикла передачи. Передача слова данных управляется сигналами DIOR#
или DIOW#
. Во время обмена по каналу DMA сигналы IOCS16#
, CS0#
и CS1#
не используются, обмен всегда производится 16-битными словами.
♦ INTRQ
(Interrupt Request) — запрос прерывания. Выход должен быть тристабильным, активный сигнал (логическую единицу) вырабатывает только выбранное устройство, когда у него имеется необслуженный запрос прерывания и его вырабатывание не запрещено битом nIEN
в регистре Device Control
. Запрос сбрасывается по сигналу RESET#
, установке бита SRST
в регистре Deviсе Control
, записи в регистр команд или чтении регистра состояния. При обменах PIO запрос устанавливается в начале передачи каждого блока (сектора или группы секторов при многосекторных операциях). Исключения: по командам Format Track
, Write Sector(S)
, Write Buffer
и Write Long
в начале передачи первого блока данных запрос прерывания не вырабатывается. При обменах DMA запрос прерывания вырабатывается только по завершении операции. На хост-контроллере эта линия через резистор 10 кОм должна подтягиваться к шине GND
.
♦ CS0#
(Chip Select 0) — сигнал выбора блока командных регистров (Command Block Registers). Для первого канала он вырабатывается при наличии на системной шине адреса порта ввода-вывода в диапазоне 1F0h-1F7h (сигнал так же называют CS1FX#
).
♦ CS1#
(Chip Select 1) — выбор блока управляющих регистров (Control Block Registers). Для первого канала он вырабатывается при наличии на системной шине адреса порта ввода-вывода в диапазоне 3F6h-3F7h (часто этот сигнал называется CS3FX#
).
♦ PDIAG#
(Passed Diagnostics) — сигнал о прохождении диагностики. Ведущее устройство наблюдает за этим сигналом, который ведомое устройство должно выработать в ответ на сброс или команду диагностики. Если ведомое устройство обнаружено (по сигналу DASP#
), ведущее устройство ожидает сигнал в течение 31 с после сброса и 6 с после команды диагностики. Если за это время сигнал не появился, ведущее устройство отмечает этот факт установкой бита 7 регистра ошибок. Если ведомое устройство не обнаружено, ведущее обнуляет регистр состояния ведомого устройства и сообщает свое состояние сразу после завершения собственной самодиагностики. Сигнал служит только для связи двух устройств и хост-адаптером не используется (в ATA-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 с автоматически (смотря что произойдет раньше). После этого сигнал может быть введен любым устройством как индикатор активности. Адаптер использует этот сигнал для включения светодиодного индикатора доступа к диску.