С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Исправленое описание процесса записи:
- старт записи начинается записью данных в регистр 177132, при этом записываемые данные пишутся на диск, по новому требованию можно записывать произвольное количество слов данных
- при первой записи A1 в регистр данных 177132 и начале вывода этого A1 сбрасывается регистр CRC
- при необслуживании требования записи начинается вывод вычисленной CRC на диск
- при начале записи CRC на диск выставляется бит CSR_CRC (14-ый)
- после выставленного CSR_CRC можно обслужить требование записи
- можно писать в 177132 любые данные и они будут выводится на диск, но только при обнаружении записи первого нового маркера A1 опять сбросится CRC
- цикл можно повторить нужное число раз
Как повезет - сигнал nGDR стробируется на триггере G35 импульсами входных данных, если импульсов нет, то бит GOR никак не влияет - запись промоделировалась штатно. А вот если сработает - то все встанет - будут активны RDINIT0 и RDINIT1 - остановится счетчик битов, не будет выставлятся требование и прочее - запись просто не пойдет
Не устанавливается он по INIT, а по INIT и установке GOR сбрасывается. А для того, чтобы отличить первый байт от второго, есть еще куча триггеров, и как я понял, за это отвечают сигналы RDR_STB, FIN_STB и nMARK_A1. Там на мелочи есть два триггера и целая куча логики. Вот все это и формирует сигнал nCRC_RST.
Придётся добавлять в эмулятор ВП1-128 ещё один флаг, который будет заниматься только тем, что отличать самый первый байт 0xA1, записываемый после INIT и GOR, от второго.
Все перезапуски CRC происходят, когда записывается первый байт 0xA1 при установленном CRCw - поэтому там дополнительные флаги не нужны.
Последний раз редактировалось Patron; 23.12.2013 в 13:42.
Нет, Alex_K правильно написал - есть безымянный триггер плюс одновибратор на G37, H37, H36, I39 - который формирует сигнал CRC_RST. Импульс CSR_RST очень короткий. Как я понял из моделирования (разбирать очень муторно - нарисован это кусок неудачно - не влазило оно в листик, пришлось ногами утаптывать), то схема находится в состоянии ожидания среза на nMARK_A1. Когда обнаруживается срез, то на CRC_RST формируется короткий импульс, и более по новым срезам на nMARK_A1 импульсы не формируются, сумма не обнуляется. Далее заканчивается запись, пропускается требование, записывается сумма, и после записи суммы проскакивает короткий импульс FIN_STB. Этим имульсом снова взводится одновибратор и он снова готов ждать среза nMARK_A1.
Если сектор начали писать, потом бросили - сформируется неудовлетворенное требование и FIN_STB. Если хотите читать - то надо GOR подергать (тоже сформирует FIN_STB).
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)