В работе СЯБРА выявился дефект в виде рассинхронизации работы процессора и видео контролера .
Проявляется в виде мельчешащих горизонтальных полос на изображении . Иногда после включения питания или после принудительного сброса U1 (ATMEGA88) синхронизация "налаживается" и изображение становится нормальным .Комп работает как надо до выключения питания или включения турбо режимов . Победить эту проблему без скальпеля и мгтэфа не получается .
Решить проблему думаю можно притормаживанием процессора сигналом STB (U1.18) , вырабатывается во время загрузка регистров U17,U18 формирующих изображение . Его длительность примерно 40нс , это 1/3 пикселя , при частоте кварца 16Мгц . То есть во время формирования изображения STB выдаётся 48 раз в 256 строках 48х256=12288 раз за один кадр значит 40х12288=491520нс процессор будет простаивать . Период одного такта процессора 500нс плюс 40нс простоя = 540нс что соответствует реальному такту 1,852Мгц , но это только во время формирования строк изображения , в остальное время проц молотит на своих 2Мгц . Потеря производительности во время формирования изображения 7,4% , общая потеря думаю будет в пределах 2-4% . То есть повысив частоту кварца (с повышением частоты длительность STB уменьшится) до 16,32-16,64Мгц общую производительность можно поднять до оригинальной . Конечно при таком решении о прозрачном доступе не может быть и речи , та как видео контроллер всегда будет работать в приоритете над процом .
Над этим решением сейчас работаю .
Для сравнительных тестов необходима программа оценки быстродействия компа , желательно под i8085 или Z80 только они в СЯБРЕ умеют работать с прерываниями (ВМ80А к стати тоже можно научить) .У меня собраны два компа по одинаковой схеме , один из них переделаю под указанное выше . ПОМОГИТЕ с программкой , хотя бы исходники .
Симуляция в протеусе отличается от основной схемы , привожу для понимания принципа идеи .




Ответить с цитированием