roboforum.ru

Технический форум по робототехнике.

ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

Duhas » 16 янв 2010, 20:35

мм, добавлю - имхо там все описано неплохо )

на а на счет сколько висят на шине данные - ну до конца импульса такта должны висеть по идее..

либо косяк в камере, либо в способе забора данных ) либо в способе их вывода/хранения

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

vvk74 » 16 янв 2010, 22:19

Вот кадр в режиме 640х480 (данные с камеры и BMP на их основе (в bmp цвет убран)) по количеству данных все вроде соответствует действительности но пол кадра в одном тоне, при этом если оставить по умолчанию значения H_COUNT и SP_COUNT то вообще весь кадр в одном тоне.
мои установки камеры:
Код: Выделить всёРазвернуть
cam_write(0x02,0x0);
delay_ms(5);
cam_write(0x03,0x10);

cam_write(0x04,0x01);
cam_write(0x05,0x00); //
cam_write(0x1a,0xff);    //установка H_COUNT=1023
cam_write(0x1b,0xb3);
cam_write(0x1e,0x7e);   //установка  SP_COUNT
cam_write(0x1f,0x09);
//cam_write(0x0b,0x0);//white line off
//cam_write(0x0e,0xac);
//cam_write(0x11,0x4a);
//cam_write(0x14,0x33);
//cam_write(0xe6,0x08);
//cam_write(0xe9,0x01);  //степень сжатия jpeg
//cam_write(0xea,0x01);
cam_write(0x6d,0xa1);  //включение AWB
Вложения
img.rar
(334.36 КиБ) Скачиваний: 20

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

vvk74 » 17 янв 2010, 21:26

Duhas писал(а):мм, добавлю - имхо там все описано неплохо )


Она у тебя работает?

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

Duhas » 17 янв 2010, 22:27

она не работает по причине отсутствия железа, закрою сессию - докуплю остатки )

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

artymen » 21 фев 2010, 19:58

Прогресс остановился ? :) Я прочитал весь топик, а так же почти весь вражеский и с удивлением обнаружил, что никто не столкнулся со следующей проблемой, которая заключается в неожиданной простой вещи - считывание данных с DOUT по фронту DCLK. Duhas малозначительно приметил эту проблему и еще больше восхвалил этот дерьмошит. Щас тухлыми помидорами закидаю :)
Я посмотрел в даташите на tcm8230md тайминги на эти пины, а там время удержания данных 10 НАНОсекунд, т.е. пости столько же, сколько время нарастания/спада импульса, причем на диаграмме, мягко так скажем, пропорции не соблюдены. Ну это еще ладно, смотрю даташит на вроде такую же камеру tcm8240md, а там вообще МИКРОсекунды. Что-то мне подсказывает, что ни то ни другое неверно. Если время удержания данных так мало, то даже ARM7 при частоте 60МГЦ не успеет их считать по быстрому прерыванию от DCLK. Зато у врагов работает :) Либо в даташите всякая бредятина написана и на деле данные удерживаются чуть ли не весь цикл DCLK, либо заюзали буфферы :) Хотелось бы узнать реальные тайминги :)

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

Duhas » 21 фев 2010, 22:22

кто ж их, реальные знает... по мне так очевидно что нада читать по фронту Дклок.. и не могет там быть сверхнизких времен удержания..

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

artymen » 22 фев 2010, 00:51

согласен. поэтому я поставлю туда регистр КР1554ИР23 :) надеюсь, ниче что DCLK камеры будет подключен к двум входам: стробу регистра и входу прерывания МК ?

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

Duhas » 22 фев 2010, 01:15

опять же по идее - ничего страшного быть не должно ) а там - зависит от реализации ))

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

Michael_K » 22 фев 2010, 01:41

artymen писал(а):Я посмотрел в даташите тайминги


Что-то мне подсказывает :wink: , что правильные значения - это именно наносекунды,
только на картинке показано время не от того фронта :)

Data Hold Time - это время, когда данные еще пока болтаются на шине,
хотя строб (высокий) на DCLK уже снят... то есть нарисовать надо было от спадающего фронта
DCLK до изменения на шине данных.

А на даташиты не ругайтесь - они телепатию развивают :lol:

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

artymen » 22 фев 2010, 08:35

вот это уже очень сильно похоже на правду, но хрен ее знает, эту камеру, какие фокусы она может творить, так что я регистр поставлю для страховки, чтобы гарантированно считывать значение, насколько бы не задержалась реакция МК на прерывание (разумеется в пределах цикла DCLK, тем более что надо успеть как то обработать это значение).
лично у меня этот даташит развивает геморрой :)

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

Duhas » 22 фев 2010, 10:24

ну у меня в задумке данные должны читаться ДМА-ой по ивенту ) так то я думаю таких проблем не должно быть

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

artymen » 22 фев 2010, 11:48

DMA хорошая вещь, у моего МК его к сожалению нету :(

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

galex1981 » 23 фев 2010, 10:42

artymen писал(а):Прогресс остановился ? :) ...и с удивлением обнаружил, что никто не столкнулся со следующей проблемой, которая заключается в неожиданной простой вещи - считывание данных с DOUT по фронту DCLK.

Вот как раз я и столкнулся с этой проблемой. В быстром прерывании по положительному подъему сигнала DCLK не могу получить данные с камеры. LPC2368 странно реагирует на DCLK - прерывание выполныется всего один раз, хотя оно настроено верно - проверяю на приеме ипульсов...

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

artymen » 23 фев 2010, 23:10

надеюсь, мне это не грозит :)

Re: ПРИМЕНЕНИЕ 1300x1040 Jpeg камеры TCM8240MD SEN-08668

artymen » 08 мар 2010, 12:15

кто-нибудь вообще завел TCM8230MD ? поделитесь, пожалуйста, подоробностями. насколкьо строго надо выдерживать последовательность и тайминги при запуске по указанной в даташите диаграмме ? я extclk генерирую ШИМом с LPC2103. шлейф до камеры я вобще укоротил впритык. пробую разные частоты. она по i2c не отвечает даже. в диаграмме указан уровень на входе reset или сигнал reset (инвертированный) ? а то запутали только с этой инвертированностью...

LPC2368 странно реагирует на DCLK - прерывание выполныется всего один раз
В конце обработчика прерывания надо куда-то 0xFF записывать, иначе больше не сработает прерывание :) если с этим тоже не работает, возможно, компилятор неверный код для обработчика прерывания делает, у арма же свои особеннности, там в начале надо регистр состояния куда то в стек запихать, еще чего то сделать, а по окончании вытащить или еще что-то, к тому же надо указатель стека для irq-режима должен быть настроен, это должно быть в startup-code. да и вообще неплохо было бы проверить линкер и стартап, вот я нынче мучился-мучился, и обнаружил, что у меня там такие серьезные косяки (я же выдирал их из другого проекта), что программа работала только из-за счастливых совпадений :) ах да, по прерываниям облом. не знаю, на какой частоте твой LPC2368 работает, но мой LPC2103 работает 60МГц, но даже если тактировать камеру самой минимальной частотой, то он не будет успевать обрабатывать, т.к. даже FIQ имеет задержку 16 тактов. так что возможно, пока ты первый dclk обрабатываешь, уже наступает второй и т.д., а вложенные прерывания возможно у тебя отключены


Rambler\'s Top100 Mail.ru counter