Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 29.09.2023, 17:09  
worldmasters
Гражданин KAZUS.RU
 
Регистрация: 21.02.2007
Сообщений: 553
Сказал спасибо: 38
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
worldmasters на пути к лучшему
По умолчанию 16 битный регистр i2c

Здравствуйте.

Есть такая малоизвестная камера ARX3A0_MIPI. Производители видимо в силу политических особенностей отказались предоставлять какую либо документацию на нее.

Кое как у китайцев получилось достать перечень регистров камеры.
И выяснилось что регистры имеют 16 битный адрес.

Цитата:
REG= 0x0300, 0x000A // VT_PIX_CLK_DIV
REG= 0x0302, 0x0001 // VT_SYS_CLK_DIV
REG= 0x0304, 0x0101 // PRE_PLL_CLK_DIV
REG= 0x0306, 0x2828 // PLL_MULTIPLIER
REG= 0x0308, 0x000A // OP_PIX_CLK_DIV
REG= 0x030A, 0x0001 // OP_SYS_CLK_DIV
REG= 0x31B0, 0x0047 // FRAME_PREAMBLE
REG= 0x31B2, 0x0026 // LINE_PREAMBLE
REG= 0x31B4, 0x328C // MIPI_TIMING_0
REG= 0x31B6, 0x32E8 // MIPI_TIMING_1
REG= 0x31B8, 0x1C12 // MIPI_TIMING_2
REG= 0x31BA, 0x1452 // MIPI_TIMING_3
REG= 0x31BC, 0x8488 // MIPI_TIMING_4
Если я конечно правильно понял.

ПЛИС использую GW2AR-LV18EQ144C8/I7 у него i2c аппаратный но 8 битный.
Пытался погуглить 16 битные регистры но гугл выдает что то странное.

Вообще это нормальный режим i2c ?? Есть у кого нибудь мануал как к этому обращаться? диаграмма какая нибудь.
И можно ли вообще с помощью 8 битного i2c обратиться к этим регистрам??
Реклама:
worldmasters вне форума  
Непрочитано 29.09.2023, 17:23  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,352
Сказал спасибо: 85
Сказали Спасибо 611 раз(а) в 370 сообщении(ях)
pambaru на пути к лучшему
По умолчанию

Судя по регистрам, это матрица Aptina MT9J001 или ее дальнейшее развитие.
Лет 10 назад делал на ней видеокамеру. Управлял сначала каким-то LPC, потом STM32. Правда матрица у меня была с параллельным интерфейсом, но в данном случае это не важно.
Проблем не возникло.
Во вложении даташит и описание регистров.
Адрес и данные все равно передаются побайтно, недаром адреса регистров все чётные.
Так что режим I2C тут полностью стандартный, насколько помню.
На стр. 23 даташита описание I2C.

Цитата:
Each 8-bit data transfer is followed by an acknowledge bit or a no-acknowledge bit in the
SCLK clock period following the data transfer. The transmitter (which is the master when
writing, or the slave when reading) releases SDATA. The receiver indicates an acknowledge
bit by driving SDATA LOW. As for data transfers, SDATA can change when SCLK is
LOW and must be stable while SCLK is HIGH.
Кстати, обратите внимание - регистры там есть как 16 битные (большинство), так и 8 битные (например, mode_select - Rx0100). Адресация 8-ми битных также бывает и нечетной.
Вложения:
Тип файла: pdf MT9J001_Registers-4-7.pdf (1.60 Мб, 0 просмотров)
Тип файла: pdf MT9J001_DS.pdf (3.42 Мб, 0 просмотров)

Последний раз редактировалось mike-y-k; 29.09.2023 в 22:08. Причина: 6.6
pambaru вне форума  
Сказали "Спасибо" pambaru
worldmasters (29.09.2023)
Непрочитано 29.09.2023, 17:44  
worldmasters
Гражданин KAZUS.RU
 
Регистрация: 21.02.2007
Сообщений: 553
Сказал спасибо: 38
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
worldmasters на пути к лучшему
По умолчанию Re: 16 битный регистр i2c

Вот вам спасибо огромнейшее. Мы тут месяц бьемся с этими производителями. то им почта не та, то NDA подпишите .. слов нет. А в итоге ваш президент бяка и поэтому даташит не получите. Цивилизованный мир называется... (((


А примера какого нибудь по настройке нет часом?? хотя бы просто включить чтобы пошли данные на мипи.
worldmasters вне форума  
Непрочитано 29.09.2023, 17:54  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,352
Сказал спасибо: 85
Сказали Спасибо 611 раз(а) в 370 сообщении(ях)
pambaru на пути к лучшему
По умолчанию

Я запускал тогда параллельный интерфейс. На обработке у меня стоял 3-й циклон. Нашел еще тогда недокументированный глючок.
Вот какие записи сохранились:
Код:
В тексте WriteCamReg8 - запись 8-мибитного регистра матрицы, 
WriteCamReg16 - запись 16-тибитного регистра матрицы, 

Проблема выявилась на матрицах с параллельным интерфейсом MT9J003I12STCU.
Конфигурируем PLL и конфигурируем матрицу для параллельного интерфейса

WriteCamReg8(mode_select, 0); // 0

WriteCamReg16(pre_pll_clk_div, 2); // 1
WriteCamReg16(pll_multiplier, 64); // 2
WriteCamReg16(vt_sys_clk_div, 1);  // 3
WriteCamReg16(vt_pix_clk_div, 6);  // 4
WriteCamReg16(op_sys_clk_div, 1);  // 5
WriteCamReg16(op_pix_clk_div, 12); // 6

//Без строки 7 на выходе выдает только 1/4 часть данных!!!
WriteCamReg16(serial_format /* 0x31AE */, 0x301); // 7 нужно для правильной работы !!!!

WriteCamReg16(reset_register, 0x1798); // 8 

//строчки 9 и 10 не важны, это для конкретной схемы включения, можно без них.
WriteCamReg16(gpi_status //* 0x301A *//, ((2 ‹‹ 13) | (0 ‹‹ 10) | (1 ‹‹ 7) | (7 ‹‹ 4))); // 9
WriteCamReg16(global_seq_trigger, 0x0002); //10

WriteCamReg8(mode_select, 1); //11

Если убрать строчку 7, то на выходе будет только четверть данных (каждый четвертый пиксель).
регистр serial_format /* 0x31AE */ даже не значится в списке регистров и по идее не должен влиять на работу в параллельном режиме.
Вот еще DevSuite (софт от Аптины).
Что точно помню, что она вычисляет корректирующие коэффициенты для изображения по изображению белого фона.
Возможно, там есть еще что-то полезное - уже не вспомню.

Во вложении фрагмент из моего кода, относящийся к конфигурированию матрицы (напомню, что у меня был параллельный режим).

Чтобы помочь как-то более продуктивно, надо уже погружаться в тему и вспоминать, что там было. Но это уже не на безвозмездной основе.
Если вдруг возникнет потребность - пишите в личку.
Вложения:
Тип файла: rar MT9J003SW.RAR (3.04 Мб, 0 просмотров)
Тип файла: rar cfg.rar (2.7 Кб, 0 просмотров)

Последний раз редактировалось mike-y-k; 29.09.2023 в 22:09. Причина: 6.6
pambaru вне форума  
Непрочитано 29.09.2023, 18:27  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,841
Сказал спасибо: 2,723
Сказали Спасибо 2,674 раз(а) в 1,978 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: 16 битный регистр i2c

worldmasters, Вы бы определились, что Вам нужно - обращаться к регистрам по 16-битному адресу или пересылать из/в них 16-битную информацию - и корректно назвали бы тему.

А по существу вопроса - https://stackoverflow.com/questions/...s-using-i2cset - сможет помочь? (там и адрес похожий...)

Вот еще: https://forums.raspberrypi.com/viewtopic.php?t=17590

Сообщение от worldmasters Посмотреть сообщение
Пытался погуглить 16 битные регистры но гугл выдает что то странное.
запрос "16-byte addressing I2c" сразу же выдал эти ссылки...
Как тут не раз говорилось - правильно заданный вопрос содержит...

Последний раз редактировалось Yuri222; 29.09.2023 в 18:31.
Yuri222 вне форума  
Сказали "Спасибо" Yuri222
mike-y-k (03.10.2023)
Непрочитано 03.10.2023, 10:12  
worldmasters
Гражданин KAZUS.RU
 
Регистрация: 21.02.2007
Сообщений: 553
Сказал спасибо: 38
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
worldmasters на пути к лучшему
По умолчанию Re: 16 битный регистр i2c

Сообщение от Yuri222 Посмотреть сообщение
обращаться к регистрам по 16-битному адресу или пересылать из/в них 16-битную информацию
Все верно.


В общем все заработало. Регистры читаются. Всем спасибо.
worldmasters вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отправить массив по I2C через DMA на STM32F105 или F030? Donker ARM 15 17.03.2019 18:34
HMC5883 Компас Easyrider83 Микроконтроллеры, АЦП, память и т.д 21 22.07.2013 11:48
Atmega, i2c и CodeVision deeman30rus AVR 3 21.01.2013 15:48
Помогите с PIC 16F873 и прерыванием по RB0 BorisVV Микроконтроллеры, АЦП, память и т.д 9 02.10.2010 23:58
Помогите с ЦАП AD7708/AD7718 или их аналогами ST_Senya Микроконтроллеры, АЦП, память и т.д 9 30.11.2009 19:03


Часовой пояс GMT +4, время: 12:17.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot