Из журнала Adventurer#13,
Ярославская область, г.Рыбинск, ?
Матлаш Владислав
Хочу поделиться с читателем дорабо-
танной мною схемой IDE-HDD адаптера, же-
лающим, но еще не решившим подключить ви-
нчестер или CD-ROM и не желающим возиться
с дискетами и для тех, чья работа связана
с большим объемом информации...
Схема IDE-HDD адаптера
Принцип работы схемы
Данная схема позволяет подключить до
двух накопителей на жестких магнитных ди-
сках (НЖМД) практически любой емкости, а
также других устройств, рассчитанных на
интерфейс АТА (IDE).
Схема состоит из четырех основных
частей:
1. Дешифратора портов ввода/вывода
устройства IDE, выполненного на микросхе-
мах DD6 (ИД7) и DD7 (ИД7).
2. Блока защелкивания старшего байта
слова шины данных [D15: D8] устройства,
выполненного на 8-разрядных регистрах DD1
(ИP23) (для чтения данных от устройства)
и DD2 (ИP23) (для передачи данных к уст-
ройству).
3. Двунаправленного 8-разрядного бу-
фера DD3 (АП6) для формирования младшего
байта слова шины данных [D7: D0].
4. Pегистра DD4 (ИP22) для буфериза-
ции сигналов управления устройством DA0,
DA1, DA2, DIOW#, DIOR#, RES#.
Дешифратор DD6 (ИД7) формирует сиг-
нал лог. 0 на выходе [10], разрешающий
работу дешифратора DD7 (ИД7), который вы-
рабатывает сигналы (см. табл. 1):
- WWC# - строб записи данных от хос-
та в регистр DD2 (ИP23);
- WWE# - разрешение выставления дан-
ных [D15: D8] на шину устройства от реги-
стра DD2 (ИP23);
- CS1# - выбор блока управляющих ре-
гистров устройства;
- RWE# - разрешение выставления на
шину данных регистром DD1 (ИP23) старшего
байта слова [D15: D8] от устройства;
- RWW# - указывает буферу DD3 (АП6)
направление передачи данных. При низком
активном уровне данные [D7: D0] принимаю-
тся от устройства.
Элемент 2-И микросхемы DD5 (ЛИ1)
предназначен для формирования из сигналов
WWE# и RWW# сигнала выбора блока команд-
ных регистров CS0#.
Таблица 1. Состояние дешифратора DD7 (ИД7)
+-----------+---------------------------------------+
|Вх. сигнал | Выходной сигнал |
+---+---+---+----+----+----+----+----+----+----+----+
|WR#|A7 |A8 | - | - |RWE#|RWW#|CS1#| - |WWE#|WWC#|
+---+---+---+----+----+----+----+----+----+----+----+
|A2 |A1 |A0 | 7# | 6# | 5# | 4# | 3# | 2# | 1# | 0# |
+---+---+---+----+----+----+----+----+----+----+----+
| 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
+---+---+---+----+----+----+----+----+----+----+----+
| 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
+---+---+---+----+----+----+----+----+----+----+----+
Краткая инструкция по сборке и настройке
При правильной сборке и исправных
комплектующих настройка адаптера не тре-
буется, но если Вам не повезло и приобре-
тенная элементная база оставляет желать
лучшего, советую прочесть данную инструк-
цию.
Для выявления неисправностей и про-
верки правильности сборки нужна следующая
измерительная аппаратура:
- вольтметр или тестер (мультиметр);
- логический пробник (на тот случай,
если нет осциллографа).
Прежде чем настроить адаптер, необ-
ходимо произвести его сборку.
Для этого потребуется фольгированный
двухсторонний стеклотекстолит размером
75х95 мм., на двух сторонах которого про-
царапывают под линейку шины питания и ме-
ста для припаивания микросхем и разъемов
СHП58-64/94х9В и ОHП-КГ-56-40-В53 соглас-
но (рис. 2).
Для процарапывания фольги я исполь-
зую резец, изготовленный из прослужившего
свой срок полотна от пилы по металу, об-
резав его до нужной длины и предав на
шлифовальном круге одной из сторон вид
заточенного "когтя" (см. рис. 1).
Pис. 1. Вид резца
Для уменьшения поиска неисправностей
проверяют отсутствие замыканий и обрывов
проводников на плате, используя тестер.
Установить микросхемы, разъемы и запаять
их. При этом рекомендую пользоваться пая-
льником с занулением и флюсом (глицерин +
хлорамоний с соотношением 95% к 5%). Пе-
ред запаиванием микросхем плату желатель-
но залудить припоем ПОС-62 во избежание
нежелательного окисления медной фольги.
На зарезервированную площадь стороны "А"
платы подать потенциал земли (GND).
Монтаж проводников ведут проводом
МГТФ-0.3 согласно схемы, для фиксации ко-
торого на плате следует использовать нап-
равляющие кольца из медного провода диа-
метром 0.5 мм, припаянных перпендикулярно
к шине питания. На каждую микросхему ре-
комендуется установить блокировочный кон-
денсатор 0.1 мкФ по питанию для исключе-
ния паразитных помех. На шину питания же-
лательно установить электролитический ко-
нденсатор емкостью 20 мкФ х 6.3 В.
Pис. 2. Чертеж платы адаптера
После проверки тестером правильности
монтажа проводников и на отсутствие замы-
каний выводов микросхем, плату промывают
от флюса под проточной горячей водой (ес-
ли не пользовались канифолью) и дают ей
высохнуть.
Следует отметить то, что обрыв и за-
мыкания сигналов могут быть не только ме-
жду проводниками платы, а еще и внутри
самих микросхем.
Далее для подключения адаптера сле-
дует выполнить следующие действия:
1. Вставить адаптер в свободный ин-
терфейсный разъем компьютера.
2. Подключить 40-контактный разъем
шлейфа диска IDE. Самыми распространенны-
ми ошибками подключения шлейфов являются
переворот разъема на 180 градусов и боко-
вое или продольное смещение контактов. От
этих ошибок спасает пластмассовый ободок,
окружающий штырьки наиболее качественных
разъемов, и его ключевая прорезь. Однако
с ключами случаются и конфузы: бывает,
что разъем шлейфа, имеющий ответный клю-
чевой выступ, на шлейф наколот неправиль-
но. Тогда для правильного соединения этот
выступ приходится срезать (это проще, чем
качественно переколоть разъем). Я сам ли-
чно столкнулся с этой проблемой подключая
IDE шлейф к винчестеру.
3. Подключить индикатор обращения к
жесткому диску "HDDLED" в двухштырьковый
разъем на плате адаптера. Правильно подк-
лючить разъем можно во время загрузки с
жесткого диска - при этом индикатор дол-
жен мигать.
Для проверки правильности всего
подключения наберите:
10 PRINT AT 0,0; IN 117; " ": GO TO 10
Если все правильно, то после прохож-
дения внутреннего теста устройством, на
экране должно мерцать число 80.
Данное описание по настройке очень
краткое из-за невозможности отразить все-
возможные неисправности и варианты сборки
адаптера. Оно служит алгоритмом сборки и
запуска, ограничиваясь лишь некоторыми
советами.
Программное управление
Для программного взаимодействия с
устройствами, подключенными к адаптеру, в
свободном адресном пространстве ввода/вы-
вода компьютера была выбрана область ад-
ресов портов (см. рис. 3), исключающая
возможность перекрытия уже используемой
адресации портов. Для этого был проделан
анализ существующих, ставших стандартом,
адресов портов ввода/вывода как в корот-
кой (для дешифрации используется только
младшая часть адресной шины [А7: А0]) так
и в длинной адресации (используется вся
ширина шины адреса [А15: А0]).
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
+---+---+---+---+---+---+--+--+--+--+--+--+--+--+--+--+
| X | X | X | X | X | X | X| n| n| n| n| n| 0| 1| 0| 1|
+---+---+---+---+---+---+--+--+--+--+--+--+--+--+--+--+
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | +--+--+--+->Выбор
| | | | | | | | | | | | адаптера
| | | | | | | +--+--+--+--+->Выбор регистров
| | | | | | | | устройств
+---+---+---+---+---+---+--+->Старшая часть адреса порта
используется как счетчик
(содержимое рег. В) байт при
использовании команд ввода или
вывода
Pис. 3. Организация порта выбора ре-
гистров устройств IDE
Пространство портов ввода/вывода
адаптера выбрано таким образом, что поя-
вилась возможность использовать автомати-
ческие команды ввода/вывода МП Z80.
Достоинство их применения в том, что
уменьшается кол-во тактов процессора
(соответственно и времени), затрачиваемых
при операциях обмена данными с устройст-
вом, и экономится память для программы-д-
райвера. Но их использование не ограничи-
вает применение обычных, а также полуав-
томатических команд ввода/вывода, раскры-
вающих цикл обмена, что еще значительно
увеличит скорость.
;Пример подпрограммы чтения сектора идентификации устройства
ORG #C000
INSTL DI
L2 LD A,#FE
IN A,(#75) ;Регист состояния CP #50
JR Z,L1 ;Ошибок нет
CALL #1F54 ;Проверка нажатия BREAK
RET NC
JR L2
L1 LD BC,#FE75
L3 IN A,(C)
RLCA
JR C,L3 ;Ждем готовность устройства
LD A,#EC ;Команда
INC B
OUT (C),A ;Pегистр команд
DEC B
L5 IN A,(C)
BIT 7,A
JR Z,L4 ;Принимаем пакет 256 слов
CALL #1F54
RET NC
JR L5 ;Ждем ответ
L4 LD BC,#0005 ;Pегист данных
LD HL,50000 ;Адрес приема информации
XOR A ;Счетчик на 256 циклов
L6 INC HL
IND ;Читаем [D7: D0]
INI ;Читаем [D15: D8]
INC HL ;т.к. байты здесь перевернуты
DEC A
JR NZ,L6
RET ;Успешный выход
Следует помнить, что обращение к ре-
гистрам устройства должно вестись по пол-
ной адресации т.е. А15-А0.
Фрагмент чтения сектора данных К-во тактов Z80 К-во байт
. . .
LD HL, адрес буфера 10 3
LD BC,#0005; Адрес порта 10 3
INIR (INI 256 команд) 21/16 2
INIR (INI 256 команд) 21/16 2
. . . ----- ---
Итого: 10762 10
При раскрытом цикле: 8212 518
Фрагмент записи сектора данных К-во тактов Z80 К-во байт
. . .
LD HL, адрес буфера 10 3
LD BC,#0005 10 3
XOR A 4 1
LOOP INC HL 6 1
OUTD 16 2
OUTI 16 2
INC HL 6 1
DEC A 4 1
JR NZ,LOOP 12/7 2
. . . ----- --
Итого: 15331 16
Адресное пространство портов ввода/вывода
При чтении [D7: D0] старшая часть
адреса порта четная, при чтении только
данных [D15: D8] не четная:
#05 Pегистр данных
#15 Pегистр ошибок
#25 Pегистр счетчика секторов
#35 Pегистр номера сектора
#45 Pегистр младшего байта номера цилиндра
#55 Pегистр старшего байта номера цилиндра
#65 Pегистр номера устройства и головки
#75 Pегистр состояния
При записи [D7: D0] старшая часть
адреса не четная, при записи только дан-
ных [D15: D8] четная:
#05 Pегистр данных
#15 Pегистр свойств
#25 Pегистр счетчика секторов
#35 Pегистр номера сектора
#45 Pегистр младшего байта номера цилиндра
#55 Pегистр старшего байта номера цилиндра
#65 Pегистр номера устройства и головки
#75 Pегистр команд
#E5 Pегистр управления устройством, только [D7: D0]
P. S. Собрав схему и убедившись на
практике в ее работоспособности, я поста-
рался как можно подробнее описать принцип
ее работы и технологию моей сборки.
Если кто-нибудь может помочь мне в
написании оконного файлового HDD-FDD на-
вигатора для программной потдержки схемы
или возникли вопросы пишите:
FidoNet: 2:4635/99.111
В письме указать: Владиславу
Почта:
Украина,
18002 г. Черкассы
ул. Ленина 10, кв. 6
Матлашу Владиславу