Важная информация

User Tag List

Страница 142 из 146 ПерваяПервая ... 138139140141142143144145146 ПоследняяПоследняя
Показано с 1,411 по 1,420 из 1451

Тема: Вектор-06Ц: Эмуляция

  1. #1411
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пытался разобраться, почему Emu80 зависает на чтении регистров ВИ53 в программе "Wave AY".
    Из описания ВИ53:

    Скрытый текст

    Существуют задачи, в которых процессор должен периодически считывать содержимое счетчиков
    каналов. Примером такой задачи может служить счет событий. Во время работы счетчика его текущее
    содержимое может быть передано в буферный и прочитано двумя способами: при помощи обычной операции
    чтения или с помощью специальной схемы "чтения на лету", активизируемой вводом специального
    управляющего слова.
    При первом способе для обеспечения стабилизации показаний счета работа счетчика должна быть
    приостановлена подачей на управляющий вход уровня "0" (в режимах 0, 2, 3, 4) или с помощью внешней
    логической схемы, приостанавливающей подачу импульсов на тактовый вход канала.
    [свернуть]

    Кусок кода "Wave AY":

    Скрытый текст

    Код:
    ;
    	MVI	A,00000100B	; "чтение на лету"
    	OUT	008H
    PAUSE1:
    	IN	00BH
    	ANA	A
    	JNZ	PAUSE1
    [свернуть]

    Когда закомментировал установку режима "чтение на лету" - программа перестала зависать.
    При установленном режиме "чтение на лету" - из регистров постоянно читалось записанное в них значение, как будто ВИ53 вообще не уменьшает значение счетчика.

    - - - Добавлено - - -

    Цитата Сообщение от Ramiros Посмотреть сообщение
    Таймер в любом случае ШИМит на какой то частоте за границей слышимости,
    Тогда я переживаю, почему на реале, я вообще ни чего не увидел на выходах ВИ53. Там была стабильная "1".

    но в эмуляторе VV звук воспроизводится с частотой 44КГц, а то что слышно в виде свиста это скорее всего биение частоты ШИМа при ресэмплировании к частоте 44КГц. В VV есть фильтр который настроен на подавление частот выше 20КГц, но в данном случае он почти бесполезен.
    В исходнике "Wave AY" заменил режим "2" работы таймера на "0"-режим, и в эмуляторе "Emu" фоновый свист полностью пропал.
    Вечером попробую в других эмуляторах.
    Вложения Вложения
    • Тип файла: zip ef02-0.zip (12.9 Кб, Просмотров: 44)
    Последний раз редактировалось KTSerg; 26.10.2023 в 12:55.

  2. #1411
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #1412
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    265
    Спасибо Благодарностей получено 
    457
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    В Emu80 - вообще этим плеером, wav-ки не воспроизводит, т.к. прога зависает на чтении ВИ53, не вылавливает условие окончания интервала.
    Спасибо за багрепорт, посмотрю. Похоже, что дело опять в не реализованном на данный момент режиме 4 таймера

  4. #1413
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    Спасибо за багрепорт, посмотрю. Похоже, что дело опять в не реализованном на данный момент режиме 4 таймера
    Больше похоже, что функция "чтение на лету" не реализована.

  5. #1414
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ramiros Посмотреть сообщение
    Таймер в любом случае ШИМит на какой то частоте за границей слышимости ...
    Чтобы понять, почему на моём реале таймер молчит "как партизан", пришлось доставать логер, вешать его на ВИ53, накидать программку, которая переключает режимы таймера, и смотреть выходы каналов на фоне тактовой частоты 1.5МГц.

    Получается, что если надо просто совсем заткнуть таймер, то нужно все каналы настроить на режимы 1 или 5. Для их активации используется передний фронт сигнала разрешения счёта, а на Векторе он всегда в "1", но и счётчики видимо будут стоять.

    Во вложении, архив с rom-ом и исходником программы, краткое описание в txt, и скриншоты логгера.
    Задавал каждому каналу разный режим, загружал в счётчики значение 0008h.
    Получилось два теста, по три режима в каждом.
    Реал Вектор06ц.02.
    Вложения Вложения

  6. Эти 2 пользователя(ей) поблагодарили KTSerg за это полезное сообщение:

    Improver (27.10.2023), svofski (26.10.2023)

  7. #1415
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    265
    Спасибо Благодарностей получено 
    457
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Больше похоже, что функция "чтение на лету" не реализована.
    "Чтение на лету" реализовано и до сих пор работало без нареканий. Либо дело в другом, либо не учтены какие-то нюансы.
    Пока не было времени внимательно посмотреть, постараюсь в предстоящие выходные разобраться.

  8. #1416
    Master Аватар для Ramiros
    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    954
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    71
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Получается, что если надо просто совсем заткнуть таймер, то нужно все каналы настроить на режимы 1 или 5. Для их активации используется передний фронт сигнала разрешения счёта, а на Векторе он всегда в "1", но и счётчики видимо будут стоять.
    Я тоже так думал, но видимо счетчики не стоят, т.к. давно попадались программы которые использовали эти режимы для отсчета интервалов (к сожалению не помню какие).
    Здесь можно скачать актуальные версии Virtual Vector (VV)

  9. #1417
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ramiros Посмотреть сообщение
    Я тоже так думал, но видимо счетчики не стоят, т.к. давно попадались программы которые использовали эти режимы для отсчета интервалов (к сожалению не помню какие).
    Удивительно.
    Попробую проверить это на реале.

  10. #1418
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ramiros Посмотреть сообщение
    Я тоже так думал, но видимо счетчики не стоят, т.к. давно попадались программы которые использовали эти режимы для отсчета интервалов (к сожалению не помню какие).
    Я с этого ВИ53 просто ......

    Скорее всего это нужно было в тему теста ВИ53, закинуть. Но и во всех эмуляторах картинка отличается.
    Причину понять не могу.
    Вроде реал 02-ой и v06x совпадают, но в v06x скрол экрана сдвинут, на реале верхняя строка FF, а v06x - верхняя строка 00.
    Самая близкая к ним картинка на Emu.

    Накидал тест, который между прерываниями постоянно считывает значения счётчиков таймера и отображает считанное на экране (старший байт левее, младший правее).
    По приходу прерывания, меняется режим, в счётчик записывается FFFFh всё повторяется.

    Я так и не смог изменить/задать значение счётчиков в режимах 1 и 5 !!!
    При переключении в режимы 1 или 5 из других режимов, счётчики тупо продолжают считать (уменьшаться) начиная с последнего значения, которое осталось от предыдущего режима, не принимая новые значения.
    А в режиме 3 таймер вообще считает в два раза быстрее чем в остальных режимах.

    Значение счётчика считанное сразу после записи и перед заменой режима выводятся в отдельный столбик.

    Сделал скриншоты с экрана реальных простого Вектора и 02-го, и нескольких эмуляторов.
    Офигел, от того, что скриншоты реальных отличаются.
    Причину придумать не могу.
    Думал, что отличия скорее всего могут быть связаны с разными кварцами, но кпроц и таймер от одного кварца таковую получают, значит расхождения не может быть.

    В архиве rom, исходник и скриншоты.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	tst_vi53.jpg 
