Перейти к содержанию
    

Вникаю, но еще лес пока темный.

Сделал недавно макетку. Хочу сделать, чтобы плата хотя бы зажила. Но для этого надо зашить в камеру эти таблицы. Можно ли их взять с исходников готовых JPEG кодеков?

чтоб зажила вообще или в режиме jpeg?

Можно ведь и 88х72 Y8 гнать для проверки без jpeg.

Или заставить сфоткать один кадр и расчитать под него коэф., а затем их считать.

 

Кстати у MT9D131 есть режим вставки в поток начала и конца изображения, мож он тогда ещё и коэфициенты впихнёт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала хотелось бы просто получить фотку Jpeg.

 

Или заставить сфоткать один кадр и расчитать под него коэф., а затем их считать.

 

А можно об этом по-подробнее? У меня в SOC_BOOK такой возможности не описано (или я чего-то пропустил). Нашел, что коэффициенты должны грузиться после включения:

At power up initialization, the JPEG driver loads standard Huffman tables into Huffman

memory. Scaled versions of standard luma and chroma quantization tables and are

loaded into quantization memory.

И еще не понятно, что такое Scaled versions таблиц квантования?

Изменено пользователем Vitaliy_ARM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И еще не понятно, что такое Scaled versions таблиц квантования?
Вам надо для начала rfc2435, Appendix A, стр.15 почитать.. B)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам надо для начала rfc2435, Appendix A, стр.15 почитать.. B)

 

Отличный документ. На эти вопросы ответ нашел. Теперь воюю с самим сенсором.

 

Пока делал так.

 

1 - аппаратный резет чипу

2 - настройка ФАПЧ1 на частоту 80 МГц

3 - чтение 16-ти рязрядного регистра по адресу 0x00 (из него читается 0x1519)

4 - читаю регистр 0xF0, из него читается 0x00, что говорит о том, что я работаю с 0-й страницей регистров. Хотя в доке написано что по умолчанию в этом регистре стоит 01;

5 - пишу в регистр 0xF0 значение 1 (переключаюсь на первую страницу регистров, для того чтобы получить доступ к регистрам по адресам 198 и 200), затем читаю его, а там когда как, то 0 то 1.

6 - когда зачитал 1 из регистра, пытаюсь почитать логическим способом переменные из области памяти драйвера JPEG (ID=9). Там вместо значений по умолчанию читается всякий бред, причем с одного и того же места разные значения.

 

Собственно все свелось к тому, что не могу писать переменные и таблицы.

 

 

Может кто-нибудь подскажет последовательность действий, чтобы получить один снимок JPEG с разрешением 1600х1200 или что я не так сделал или упустил?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может кто-нибудь подскажет последовательность действий, чтобы получить один снимок JPEG с разрешением 1600х1200 или что я не так сделал или упустил?

 

Если вам действительно удалось поднять частоту PLL, то вы заметили необходимость переключать постоянно страницы и другие шаманские команды:

 

unsigned int SensorWrite(unsigned short Page,unsigned short Radr,unsigned short Vol);

void sensor80MHz(void)
{
SensorWrite(0,0xf0,0x0000);
SensorWrite(0,0xf0,0x0000);
SensorWrite(0,0xf0,0x0000);
    
SensorWrite(0,0x66,0x1402);
SensorWrite(1,0xC6,0xA103);
SensorWrite(1,0xC6,0xA104);

SensorWrite(1,0xf0,0x0000);

SensorWrite(0,0x65,0xC000);
SensorWrite(1,0xC6,0xA103);
SensorWrite(1,0xC6,0xA104);

SensorWrite(1,0xf0,0x0000);

SensorWrite(0,0x65,0x8000);
SensorWrite(1,0xC6,0xA103);
SensorWrite(1,0xC6,0xA104);

SensorWrite(1,0xf0,0x0000);

PauseUS(2);

SensorWrite(0,0x65,0x0000);
SensorWrite(1,0xC6,0xA103);
SensorWrite(1,0xC6,0xA104);

SensorWrite(1,0xf0,0x0000);
}

 

Скормите сей файлик сенсору - будет плеваться jpeg 320x240, только там полно лишних настроек ибо это лог интерфейса настройщика, всё что тыкал оператор, пока не добился результата.

 

Для начала хотелось бы просто получить фотку Jpeg.

А можно об этом по-подробнее? У меня в SOC_BOOK такой возможности не описано

7 регистр JPEG:

Configuration and handshaking:

Bit 0—if 1, video; if 0, still snapshot

Bit 1—enable handshaking with host at every error frame

Bit 2—enable retry after an unsuccessful encode or transfer

Bit 3—host indicates it is ready for next frame

Bit 4—enable scaled quantization table generation

Bit 5—enable auto-select quantization table

Bit 7:6—quantization table ID

 

По ресету = 52, т.е. enable auto-select quantization table, host indicates it is ready for next frame, enable handshaking with host at every error frame, still snapshot.

