Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Видео-граббер и JPEG-кодер
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2, 3, 4, 5
whale_nik
Все это теория....
Вот у меня есть 600м 5 кат utp, web камера и два компа с эзернет, к сожаления подключить все смогу только недельки через три - вот тогда все будет ясно.
etoja
Цитата(whale_nik @ Nov 11 2008, 18:31) *
Все это теория....
Вот у меня есть 600м 5 кат utp, web камера и два компа с эзернет, к сожаления подключить все смогу только недельки через три - вот тогда все будет ясно.

Радиолюбителям из кружка "умелые руки": оборудование для продажи нарушать стандарты не должно.
Для себя можно делать что угодно, только гордиться этим не надо.
Petka
Оффтоп, конечно laughing.gif . Тут интересовались ip камерами. Сегодня проскочила новость: http://www.linuxdevices.com/news/NS4961555176.html

Цитата
LNE3003: скрытая камера под управлением Linux

Компания Lorex Technology представила новую камеру, предназначенную для использования в небольших системах видеонаблюдения: домашних и малого бизнеса. Сетевая IP камера LNE3003 работает под управлением встроенного Linux (дистрибутив собственной разработки компании Lorex на ядре 2.4.19), оборудована процессором ARM920T и способна передавать потоковый видеосигнал с разрешением 640х480 и частотой 30 кадров в секунду по проводным или беспроводным сетям, используя сжатие MPEG-4. LNE3003 способна также передавать потоковое видео в формате 3GP, которое можно просматривать на телефонах типа iPhone от Apple, поддерживающих кодирование по спецификации 3GP video.

LNE3003 поставляется с ПО от Yoics для ПК и Mac, обеспечивающим безопасное, защищённое паролем подключение к камере из Интернета без использования динамических DNS или реконфигурации маршрутизатора.

LNE3003 уже поступила в розничную продажу по цене 300$.

Это цитата c LinuxCenter.
whale_nik
Цитата(etoja @ Nov 12 2008, 08:34) *
Радиолюбителям из кружка "умелые руки": оборудование для продажи нарушать стандарты не должно.
Для себя можно делать что угодно, только гордиться этим не надо.


С какого перепугу ? Да если вы свой стандарт разработаете вам цены не будет
и вашему дивайсу )
VDG
LAN это не CAN. Ограничение длины в LAN фактически задается только затуханием сигнала в линии. Оптику надо тянуть и всё..
slonenok
Добрый день Rst7.

Наконец собрал макетик,
залил прошивку - программа работает, но картинку цифровать не хочет. Выдает оди нули.
Смотрел осцилографом, контроллер и память вроде работает правильно, а вот ацп данные не выдает.
Сигналы управления на АЦП вроде все правильные.
Чего не хватает не пойму?
Rst7
Цитата
Сигналы управления на АЦП вроде все правильные.


Проверьте, правильно ли приходят синхроимпульсы. И выделяются ли они вообще.

Проверьте, есть ли сигнал на входе и выходе фильтра видеосигнала.

Проверьте, работает ли схема генерации сигнала разрешения АЦП.

Приведите осциллограммы сигналов.
YWAS
Всем привет...
У меня все заработало
спасибо за класный девайс и класную идею (с воплощением)
yeah.gif
GDI
Цитата
У меня все заработало