Просмотров:	54 
Размер:	18.7 Кб 
ID:	79688  
    Вложения Вложения
    Последний раз редактировалось KTSerg; 28.10.2023 в 12:06.

  11. Эти 2 пользователя(ей) поблагодарили KTSerg за это полезное сообщение:

    Improver (28.10.2023), ivagor (28.10.2023)

  12. #1419
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,845
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,824
    Поблагодарили
    1,046 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Причину придумать не могу.
    Предположу, что разносы фаз тактовых проца и таймера у 06Ц и 06Ц.02 чуть отличаются и этого оказывается достаточно.

  13. #1420
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Судя по всему, нашлась причина "фонового свиста" при воспроизведении wav-файлов, в оригинальном плеере "Wave AY", в эмуляторах "Emu" и "VV".
    Судя по всему, если в эмуляторе Emu80 решится проблема с "чтением на лету", то в нём "фонового свиста" не будет.

    Накидал ещё один тест для ВИ53, который перезаписывает счётчик таймера, когда его старший байт становится равным 00h.
    В тесте перебираются режимы 0,2,3,4. Для перехода между режимами используются клавиши "УС" и "СС" (типа 0 "УС" 2 "СС" 3 "УС" 4 "СС").
    В режиме 0 горит "РУС/LAT" - для обозначения начала цикла теста.

    А сейчас о результатах.
    На реале 02-ом, в v06x и Emu80 - только в режиме "3" на выходе видим меандр; в остальных режимах "тишина", на осциллографе - прямая линия, нет ни каких импульсов.
    В эмуляторах Emu и VV - в режиме "3" на выходе видим меандр; в режимах 2 и 4, на осциллографе - видим импульсы, во вложении фото экрана осциллографа.

    Во вложении rom теста и исходник.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	tst_vi53_3.jpg 
Просмотров:	51 
Размер:	5.3 Кб 
ID:	79692  
    Вложения Вложения
    Последний раз редактировалось KTSerg; 29.10.2023 в 09:41.

  14. Эти 3 пользователя(ей) поблагодарили KTSerg за это полезное сообщение:

    Improver (29.10.2023), Ramiros (29.10.2023), svofski (29.10.2023)

Страница 142 из 146 ПерваяПервая ... 138139140141142143144145146 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Вектор-06Ц: Общие вопросы
    от CityAceE в разделе Вектор
    Ответов: 844
    Последнее: 11.01.2024, 14:31
  2. Ответов: 9
    Последнее: 18.04.2009, 21:21
  3. Вектор-06Ц
    от AlexBel в разделе Барахолка (архив)
    Ответов: 4
    Последнее: 20.12.2007, 08:23
  4. IM2, вектор прерывания
    от Jukov в разделе Программирование
    Ответов: 18
    Последнее: 20.09.2006, 09:32

Ваши права

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