sensor_include.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скормите сей файлик сенсору - будет плеваться jpeg 320x240, только там полно лишних настроек ибо это лог интерфейса настройщика, всё что тыкал оператор, пока не добился результата.

 

Скормил. Заметил на выходе, что камера выгоняет постоянно пакеты данных (скорее всего это и есть jfif 320x240). Чуть позже зачитаю и посмотрю, что именно она выдает. Заметил, что камера также выдает пакеты и сразу же после включения - на выходе PIXCLK генерится частота, на остальных шинах бегут данные.

Непонятен ряд действий, таких как запись в регистр 0xC6 1-й страницы значений, но отсутствие записи в регистр 0xC8. По даташиту в регистр 0xC6 пишется адрес или код переменной, а в 0xC8 - значение.

Продолжаю разбираться.

 

Если не секрет, к какой демоплате прилагался заголовочный файл, прикрепленый вами?

Изменено пользователем Vitaliy_ARM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Непонятен ряд действий, таких как запись в регистр 0xC6 1-й страницы значений, но отсутствие записи в регистр 0xC8. По даташиту в регистр 0xC6 пишется адрес или код переменной, а в 0xC8 - значение.

Возможно это чтение значений из регистров, в данном файле лог write_i2c без read_i2c.

 

Если не секрет, к какой демоплате прилагался заголовочный файл, прикрепленый вами?

 

AES-ANA-BFV, только он не прилагается. Там к плате софт есть (на сайте компании), этот софт может коннектится к плате по USB (если на плате флешку своей мутью не стирать) и этот софт позваляет менять параметры платы и смотреть на результы своих нажатий на кнопочки - в окошках. В том числе можно и регистры глядеть/менять.

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

Поэтому сей файл - результат моего давнего рукоблудства над этой платой через вышеозначенную программу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поэтому сей файл - результат моего давнего рукоблудства над этой платой через вышеозначенную программу.

 

Если так тогда понятно. А вам эта плата сильно в изучении помогла? Удалось камеру запустить на полное разрешение? А то подумываю тоже этот кит взять, хотя сейчас Компел рекламирует кит с Davinci и 5 Мегапиксельной микроновской камерой + примеры h.264.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если так тогда понятно. А вам эта плата сильно в изучении помогла?

 

Она помогла выполнить НИР и за одну строчку в расходах я получил камеру и ЦСП. :)

В рабочую систему эту камеру ставить нельзя. Хотя бы потому, что нет ераты или описания как именно менять регистры камеры по i2c. Драйвера демоплаты что-то шаманят - пишут, читают, проверяют что прописалось... Об этом не написано ни где. На плате не выведены полностью SPORT, а PPI только на вход или перешивать xilinx под себя.

 

Удалось камеру запустить на полное разрешение?

 

1600х1200 YUYV работает. На 80МГц скалит в 640х480 YUYV без лесенок и дублирования строк со скоростью около 7 кадров в секунду. Только я понял, что буду в дальнейшем ориентироваться только на камеры с полным затвором.

 

А то подумываю тоже этот кит взять, хотя сейчас Компел рекламирует кит с Davinci и 5 Мегапиксельной микроновской камерой + примеры h.264.

 

Мне Davinci не нравится. Вы внимательно почитайте что может конкретно поставляемый вам проц и какую функциональность обеспечивают реализованные именно в нём видео порты и прочие...

Заодно логические уровни сигналов посмотрите. А то производитель в рекламме Davinci перечисляет самые навороты каждой из моделей процессоров не конкретезируя её и создаётся впечатление, что всё это есть в выбраном вами процессоре - это не так.

 

h.264 там хреновенький и за программирование на АРМ надо бабок засылать в отличие от ЦСП.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте, поднимаю тему, столкнулся с MT9D131!

Большее обсуждение связано с JPEGом, а мне хотелось бы узнать, а что передается по 8-битному параллельному порту, когда мы настраиваем модуль на выдачу просто RGB или ITU-R BT.601 (YCbCr)? Мне необходимо с симулировать передачу данных с этого модуля на МК и я не могу разобраться с тем, как это можно реализовать! Может кто подскажет? Заранее, спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

.. что передается по 8-битному параллельному порту, когда мы настраиваем модуль на выдачу просто RGB или ITU-R BT.601 (YCbCr)?

Читайте DS. Там всё это есть:

Selectable output data format: ITU-R BT.601 (YCbCr), 565RGB, 555RGB, 444RGB, JPEG 4:2:2, JPEG 4:2:0, and raw 10-bit

Формат выходных данных - на Figure 6 - 8 и в Table 16 - 18.

Изменено пользователем blackfin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за подсказку, а по поводу симуляции, нет никаких идей?

 

Попытался разобраться с этим вопросом в DS, что-то у меня плохо это получается, не могли бы вы, если несложно, пояснить?

 

Просто английский хромает, поэтому сложно понимать определения, связанные с изображением. Скажем, что они понимают под "image decimation" ну и так далее...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...