Опишите, в чем была проблема?
Maik-vs
Цитата(Rst7 @ Nov 11 2008, 08:52) *
Не хочу Вас расстраивать, но эти правила давно не действуют smile.gif Умерли вместе с концентраторами (hub'ами), появлением MDI-X и прочего.

Другое дело, что реально длинна сегмента на UTP не будет больше 100 метров. Можно взять другой кабель, но это все равно 300 метров максимум.

Мы о чём вообще говорим - о радиолюбительском "я собрал и у меня кажется работает" или о профессиональной деятельности? Вы попробуйте сдать заказчику сеть, в которой длина сегмента превышает 300 футов (так в стандарте, не 100 метров). СДАТЬ СКС - с проектом, протоколами характеристик для каждого линка, с гарантией работы 15 лет. А не "щас мы вам сетку заморочим"... А я посмотрю, что и когда умерло. Вот не пишете Вы, почему "300 метров максимум" - кстати, не 300 метров, а 1000 футов. А? Не делают длиннее?

Цитата(whale_nik @ Nov 11 2008, 00:26) *
Пока вижу проблемму только в цене.
Берете IP камеру нормальную которая жмет в mpeg 1/5 или 1/20 с разрешением 1200х1050
цепляете к ней витую пару 5 кат , на втором конце ноут с програмулькой и вуаля.
На 1 км не пробовал но на 300м 100мбит/с вполне.


Вот тут не понравилось "жмет в mpeg 1/5 или 1/20 с разрешением 1200х1050". Так "жмёт" или "с разрешением"? А то можно взять камеру от мобильника и растянуть до размеров 1200х1000 вот и будет mpeg4. Да, и поинтересуйтесь затуханием в витой прае 5 кат на частоте 100 МГц.
Rst7
Цитата
так в стандарте, не 100 метров


В современных редакциях IEEE802.3 давно фигурируют метры (например, IEEE802.3-2005 раздел 29.4, таблица 29-5). Пожалуйста, перед тем, как показывать свои "знания", ознакомтесь с последними редакциями стандартов, на которые Вы ссылаетесь.

Цитата
Вот не пишете Вы, почему "300 метров максимум" - кстати, не 300 метров, а 1000 футов. А? Не делают длиннее?


Я вообще говорил про оптический линк при длинне более 100 метров. Однако, жизнь - штука многогранная, бывают крайние случаи, их решают медным линком, например, на П296. Проектное решение согласовывают с заказчиком. И без проблем сдают.

Кроме того, не советую путать длинну бухты китайской UTP со строительной длинной той же ПЭшки.
Stepan25
Здравствуйте. Сам я не эмбеддер. Пишу на C#. Поэтому у меня мало опыта в электронике. Но помню в свое время программировал на AVR года три назад. Хочу собрать данный девайс для собственных личных целей. Ни покупать ни продавать не буду, поэтому GPL ваш не нарушу.
Но у меня такой вопрос к вам. Данная схема работает только с чернобелыми аналоговыми камерами? Или можно подключить цветную только изображение получится чернобелым?
Спасибо.
Rst7
Цитата
Или можно подключить цветную только изображение получится чернобелым?


Именно так. Правда есть еще одна тонкость - для цветной камеры будут помехи от цветовой поднесущей. Ее надо либо отрезать фильтром, либо взять ЧБ-камеру smile.gif
Stepan25
Цитата(Rst7 @ Nov 18 2009, 00:16) *
Именно так.

Это хорошо. А то черно-белой у меня нет.
Цитата(Rst7 @ Nov 18 2009, 00:16) *
Правда есть еще одна тонкость - для цветной камеры будут помехи от цветовой поднесущей. Ее надо отрезать фильтром smile.gif
А могли бы вы конкретнее ответить, а то в электронике разбираюсь на уровне школьней программы и семестра электроники в вузе. Какой фильтр и именно куда нужно подключить??

P.S. Кстати, огромный респект автору за GPL.
Rst7
Цитата
А могли бы вы конкретнее ответить, а то в электронике разбираюсь на уровне школьней программы и семестра электроники в вузе. Какой фильтр и именно куда нужно подключить??


Возьмите подходящий софт и спроектируйте ФНЧ с частотой среза 3..3.5МГц, причем, очень желательно, чтобы он имел резкий провал на частоте 4.43МГц (если цвет - PAL). Включить его можно между ANOUT и ADCIN. Можно, конечно, и банальный фильтр-пробку сделать - схему с номиналами можно подсмотреть в любой схеме старого телевизора, например, УПИМЦТ.

Цитата
P.S. Кстати, огромный респект автору за GPL.


Не надо путать истерию по поводу "свободного ПО" и вопросы защиты моих коммерческих интересов smile.gif
Stepan25
Цитата(Rst7 @ Nov 18 2009, 09:29) *
Не надо путать истерию по поводу "свободного ПО" и вопросы защиты моих коммерческих интересов smile.gif
Я ж просто не профи в этих делах, я думал что самое сложное здесь это именно идея такой схемы. А код можно и самому переписать, но наверное ошибался...
Rst7
Цитата
я думал что самое сложное здесь это именно идея такой схемы. А код можно и самому переписать


Ну тут очень взаимосвязаны код и схема. Но больше всего мне там дорог jpeg-кодер wink.gif
Stepan25
Цитата(Rst7 @ Nov 18 2009, 16:48) *
Ну тут очень взаимосвязаны код и схема. Но больше всего мне там дорог jpeg-кодер wink.gif

Просто аппаратное обеспечение это не софтварное... Если кто-то украдет незаконно вашу код, сделает прошивку, выпустит на ней девайс, залочит все биты для считывания, но вы никогда не узнаете что код ураден. Тут выявить это посложнее...
Dmitro25
Собрал на макетке данный кодер. Не сразу, но всё заработало.
В качестве источника видеосигнала подал сигнал с выхода видеокарты (разъём S-Video).
Однако, есть один не очень приятный эффект: иногда кадр начинается не с начала, а с отступом примерно 20% от верха кадра (полученный кадр сдвинут относительно реального вниз на 20%). Причём, это происходит не всегда.
Подскажите, в чём может быть дело?
Rst7
Видимо, не совсем правильно работает синхроселектор. Осциллограммы на всех точках синхроселектора в момент кадрового синхроимпульса в студию.
Dmitro25
Вопрос про сдвиг кадра снимаю. Оказывается, это была особенность вывода изображения с выхода используемой мною видеокарты. В ней был установлен режим, когда на TV-выход идёт изображение не всего экрана, а только части, и эта часть определяется положением указателя мыши в текущий момент времени. Когда я смещал курсор мыши сильно вниз, видеовыход начинал выводить картинку не с начала экрана.
Просто на днях из Китая пришло USB устройство видео/аудиозахвата, и я увидел картинку в динамике...

Хочу попробовать использовать вместо синхродетектора на V2 микросхему LM1881, мне кажется, это более "честный" синхродетектор. Кроме того, прочитал документацию на TDA8708. Там пишут, что есть два режима работы микросхемы: Mode1 и Mode2. И микросхема должны сначала работать в Mode1, а затем, когда сигнал станет устойчивым, переключаться в Mode2. В данном проекте, насколько я понял, используется только Mode1.
Просто у меня в получившемся JPEG картинка слишком тёмная, недостаточно белого цвета, вот я и подумал, что, может быть, автоподстройка уровня и усиления работает недостаточно хорошо, может быть, нужно второй режим использовать...
Всё осложняется тем, что у LM1881 инверсный выход (во время синхроимпульса низкий уровень), а также тем, что у используемого процессора категорически не хватает ножек...
Придётся, наверное, использовать дополнительный инвертор на транзисторе и получившийся GATEA подавать прямо на TDA и на контроллер, а GATEB формировать контроллером в зависимости от режима работы (Mode1 или Mode2).
Вот только когда переключаться в из Mode1 в Mode2 и обратно? При срыве синхронизации, что ли?
yarunt
Цитата(Rst7 @ Nov 18 2009, 15:48) *
Ну тут очень взаимосвязаны код и схема. Но больше всего мне там дорог jpeg-кодер wink.gif
Извиняюсь за нахальство,у вас есть такой-же оптимальный вариант декодера ,для арм?
Rst7
Цитата
Извиняюсь за нахальство,у вас есть такой-же оптимальный вариант декодера,для арм?


Декодера? Декодера нет, не делал. Кодер есть, выложен, поиск по форуму рулит. Не забываем про GPL-лицензию wink.gif
Dmitro25
Попробовал запустить TDA8708 в Mode1 и Mode2. Попробовал включить его в Mode1 - получил целиком белую картинку, правда диаграммы немного отличались от приведённых в даташите из-за того, что выход детектора синхроимпульсов идёт прямо на GATEA АЦП, а также из-за того, что GATEA нельзя принудительно устанавливать в нижний уровень до окончания строчного синхроимпульса (иначе не определить начало кадрового). Но GATEB я гарантированно устанавливал в 1, когда ещё GATEA был в 1.
Пришёл к выводу, что всё-таки в оригинальном проекте у видео-АЦП включается режим Mode2, несмотря на то, что в программе сигнал GATEB устанавливается в 1 сразу же после установки в 0 сигнала GATEA (без паузы).
Попытался искусственно снизить амплитуду сигнала с видеокамеры до 0.6..0.8 Vpp (исходная была 1-1.2 Vpp) - картинка стала тусклее, а именно пропали элементы с кодом яркости от 0xE0 до 0xFF (в несжатом виде), хотя, судя по описанию на TDA сигнал от 0.6 В АРУ должна была отработать.
Также попробовал вместо детектора синхроимпульсов на транзисторе использовать микросхему LM1881. При использовании этой микросхемы необходимо слегка менять программу, поскольку длительность генерируемого LM-кой синхроимпульса превышает 5 мкс, и оригинальная программа детектирует его как кадровый. Но особого преимущества от использования этого специализированного детектора не получил - исходная схема нормально детектирует синхроимпульс в достаточно широком диапазоне амплитуд входного сигнала. Может быть, если бы видеосигнал шёл издалека, у него бы портились фронты, тогда бы имело смысл использовать эту ИМС, а так смысла, похоже, нет.

Есть пара вопросов:
1. Просмотрел отсканированный несжатый растр и увидел, что в нём присутствует небольшое число элементов с яркостью меньшей, чем 64 (в частности, 59, 60, 61, 62, 63), т.е. элементы "Чернее чёрного". Не происходит ли при преобразовании в JPEG их превращение в "белые" - ведь там встречаются формулы вроде
Код
__fractional_multiply_unsigned(r-64,170)>>8
?
2. Просмотрел код файла "grab.asm" и проникся большим уважением к автору проекта. Вы очень остроумно применили код Грея для перекачки значений с выхода видео-АЦП во внешнюю память, и макрос для этого просто класс. Вот только возник вопрос: а насколько целесообразно использовать именно код Грея для генерации нового адреса? Ведь можно было вместо инструкций cbi/sbi использовать что-то вроде
Код
ldi ZL, CUR_ADR
out ADR_LO, ZL

(ну, всё это в макросе, конечно). Один раз за весь цикл пришлось бы, конечно, поменять A17 вручную, но один пиксел роли не сыграет... Код процедуры захвата тоже в почти 2 раза возрастёт по объёму, но зато при дальнейшем сжатии в JPEG мы получим линейную адресацию пикселов, и, возможно, более быструю процедуру сжатия?
Rst7
Цитата
Попробовал запустить TDA8708 в Mode1 и Mode2....


Посмотрите, какая у Вас TDA8708, с буквой А или нет. Ибо там разные номиналы в обвязке нужны.

Цитата
Есть пара вопросов:
1. Просмотрел отсканированный несжатый растр и увидел, что в нём присутствует небольшое число элементов с яркостью меньшей, чем 64 (в частности, 59, 60, 61, 62, 63),


Не должно таких элементов там быть, если есть - нифига АЦП не пашет. А это умножение приводит из диапазона 64-255 в диапазон 0-255.

Цитата
Вот только возник вопрос: а насколько целесообразно использовать именно код Грея для генерации нового адреса?


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





Цитата
исходная схема нормально детектирует синхроимпульс в достаточно широком диапазоне амплитуд входного сигнала.


А то smile.gif УПИМЦТ wink.gif
Dmitro25
Цитата
Посмотрите, какая у Вас TDA8708, с буквой А или нет. Ибо там разные номиналы в обвязке нужны.

У меня TDA8708АТ, как и у Вас в схеме.
Цитата
Не должно таких элементов там быть, если есть - нифига АЦП не пашет

У меня сложилось впечатление, что АЦП всё-таки работает, просто, похоже, камера выдаёт в видеосигнале просечки, которые иногда опускаются чуть ниже уровня чёрного. Я посмотрел на осциллографе, и, похоже, наблюдал такие моменты.
Я немного модифицировал процедуру Main, чтобы по команде "L" выдавалась не одна строка, а весь растр.
По полученным данным я определил, что максимальное значение яркости равно 0xFF, а минимальное - не 0x40 как предполагалось, а 0x3A (меньше не наблюдал).
Пример прикреплён к сообщению.
Использовалась чёрно-белая камера SK-1004.
Нажмите для просмотра прикрепленного файла
Rst7
Цитата
У меня TDA8708АТ, как и у Вас в схеме.


Я сейчас уже не помню, какие номиналы записаны в выложенной схеме (глянуть не могу), но сравните их с номиналами в даташите - конкретно та цепь, которая суть фильтр НЧ между входным каскадом микросхемы и собственно АЦП. Там серьезно влияют номиналы резисторов.
Dmitro25
Я сравнивал, в даташите почти всё как у Вас в схеме. Отличаются только номиналы фильтрующих емкостей по питанию, цепочка между VCCD и VCCO чуть другая, на OF рекомендуют кондёр вешать и на вход CLK рекомендуют ставить небольшой фильтр. Но номиналы емкостей на ногах AGC и CLAMP такие же. Фильтр между ANOUT и ADCIN такой же.
Мне кажется, что возникающая разница между уровнем чёрного и минимальным значением на выходе АЦП не так уж велика - максимум 6 единиц. Можно будет попробовать вставить дополнительную проверку в программу, чтобы не появлялись артефакты. Хотя, честно говоря, я этих артефактов не наблюдал, (хотя и не приглядывался специально). По расчётам, эти пиксели должны иметь яркость от 0x4C до 0x52.
Ещё вопрос возник про масштабирование яркости: почему умножение идёт на 170, а не на 171?
Ведь (255-64)*170*2>>8=253, а (255-64)*171*2>>8=255
TU-104
Цитата(Rst7 @ Oct 7 2008, 18:41) *
Есть альтернатива за 2 бакса?

интересный проектик...
Я, может опоздал года на 3, но она 10$ стоит laughing.gif
За такую цену, может TVP7000PZP ? как думаете пойдет?
даташит тут http://focus.ti.com/general/docs/lit/getli...mp;fileType=pdf
пишут, что встроена PLL, экстрактор сигналов Sync .
Rst7
Цитата
Я, может опоздал года на 3, но она 10$ стоит


Да, остатки, цена растет. Хоть и не в 5 раз. Но это не суть, суть в том, что АЦП надо поменять. В принципе, достаточно любого параллельного АЦП, лишь бы обеспечивал 8Мсемплов/с. Ну и надо схемку привязки черного сгородить. Уровень сигнала можно корректировать и в кодере (домножением, оно там все равно выполняется).

Цитата
может TVP7000PZP ?


Хороший камень, но уж очень избыточен. Да цена кусается для поделки выходного дня.
TU-104
Цитата(Rst7 @ Mar 12 2010, 17:43) *
Да, остатки, цена растет. Хоть и не в 5 раз. Но это не суть, суть в том, что АЦП надо поменять. В принципе, достаточно любого параллельного АЦП, лишь бы обеспечивал 8Мсемплов/с. Ну и надо схемку привязки черного сгородить. Уровень сигнала можно корректировать и в кодере (домножением, оно там все равно выполняется).

я вообще не разбираюсь в видеосигнале, чтоб самому там городить ..
Цитата(Rst7 @ Mar 12 2010, 17:43) *
Да цена кусается для поделки выходного дня.

В том то и дело, что те же 10$. (всё равно покупать)
Rst7
Цитата
я вообще не разбираюсь в видеосигнале, чтоб самому там городить ..


Т.е. Вы хотите, чтобы я за Вас прикрутил другой АЦП? wink.gif У меня пока интереса к возобновлению этого проекта нет. Хотя... Есть одна идейка, попробую реализовать на досуге smile.gif
TU-104
Цитата(Rst7 @ Mar 12 2010, 17:56) *
Т.е. Вы хотите, чтобы я за Вас прикрутил другой АЦП? wink.gif У меня пока интереса к возобновлению этого проекта нет. Хотя... Есть одна идейка, попробую реализовать на досуге smile.gif

нет, конечно. я спросил совета, подойдет ли. вы ответили - пойдет. Будем пробовать. Для меня пока так проще будет: есть микруха-черный ящик, которая все сделает за меня, поддерживае разные форматы biggrin.gif За сим, кончаю флудить, отпишу через год rolleyes.gif
ReAl
AD9280 имеет встроенную схему привязки. Это, конечно, не tvp7000, но зато раза в два дешевле.
TU-104
Цитата
прикрутил другой АЦП? У меня пока интереса к возобновлению этого проекта нет

я немного не так выразился. (может щас глупость скажу, но всё же)
Можно ли взять обычный АЦП? Точнее, даже так: чем эта ТДАшка упрощает оцифровку?
Или конкретно определенного уровня черного (допустим, 0,3В - черный) нету?
(заранее спасибо за ответ на этот глупый вопрос)
Rst7
Цитата
Можно ли взять обычный АЦП?


Можно. Но нужно будет делать привязку уровня черного раз, и управление усилением внутри кодера - два. Обе проблемы не сложны в принципе. А вообще рекомендую покурить какой-нибудь старый букварь по телевидению, дабы понять, что из себя представляет видеосигнал.
neptun23
Цитата(Rst7 @ May 6 2010, 17:23) *
Можно. Но нужно будет делать привязку уровня черного раз, и управление усилением внутри кодера - два. Обе проблемы не сложны в принципе. А вообще рекомендую покурить какой-нибудь старый букварь по телевидению, дабы понять, что из себя представляет видеосигнал.

Собрал платку - все заработало!
Во-первых хочется выразить большое уважение автору проекта.
Во-вторых как я понял переключается через код Грея только 9 разрядов т.е. ADR_LO - 8 и ADR_A17.
Сначала находятся текущий и следующий коды Грея
CUR_GR VAR CUR_ADR^(CUR_ADR>>1)
NXT_GR VAR NXT_ADR^(NXT_ADR>>1)
BIT_CNT - счетчик разрядов
Далее проверка
(NXT_GR^CUR_GR)&(1<<BIT_CNT)
Означает найти несовпадающий бит у следующего и текущего кодов Грея
и если он совпадет с BIT_CNT (а он совпадет только один раз)
дальше проверка NXT_GR с BIT_CNT и установка
или 1 или 0 на порту ADR_LO,BIT_CNT которая занимает два 16 МГц такта,
за это время совершится один 8 МГц такт 16-разрядного TMR1 (режим CTC) и разрешится запись WE во внешнее ОЗУ.
У меня такой вопрос: 240 строк захватываются только нечетных, т.е получается если разрешение будет больше 625/2 нужно учитывать черезстрочную развертку?



Rst7
QUOTE
У меня такой вопрос: 240 строк захватываются только нечетных, т.е получается если разрешение будет больше 625/2 нужно учитывать черезстрочную развертку?


Какие ловятся, такие и захватываются. Я не разбираюсь, четное поле или нечетное.

Я бы на вашем месте забил на 625 строк. Ибо годится это только для статических объектов, динамически перемещающиеся объекты будут через строку сдвинуты. Издержки черезстрочки.
ArtemDement
Rst7, как думаете можно ли загнать аналоговое видео на эту платку ?

http://electronix.ru/forum/index.php?showtopic=83520

Если да, то как рациональнее всего это сделать ?
Rst7
QUOTE
Если да, то как рациональнее всего это сделать ?


Ну я особо не вижу подходящих интерфейсов. Опять же, неясно, насколько быстрый там GPIO.
ArtemDement
Цитата(Rst7 @ Jun 13 2011, 13:46) *
Ну я особо не вижу подходящих интерфейсов. Опять же, неясно, насколько быстрый там GPIO.


Самое быстрое, что там увидел - это SDIO-контроллер.

Цитата
Two MMC/SD/SDIO controllers (MSC0, MSC1)
– Support automatic boot up from MSC0
– 4-bit data bus on MSC0, 1-bit data bus on MSC1
– Compliant with “The MultiMediaCard System Specification version 4.2”
– Compliant with “SD Memory Card Specification version 2.0” and “SDIO C
Specification
version 1.0” with 1 command channel and 4 data channels
– Up to 320 Mbps data rate on MSC0, 80Mbps data rate on MSC1
– Supports up to 10 cards (including one SD card)
– Maskable hardware interrupt for SD I/O interrupt, internal status, and FIFO status


Это цитата из даташита, что есть в теме:
http://electronix.ru/forum/index.php?showtopic=83520
Rst7
QUOTE
Это цитата из даташита, что есть в теме:


Только конкретики там нет - как управляется и так далее. Только по такой информации можно судить - приспособляем он под данную задачу или нет.
Roman_V
Добрый день!
Повторил проект. Заработало, но есть проблемы с изображением.
Ниже три примера. Сверху эталон, снизу то что получил на выходе устройства.
Градация серого Нажмите для просмотра прикрепленного файла Просто круги Нажмите для просмотра прикрепленного файла Таблица Нажмите для просмотра прикрепленного файла
похоже АЦП что то не так делает. у меня TDA8708AT.

и еще картинки захваченные с видеокамеры
оригинал это черный фон на котором белые буквы, а вот что имеем:Нажмите для просмотра прикрепленного файла
Это лампа дневного света в центре. она белая, а остальное черное, а имею: Нажмите для просмотра прикрепленного файла
тут камера снимает белый фон, а получил вот это: Нажмите для просмотра прикрепленного файла

Есть мысли с чем поэкспериментировать?
Rst7
Очень интересно. Биты данных от АЦП на процессор точно не попутаны?

Ага, кажется я знаю. Похоже, нормально не работает AGC в АЦП. Очень похоже на слишком большое усиление. Проверяйте, приходят ли управляющие сигналы. Посмотрите осциллографом, в допустимых ли пределах видеосигнал, пока он проходит по тракту (в даташите вроде были нарисованы осциллограммы), и если нет -попробуйте поэкспериментировать с обвязкой АЦП.
Roman_V
у этого АЦП если на OF Z-состояние, то выдает на шину простой двоичный код, а если "0" то какой то двухкомплементный. Пробовал и по другому, все равно фигня.
Обвязка АЦП по даташиту, кроме кондера на CLAMP (24 нога) вместо 0,018 мкф, стоит 0,015).
Интересна картинка с серым градиентом. видно что когда сигнал выше кого-то уровня, то АЦП считает это черным, потом идет нарастающая градация как и надо, а потом ниже какого-то уровня АЦП считает как белый. То есть инверсия какая-то, но градиент-то совпадает. не понятно.
Вместо синхроселектора на транзисторе у меня стоит LM1881N. Также вместо GATEB с контроллера я экспериментировал с заводом от LM1881 5 нога (Burst). Тоже самое получилось.
С осциллом посижу вечером.
Rst7
А, и еще. Там есть программная регулировка яркости и контрастности. Усиление там добавлено (потому что моя версия АЦП без буквы А заявленный в даташите размах сигнала в цифре не давала), может быть переполнение в коде происходит. Через пару часов доберусь до компа, ткну пальцем, где менять.
Rst7
Значит так. Регулировка яркости для BMP тут (файл main.c):
CODE
...
    while(!UCSRA_UDRE);
    UDR=__fractional_multiply_unsigned(getpix(x,y)-64,170)>>8;
