С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
(...) Как выяснилось позже - переходит в тот режим чтения ( поиск маркера или обычное чтение ) который имел место до начала записи.
А откуда берутся импульсы входных данных в режиме записи ?
Ведь в режиме записи ( насколько я понимаю ) дисковод не выдаёт сигнал на линию RDATA.
---------- Post added at 17:53 ---------- Previous post was at 17:38 ----------
Значит, если начать запись и затем установить бит GOR - запись не зависнет, но сбросится признак A1_WRITTEN. Так ?
Последний раз редактировалось Patron; 28.12.2013 в 14:00.
Т.е. у некоторых дисководов в едином конструктиве головки есть отдельная головка чтения и отдельная головка записи, причём при записи головка чтения читает старые данные за мгновение до того, как они перезаписываются головкой записи..
Ведь если у дисковода только одна общая головка чтения/записи и она пишет данные - данным чтения взяться физически неоткуда.
И даже если запись при этом ведётся на неформатированную дорожку - запись всё равно зависнет ?
Я с конструкцией приводов знаком только в общих чертах и просто предположил что может быть всякое - потому что приводов разнообразных очень много. Блокируется ли дисководами канал чтения при активной записи и что они в этот момент выдают на линии читаемых данных - мне точно неизвестно. Надо иметь ввиду что просто так GOR дернуть мало - в этот момент должны идти импульсы читаемых данных. Если нет импульсов, то GOR далеко внутрь схемы не проходит. INIT имеет более радикальное воздействие.
Если не будет импульсов RDATA то может и не зависнет. А есть эти импульсы или нет - в общем случае неизвестно, зависит от внешних факторов - схемы контроллера, схемы и устройства дисковода, и банально от помех.
Записываемый бит GOR попадает безусловно сначала в триггер G36 и на выходе формируется два сигнала CSR_GDR и инверсия ~CSR_GDR. Эти сигналы поступают исключительно только на триггер G35, который вырабатывает сигнал ~GDR (активный уровень низкий). Этот триггер G35 тактируется импульсами RDATA, нет импульсов - состояние не меняется, GDR не отрабатывает. Также триггер сбрасывается (~GDR становится высоким) по INIT. То есть можно деактивировать внутренний GDR внешним сбросом.
Далее этот ~GDR идет исключительно на L21 (вторая страница), где уже формируются широкорасходящиеся по схеме активные высокие RDINIT0 и RDINIT1. RDINIT0 формирует в том числе высокий FIN_STB и перевзводит триггер A1_WRITTEN, начинаем ждать маркер.
Также RDINITx сбрасывает PLL, блокирует выработку стробов и удерживает в нуле счетчик битов. Пока активен внутренний ~GDR - ничего не работает, ни чтение, ни запись.
Стандарт на интерфейс дисковода надо смотреть, но знаю какой именно.
Отсюда: FD-235HF-C891.pdf
А вот цитата отсюда: FD55_Spec.pdf
Но триггер ожидания записи байта 0xA1 должен сброситься при установке бита GOR в режиме записи или нет ?
Последний раз редактировалось Patron; 25.12.2013 в 00:16.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)