Здравствуйте, lomom, Вы писали:
fk0>> Не надо путать контроллер винчестера и собственно IDE-интерфейс. В момент исполнения процессором инструкции IN можно считать любой бит шины данны DataX, либо установить там любой уровень на время выполнения команды OUT (данные можно защёлкнуть во внешнем регистре сигналом I/O Write). Но подключать на IDE-шину всякое непотребство не стоит -- она подключается практически напрямую к параллельной шине компьютера. В момент когда нет чтения (сигнал I/O Read) там не должно быть ничего работающего на выход с низким выходным сопротивлением.
L>Что не хорошо подключать согласен, но плата будет заниматься только этим так-что не страшно, лишь-бы был результат.
Нельзя управлять сигналами данных в момент когда нет чтения со стороны процессора. Можно сжечь буфер в материнской плате.
L> нужно один стробирующий входящий сигнал,
Только если в разрыв шины (данных) поставить регистр типа 1533ИР23. Т.е. он по-стробу (вход /C) запоминает байт данных и он потом может быть считан пока сигнал /WRITE (с IDE разъёма) в нуле (подключается к /OE регистра).
L> отлично если на этот пин можно посадить прерывание.
Процессор на прерывание отреагирует очень небыстро. Хотя там есть вход IRQ -- и может быть использован для получения прерывания контроллером прерывания (интеловский аналог 1810ВН59) -- а дальше уже как контроллер запрограммируешь. Это если под досом. Под виндовсом надо делать свой драйвер и чтоб драйвер винта штатный не мешал (не обрабатывал прерывания и не лез в порты), под линуксом аналогично.
> Можно где пример посмотреть как считывают и пишут — или в моём случае дергают пинами ?
М. Гук "Аппаратные средства IBM-PC". Я бы советовал завести на машине дос. После того, как будет отлажено -- переносить на винду/линукс в виде драйвера. Может быть ralf brown interrupt list и другие "учебники" программирования под дос старых времён...
L>out 0x170, 0 L>out 0x170, 0xff L>out 0x170, 0 L>так дернет пином с частотой шины ?
Пином /WRITE дёрнет 3 раза и быстро. Пинами D0-D7 дёрнет один раз и со скоростью выполнения команд процессора (между которыми вполне может возникнуть прерывание).