Adventurer
#13
31 марта 2002 |
|
Железо - доработанная схема IDE-HDD адаптера.
(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 Матлашу Владиславу
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября