User Tag List

Страница 15 из 24 ПерваяПервая ... 111213141516171819 ... ПоследняяПоследняя
Показано с 141 по 150 из 232

Тема: Эмуляция 1801ВП1-128 в ПЛИС

  1. #141

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,249
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Но из этого прямо следует, что бит CRCw должен устанавливаться по INIT - иначе невозможно отличить запись первого байта 0xA1 самого первого маркера от записи второго байта 0xA1 того же маркера.
    Не устанавливается он по INIT, а по INIT и установке GOR сбрасывается. А для того, чтобы отличить первый байт от второго, есть еще куча триггеров, и как я понял, за это отвечают сигналы RDR_STB, FIN_STB и nMARK_A1. Там на мелочи есть два триггера и целая куча логики. Вот все это и формирует сигнал nCRC_RST.

  2. #142

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Не устанавливается он по INIT
    Придётся добавлять в эмулятор ВП1-128 ещё один флаг, который будет заниматься только тем, что отличать самый первый байт 0xA1, записываемый после INIT и GOR, от второго.

    Все перезапуски CRC происходят, когда записывается первый байт 0xA1 при установленном CRCw - поэтому там дополнительные флаги не нужны.
    Последний раз редактировалось Patron; 23.12.2013 в 13:42.

  3. #143

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Все перезапуски CRC происходят, когда записывается первый байт 0xA1 при установленном CRCw - поэтому там дополнительные флаги не нужны.
    Нет, 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).

  4. #144

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    есть безымянный триггер плюс одновибратор
    А при записи бит CRC в регистре статуса сбрасывается при любой записи в регистр данных или только при записи байта 0xA1 ?

  5. #145

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    А при записи бит CRC в регистре статуса сбрасывается при любой записи в регистр данных или только при записи байта 0xA1 ?
    Бит 14 (CSR_CRC) формируется мультиплексором на J36 в зависимости от режима чтение-запись. В режиме записи CSR_CRC совпадает с сигналом LATCH_TR. LATCH_TR устанавливается высоким когда есть неудовлетворенное требование, держится высоким в течение записи слова суммы и потом сбрасывается FIN_STB. То есть - бит 14 в CSR сбросится независимо от обращений к 177132.

  6. #146

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    То есть - бит 14 в CSR сбросится независимо от обращений к 177132.
    В смысле - этот бит установлен только 64 мкс, пока пишется контрольная сумма..

    А если в регистр данных записи больше нет и на диск каждый раз пишется инвертированное содержимое сдвигового регистра контрольной суммы, то что при этом происходит с битом 14 ?
    Последний раз редактировалось Patron; 23.12.2013 в 02:00.

  7. #147

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    В смысле - этот бит установлен только 64 мкс, пока пишется контрольная сумма..

    А если в регистр данных записи больше нет и на диск каждый раз пишется инвертированное содержимое сдвигового регистра контрольной суммы, то что при этом происходит с битом 14 ?
    Остается в нуле. В приложении картинка для такой ситуации:

    Код:
    //
    // *** Write data model start ***
    //
    qbus_write(16'O177130, 16'H0300);
    qbus_write(16'O177132, 16'H0000);
    qbus_waitr();
    qbus_write(16'O177132, 16'H0000);
    qbus_waitr();
    qbus_write(16'O177132, 16'HA1A1);
    qbus_waitr();
    qbus_write(16'O177132, 16'HFEA1);
    qbus_waitr();
    qbus_write(16'O177132, 16'H3130);
    qbus_waitr();
    qbus_write(16'O177132, 16'H3332);
    qbus_waitr();
    
    #40000			
    qbus_waitr();
    qbus_write(16'O177132, 16'H0000);
    qbus_waitr();
    qbus_write(16'O177132, 16'HA1A1);
    qbus_waitr();
    qbus_write(16'O177132, 16'HFEA1);
    qbus_waitr();
    Вложения Вложения
    • Тип файла: rar wave.rar (42.1 Кб, Просмотров: 2444)

  8. #148

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    И ещё вопрос - может ли безымянный триггер ожидания байта 0xA1 сброситься до записи контрольной суммы ?

    Например, при чтении из регистра данных или при установке бита GOR.
    Последний раз редактировалось Patron; 23.12.2013 в 23:11.

  9. #149

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    И ещё вопрос - может ли безымянный триггер ожидания байта 0xA1 сброситься до записи контрольной суммы ?
    Например, при чтении из регистра данных или при установке бита GOR.
    Он сбрасывается или по записи суммы, или по GOR. Если шла запись на диск и тут прочитали вдруг регистр данных, то переходим в режим "псевдочтения", триггер остается установленным и чтение нормально не работает. Чтобы начать читать - GOR надо. Чтобы начать писать - тоже GOR надо сначала, потому что сумма не записывалась и триггер остался установленным, новая запись не начинается (моделирование подтвердило).

  10. #150

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Чтобы начать писать - тоже GOR надо сначала, потому что сумма не записывалась и триггер остался установленным, новая запись не начинается (моделирование подтвердило).
    Но если режим записи ВП1-128 находится в состоянии NOT A1_WRITTEN ( т.е. до записи 0xA1 или после записи контрольной суммы ) - то чтение регистра данных переводит ВП1-128 в какой режим:

    1. В режим ожидания, выход из которого возможен как в режим поиска маркера ( по GOR ), так и в режим записи ( при записи в регистр данных ) ?

    2. Сразу в режим поиска маркера ?
    Последний раз редактировалось Patron; 24.12.2013 в 16:38.

Страница 15 из 24 ПерваяПервая ... 111213141516171819 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. ЮТ-88: Реализация на ПЛИС (DE1)
    от Santechnik в разделе ЮТ-88
    Ответов: 61
    Последнее: 13.05.2022, 08:22
  2. Вопрос по ПЛИС
    от Zloy в разделе Несортированное железо
    Ответов: 23
    Последнее: 17.10.2015, 17:12
  3. Аксель на ПЛИС
    от iceoflame в разделе Amiga
    Ответов: 163
    Последнее: 25.03.2012, 14:51
  4. Список версий 1801ВП1 и 1801РЕ2
    от CodeMaster в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 28.02.2012, 22:39
  5. 1801вп1-128
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 0
    Последнее: 29.05.2010, 11:24

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •