Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: проблемы с MAX7456
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
олег_уфа_81
здравствуйте, подскажите плз, где я ошибаюсь?

стал осваивать MAX7456 - монохромный генератор OSD.

когда вывожу статичную картинку - проблем нет. но когда пытаюсь обновлять OSD скажем 2 раза в секунду, наблюдаются сбои.

процедура в котрой обновляется OSD занимает 12ms.

по её окончанию время от времени наблюдаются срывы синхнонизации. (LOS = 1, пропадают импульсы вертикальной и горизонтальной синхронизации)

в фирменной пдфке указано следующее:

Synchronous OSD Updates
The display of a character may momentarily appear to
break up if an internal display-memory read request
occurs simultaneously with an SPI display-memory
operation. Momentary breakup of the OSD image can
be prevented by writing to the display memory during
the vertical blanking interval. This can be achieved by
using VSYNC as an interrupt to the host processor to
initiate writing to the display memory. Alternatively, the
OSD image can be synchronously disabled before writing
to the display memory and synchronously reenabled
afterwards (see VM0[3:2]).

пробовал оба варианта. эффекта нет. что я делаю не так? скорее всего причина в какой-то мелочи. объясните плз в какой именно?
тау
Цитата(олег_уфа_81 @ Sep 21 2010, 07:38) *
процедура в котрой обновляется OSD занимает 12ms.

Вы занимаете 12 миллисекунд, а надо гораздо меньше , чтобы процесс шел только во время обратного хода по кадру. Обратный ход обычно длится 1.5 - 2 mS . Не успеваете за один раз - обновляйте всю инфу за 6 раз.

В старину, на видеокартах CGA тоже ловили обратный ход, чтобы обновление экрана происходило "без снега".
олег_уфа_81
то есть, как я понял, надо успеть обновить содержимое "видеопамяти" за время сигнала вертикальной синхронизации? который составялет около 160us?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.