...


64 - это яркость, для теста стоит сделать равной 0, 170 - это контраст, стоит уменьшить до 128 - это усиление 1.

Для jpeg-кодера - в файле jprocess.c.

Контрастность:
CODE
...
    z_q[i].idx=dct_data+zi;
    sq=((UINT32)aanscales[zi]*q*3L)/4L; //3/4 - коэффициент для приведения контрастности (штатный диапазон 64-255)
    z_q[i].q=sq>>11;
...

Рекомендую 3 заменить временно на 4 - что будет соответствовать усилению 1 (ибо 4/4=1).

Яркость:
CODE
...
#ifdef USE_MUL
    unsigned int __iq=*zqp++;
#endif
    coef=*((DCTELEM*)(*zqp++))-64*32; //64*8 - смещение по постоянному току (яркость)
    if (coef<0)
...


Вот тут нифига не помню. Для теста, видимо, надо 32 заменить на 0.

В общем как-то так.
Roman_V
Про BMP нашел, а вот JPG думал в другом месте. Спасибо! попробую
KKV2003
Собирал себе такую игрушку. Найти видео-АЦП было трудно, перепробовал несколько каналов. Обычно предлагали рублей по 500 за штуку. А по одному каналу предложили по 200, но сказали что они у них старые ( казалось бы какая разница ). Заказал 3 штуки на всякий случай. Паялись действительно не без проблем.

Так вот что главное. Одна не заработала совсем, другая выдала картинку типа как показаны. А третья пошла без проблем, все нормально. То есть я хочу сказать, что имеется проблема с видео-АЦП, сейчас такие сильно устарели и найти нормальную не так просто.

Удачи.
Rst7
QUOTE
Удачи.


Да там уже запустили. Поплясали с бубном, но запустили.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.