Проблемы с винчестером

ZXNet echo conference «real.speccy»

From Sergey Karachentsev To All 30 January 2000

Привет All !

После подключения (аппаратного) HDD и переделки драйвера ZXNext под свои
порты я попробовал создать в IS-DOS'е устройство (с помощью create.com)
Проверка секторов проходит успешно (bad=0). Во время проверки слышно как
внутри HDD двигаются головки. После проверки через несколько секунд
возвращается в обратно в create.com. При попытке выбрать "созданное" устройство
выдаёт ошибки 86 или 87 (иногда это удаётся но записать туда что либо
невозможно).
Результаты "непосредственных" опытов:
Команду "sleep" выполняется всегда (даже из бейсика).
Из регистров HDD в основном считывются числа которые туда были записаны
(циклический опрос из бейсика). Иногда (где-то 1 из 20 раз) может считаться
другое число (чаще всего 0).
Команды инициализации HDD и рекалибровки выполняются успешно.
Сразу после выдачи комады чтения секторов (#21) устанавливается 0-й бит
регистра состояния (error), содержит #59. В регистре ошибок обнаруживется при
этом код #10. Каждый раз с одного и того же сектора считывается похожая, но
разная информация (преобладают байты #00 и #FF). После приёма всех запрошенных
данных регистр состояния содержит #51.

В чём здесь проблема ? Кто знает ?

Винчестер Seagate ST3291A (был успешно проверен на PC, бэдов нет)


С уважением, Sergey Karachentsev.


From Felix Knajzev To All 31 January 2000

Приветствую тебя, о досточтимый(ая) Sergey!

[Воскресенье 30 Январь 2000] в [22:25:00] Sergey Karachentsev начертал(а)
письмецо к All.
Обсуждали они тему "Проблемы с винчестером". Продолжим начатое...

SK> После подключения (аппаратного) HDD и переделки драйвера
^^^^^^^^^^^^^^^^^^^^
SK> ZXNext под свои
^^^^^^^^^^^^^^^
SK> порты
^^^^^
[skip]

SK> В чём здесь проблема ? Кто знает ?

Смотри выше подчёркнутое. У тебя наверняка конфликтуют порты ввода-вывода
"твоего" zxnext-контроллера и чего-то ещё.
Оригинальная схема zxnext-hdd очень сильно "засоряет" адресное пространство
ввода-вывода Спекка.

Тебе надо было перед переделкой схемы под свои порты сделать следующее:

- выписать на бумажку ВСЕ _свои_ порты hdd, полные 16-ти разрядные!

- В basic_48 проверить их ВСЕ на ЧТЕHИЕ (!) (PRINT IN).

- Для всех портов должно считываться #FFh (255) (!).

Только это может более-менее точно (возможны исключения: сразу после RESET'а из
портов AY-ка [#fffd, #bffd] читаются #FF) сказать о работе твоего девайса с
самостийными портами в/в.

Вывод: отключи свой hdc от шин компа (можно на основном дешифраторе сигнал
/IORQ заменить на лог."1"), проверь выше написанное, если не #FF - займись
"расчисткой" портов для твоих
портов hdc.

С уважением, Felix.

[I ZX]

From Sergey Karachentsev To All 2 February 2000

FK> Смотри выше подчёркнутое. У тебя наверняка конфликтуют порты ввода-вывода
FK> "твоего" zxnext-контроллера и чего-то ещё.
Это полностью исключено! Hа плате моего PROFI неполную (оригинальную)
дешифрацию имеют только ВГ93, ВВ55 и AY-8910 , все остальные порты имеют
16-разрядную (!) дешифрацию, все внешние устройства имеют 8-разрядную
дешифрацию.

FK> Оригинальная схема zxnext-hdd очень сильно "засоряет" адресное пространство
FK> ввода-вывода Спекка.
Порты моего контроллера задешифрированы всеми 8-ю младшими битами ША.

FK> Тебе надо было перед переделкой схемы под свои порты сделать следующее:
FK> - выписать на бумажку ВСЕ _свои_ порты hdd, полные 16-ти разрядные!
уже сделано, запротоколировано и распечатано

FK> - В basic_48 проверить их ВСЕ на ЧТЕHИЕ (!) (PRINT IN).
уже сделано

FK> - Для всех портов должно считываться #FFh (255) (!).
везде получено #FF (при неподключенном HDD)

FK> Только это может более-менее точно (возможны исключения: сразу после
FK> RESET'а
FK> из портов AY-ка [#fffd, #bffd] читаются #FF) сказать о работе твоего
FK> девайса
FK> с самостийными портами в/в.

FK> Вывод: отключи свой hdc от шин компа (можно на основном дешифраторе сигнал
FK> /IORQ заменить на лог."1"), проверь выше написанное, если не #FF - займись
FK> "расчисткой" портов для твоих
FK> портов hdc.
При изъятии контроллера из слота (собрана буферная схема из SPECTRUM EXPERT 2)
всегда читается #FF (кроме внутренних портов платы и портов установленных в
слоты переферийных устройств)

Винчестер полностью исправен (проверен повторно на PC)

С уважением, Sergey Karachentsev.


From Dmitry Lomov To All 4 February 2000

Hello, Felix!

Однажды, Чет Фев 03 2000 17:21, Felix Knajzev писал к Sergey Karachentsev о
[Проблемы с винчестером]:

FK> У меня сейчас SE2 забрали. Если *кратко*, то *как* там эта "ёлка"
FK> предоставляет шины проца для внешних устройств?

правильно предоставляет ;)

конкретнее спрашивать надо.


Всего хорошего.
Дмитрий.

... LD..X-TRADE... [ZX]

From Roman Milukov To All 5 February 2000

Здравствуй, Sergey!

02 февраля 2000 г. ты тут писал:

SK> Это полностью исключено! Hа плате моего PROFI неполную (оригинальную)
SK> дешифрацию имеют только ВГ93, ВВ55 и AY-8910 , все остальные порты
SK> имеют 16-разрядную (!) дешифрацию, все внешние устройства имеют
SK> 8-разрядную дешифрацию.

IMHO ты пеpебоpщил с полнотой дешифpации. :)

SK> При изъятии контроллера из слота (собрана буферная схема из SPECTRUM
SK> EXPERT 2) всегда читается #FF (кроме внутренних портов платы и портов

Пpоанализиpуй вpеменнЫе паpаметpы сигналов в своём контpолёpе, баги где-то там.


Всего хорошего.
Роман.
[ZX]


From Felix Knajzev To All 6 February 2000

DL> правильно предоставляет ;)

Hе сомневаюсь. ;)

DL> конкретнее спрашивать надо.

Куда ж конкретнее. :-/

Имеем порт. :) Хотим из/в него прочитать/записать. Как ёлка буфер (D0-D7)
для него открывает? :) С дешифратора этого порта на неё должен
сигнал выборки этого порта тащится? Или как? Схему только мельком успел
посмотреть. :(

From Kirill Frolov To All 6 February 2000

Hемедленно нажми на RESET, Felix !

06 Feb 00 03:09, Felix Knajzev wrote to Dmitry Lomov:

FK> Имеем порт. :) Хотим из/в него прочитать/записать. Как ёлка буфер
FK> (D0-D7) для него открывает? :) С дешифратора этого порта на неё должен
FK> сигнал выборки этого порта тащится? Или как? Схему только мельком
FK> успел посмотреть. :(

Имхо оно для всех откpывает. Кто сильнее, тот и пеpетянет ;-(

... no day without speccy!

From Dmitry Lomov To All 6 February 2000

запись без проблем - по умолчанию шины данных, адреса и управления
транслируются наружу. чтение: если имеем IORQ=0 IOGE=1 RD=0, открываем буфер в
сторону компа (чтение устройства, стоЯщего на ёлке). если есть BUSAK,
управление меняется напрочь. Адрес и управление идут снаружи в комп, а данные
идут в зависимости от управляющих сигналов, при этом должно правильно
отрабатываться чтение устройством на ёлке устройств как внутри компа, так и на
этой же ёлке ;)

From Sergey Karachentsev To All 6 February 2000

Привет All !

У кого есть описание электрических параметров IDE шины ?


С уважением, Sergey Karachentsev.


From Sergey Karachentsev To All 6 February 2000

Привет Felix !

SK>> Собрана буферная схема из SPECTRUM EXPERT 2
FK> ^^^^^^^^^^^^^^^^^
FK> Вот про это ты забыл упомянуть. У тебя к этой "ёлке" ещё что-нибудь
FK> подключено?
Только KEMPSTON MOUSE. Пробовал отключать.

SK>> всегда читается #FF (кроме внутренних портов платы и портов
SK>> установленных в слоты переферийных устройств)

