Здравствуйте, Евгений Музыченко, Вы писали:
L>>я так понимаю что это данные, мне же нужен один пин, может адреса, может какой управления.
А да, я ещё не сказал. Ничего там не "защёлкивается", данные висят только на время выполнения процессором команды OUT -- может быть менее микросекунды.
ЕМ>Если Вам нужен только один разряд — к чему сложности с IDE?
Затем что IDE в таких применениях любят -- это практически единственная возможность получить доступ к шине процессора через порт ввода-вывода. Скоростной доступ. Потому, что тот же LPT будет работать гораздо медленее, более 1-2МБайт/сек там сложно прокачать. Я, разумеется, имею ввиду EPP и ECP-режимы (IEEE 1284 кажись).
EM> Традиционно это делается через LPT или COM-порты, коли Вы ориентируетесь на старые платы — эти порты там есть (у USB-адаптеров проблемы со скоростью).
Тут тоже проблемы со скоростью. Особенно если не напрямую, а через драйвер.
ЕМ>Если уж очень хочется через IDE — смотрите в сторону статических сигналов, управляемых и принимаемых программно (SRST в Control Register, DRDY или IDX в Status Register).
Список сигналов здесь:
http://en.wikipedia.org/wiki/Parallel_ATA
Не надо путать контроллер винчестера и собственно IDE-интерфейс. В момент исполнения процессором инструкции IN можно считать любой бит шины данны DataX, либо установить там любой уровень на время выполнения команды OUT (данные можно защёлкнуть во внешнем регистре сигналом I/O Write). Но подключать на IDE-шину всякое непотребство не стоит -- она подключается практически напрямую к параллельной шине компьютера. В момент когда нет чтения (сигнал I/O Read) там не должно быть ничего работающего на выход с низким выходным сопротивлением.
ЕМ>Изучать контроллер можно отсюда.
Изучать контроллер винчестера в данном случае -- не стоит.