Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Протокол SCCB и камера OV5642
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Цифровые схемы, высокоскоростные ЦС
dima1902
Прошу помощи у коллективного разума.

Камера OV5642, ее нужно настроить на нужный режим путем программирования пачки регистров через SCCB. Есть описание того, что куда надо писать, есть описание самого SCCB и транзакций, осуществляемых по этому интерфейсу. Вроде все понятно. Но теперь проблема. В протоколе SCCB есть только три типа трансмиссионных циклов. Максимальная длина цикла - 3 фазы, т.е. 3 9-битных последоательности. Максимальная длина - у 3-фазной транзакции записи. В ней указывается ID устройства, 8-битный номер регистра и данные. НО ! В описании программирования камеры указана необходимость запихивать в камеру 4 байта !
1 - байт идентификатора 78h
2 - младший байт адреса регистра управления
3 - старший байт адреса регистра упраления
4 - байт данных.

Вот пример блока транзакций для установки одного из режимов (копипаста из software application note)

3.2 QSXGA JPEG Capture, 7.5fps, 24 Mhz input clock,24Mhz PCLK
i2c_salve_Address = 0x78;
write_i2c(0x3011 ,0x08)
write_i2c(0x3012 ,0x00)
write_i2c(0x3010 ,0x10)
write_i2c(0x460c ,0x22)
write_i2c(0x380c ,0x0c)
write_i2c(0x380d ,0x80)
write_i2c(0x3a00 ,0x78)
write_i2c(0x3a08 ,0x09)
write_i2c(0x3a09 ,0x60)
write_i2c(0x3a0a ,0x07)
write_i2c(0x3a0b ,0xd0)
write_i2c(0x3a0d ,0x10)
write_i2c(0x3a0e ,0x0e)

Вот как передать в камеру сначала идентификатор 78h, потом двухбайтный адрес 3011h, а потом еще и байт данных 0Bh, если максимальная длина трансмиссионного цикла 3 байта.

ЗЫ
для других камер OmniVision, в которых адреса регистров 8-битные спецификация SCCB ложится вроде бы понятно и не вызывает недоумения.
DASM
Да сдался вам этот SCCB. Писал в нее также как и в софт.апноте, даже не задумывался чего там по стандартам. Все стандарты пишут исключительно чтобы их нарушать.
Corner
Если не можешь аппаратно, сделай руками программно. Один ведь раз на старте конфигурится?
DASM
Параметры там менять постоянно надо, только я не понял о чем вы мужики вообще? Где то есть аппаратный SCCB?
_pv
Цитата(DASM @ Aug 29 2013, 22:54) *
Где то есть аппаратный SCCB?

а он чем-то от i2c отличается, всмысле не совместим с ним?
или как атмел с twi, чтобы филипсу не платить обозвали по другому и всё.
DASM
Ничем. Я к процессорной части SmartFusion2 прямо на аппаратный I2C навесил.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.