Цитата(PavPro @ May 4 2011, 18:18)

Здравствуйте. Извините пожалуйста, не подскажет ли кто-нибудь как организовать видеобуфер или ссыслки на литературу где освещен этот вопрос.
1.Задача следующая: имеется цифровая камера с прогрессивной разверткой и VGA контроллер (разрешение 640х480 с кадровой частотой 60 Гц).
На данный момент в качестве буфера используется двухпортовая RAM на 307200 9-разрядных слов (соответственно 3 бита на цвет). Данные пишутся в память с частой следования пикслей камеры (PIXCLK), а считываются с частотой REF_VGA=25.175 МГц. На экране монитора наблюдается четкое изображение с камеры, однако кадровая синхронизация отсутствует. Как я понимаю, связано это с тем что из-за разности кадровой синхронизации камеры и контроллера, контроллер считывает содержимое памяти быстрее, чем камера пишет туда видеокадр. Так ли, это?
2.Знаю, что в качестве видеобуфера по уму надо использовать динамическую память, однако столкнулся с такой проблемой: не работает мастер контроллера DDR2 (у меня Qaurtus 9.1 SP2, ОС Win7), мастер не запускается не из MegaWizard и не из Sopc_Builder.
3.Даже если удастся победить проблему N2, четкой ясности по взаимодействию камера-видеобуфер-VGAконтроллер нет.
В вопросах видео, знания нулевые поэтому если что не так заранее извините.
Освещать тут особо нечего.
1. Это лишь одна из возможных причин.
2. В Qaurtus 9.1 SP2 ddr2 исправен, проверял лично. Для устойчивой работы системы вам нужно завести 2 страницы вы памяти, и выдавать первую до тех пор, пока вторая не будет полностью заполнена. Это если нет ограничений дополнительных.
3. Что за камера, каково её разрешение и кадровая частота? Если аналогичное VGA контроллеру то проблем не будет никаких. Если камера шустрее - будет пропадание кадров. Если медленнее - лучше дважды выдавать старый кадр.
Вроде всё просто.
Ах да, если ваш VGA контроллер работает как slave то ему помимо данных нужно ещё выставлять все синхроимпульсы. Если мастер - то получать синхроимпульсы от него.
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.