как сказать , 3.5 работает и 7работает (как с вэйтом так и без)
Вид для печати
А не следует путать поток команд и поток данных. Данные в этом твоем ноутбуке поди UDMA33/66 бегут, а команды все так же по старинке: PIO. Тем более, винды чаще используют многосекторное чтение, чтобы уменьшить задержки на команды.
Так и говорю: времянка Z80. Если есть вэйт - то с вейтом. Если есть изменение тактовой - то с ней. Если есть джиттер по тактовой (безвейтовые трюки турбы) - то и с ней. Применительно к Nemo это еще и время на разворот шины: автор крохобор, не стал нормально развязывать буфер по ОЕ, а если бы сделал, то DIR бы рулился при Z состоянии, тем самым без емкостной нагрузки шины, что несомненно быстрее, чем под нагрузкой, да и нагреву бы поубавилось.
А у меня были проблемы на 1533 серии, один из винтов до 1 гига выдавал мусор и подвисал, вылечил заменой 1533 на ... (забыл какую, импорт, также быстра как 1533 но больший ток) и заменой шлейфа на 80 жил. Ноутбучный у меня винт для профи купленный тоже есть и переходник с Али, ещё не тестил на профи.
Мини отчёт. Заменил логику на быструю (74ACTxxx), попутно ещё больше утолщил шины питания и кинул на общий все входы неиспользуемых ЛЭ (почему-то на плате этого не было сделано).
Поведение винчестеров не изменилось никак, по-прежнему десктопные прекрасно работают, а ноутбучные тупо в Z-состоянии.
Программно, а затем аппаратно подаю сигнал сброса на 1-ый пин IDE, и опрашиваю порт: никакого BSY и в помине не появляется. Совершенно одинаковое поведение с ноутбучным винчестером и с голым кабелем.
В общем, всё по старому. Только теперь мне стало совсем ясно, что винт вообще не воспринимает никакие сигналы с интерфейса, даже не пытается.
Взял обе схемы и начал сравнивать, в чём у них различие сигналов на IDE. Увидел единственное различие, и которое меня вот прям сразу напрягло - пин 28 (сигнал "SPSYNC:CSEL"): на работающей схеме на ВВ55 он висит в воздухе, на НЭМЕ он сидит на земле. Смотрю описание сигнала в доке по ATA: "синхронизация шпинделей или выбор кабеля", при этом сноска: "сигналы между накопителями", т.е. по идее хост туда не должен ничего подавать. Сегодня уже паяльник включать не буду, а завтра попробую отрубить землю с этого сигнала. Если трабла из-за этого, то будет очень смешно.
Denn, пум пурум пурум пум пум пу , вера 555 не позволяет поставить для проверки :)
Че нашел. Читаните раздел про 400нс.
Спасибо, поизучаю!
А сейчас очередные вести с полей. Освободил 28-ой пин IDE, ничего не изменилось. Склоняюсь к версии про неподходящие времянки, а именно про слишком короткий сигнал /BWR или /CS1.
Нашёл в хозяйстве ещё один ноутбучный "винт" (на этот раз от другой компании - WD):
https://pp.userapi.com/c846522/v8465...FIb8NCDuns.jpg
Он работает вообще без проблем:
https://pp.userapi.com/c840337/v8403...FGXzku2vps.jpg
- - - Добавлено - - -
Тема с удлинением таймингов не даёт мне покоя. Ещё раз попробовал перевести Орион-ПРО в режим клока МП = 2,5 МГц, ситуация не меняется! Хотя по идее это примерно в 3 раза должны все сигналы удлиниться...
Вот простой код, который делает буквально следующее:
1) Записывает в системный регистр команду сброса (06h);
2) Записывает в системный регистр команду нормальной работы (02h);
3) Циклически выводит содержимое регистра статуса.
Вот результат для нормального накопителя:
https://pp.userapi.com/c845121/v8451...WY8tRoFy5A.jpg
Видно, что какое-то время установлен флаг BSY (старший бит), остальные биты сброшены. После выполнения сброса, накопитель снимает BSY и выставляет флаги DRDY и DSC.
BSY (Занято). Этот бит устанавливается сразу после передачи команды винчестеру и сбрасывается только после того, как он эту команду выполнит. То есть установленный бит сигнализирует о том, что жесткий диск выполняет команду и вас не "слышит".
DRDY (Готовность Накопителя). Этот бит установлен в том случае, если винчестер готов принять команду.
DSC (Установка Дисковода Завершена). Бит указывает, что головки дисковода установлены на дорожку.
Т.е. всё происходит логично и верно.
Вот исполнен тот же код с проблемным накопителем:
https://pp.userapi.com/c846521/v8465...u7ZBh07FY4.jpg
Никакой реакции на команды. Биты всех ошибок (DRQ│CORR│IDX│ERR) типа установлены, чего разумеется, быть не может. Ровно тот же результат с голым шлейфом, без накопителей вообще.