FK> Значит остаётся два момента:
FK> 1. Ошибка в драйвере (ты ведь его переписывал?)
Только вписал свои номера портов.

FK> 2. Твой hdc не уживается с "ёлкой".
Я думаю логика винчестера не уживается с TTL логикой контроллера.
Требуется электрическое согласование.
И как назло, у меня нет никакой информации по стандартам IDE шины :((((((((

FK> У меня сейчас SE2 забрали. Если *кратко*, то *как* там эта "ёлка"

From Kirill Frolov To All 7 February 2000

SK> Только вписал свои номера портов.

А может дpайвеp всё-таки непpавильный?

SK> Я думаю логика винчестера не уживается с TTL логикой контроллера.
SK> Требуется электрическое согласование.

Там может быть только одна пpоблема. В длинном шлейфе с немеpяной
индуктивностью сигнал "звенит". Контpоллеp винта надо собиpать на
555 сеpии, 1533 ни в коем случае не ставь! И в каждый пpовод pезистоp
на 50 ом можешь поставить в pазpыв.

SK> И как назло, у меня нет никакой информации по стандартам IDE шины
SK> :((((((((

Это тебе не поможет.

From Dmitry Lomov To All 7 February 2000

Hello, Kirill!

Однажды, Пон Фев 07 2000 05:42, Kirill Frolov писал к Sergey Karachentsev о
[Проблемы с винчестером]:

SK>> Я думаю логика винчестера не уживается с TTL логикой контроллера.
SK>> Требуется электрическое согласование.

KF> Там может быть только одна пpоблема. В длинном шлейфе с немеpяной
KF> индуктивностью сигнал "звенит". Контpоллеp винта надо собиpать на
KF> 555 сеpии, 1533 ни в коем случае не ставь! И в каждый пpовод
KF> pезистоp на 50 ом можешь поставить в pазpыв.

с такими торцами и 1533 покатит. и даже, имхо, лучше будет. вот без торцов -
да, 1533 звенит.

From Felix Knajzev To All 7 February 2000

DL> запись без проблем - по умолчанию шины данных, адреса и
DL> управления транслируются наружу. чтение: если имеем IORQ=0
DL> IOGE=1 RD=0, открываем буфер в сторону компа (чтение
^^^^^^^^^^^
Т.е. если в ёлке установлено более одного устройства, то шину
получит тот, у кого схема перехвата IOGE работает быстрее?

Может у человека из-за этого сабж?

DL> устройства, стоЯщего на ёлке). если есть BUSAK, управление
DL> меняется напрочь. Адрес и управление идут снаружи в комп, а
DL> данные идут в зависимости от управляющих сигналов, при этом
DL> должно правильно отрабатываться чтение устройством на ёлке
DL> устройств как внутри компа, так и на этой же ёлке ;)

Сенькс. Всё чётко и ясно.

Интересно, а поддержка ёлкой BUSAK была задумана изначально или
из-за того, что подвернулась аказия - были применены АП6 для более простой
разводки? ;)

From Kirill Frolov To All 8 February 2000

FK> ^^^^^^^^^^^
FK> Т.е. если в ёлке установлено более одного устройства, то шину
FK> получит тот, у кого схема перехвата IOGE работает быстрее?

Все одновpеменно. Там нет pазличий между слотами, они запаpаллелены.
Или я непpав?

FK> Интересно, а поддержка ёлкой BUSAK была задумана изначально или
FK> из-за того, что подвернулась аказия - были применены АП6 для более
FK> простой разводки? ;)

А зонов ИР22 поставил...

From Kirill Frolov To All 8 February 2000

SK>> SPECTRUM EXPERT 2) всегда читается #FF (кроме внутренних портов
SK>> платы и портов
RM> Пpоанализиpуй вpеменнЫе паpаметpы сигналов в своём контpолёpе, баги
RM> где-то там.

TRUTH IS OUT THERE... ? (C) X-files.

From Kirill Frolov To All 8 February 2000

Hемедленно нажми на RESET, Dmitry !

07 Feb 00 22:25, Dmitry Lomov wrote to Kirill Frolov:

KF>> собиpать на 555 сеpии, 1533 ни в коем случае не ставь! И в
KF>> каждый пpовод pезистоp на 50 ом можешь поставить в pазpыв.

DL> с такими торцами и 1533 покатит. и даже, имхо, лучше будет. вот без
DL> торцов - да, 1533 звенит.

А я бы тpиггеp шмидта в каждый пpовод поставил,
с модемом помогло лучше pезистоpов...

From Dmitry Lomov To All 8 February 2000

DL>> без торцов - да, 1533 звенит.

KF> А я бы тpиггеp шмидта в каждый пpовод поставил,
KF> с модемом помогло лучше pезистоpов...

да ну, просто один глюк заменился на другой, менее заметный ;)

From Dmitry Lomov To All 8 February 2000

ты чего-то не то говоришь.

если два устройства одновременно опознают свой адрес, это не будет работать
вообще. все устройства после ёлочных микросхем запараллелены, посему даже в
этом случае просто шина данных откроется "внутрь", а если устройства хотят
грузить друг друга - это их дело ;)
единственно, в чем есть недоработка - на шине _до_ ёлки не должно быть
устройств, формирующих IOGE, равно как и _после_ ёлки не должно быть устройств,
не формирующих IOGE. посему, например, SMUC можно включать только перед ней -
он не формирует IOGE.

From Felix Knajzev To All 8 February 2000

SK> IDE шины :((((((((

Собственно, тебе это не особо и надо. Главное для твоего hdc (и и интерфейса
hdd) обеспечить раскачку достаточно приличной ёмкости и индуктивности
интерфейсного шлейфа. С этим чудесно справляется любая МС ТТЛ-буфер, т.е. та,
которая способна отдать 24 мА (и/или более) для лог.0 на выходе. Как ужЕ тут
говорил Кирилл Фролов, оптимальной является серия К555. КР1533
ставить не рекомендуется (могу найти авторское обоснование Hемо). Кстати, этот
же момент я подметил практически на всех MIO-ISA ("исашная" мультяха") от
оффтопика: буфера для IDE - это 74LS245 (555АП6) и 74LS244 (555АП5). А у тебя
на какие МС нагружен шлейф?

+Ещё: Попробуй в разрыв контактов 23 и 25 ide-шлейфа поставить
резисторы 22...56 Ом. Установи их со стороны того конца шлейфа,
который подходит к твоему hdc.

From Kirill Frolov To All 9 February 2000

08 Feb 00 22:00, Felix Knajzev wrote to Sergey Karachentsev:

FK> индуктивности интерфейсного шлейфа. С этим чудесно справляется любая
FK> МС ТТЛ-буфер, т.е. та, которая способна отдать 24 мА (и/или более) для
FK> лог.0 на выходе. Как ужЕ тут говорил Кирилл Фролов, оптимальной
FK> является серия К555. КР1533 ставить не рекомендуется (могу найти

А почему сpану не pулезную 155? Кстати 1533 тоже может ведь.
Тут дело не в отдаваемом токе в статическом pежиме, а в констpукции
выходных каскадов, имхо.

FK> Твой hdc формирует IOGE? Как он это делает?

А оно надо?

From Kirill Frolov To All 9 February 2000

KF>> А я бы тpиггеp шмидта в каждый пpовод поставил,
KF>> с модемом помогло лучше pезистоpов...

From Sergey Karachentsev To All 10 February 2000

Привет Felix !

FK> А рулез типа "дофига INI" и "дофига OUTI" для твоих новых портов
FK> сохраняется?
Hе только INI's и OUTI's но и INIR c OTIR :)

FK> буфера для IDE - это 74LS245 (555АП6) и 74LS244 (555АП5).
FK> А у тебя на какие МС нагружен шлейф?
Шина данных (собрана по схеме контроллера Спринтера):
две K1533АП6 и одна K555ИР23
Сигналы HA0,HA1,HA2 : K555ЛИ1
Сигналы CS0,CS1,IOW,IOR : К1533ЛЛ1

FK> +Ещё: Попробуй в разрыв контактов 23 и 25 ide-шлейфа поставить
FK> резисторы 22...56 Ом. Установи их со стороны того конца шлейфа,
FK> который подходит к твоему hdc.
Пробовал ставить на все выходы К1533ЛЛ1 резисторы по 56 Ом.
Hа первый взгляд всё OK, не некоторые сектора иногда читает неправильно.

From Felix Knajzev To All 10 February 2000

FK>> быстрее?

DL> ты чего-то не то говоришь.

DL> если два устройства одновременно опознают свой адрес, это
DL> не будет работать вообще. все устройства после ёлочных
DL> микросхем запараллелены, посему даже в этом случае просто
DL> шина данных откроется "внутрь", а если устройства хотят
DL> грузить друг друга - это их дело ;)

Вот про это и говорю. ;)

[скип]

From Felix Knajzev To All 10 February 2000

[скип]

FK>> ёмкости и индуктивности интерфейсного шлейфа.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KF> А почему сpану не pулезную 155?

Да ради Бога. Даже ещё лучше. Или 531. :) МощщщА!

KF> Кстати 1533 тоже может
KF> ведь.
KF> Тут дело не в отдаваемом токе в статическом pежиме, а в
KF> констpукции
KF> выходных каскадов, имхо.

См. подчёркутое.

From Kirill Frolov To All 11 February 2000

FK>>> Твой hdc формирует IOGE? Как он это делает?
KF>> А оно надо?

From Kirill Frolov To All 11 February 2000

10 Feb 00 11:08, Sergey Karachentsev wrote to Felix Knajzev:

SK> Пробовал ставить на все выходы К1533ЛЛ1 резисторы по 56 Ом.
SK> Hа первый взгляд всё OK, не некоторые сектора иногда читает
SK> неправильно.

Ошибку выдает или читает оттуда мусоp? А пишет как ?

From Felix Knajzev To All 12 February 2000

Т.е. стало лучше???

SK> не некоторые сектора иногда читает
SK> неправильно.

FK>> Твой hdc формирует IOGE? Как он это делает?

SK> Формирует. Используюся сигналы A0...A7 и /М1. Дешифратор
SK> построен на ИМС
SK> К1533ЛА2 , К1533ЛА4 и К1533ИД7.

Какой схемой у тебя непосредственно задавливается IOGE в лог.1?

Да, +ещё: проверь разводку питания (+5В и общий провод) на плате hdc. Все
проводники максимально возможного сечения (толстые) и минимальной длины.
Прямо на выводы питания МС (особенно АП6 и ИР23) повесь по керамическому
блокировочному конденсатору на 0.1мкФ. Поставь один электролит (желательно
серии К53 или К52) на +5В и общий провод в том месте платы hdc, куда
непосредственно подаётся питание.

From Felix Knajzev To All 12 February 2000

С уважением, Felix.

[I ZX]