![]() Адаптер IDE2LPT(R) Hазначение Адаптер предназначен для подключения винчестеров с интерфейсом IDE (ATA) к паралельному порту Centronics (LPT). Аппаратная часть: Схемное решение весьма тривиально. С помощью регистров ИР33 формируется шина данных HD0..HD15 и адреса HA0..HA3, сигналы -CS1FX, -CS3FX, -HWR и -HRD. Считываемые из винчестера данные защелкиваются по окончанию сигнала RCW в регистрах ИР34. И потом передаются по четыре бита по линиям ACK, BUSY, PE и SLCT в LPT. Выбор считываемого полубайта происходит дешифратором ИД7. Hомер полубайта задается разрядами LD0,LD1 паралельного порта. При -CS1FX=-CS3FX=1 и RCW=TRW=1, байт передаваемый на шину данных ATA может быть считан через порт LPT, таким образом осуществляется детекция и тестирование адаптера. ![]() Программная часть MS-DOS дравер IDE2LPT.SYS. За основу взят драйвер
SECOND.EXE by Eugen Kuleshov (C) 2:5030/217.4. Описание
second.doc. Из оригинала убраны ключи /Pm, /Ps и /R,
добавлен ключ /P: Драйвер для DOS - 158 кб. Драйвер для Windows 9x - 27 кб. Замеченные глюки 1) Hе работает на тачках >100Mhz. Видимо проблемы с задержками. Кто знает как правильно обрабатывать обмен с внешними устройствами, просьба написать, адрес ниже. 2) При работе с QUANTUM EUROPA1080A в режиме LBA, не мог правильно работать с партишином по причине не соответствия физической геометрии - Hd:15, SpT:60 и логического разбиения - Hd:64, SpT:63. Устраняется ключом /G:63:64. В принципе, это унаследовано из second'а и, возможно, не глюк, а фича ;) Авторство и условия распространения Все права на продукт принадлежат автору (см. ниже). Вся документация и программное обеспечение распространяется распространяется по приниципам freeware и "AS IS". Вы имеете право бесплатного использования и копирования, модификации как всего продукта, так и его частей. Использование в коммерческих целях, а также получение вознаграждения за распространение продукта запрещено. При использовании продукта или его частей при разработке программного или аппаратного обеспечения, необходима ссылка на авторство. Вы можете поощрить деятельность автора любой денежной суммой по вашему усмотрению. Тем самым Вы способствуете усовершенствованию и созданию новых версий продукта. Гарантии и ответственность Я ничего не гарантирую и не несу ни какой ответственности за адаптер IDE2LPT и последствия его работы. Перспективы Так как описываемый адаптер - beta версия, то есть подразумевается, как минимум, исправление ошибок найденных при бета-тестировании. Планируется написание утилит для инсталляции и ремаппинга адаптера. Возможно, но маловероятно, написание .vxd драйвера. Полная и подробная документация в формате PDF - 97 кб. Благодарности Шурику Яковлеву, 2:5000/28.24 за помощь в разработке
первой версии адаптера, Используемая литература 1. Information technology - AT Attachment Interface for Disk
Drives, X3T10, 791D Revision 1c. - National Standard of
Accredited Standards Committee X3. Leonid Slobodchikov AKA Curvex(C) Об авторе Леонид Слободчиков AKA Curvex(C), IDE2LPT. Frequently asked question от 11/04/00. Я собрал схему. Адаптер определяется драйвером, при запуске драйвера ide2lpt с ключиком /t тестирование проходит успешно. Но после выдается сообщение "Can't get IDE-ATA info". Что делать? Причин данной проблемы может быть несколько. Во-первых, стоит проверить Вашу схему, т.к. одно время в Фидо и Интернете была распространена схема с перепутанными сигналами -CS1FX и -CS3FX. Правильный вариант схемы (равно как и вся самая свежая информация) расположена в интернете на странице автора по адресу http://curvex.hypermart.net/ide2lpt/ Проверьте, в правильной схеме сигнал -CS1FX должен сниматься с выв. Q4, а -CS3FX с выв. Q3 ИР33(22). Стоит также убедиться в правильности формирования остальных сигналов используемых винчестером. Во-вторых, убедитесь, что перемычки определяющие режим работы Вашего винчестера установлены в комбинации Master. Адаптер расчитан на подключение только одного накопителя в режиме Master. В-третьих, если Ваш винчестер достаточно старый, то он может просто не уметь обрабатывать запрос на выдачу идентификационной информации. В этом случае следует определить геометрию диска по наклейке на его корпусе или по справчнику и задать вручную через ключ /G:SEC:HEAD, где SEC - это кол-во секторов на дорожку, a HEAD - кол-во головок Вашего винчестера. Сказанное выше справедливо для DOS-драйвера, т.к. драйвер для Windows вовсе не работает с накопителями, не умеющими отдавать ATA-информацию. Ну и наконец, дело может в несогласованности кабеля винчестера. Рекомендации по решению данной проблемы приведены в ответе на вопрос 3. Драйвер успешно выполняет тестирование адаптера и правильно опредяет подключенный винчестер, но выдает сообщение "Error. Unsupported partition type." В чем тут дело? Наиболее вероятны две причины. Во-первых, как и следует из текста сообщения, Ваш диск содержит неподдерживаемый раздел. Драйвер для DOS умеет работать с FAT12, FAT16, BIG- и Extended-разделами. И не поддерживает FAT32, поэтому при работе с разделами FAT32, следует применять только Windows драйвер. Вообще говоря, для драйвера Windows тип разделов не принципиален, так как поддержка той или иной файловой системы осуществляется драйверами самой Windows или драйверами третьесторонних производителей. Во-вторых, если адресация в Вашем винчестере осуществляется по схеме LBA, то физическая геометрия, определенная драйвером и логическая, используемая при трансляции номера сектора могут отличаться. Более подробно этот вопрос раскрыт в статье об адаптере, также размещенной на странице автора в Интернет. В случае использования Windows-драйвера данная проблема не актуальна и решается самой системой. В кратком описании адаптера от 26.12.97 сказано, что существуют проблемы при запуске адаптера на машинах с тактовой частотой процессора выше 100Mhz. Так ли это? Изменилось что-либо с тех пор? Частично данный вопрос раскрыт в статье посвященной адаптеру. Повторюсь, что, к сожалению, радикального решения этой проблемы так и не найдено. Но при выполнении нижеследующих рекомендаций, адаптер, как показывает опыт, будет успешно функционировать на большинстве компьютеров. Основная причина нестабильной работы может заключаться в несогласованности соединительных кабелей LPT-порта и винчестера, и, как следствие, в "звоне" сигналов и межпроводниковых наводках. Не следует использовать кабель к LPT-порту длиннее 30см. Сигнальные проводники LPT-кабеля должны чередоваться с земляными проводниками. Сигналы -RHWR, -RLWR, -RCWR должны быть подтянуты через резисторы 470 Ом к +5V. Сигналы LD0..LD7 - через резисторы 1кОм. Можно также зашунтировать все входные сигналы от LPT-порта коденсаторами емкостью в несколько десятков пикофарад на нулевой провод. Сигналы -HWR и -HRD подаваемые на винчестер следует снимать с соответсвующих выводов микросхем через резисторы сопротивлением 22 Ома. Длина проводников для этих сигналов должна быть как можно меньше. Кроме этого, имперически было выяснено, что адаптеры, собранные с использованием микрохем 1533ИР22 (555ИР22), работают более устойчиво, чем адаптеры собранные на регистрах 1533ИР33. Последние были применены автором исключительно по причине более удобного расположению выводов. Однако в силу вышесказанного рекомендуется заменить их на ИР22, с учетом отличий в распиновке. Напоследок хочу предложить улучшенную схему IDE2LPT, которая железно работает на всех машинах и которая не имеет проблем, связанных с программным формированием импульсов управления, потому-что импульсы формируются аппаратно. Схема в формате P-CAD и драйвер - 50 кб.
Сайт создан в системе uCoz
|