(C) Матлаш Владислав
Хочу поделиться с читателем дорабо-
танной мною схемой IDE-HDD адаптера, же-
лающим, но еще не решившим подключить ви-
нчестер или CD-ROM и не желающим возиться
с дискетами и для тех, чья работа связана
с большим объемом информации...
Схема IDE-HDD адаптера
SUS BUS DD1 IDE BUS
┌──────┐ D0║D0 2┌───┬──┬───┐ 3 DD8║DD0 ┌──┬───────┐
│ D0├──────╫────────┤Q0 │ │ D0├────────╫──────┤17│DD0 │
├──────┤ D1║D1 5│ │ │ │ 4 DD9║DD1 ├──┼───────┤
│ D1├──────╫────────┤Q1 │ │ D1├────────╫──────┤15│DD1 │
├──────┤ D2║D2 6│ │ │ │ 7 DD10║DD2 ├──┼───────┤
│ D2├──────╫────────┤Q2 │ │ D2├────────╫──────┤13│DD2 │
├──────┤ D3║D3 9│ │ │ │ 8 DD11║DD3 ├──┼───────┤
│ D3├──────╫────────┤Q3 │ │ D3├────────╫──────┤11│DD3 │
├──────┤ D4║D4 12│ │ │ │13 DD12║DD4 ├──┼───────┤
│ D4├──────╫────────┤Q4 │ │ D4├────────╫──────┤ 9│DD4 │
├──────┤ D5║D5 15│ │ │ │14 DD13║DD5 ├──┼───────┤
│ D5├──────╫────────┤Q5 │ │ D5├────────╫──────┤ 7│DD5 │
├──────┤ D6║D6 16│ │ │ │17 DD14║DD6 ├──┼───────┤
│ D6├──────╫────────┤Q6 │ │ D6├────────╫──────┤ 5│DD6 │
├──────┤ D7║D7 19│ │ │ │18 DD15║DD7 ├──┼───────┤
│ D7├──────╫────────┤Q7 │ │ D7├────────╫──────┤ 3│DD7 │
├──────┤ ║ │ │ ├───┤11 CS0#║DD8 ├──┼───────┤
│ │ A0║ │ │ │ C/────────╫──────┤ 4│DD8 │
│ A0├──────╢ │ │ИР│ │ 1 RWE#║DD9 ├──┼───────┤
├──────┤ A1║ │ │23│OE#o────────╫──────┤ 6│DD9 │
│ A1├──────╢ └───┴──┴───┘ ║DD10 ├──┼───────┤
├──────┤ A2║ ╟──────┤ 8│DD10 │
│ A2├──────╢ DD2 ║DD11 ├──┼───────┤
├──────┤ A3║D0 3┌───┬──┬───┐ 2 DD8╟──────┤10│DD11 │
│ A3├──────╫────────┤D0 │ │ Q0├────────╢DD12 ├──┼───────┤
├──────┤ A4║D1 4│ │ │ │ 5 DD9╟──────┤12│DD12 │
│ A4├──────╫────────┤D1 │ │ Q1├────────╢DD13 ├──┼───────┤
├──────┤ A5║D2 7│ │ │ │ 6 DD10╟──────┤14│DD13 │
│ A5├──────╫────────┤D2 │ │ Q2├────────╢DD14 ├──┼───────┤
├──────┤ A6║D3 8│ │ │ │ 9 DD11╟──────┤16│DD14 │
│ A6├──────╫────────┤D3 │ │ Q3├────────╢DD15 ├──┼───────┤
├──────┤ A7║D4 13│ │ │ │12 DD12╟──────┤18│DD15 │
│ A7├──────╫────────┤D4 │ │ Q4├────────╢ ├──┼───────┤
├──────┤ A8║D5 14│ │ │ │15 DD13║DA0 │ │ │
│ A8├──────╫────────┤D5 │ │ Q5├────────╫──────┤35│DA0 │
├──────┤ ║D6 17│ │ │ │16 DD14║DA1 ├──┼───────┤
│ │ M1#╟────────┤D6 │ │ Q6├────────╫──────┤33│DA1 │
│ M1#├──────╢D7 18│ │ │ │19 DD15║DA2 ├──┼───────┤
├──────┤ IORQ#╟────────┤D7 │ │ Q7├────────╫──────┤36│DA2 │
│ IORQ#├──────╢ 11├───┤ │ │ ║ ├──┼───────┤
├──────┤ WR#║ ┌───/C │ │ │ ║RES# │ │ │
│ WR#├──────╢ │ 1│ │ИР│ │ ╟──────┤ 1│RESET# │
├──────┤ RD#║ │┌─-oOE#│23│ │ WWE#║DIOW# ├──┼───────┤
│ RD#├──────╢ ││ └───┴──┴───┘ ┌─────╫──────┤23│DIOW# │
├──────┤RESET#║ │└────────────────┘ WWC#║DIOR# ├──┼───────┤
│RESET#├──────╢ └───────────────────────╫──────┤25│DIOR# │
├──────┤ ║ DD3 ║ ├──┼───────┤
│ │ ║D0 2┌───┬──┬───┐18 DD0║CS0# │ │ │
│ │ ╟────────┤A0 │1 │ B0├────────╫──────┤37│CS0# │
│ +5V├──>+5V║D1 3│ │ │ │17 DD1║CS1# ├──┼───────┤
├──────┤ ╟────────┤A1 │ │ B1├────────╫──────┤38│CS1# │
│ GND├───┐ ║D2 4│ │ │ │16 DD2║ ├──┼───────┤
└──────┘ ─┴─ ╟────────┤A2 │ │ B2├────────╢ │ │ │
X1 ║D3 5│ │ │ │15 DD3║ ┌──┤22│GND │
╟────────┤A3 │ │ B3├────────╢ │ ├──┼───────┤
║D4 6│ │ │ │14 DD4║ ├──┤24│GND │
╟────────┤A4 │ │ B4├────────╢ │ ├──┼───────┤
║D5 7│ │ │ │13 DD5║ ├──┤19│GND │
╟────────┤A5 │ │ B5├────────╢ │ ├──┼───────┤
║D6 8│ │ │ │12 DD6║ ├──┤ 2│GND │
╟────────┤A6 │ │ B6├────────╢ │ ├──┼───────┤
║D7 9│ │ │ │11 DD7║ ├──┤26│GND │
╟────────┤A7 │ │ B7├────────╢ │ ├──┼───────┤
╔═════════════╝ 1├───┤ │ │ ║ ├──┤30│GND │
║ ┌────┤EAB│ │ │ ║ ─┴─ ├──┼───────┤
║ │ 19│ │АП│ │ ║ │ │ │
║ │ ┌──oEO#│ 6│ │ ║ ┌──┤39│DASP# │
║ │─┴- └───┴──┴───┘ RWW#║ │ └──┴───────┘
║ └────────────────────────╢ │ X2
║ DD4 ║ │
║A4 3┌───┬──┬───┐ 2 DA0║ │ ┌─┬────────┐
╟──────────────────────┤D0 │ │ Q0├────────╢ └──┤1│KATODLED│
║A5 4│ │ │ │ 5 DA1║ ├─┼────────┤
╟──────────────────────┤D1 │ │ Q1├────────╢ ┌──┤2│ANODLED │
║A6 7│ │ │ │ 6 DA2║ │ └─┴────────┘
╟──────────────────────┤D2 │ │ Q2├────────╢ │
║WR# 8│ │ │ │ 9 DIOW#║ │ R1
╟──────────────────────┤D3 │ │ Q3├────────╢ └───████───>+5V
║RD# 13│ │ │ │12 DIOR#║ 300
╟──────────────────────┤D4 │ │ Q4├────────╢
║RESET# 14│ │ │ │15 RES#║
╟──────────────────────┤D5 │ │ Q5├────────╢
║ 17│ │ │ │16 ╚═════════════════╗
║ ───┤D6 │ │ Q6├─── ║
║ 18│ │ │ │19 ║
║ ───┤D7 │ │ Q7├─── ║
║ 11├───┤ │ │ ║
║ +5V<───┤PE │ │ │ ║
║ 1│ │ИР│ │ ║
║ ┌───oEO#│22│ │ ║
║ ─┴─ └───┴──┴───┘ ║
║ ║
║ DD5 ║
║ 1┌──┐ ║
║ ┌────┤& │3 CS0#║
║ │ 2│ЛИ├─────────────────╢
║ │┌───┤ 1│ ║
║ ││ └──┘ ║
╠═════════════════════════╗ │└─────────────────┐ ║
║ ║ └────────────────┐ │ ║
║ DD6 ║ DD7 │ │ ║
║A0 1┌───┬──┬───┐15 ║A8 1┌───┬──┬───┐15 │ │ WWC#║
╟────────┤A0 │ │ 0#o─── ╟─────────┤A0 │ │ 0#o────│─│──────╢
║ 2│ │ │ │14 ║A7 2│ │ │ │14 │ │ WWE#║
║ ┌───┤A1 │ │ 1#o─── ╟─────────┤A1 │ │ 1#o────│─о──────╢
║A2 ─┴- 3│ │ │ │13 ║WR# 3│ │ │ │13 │ ║
╟────────┤A2 │ │ 2#o─── ╟─────────┤A2 │ │ 2#o─── │ ║
║M1# 6├───┤ │ │12 ║M1# 6├───┤ │ │12 │ CS1#║
╟────────┤E3 │ │ 3#o─── ╟─────────┤E3 │ │ 3#o────│────────╢
║A1 5│ │ │ │11 ║IORQ# 5│ │ │ │11 │ RWE#║
╟────────oE2#│ │ 4#o─── ╟─────────oE2#│ │ 4#o────o────────╢
║A3 4│ │ │ │10 4│ │ │ │10 RWW#║
╟────────oE1#│ │ 5#o───────────────oE1#│ │ 5#o─────────────╜
│ │ │ │ 9 │ │ │ │ 9
│ │ │ 6#o─── │ │ │ 6#o───
│ │ИД│ │ 7 │ │ИД│ │ 7
│ │ 7│ 7#o─── │ │ 7│ 7#o───
└───┴──┴───┘ └───┴──┴───┘
Перечень элементов
┌─────────────────────────────────────┐
│ МИКРОСХЕМЫ │
├─────────┬───────────────────────┬───┤
│ DD1,DD2 │ КР1533ИР23 (74ALS374) │ 2 │
│ DD3 │ КР1533АП6 (74ALS245) │ 1 │
│ DD4 │ КР1533ИР22 (74ALS373) │ 1 │
│ DD5 │ КР1533ЛИ1 (74ALS08) │ 1 │
│ DD6,DD7 │ КР1533ИД7 (74ALS138) │ 2 │
├─────────┴───────────────────────┴───┤
│ КОНДЕНСАТОРЫ │
├─────────┬───────────────────────┬───┤
│ C1 - C7 │ 0,68 - 0,1 мкФ │ 7 │
│ C8 │ 20 мкФ х 6,3 В │ 1 │
├─────────┴───────────────────────┴───┤
│ РЕЗИСТОРЫ │
├─────────┬───────────────────────┬───┤
│ R1 │ 300 Ом │ 1 │
├─────────┴───────────────────────┴───┤
│ РАЗЪЕМЫ │
├─────────┬───────────────────────┬───┤
│ X1 │ СНП58-64/94х9В-23-1-В │ 1 │
│ X2 │ ОНП-КГ-56-40-В53 │ 1 │
└─────────┴───────────────────────┴───┘
Принцип работы схемы
Данная схема позволяет подключить до
двух накопителей на жестких магнитных ди-
сках (НЖМД) практически любой емкости, а
также других устройств, рассчитанных на
интерфейс АТА (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).
_________________________________________
┌─────────┐/─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ - ┐ ж
│ ─── │ │ 2
│ / __│_ _ _ _ _ _ _ _ _ _ _ _ _ _│ │ 0
│ │__________________________________/____ж_
│ │ │
├───20────┼───────────────140─────────────────┤
Pис. 1. Вид резца
Для уменьшения поиска неисправностей
проверяют отсутствие замыканий и обрывов
проводников на плате, используя тестер.
Установить микросхемы, разъемы и запаять
их. При этом рекомендую пользоваться пая-
льником с занулением и флюсом (глицерин +
хлорамоний с соотношением 95% к 5%). Пе-
ред запаиванием микросхем плату желатель-
но залудить припоем ПОС-62 во избежание
нежелательного окисления медной фольги.
На зарезервированную площадь стороны "А"
платы подать потенциал земли (GND).
Монтаж проводников ведут проводом
МГТФ-0.3 согласно схемы, для фиксации ко-
торого на плате следует использовать нап-
равляющие кольца из медного провода диа-
метром 0.5 мм, припаянных перпендикулярно
к шине питания. На каждую микросхему ре-
комендуется установить блокировочный кон-
денсатор 0.1 мкФ по питанию для исключе-
ния паразитных помех. На шину питания же-
лательно установить электролитический ко-
нденсатор емкостью 20 мкФ х 6.3 В.
Сторона А
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
┌┌────────────────────────────────────────────┐
1││ │
├│ X1 │
2││ A32┌─────┤
├│ ├─────┤
3││ ├─────┤
├│ ├─────┤
4││ ├─────┤
├│ ├─────┤
5││ ├─────┤
├│ ├─────┤
6││ ├─────┤
├│ ├─────┤
7││ X2 ├─────┤
├│ 2 ├─────┤
8│├─────┐ ├─────┤
├├─────┤ ├─────┤
9│├─────┤ ├─────┤
├├─────┤ ├─────┤
10│├─────┤ ├─────┤
├├─────┤ ├─────┤
11│├─────┤ ├─────┤
├├─────┤ ├─────┤
12│├─────┘ ├─────┤
├│ ├─────┤
13││ ├─────┤
├├─────┐ ├─────┤
14│├─────┘ ├─────┤
├├─────┐ ├─────┤
15│├─────┤ ├─────┤
├├─────┤ ├─────┤
16│├─────┤ ├─────┤
├├─────┤ ├─────┤
17│├─────┘40 ├─────┤
├│ ├─────┤
18││ A1 └─────┤
├│ │
19││ │
└└────────────────────────────────────────────┘
Сторона В
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
┌┌────────────────────────────────────────────┐
1││ X1 DD6 DD7 DD5 │
├│ B32 1┌──┐ ┌───┐ 1┌──┐ ┌───┐ 1┌──┐ ┌───┐ │
2│├─────┐ ├──┤ │┌──┤ ├──┤ │┌──┤ ├──┤ │┌──┤ │
├├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├──┤ │├──┤ │
3│├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├──┤ │├──┤ │
├├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├──┤ │├──┤ │
4│├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├──┤ │├──┤ │
├├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ └──┘ │├──┤ │
5│├─────┤ └──┘ │├──┤ └──┘ │├──┤ │├──┘ │
├├─────┤ │└──┤ │└──┴───────┘│ │
6│├─────┤ │ │ │ │ │
├├─────┤ DD3 │ │ DD1 │ ┌────────┘ │
7│├─────┤ 1┌──┐ │ │ 1┌──┐ │ │ X2 │
├├─────┤ ├──┤ │┌──┤ ├──┤ │┌──┤ 1┌─────┤
8│├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├─────┤
├├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├─────┤
9│├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├─────┤
├├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├─────┤
10│├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├─────┤
├├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├─────┤
11│├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├─────┤
├├─────┤ └──┘ │├──┤ └──┘ │├──┤ ├─────┤
12│├─────┤ │└──┤ │└──┤ ├─────┤
├├─────┤ │ │ │ │ ├─────┤
13│├─────┤ DD4 │ │ DD2 │ │ ├─────┤
├├─────┤ 1┌──┐ │ │ 1┌──┐ │ │ ├─────┤
14│├─────┤ ├──┤ │┌──┤ ├──┤ │┌──┤ ├─────┤
├├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├─────┤
15│├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├─────┤
├├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├─────┤
16│├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├─────┤
├├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├─────┤
17│├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ ├─────┤
├├─────┤ ├──┤ │├──┤ ├──┤ │├──┤ 39│ │
18│├─────┘ └──┘ │└──┤ └──┘ │├──┤ HDDLED├─> │
├│ B1 │ └───────┘└──┴────────┼─────┤
19││ "-" │ "+" R1 ─███─ │
└└─────────────┴────────────────────────┴─────┘
(масштаб взят относительно тетрадной клетки 5х5 мм)
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
Матлашу Владиславу